外部からのSSH着信用に専用待ち受けサーバを立てることにしました。
やっぱ危ないもんね。
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/ssh01.img
cp /etc/xen/standard /etc/xen/ssh01
sed -i 's/name = "standard"/name = "ssh01"/g' /etc/xen/ssh01
sed -i 's/maxmem = 512/maxmem = 256/g' /etc/xen/ssh01
sed -i 's/memory = 512/memory = 256/g' /etc/xen/ssh01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630029"/g' /etc/xen/ssh01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/ssh01.img,xvda,w\" \]/g' /etc/xen/ssh01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:29,bridge=xenbr0\" \]/g' /etc/xen/ssh01
○ssh01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.41/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:29/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=ssh01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○公開鍵設定まで
# yum update
・DNSに設定追加
・Webmin Clusterに参加させ、ユーザーを同期させる
・SSH公開鍵のセット
# cd ~
# mkdir .ssh
# vi .ssh/authorized_keys
公開鍵をペースト
# chmod 600 .ssh/authorized_keys
# chmod 700 .ssh
# chwon -R hoge:hoge .ssh
これを各ユーザー分セットしてしまえ
○鍵なしログイン禁止
# vi /etc/ssh/sshd_config
#PasswordAuthentication yes
→PasswordAuthentication no
# /etc/rc.d/init.d/sshd restart
いじょ。
なお、鍵はPoderosaで作成しましたが、WinSCPとPuTTyはPuTTy形式の秘密鍵しか認識しないので、秘密鍵についてはPoderosaで生成後、puttygenでputty形式に変換しました。
あとー、/etc/snmp/snmpd.confを他のサーバからコピーしておく。standardイメージには入ってないです。
2008年4月26日土曜日
2008年4月20日日曜日
unixbenchによるベンチマークテスト
unixbenchでベンチしてみる。
rpmforgeのx86_64のrpmはディレクトリ構成がイケてないので、シンボリックリンク貼っております。
# yum --enablerepo=rpmforge install unixbench
# ln -s /usr/lib64/unixbench /usr/lib/unixbench
# unixbench
このまま30~40分待つ。
# rm /usr/lib/unixbench
# yum remove unixbench
なお、x86_64でi386を使う場合は、rpm持ってきてrpmコマンドで入れないとだめだぞ。
# wget http://ftp-stud.fht-esslingen.de/dag/redhat/el5/en/i386/dag/RPMS/unixbench-4.0.1-1.el5.rf.i386.rpm
# rpm --install unixbench-4.0.1-1.el5.rf.i386.rpm
# unixbench
# rpm --erase unixbench
Celeron D 341 と Core 2 Quad のunixbench対決結果
rpmforgeのx86_64のrpmはディレクトリ構成がイケてないので、シンボリックリンク貼っております。
# yum --enablerepo=rpmforge install unixbench
# ln -s /usr/lib64/unixbench /usr/lib/unixbench
# unixbench
このまま30~40分待つ。
# rm /usr/lib/unixbench
# yum remove unixbench
なお、x86_64でi386を使う場合は、rpm持ってきてrpmコマンドで入れないとだめだぞ。
# wget http://ftp-stud.fht-esslingen.de/dag/redhat/el5/en/i386/dag/RPMS/unixbench-4.0.1-1.el5.rf.i386.rpm
# rpm --install unixbench-4.0.1-1.el5.rf.i386.rpm
# unixbench
# rpm --erase unixbench
Celeron D 341 と Core 2 Quad のunixbench対決結果
プロセッサ | CelD341 | CelD341 | Q6700 | CelD341 | Q6700 |
ドメイン種別 | Dom0 | DomU | Dom0 | Dom0 | Dom0 |
ドメイン名/td> | alpha | dev | alpha | beta | alpha |
unixbenchのアーキテクチャ | x86_64 | x86_64 | x86_64 | i386 | i386 |
Arithmetic Test (type = double) | 237.4 | 235.3 | 287.5 | 213.4 | 240.0 |
Dhrystone 2 using register variables | 526.2 | 525.3 | 1297.2 | 385.3 | 945.0 |
Execl Throughput | 173.8 | 7.8 | 372.3 | 202.8 | 417.0 |
File Copy 1024 bufsize 2000 maxblocks | 322.3 | 319.0 | 802.4 | 316.5 | 708.6 |
File Copy 256 bufsize 500 maxblocks | 212.2 | 214.8 | 530.8 | 207.9 | 463.8 |
File Copy 4096 bufsize 8000 maxblocks | 590.9 | 525.9 | 301.0 | 586.0 | 297.1 |
Pipe Throughput | 156.0 | 171.6 | 404.1 | 155.4 | 333.5 |
Pipe-based Context Switching | 0.0 | 0.0 | 0.0 | 111.0 | 221.0 |
Process Creation | 117.9 | 114.5 | 304.5 | 152.0 | 393.8 |
Shell Scripts (8 concurrent) | 321.7 | 68.2 | 312.8 | 328.3 | 320.5 |
System Call Overhead | 115.1 | 119.0 | 290.1 | 102.8 | 209.4 |
2008年4月13日日曜日
全Dom0にPostfixを入れる
しまった、面倒なことになってしまった。
PHPやPerlはsendmailをコマンドラインで叩いてメール送信するので、各Dom0にMTAを導入してやらないとメールを集約できないじゃん・・・。。。
Webminで全mail01を除く各Dom0にPostfixを入れて、設定ファイルをコピーすることにする。ああ、まんどい。
※alphaには入れない。Dom0が常に動いているとは言い切れないのでトラブルの元。
全DomUに
# yum -y install postfix
全DomUに設定追記
myhostname = stats01.hoge.com
mydomain = hoge.com
myorigin = $mydomain
inet_interfaces = all
#proxy_interfaces =
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
#SMTP-Auth
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#MailSizeLimitter 100MB
message_size_limit = 104857600
#MailBoxSizeLimitter 500MB
mailbox_size_limit = 512000000
mynetworks = 192.168.0.0/24, 127.0.0.0/8
relay_domains = $mydestination
relayhost = mail01.hoge.com
#transport_maps = hash:/etc/postfix/transport
#alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
#manual setting
allow_mail_to_commands = alias,forward,include
allow_mail_to_files = alias,forward,include
disable_vrfy_command = yes
allow_percent_hack = yes
swap_bangpath = yes
forward_path = $home/.forward$recipient_delimiter$extension,$home/.forward
sendmail_path = /usr/sbin/sendmail
これでローカル配信以外は全部mail01.hoge.comにリレーされる。
全DomUで
# /etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on
# chkconfig --list saslauthd
# mkdir -p /etc/skel/Maildir/new
# mkdir -p /etc/skel/Maildir/cur
# mkdir -p /etc/skel/Maildir/tmp
# chmod -R 700 /etc/skel/Maildir/
# /etc/rc.d/init.d/sendmail stop
# chkconfig sendmail off
# chkconfig --list sendmail
# alternatives --set mta /usr/sbin/sendmail.postfix
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on
# chkconfig --list postfix
これでよしと。
■動作まとめ
○mail01
@hoge.com宛・・・ローカル配信する。
外向け・・・携帯はプロバイダSMTPサーバ、その他は直接当該SMTPサーバにリレー。
外から@xxx.hoge.com宛・・・全部ローカル配信。
○mail01以外
@hoge.com宛・・・ローカル配信する。
@xxx.hoge.com宛・・・該当xxx.hoge.comにリレー。
外向け・・・mail01.hoge.com宛にリレー。
外から@xxx.hoge.com宛・・・全部ローカル配信。
PHPやPerlはsendmailをコマンドラインで叩いてメール送信するので、各Dom0にMTAを導入してやらないとメールを集約できないじゃん・・・。。。
Webminで全mail01を除く各Dom0にPostfixを入れて、設定ファイルをコピーすることにする。ああ、まんどい。
※alphaには入れない。Dom0が常に動いているとは言い切れないのでトラブルの元。
全DomUに
# yum -y install postfix
全DomUに設定追記
myhostname = stats01.hoge.com
mydomain = hoge.com
myorigin = $mydomain
inet_interfaces = all
#proxy_interfaces =
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
#SMTP-Auth
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#MailSizeLimitter 100MB
message_size_limit = 104857600
#MailBoxSizeLimitter 500MB
mailbox_size_limit = 512000000
mynetworks = 192.168.0.0/24, 127.0.0.0/8
relay_domains = $mydestination
relayhost = mail01.hoge.com
#transport_maps = hash:/etc/postfix/transport
#alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
#manual setting
allow_mail_to_commands = alias,forward,include
allow_mail_to_files = alias,forward,include
disable_vrfy_command = yes
allow_percent_hack = yes
swap_bangpath = yes
forward_path = $home/.forward$recipient_delimiter$extension,$home/.forward
sendmail_path = /usr/sbin/sendmail
これでローカル配信以外は全部mail01.hoge.comにリレーされる。
全DomUで
# /etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on
# chkconfig --list saslauthd
# mkdir -p /etc/skel/Maildir/new
# mkdir -p /etc/skel/Maildir/cur
# mkdir -p /etc/skel/Maildir/tmp
# chmod -R 700 /etc/skel/Maildir/
# /etc/rc.d/init.d/sendmail stop
# chkconfig sendmail off
# chkconfig --list sendmail
# alternatives --set mta /usr/sbin/sendmail.postfix
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on
# chkconfig --list postfix
これでよしと。
■動作まとめ
○mail01
@hoge.com宛・・・ローカル配信する。
外向け・・・携帯はプロバイダSMTPサーバ、その他は直接当該SMTPサーバにリレー。
外から@xxx.hoge.com宛・・・全部ローカル配信。
○mail01以外
@hoge.com宛・・・ローカル配信する。
@xxx.hoge.com宛・・・該当xxx.hoge.comにリレー。
外向け・・・mail01.hoge.com宛にリレー。
外から@xxx.hoge.com宛・・・全部ローカル配信。
DomU mail01の設定
■Postfix&IMAPサーバ
○参考サイト
http://centossrv.com/postfix.shtml
○Postfix設定 全部最後にまとめて書く。
# vi /etc/postfix/main.cf
myhostname = mail01.hoge.com
mydomain = hoge.com
myorigin = $mydomain
inet_interfaces = all
#proxy_interfaces =
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
#SMTP-Auth
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#MailSizeLimitter 100MB
message_size_limit = 104857600
#MailBoxSizeLimitter 500MB
mailbox_size_limit = 512000000
mynetworks = 192.168.0.0/24, 127.0.0.0/8
relay_domains = $mydestination
#relayhost = op25b.asahi-net.or.jp
transport_maps = hash:/etc/postfix/transport
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
#manual setting
allow_mail_to_commands = alias,forward,include
allow_mail_to_files = alias,forward,include
disable_vrfy_command = yes
allow_percent_hack = yes
swap_bangpath = yes
forward_path = $home/.forward$recipient_delimiter$extension,$home/.forward
sendmail_path = /usr/sbin/sendmail
# vi /etc/postfix/transport
最後に追記
ezweb.ne.jp :mail.asahi-net.or.jp
.ezweb.ne.jp :mail.asahi-net.or.jp
docomo.ne.jp :mail.asahi-net.or.jp
.docomo.ne.jp :mail.asahi-net.or.jp
vodafone.ne.jp :mail.asahi-net.or.jp
.vodafone.ne.jp :mail.asahi-net.or.jp
softbank.ne.jp :mail.asahi-net.or.jp
.softbank.ne.jp :mail.asahi-net.or.jp
pdx.ne.jp :mail.asahi-net.or.jp
.pdx.ne.jp :mail.asahi-net.or.jp
○SMTP-AuthにシステムのID/PWを使う
# /etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on
# chkconfig --list saslauthd
○Maildir形式メールボックス自動作成
# mkdir -p /etc/skel/Maildir/new
# mkdir -p /etc/skel/Maildir/cur
# mkdir -p /etc/skel/Maildir/tmp
# chmod -R 700 /etc/skel/Maildir/
○Sendmail止める
# /etc/rc.d/init.d/sendmail stop
# chkconfig sendmail off
# chkconfig --list sendmail
# alternatives --config mta
○Postfix起動
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on
# chkconfig --list postfix
続いてDovecot(今回はIMAPのみとする)
これも最後にまとめて追記。
#vi /etc/dovecot.conf
protocols = imap imaps
mail_location = maildir:~/Maildir
あと自動起動設定して完了。
なお、ユーザーiwataについてはiwata01.hoge.comにメールを転送するよう、.forwardファイルを設定しておく。
○mailman
mailmanもインスコしておく。
# yum install mailman
# vi /etc/mailman/mm_cfg.py
DEFAULT_URL_HOST = 'mail.hoge.com'
DEFAULT_EMAIL_HOST = 'hoge.com'
MTA = 'Postfix'
DEFAULT_SERVER_LANGUAGE = 'ja'
DEFAULT_GENERIC_NONMEMBER_ACTION = 2
DEFAULT_LIST_ADVERTISED = No
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] "
DEFAULT_REPLY_GOES_TO_LIST = 1
OWNERS_CAN_ENABLE_PERSONALIZATION = Yes
VERP_PERSONALIZED_DELIVERIES = Yes
# /usr/lib/mailman/bin/mmsitepass [パスワード]
# /usr/lib/mailman/bin/genaliases
aliasesが /etc/mailman/aliases に生成される。
# chown mailman. /etc/mailman/aliases*
# chmod g+w /etc/mailman/aliases*
# vi /etc/postfix/main.cf
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
# /etc/rc.d/init.d/postfix restart
# /etc/rc.d/init.d/httpd reload
ここまででインスコは完了。続いてデータ引き継いでおく。
# rsync -av 192.168.0.9:/etc/mailman /etc/
# rsync -av 192.168.0.9:/usr/lib/mailman /usr/lib/
# rsync -av 192.168.0.9:/var/lib/mailman /var/lib/
# rsync -av 192.168.0.9:/var/log/mailman /var/log/
あと、ドメイン変更は以下を参考に。
http://mm.tkikuchi.net/pipermail/mmjp-users/2004-June/000917.html
# /etc/rc.d/init.d/postfix restart
# /etc/rc.d/init.d/httpd reload
# /etc/rc.d/init.d/mailman restart
で完了。
○参考サイト
http://centossrv.com/postfix.shtml
○Postfix設定 全部最後にまとめて書く。
# vi /etc/postfix/main.cf
myhostname = mail01.hoge.com
mydomain = hoge.com
myorigin = $mydomain
inet_interfaces = all
#proxy_interfaces =
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
#SMTP-Auth
smtpd_banner = $myhostname ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#MailSizeLimitter 100MB
message_size_limit = 104857600
#MailBoxSizeLimitter 500MB
mailbox_size_limit = 512000000
mynetworks = 192.168.0.0/24, 127.0.0.0/8
relay_domains = $mydestination
#relayhost = op25b.asahi-net.or.jp
transport_maps = hash:/etc/postfix/transport
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
#manual setting
allow_mail_to_commands = alias,forward,include
allow_mail_to_files = alias,forward,include
disable_vrfy_command = yes
allow_percent_hack = yes
swap_bangpath = yes
forward_path = $home/.forward$recipient_delimiter$extension,$home/.forward
sendmail_path = /usr/sbin/sendmail
# vi /etc/postfix/transport
最後に追記
ezweb.ne.jp :mail.asahi-net.or.jp
.ezweb.ne.jp :mail.asahi-net.or.jp
docomo.ne.jp :mail.asahi-net.or.jp
.docomo.ne.jp :mail.asahi-net.or.jp
vodafone.ne.jp :mail.asahi-net.or.jp
.vodafone.ne.jp :mail.asahi-net.or.jp
softbank.ne.jp :mail.asahi-net.or.jp
.softbank.ne.jp :mail.asahi-net.or.jp
pdx.ne.jp :mail.asahi-net.or.jp
.pdx.ne.jp :mail.asahi-net.or.jp
○SMTP-AuthにシステムのID/PWを使う
# /etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on
# chkconfig --list saslauthd
○Maildir形式メールボックス自動作成
# mkdir -p /etc/skel/Maildir/new
# mkdir -p /etc/skel/Maildir/cur
# mkdir -p /etc/skel/Maildir/tmp
# chmod -R 700 /etc/skel/Maildir/
○Sendmail止める
# /etc/rc.d/init.d/sendmail stop
# chkconfig sendmail off
# chkconfig --list sendmail
# alternatives --config mta
○Postfix起動
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on
# chkconfig --list postfix
続いてDovecot(今回はIMAPのみとする)
これも最後にまとめて追記。
#vi /etc/dovecot.conf
protocols = imap imaps
mail_location = maildir:~/Maildir
あと自動起動設定して完了。
なお、ユーザーiwataについてはiwata01.hoge.comにメールを転送するよう、.forwardファイルを設定しておく。
○mailman
mailmanもインスコしておく。
# yum install mailman
# vi /etc/mailman/mm_cfg.py
DEFAULT_URL_HOST = 'mail.hoge.com'
DEFAULT_EMAIL_HOST = 'hoge.com'
MTA = 'Postfix'
DEFAULT_SERVER_LANGUAGE = 'ja'
DEFAULT_GENERIC_NONMEMBER_ACTION = 2
DEFAULT_LIST_ADVERTISED = No
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] "
DEFAULT_REPLY_GOES_TO_LIST = 1
OWNERS_CAN_ENABLE_PERSONALIZATION = Yes
VERP_PERSONALIZED_DELIVERIES = Yes
# /usr/lib/mailman/bin/mmsitepass [パスワード]
# /usr/lib/mailman/bin/genaliases
aliasesが /etc/mailman/aliases に生成される。
# chown mailman. /etc/mailman/aliases*
# chmod g+w /etc/mailman/aliases*
# vi /etc/postfix/main.cf
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
# /etc/rc.d/init.d/postfix restart
# /etc/rc.d/init.d/httpd reload
ここまででインスコは完了。続いてデータ引き継いでおく。
# rsync -av 192.168.0.9:/etc/mailman /etc/
# rsync -av 192.168.0.9:/usr/lib/mailman /usr/lib/
# rsync -av 192.168.0.9:/var/lib/mailman /var/lib/
# rsync -av 192.168.0.9:/var/log/mailman /var/log/
あと、ドメイン変更は以下を参考に。
http://mm.tkikuchi.net/pipermail/mmjp-users/2004-June/000917.html
# /etc/rc.d/init.d/postfix restart
# /etc/rc.d/init.d/httpd reload
# /etc/rc.d/init.d/mailman restart
で完了。
オリジナルCMS HogeCMSの改造
■DBサーバ切り替え
このあたり。
# find ./ -name \*.php -print | xargs grep dbm01
mailsend/mail_send.php
edit.php
beacon.php
gallery/config.php
loginsys/login.php
beacon_bench.php
■キャッシュ対応
Squidを入れたので、キャッシュ制御をちゃんとせねばならん。
○common.php - 5分間キャッシュ有効
header("Expires: ".gmdate("D, d M Y H:i:s",time()+300)." GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: public, max-age=300");
header("Vary: User-Agent");
※投稿フォームがキャッシュされると困るので、index.phpに手を入れないとダメだな・・・。。
○beacon.php - キャッシュさせない
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
○image.php - 5分間キャッシュ有効
header("Expires: ".gmdate("D, d M Y H:i:s",time()+300)." GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: public, max-age=300");
header("Vary: User-Agent");
※下の方にキャッシュ無効設定が隠れているので注意
このあたり。
# find ./ -name \*.php -print | xargs grep dbm01
mailsend/mail_send.php
edit.php
beacon.php
gallery/config.php
loginsys/login.php
beacon_bench.php
■キャッシュ対応
Squidを入れたので、キャッシュ制御をちゃんとせねばならん。
○common.php - 5分間キャッシュ有効
header("Expires: ".gmdate("D, d M Y H:i:s",time()+300)." GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: public, max-age=300");
header("Vary: User-Agent");
※投稿フォームがキャッシュされると困るので、index.phpに手を入れないとダメだな・・・。。
○beacon.php - キャッシュさせない
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
○image.php - 5分間キャッシュ有効
header("Expires: ".gmdate("D, d M Y H:i:s",time()+300)." GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: public, max-age=300");
header("Vary: User-Agent");
※下の方にキャッシュ無効設定が隠れているので注意
DomU sc01の設定
# yum install squid
# mv /etc/squid/squid.conf /etc/squid/squid.conf.org
# vi /etc/squid/squid.conf
http_port 80 vhost
cache_peer www01.hoge.com parent 80 0 no-query originserver round-robin
acl valid1 dstdomain .hoge.com
http_access allow valid1
acl valid2 src 192.168.0.0/24
http_access allow valid2
acl all src 0/0
http_access deny all
cache_dir ufs /tmp/squid/cache 128 16 256
cache_effective_user squid
cache_effective_group squid
visible_hostname sc01.hoge.com
cache_mem 128 MB
maximum_object_size 4096 KB
maximum_object_size_in_memory 4096 KB
forwarded_for off
coredump_dir /var/cache/squid
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
emulate_httpd_log on
log_fqdn off
cache_vary on
※forwarded_for off について
OnにするとHTTPヘッダに X-Forwarded-For が付く・・・ というのが一般的に囁かれていますが、
正確に言うと、X-Forwarded-Forを上書きする、が正しいようです。Offにしとくと既にあるX-Forwarded-Forがスルーされるので、受け側Apacheに入れたmod_rpafで正しく処理できます。ややこしい・・・。。。
# mkdir /tmp/squid/cache
# chown -R squid:squid /tmp/squid
ついでに日本語化。
Squid日本語化
# mv /etc/squid/errors /etc/squid/errors.org
# ln -s /usr/share/squid/errors/Japanese/ /etc/squid/errors
うむむ。日本語化されないじゃん。。。
# mv /etc/squid/squid.conf /etc/squid/squid.conf.org
# vi /etc/squid/squid.conf
http_port 80 vhost
cache_peer www01.hoge.com parent 80 0 no-query originserver round-robin
acl valid1 dstdomain .hoge.com
http_access allow valid1
acl valid2 src 192.168.0.0/24
http_access allow valid2
acl all src 0/0
http_access deny all
cache_dir ufs /tmp/squid/cache 128 16 256
cache_effective_user squid
cache_effective_group squid
visible_hostname sc01.hoge.com
cache_mem 128 MB
maximum_object_size 4096 KB
maximum_object_size_in_memory 4096 KB
forwarded_for off
coredump_dir /var/cache/squid
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
emulate_httpd_log on
log_fqdn off
cache_vary on
※forwarded_for off について
OnにするとHTTPヘッダに X-Forwarded-For が付く・・・ というのが一般的に囁かれていますが、
正確に言うと、X-Forwarded-Forを上書きする、が正しいようです。Offにしとくと既にあるX-Forwarded-Forがスルーされるので、受け側Apacheに入れたmod_rpafで正しく処理できます。ややこしい・・・。。。
# mkdir /tmp/squid/cache
# chown -R squid:squid /tmp/squid
ついでに日本語化。
Squid日本語化
# mv /etc/squid/errors /etc/squid/errors.org
# ln -s /usr/share/squid/errors/Japanese/ /etc/squid/errors
うむむ。日本語化されないじゃん。。。
DomU mdbm01の設定
# yum install mysql-server
# vi /etc/my.cnf
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
big-tables
query_cache_type=1
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=32M
table_cache=128
log-bin
server-id=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
ft_min_word_len=1
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set = binary
[client]
default-character-set=utf8
#utf8を明示しないとエラー出るよ
# vi /etc/my.cnf
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
big-tables
query_cache_type=1
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=32M
table_cache=128
log-bin
server-id=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
ft_min_word_len=1
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set = binary
[client]
default-character-set=utf8
#utf8を明示しないとエラー出るよ
DomU www01の設定
■www01に導入するものと手順
# yum install httpd httpd-devel php perl
# yum install ImageMagick-perl
# perl -MCPAN -e shell
## install Jcode
○apacheの設定
バーチャルホストベースでwww01を作ります。httpd.confを適切に編集する。
○PHPの追加インスコ
yum install php-mysql php-pear php-mbstring php-mcrypt
○PHPの設定
#vi /etc/php.ini
↓以下変更点
output_buffering = Off
zlib.output_compression = Off
memory_limit = 64M
post_max_size = 80M
upload_max_filesize = 20M
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
※ad01は以下のとおり。
output_buffering = Off
zlib.output_compression = Off
register_argc_argv = On
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
あと、DBホストを設定変更しとこうね。
# yum install httpd httpd-devel php perl
# yum install ImageMagick-perl
# perl -MCPAN -e shell
## install Jcode
○apacheの設定
バーチャルホストベースでwww01を作ります。httpd.confを適切に編集する。
○PHPの追加インスコ
yum install php-mysql php-pear php-mbstring php-mcrypt
○PHPの設定
#vi /etc/php.ini
↓以下変更点
output_buffering = Off
zlib.output_compression = Off
memory_limit = 64M
post_max_size = 80M
upload_max_filesize = 20M
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
※ad01は以下のとおり。
output_buffering = Off
zlib.output_compression = Off
register_argc_argv = On
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
あと、DBホストを設定変更しとこうね。
2008年4月12日土曜日
DomU iwata01の設定
■statsに導入するものと手順
○apache周りの導入
# yum install httpd httpd-devel php perl
○apacheの設定
バーチャルホストベースでiwata01を作ります。httpd.confを適切に編集する。
○各種ライブラリの導入
# yum install ImageMagick-perl
# perl -MCPAN -e shell
全部Enter応答。
CPANのFTPに繋がらないエラーが出た。この日限定だと思うが、以下を入力して回避した。
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
いくつもミラー設定したが、あちこちエラー出過ぎです orz
install Image::Size
install Image::IPTCInfo
install Image::Info
install Jcode
install Archive::Zip
続いてuploader.cgi用。依存関係で他は全部入る。
install MIME::WordDecoder
install File::Path
uploader.cgiをコピーしておく。
pop3ディレクトリを作成しておく。
○mod_rpafの導入
http://www.nire.com/2008/02/howto-install-mod_rpaf/
○apache周りの導入
# yum install httpd httpd-devel php perl
○apacheの設定
バーチャルホストベースでiwata01を作ります。httpd.confを適切に編集する。
○各種ライブラリの導入
# yum install ImageMagick-perl
# perl -MCPAN -e shell
全部Enter応答。
CPANのFTPに繋がらないエラーが出た。この日限定だと思うが、以下を入力して回避した。
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
いくつもミラー設定したが、あちこちエラー出過ぎです orz
install Image::Size
install Image::IPTCInfo
install Image::Info
install Jcode
install Archive::Zip
続いてuploader.cgi用。依存関係で他は全部入る。
install MIME::WordDecoder
install File::Path
uploader.cgiをコピーしておく。
pop3ディレクトリを作成しておく。
○mod_rpafの導入
http://www.nire.com/2008/02/howto-install-mod_rpaf/
DomU gatekeeper01の設定
■gatekeeperに導入するものと手順
○apache+mod_proxy
HTTPリバースプロキシはmod_proxyを利用するため、apacheを入れます。
# yum install httpd
httpd.confは適切に設定。
リバースプロキシ関係は別ファイルに切り出しておく。
# vi vi /etc/httpd/conf/proxy.conf
ProxyRequests Off
<proxy>
Order deny,allow
Allow from all
</proxy>
ProxyPass /balancer-manager !
<location>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.0.
</location>
<proxy>
BalancerMember http://iwata01.hoge.com loadfactor=10
</proxy>
<proxy>
BalancerMember http://stats01.hoge.com loadfactor=10
</proxy>
NameVirtualHost *:80
<virtualhost>
ServerName iwata.hoge.com
ProxyPass / balancer://cluster_iwata/ lbmethod=byrequests timeout=1
ProxyPassReverse / balancer://cluster_iwata/
ProxyPassReverseCookieDomain balancer://cluster_iwata/ iwata.hoge.com
ProxyPassReverseCookieDomain balancer://cluster_iwata/ iwata.hoge.com
ProxyPreserveHost On #バックエンドでバーチャルホストを使うため
</virtualhost>
<virtualhost>
ServerName stats.hoge.com
ProxyPass / balancer://cluster_stats/ lbmethod=byrequests timeout=1
ProxyPassReverse / balancer://cluster_stats/
ProxyPassReverseCookieDomain balancer://cluster_stats/ stats.hoge.com
ProxyPassReverseCookieDomain balancer://cluster_stats/ stats.hoge.com
ProxyPreserveHost On #バックエンドでバーチャルホストを使うため
</virtualhost>
受け側ではmod_rpafの導入を忘れずに。
あー、gccとgcc+++は今後も必要そうなので、webminのCommand shellから全PCに導入しておく。基本イメージに含めればよかったね。。
# yum -y install gcc gcc-c++
○DeleGate
手順は以下で検証済み。
http://centos-server.blogspot.com/2008/03/delegate.html
SMTPサーバにPostfixを入れてあるが、25番ポートをDelegateに占有させるので泣く泣く切る。
一応設定は生かしておくので、アンインスコはしない。
IMAPは直接mail01に送る。設定するのはSMTPだけ。
・・・と思ったけど、Delegateをかますと、mail01から見るとローカルからの接続に見えちゃって、リレーし放題になっちゃうかも。これはまずい。
あ、いやまて、接続先を絞るわけだから、hoge.com宛以外の接続要求はmail01.hoge.comに飛ぶことはないわけで、問題ないかな。。。
・・・めんどくさいので、DeleGateは使わないことにした。HTTPもmod_proxyにしちゃったんで、抹消。
○apache+mod_proxy
HTTPリバースプロキシはmod_proxyを利用するため、apacheを入れます。
# yum install httpd
httpd.confは適切に設定。
リバースプロキシ関係は別ファイルに切り出しておく。
# vi vi /etc/httpd/conf/proxy.conf
ProxyRequests Off
<proxy>
Order deny,allow
Allow from all
</proxy>
ProxyPass /balancer-manager !
<location>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.0.
</location>
<proxy>
BalancerMember http://iwata01.hoge.com loadfactor=10
</proxy>
<proxy>
BalancerMember http://stats01.hoge.com loadfactor=10
</proxy>
NameVirtualHost *:80
<virtualhost>
ServerName iwata.hoge.com
ProxyPass / balancer://cluster_iwata/ lbmethod=byrequests timeout=1
ProxyPassReverse / balancer://cluster_iwata/
ProxyPassReverseCookieDomain balancer://cluster_iwata/ iwata.hoge.com
ProxyPassReverseCookieDomain balancer://cluster_iwata/ iwata.hoge.com
ProxyPreserveHost On #バックエンドでバーチャルホストを使うため
</virtualhost>
<virtualhost>
ServerName stats.hoge.com
ProxyPass / balancer://cluster_stats/ lbmethod=byrequests timeout=1
ProxyPassReverse / balancer://cluster_stats/
ProxyPassReverseCookieDomain balancer://cluster_stats/ stats.hoge.com
ProxyPassReverseCookieDomain balancer://cluster_stats/ stats.hoge.com
ProxyPreserveHost On #バックエンドでバーチャルホストを使うため
</virtualhost>
受け側ではmod_rpafの導入を忘れずに。
あー、gccとgcc+++は今後も必要そうなので、webminのCommand shellから全PCに導入しておく。基本イメージに含めればよかったね。。
# yum -y install gcc gcc-c++
○DeleGate
手順は以下で検証済み。
http://centos-server.blogspot.com/2008/03/delegate.html
SMTPサーバにPostfixを入れてあるが、25番ポートをDelegateに占有させるので泣く泣く切る。
一応設定は生かしておくので、アンインスコはしない。
IMAPは直接mail01に送る。設定するのはSMTPだけ。
・・・と思ったけど、Delegateをかますと、mail01から見るとローカルからの接続に見えちゃって、リレーし放題になっちゃうかも。これはまずい。
あ、いやまて、接続先を絞るわけだから、hoge.com宛以外の接続要求はmail01.hoge.comに飛ぶことはないわけで、問題ないかな。。。
・・・めんどくさいので、DeleGateは使わないことにした。HTTPもmod_proxyにしちゃったんで、抹消。
2008年4月11日金曜日
DomU stats01の設定
■statsに導入するものと手順
○log集計
rsyncでwwwXXサーバのログを持ってきますが、これは後日。
○サーバ統括
Webminの操作をします。
Webminにログインし、全DomUを管轄下に置きます。
今回導入したDomUは全て目的が異なるため、異なるグループに所属させ、
Cluster Users and Groups
Cluster Webmin Servers
だけ利用します。
IPとドメインの関係は以下。
www01 IN A 192.168.0.31
lb01 IN A 192.168.0.21
sc01 IN A 192.168.0.211
gatekeeper01 IN A 192.168.0.11
dbm01 IN A 192.168.0.51
iwata01 IN A 192.168.0.91
stats01 IN A 192.168.0.81
mail01 IN A 192.168.0.71
○サーバ監視
Cactiを入れます。
ただし、先にdbm01にMySQLを入れなければなりません。
http://centossrv.com/mysql.shtml
次にRRDTool
yum --enablerepo=rpmforge install rrdtool
あとは http://centos-server.blogspot.com/2008/04/cacti.html で。
※なお、Cactiは起動時にMySQLに繋ぐらしく、他のドメインより後から起動させなければなりません。
○Webalizerの導入
Webalizerを導入し、アクセスログ集計を行います。
ログはgatekeeperXXから回収する。
gatekeeperXXのログはgatekeeperXX自身により週1回rotateする。
インストール
# yum install webalizer
# mkdir /kfs/logs/gatekeepers
# mkdir /kfs/logs/$HOSTNAME
gatekeeperXXのローカルにあるログをgatekeeperXX自身がcronで/kfs/logs/gatekeeperXXに上書きコピーする(毎時20分+logrotate前に週1回4:30にも実行)
# \cp -f /var/log/httpd/* /kfs/logs/$HOSTNAME/
awstatsの中に入っているlogresolvemerge.plでログを統合し、/kfs/logs/gatekeepers/に出力する。(毎時40分)
# perl /kfs/logs/logresolvemerge.pl /kfs/logs/gatekeeper0*/komaspo_access_log > /kfs/logs/gatekeepers/komaspo_access_log
stats01のWebalizerが/kfs/logs/gatekeepers/のログを集計し、members_html/webalizer/に結果を書き出す(毎時00分)
これはWebminで設定しちゃうことにする。
Webalizerが文字化けするので、後処理で自作コードを走らせる。
Jcode.pmをCPANで入れておく。
# perl -MCPAN -e shell
全部Enter応答。
CPANのFTPに繋がらないエラーが出た。この日限定だと思うが、以下を入力して回避した。
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
いくつもミラー設定したが、あちこちエラー出過ぎです orz
install Jcode
○log集計
rsyncでwwwXXサーバのログを持ってきますが、これは後日。
○サーバ統括
Webminの操作をします。
Webminにログインし、全DomUを管轄下に置きます。
今回導入したDomUは全て目的が異なるため、異なるグループに所属させ、
Cluster Users and Groups
Cluster Webmin Servers
だけ利用します。
IPとドメインの関係は以下。
www01 IN A 192.168.0.31
lb01 IN A 192.168.0.21
sc01 IN A 192.168.0.211
gatekeeper01 IN A 192.168.0.11
dbm01 IN A 192.168.0.51
iwata01 IN A 192.168.0.91
stats01 IN A 192.168.0.81
mail01 IN A 192.168.0.71
○サーバ監視
Cactiを入れます。
ただし、先にdbm01にMySQLを入れなければなりません。
http://centossrv.com/mysql.shtml
次にRRDTool
yum --enablerepo=rpmforge install rrdtool
あとは http://centos-server.blogspot.com/2008/04/cacti.html で。
※なお、Cactiは起動時にMySQLに繋ぐらしく、他のドメインより後から起動させなければなりません。
○Webalizerの導入
Webalizerを導入し、アクセスログ集計を行います。
ログはgatekeeperXXから回収する。
gatekeeperXXのログはgatekeeperXX自身により週1回rotateする。
インストール
# yum install webalizer
# mkdir /kfs/logs/gatekeepers
# mkdir /kfs/logs/$HOSTNAME
gatekeeperXXのローカルにあるログをgatekeeperXX自身がcronで/kfs/logs/gatekeeperXXに上書きコピーする(毎時20分+logrotate前に週1回4:30にも実行)
# \cp -f /var/log/httpd/* /kfs/logs/$HOSTNAME/
awstatsの中に入っているlogresolvemerge.plでログを統合し、/kfs/logs/gatekeepers/に出力する。(毎時40分)
# perl /kfs/logs/logresolvemerge.pl /kfs/logs/gatekeeper0*/komaspo_access_log > /kfs/logs/gatekeepers/komaspo_access_log
stats01のWebalizerが/kfs/logs/gatekeepers/のログを集計し、members_html/webalizer/に結果を書き出す(毎時00分)
これはWebminで設定しちゃうことにする。
Webalizerが文字化けするので、後処理で自作コードを走らせる。
Jcode.pmをCPANで入れておく。
# perl -MCPAN -e shell
全部Enter応答。
CPANのFTPに繋がらないエラーが出た。この日限定だと思うが、以下を入力して回避した。
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
いくつもミラー設定したが、あちこちエラー出過ぎです orz
install Jcode
DomUを一気に立ち上げる
ここまでで一旦、DomUを一気に作ってしまいました。
以下、コンソールに流したコマンド。
■イメージ量産
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/www01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/sc01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/gatekeeper01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/dbm01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/iwata01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/stats01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/mail01.img
■設定量産
cp /etc/xen/standard /etc/xen/www01
sed -i 's/name = "standard"/name = "www01"/g' /etc/xen/www01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/www01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/www01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa63001f"/g' /etc/xen/www01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/www01.img,xvda,w\" \]/g' /etc/xen/www01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:1f,bridge=xenbr0\" \]/g' /etc/xen/www01
cp /etc/xen/standard /etc/xen/sc01
sed -i 's/name = "standard"/name = "sc01"/g' /etc/xen/sc01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/sc01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/sc01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa6300d3"/g' /etc/xen/sc01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/sc01.img,xvda,w\" \]/g' /etc/xen/sc01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:d3,bridge=xenbr0\" \]/g' /etc/xen/sc01
cp /etc/xen/standard /etc/xen/gatekeeper01
sed -i 's/name = "standard"/name = "gatekeeper01"/g' /etc/xen/gatekeeper01
sed -i 's/maxmem = 512/maxmem = 256/g' /etc/xen/gatekeeper01
sed -i 's/memory = 512/memory = 256/g' /etc/xen/gatekeeper01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa63000b"/g' /etc/xen/gatekeeper01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/gatekeeper01.img,xvda,w\" \]/g' /etc/xen/gatekeeper01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:0b,bridge=xenbr0\" \]/g' /etc/xen/gatekeeper01
cp /etc/xen/standard /etc/xen/dbm01
sed -i 's/name = "standard"/name = "dbm01"/g' /etc/xen/dbm01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/dbm01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/dbm01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630033"/g' /etc/xen/dbm01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/dbm01.img,xvda,w\" \]/g' /etc/xen/dbm01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:33,bridge=xenbr0\" \]/g' /etc/xen/dbm01
cp /etc/xen/standard /etc/xen/iwata01
sed -i 's/name = "standard"/name = "iwata01"/g' /etc/xen/iwata01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/iwata01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/iwata01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa63005b"/g' /etc/xen/iwata01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/iwata01.img,xvda,w\" \]/g' /etc/xen/iwata01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:5b,bridge=xenbr0\" \]/g' /etc/xen/iwata01
cp /etc/xen/standard /etc/xen/mail01
sed -i 's/name = "standard"/name = "mail01"/g' /etc/xen/mail01
sed -i 's/maxmem = 512/maxmem = 256/g' /etc/xen/mail01
sed -i 's/memory = 512/memory = 256/g' /etc/xen/mail01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630047"/g' /etc/xen/mail01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/mail01.img,xvda,w\" \]/g' /etc/xen/mail01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:47,bridge=xenbr0\" \]/g' /etc/xen/mail01
cp /etc/xen/standard /etc/xen/stats01
sed -i 's/name = "standard"/name = "stats01"/g' /etc/xen/stats01
sed -i 's/maxmem = 512/maxmem = 512/g' /etc/xen/stats01
sed -i 's/memory = 512/memory = 512/g' /etc/xen/stats01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630051"/g' /etc/xen/stats01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/stats01.img,xvda,w\" \]/g' /etc/xen/stats01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:51,bridge=xenbr0\" \]/g' /etc/xen/stats01
■DomU起動量産
xm create www01
xm create sc01
xm create gatekeeper01
xm create dbm01
xm create iwata01
xm create stats01
xm create mail01
■DomUそれぞれ処理
○www01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.31/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:1F/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=www01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○sc01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.211/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:D3/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=sc01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○gatekeeper01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.11/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:0B/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=gatekeeper01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○dbm01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.51/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:33/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=dbm01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○iwata01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.91/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:5B/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=iwata01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○stats01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.81/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:51/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=stats01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○mail01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.71/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:47/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=mail01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
■DomU自動起動
ln -s /etc/xen/www01 /etc/xen/auto/www01
ln -s /etc/xen/sc01 /etc/xen/auto/sc01
ln -s /etc/xen/gatekeeper01 /etc/xen/auto/gatekeeper01
ln -s /etc/xen/dbm01 /etc/xen/auto/dbm01
ln -s /etc/xen/iwata01 /etc/xen/auto/iwata01
ln -s /etc/xen/stats01 /etc/xen/auto/stats01
ln -s /etc/xen/mail01 /etc/xen/auto/mail01
以下、コンソールに流したコマンド。
■イメージ量産
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/www01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/sc01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/gatekeeper01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/dbm01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/iwata01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/stats01.img
cp --sparse=auto /kfs_alpha/xen/standard.img /kfs_alpha/xen/mail01.img
■設定量産
cp /etc/xen/standard /etc/xen/www01
sed -i 's/name = "standard"/name = "www01"/g' /etc/xen/www01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/www01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/www01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa63001f"/g' /etc/xen/www01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/www01.img,xvda,w\" \]/g' /etc/xen/www01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:1f,bridge=xenbr0\" \]/g' /etc/xen/www01
cp /etc/xen/standard /etc/xen/sc01
sed -i 's/name = "standard"/name = "sc01"/g' /etc/xen/sc01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/sc01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/sc01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa6300d3"/g' /etc/xen/sc01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/sc01.img,xvda,w\" \]/g' /etc/xen/sc01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:d3,bridge=xenbr0\" \]/g' /etc/xen/sc01
cp /etc/xen/standard /etc/xen/gatekeeper01
sed -i 's/name = "standard"/name = "gatekeeper01"/g' /etc/xen/gatekeeper01
sed -i 's/maxmem = 512/maxmem = 256/g' /etc/xen/gatekeeper01
sed -i 's/memory = 512/memory = 256/g' /etc/xen/gatekeeper01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa63000b"/g' /etc/xen/gatekeeper01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/gatekeeper01.img,xvda,w\" \]/g' /etc/xen/gatekeeper01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:0b,bridge=xenbr0\" \]/g' /etc/xen/gatekeeper01
cp /etc/xen/standard /etc/xen/dbm01
sed -i 's/name = "standard"/name = "dbm01"/g' /etc/xen/dbm01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/dbm01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/dbm01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630033"/g' /etc/xen/dbm01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/dbm01.img,xvda,w\" \]/g' /etc/xen/dbm01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:33,bridge=xenbr0\" \]/g' /etc/xen/dbm01
cp /etc/xen/standard /etc/xen/iwata01
sed -i 's/name = "standard"/name = "iwata01"/g' /etc/xen/iwata01
sed -i 's/maxmem = 512/maxmem = 1024/g' /etc/xen/iwata01
sed -i 's/memory = 512/memory = 1024/g' /etc/xen/iwata01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa63005b"/g' /etc/xen/iwata01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/iwata01.img,xvda,w\" \]/g' /etc/xen/iwata01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:5b,bridge=xenbr0\" \]/g' /etc/xen/iwata01
cp /etc/xen/standard /etc/xen/mail01
sed -i 's/name = "standard"/name = "mail01"/g' /etc/xen/mail01
sed -i 's/maxmem = 512/maxmem = 256/g' /etc/xen/mail01
sed -i 's/memory = 512/memory = 256/g' /etc/xen/mail01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630047"/g' /etc/xen/mail01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/mail01.img,xvda,w\" \]/g' /etc/xen/mail01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:47,bridge=xenbr0\" \]/g' /etc/xen/mail01
cp /etc/xen/standard /etc/xen/stats01
sed -i 's/name = "standard"/name = "stats01"/g' /etc/xen/stats01
sed -i 's/maxmem = 512/maxmem = 512/g' /etc/xen/stats01
sed -i 's/memory = 512/memory = 512/g' /etc/xen/stats01
sed -i 's/uuid = "37d373d8-22ae-7923-2e14-3977aa63ac00"/uuid = "37d373d8-22ae-7923-2e14-3977aa630051"/g' /etc/xen/stats01
sed -i 's/disk = \[ \"tap:aio:\/kfs_alpha\/xen\/standard.img,xvda,w\" \]/disk = \[ "tap:aio:\/kfs_alpha\/xen\/stats01.img,xvda,w\" \]/g' /etc/xen/stats01
sed -i 's/vif = \[ \"mac=00:16:3e:63:95:00,bridge=xenbr0\" \]/vif = \[ \"mac=00:16:3e:63:00:51,bridge=xenbr0\" \]/g' /etc/xen/stats01
■DomU起動量産
xm create www01
xm create sc01
xm create gatekeeper01
xm create dbm01
xm create iwata01
xm create stats01
xm create mail01
■DomUそれぞれ処理
○www01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.31/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:1F/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=www01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○sc01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.211/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:D3/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=sc01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○gatekeeper01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.11/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:0B/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=gatekeeper01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○dbm01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.51/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:33/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=dbm01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○iwata01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.91/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:5B/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=iwata01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○stats01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.81/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:51/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=stats01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
○mail01
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.71/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:47/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HOSTNAME=standard.hoge.com/HOSTNAME=mail01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot
■DomU自動起動
ln -s /etc/xen/www01 /etc/xen/auto/www01
ln -s /etc/xen/sc01 /etc/xen/auto/sc01
ln -s /etc/xen/gatekeeper01 /etc/xen/auto/gatekeeper01
ln -s /etc/xen/dbm01 /etc/xen/auto/dbm01
ln -s /etc/xen/iwata01 /etc/xen/auto/iwata01
ln -s /etc/xen/stats01 /etc/xen/auto/stats01
ln -s /etc/xen/mail01 /etc/xen/auto/mail01
Sparseファイルの取り扱い方法
XenのイメージファイルをSparseファイルにしておくと
未使用領域を圧縮した状態になる。
■メリット
・イメージファイルのディスクスペースの節約になる
・コピーが速い(イメージファイルを量産する時に有効)
■デメリット
・書き込み速度がとても遅い
http://www.atmarkit.co.jp/flinux/rensai/xen02/xen02b.html
・ファイルが膨張するとHDDから溢れて壊れる可能性がある。
・対応したコマンドで取り扱わないと、元に戻る。
■取り扱い方法
○コピー
# cp --sparse=auto [コピー元] [コピー先]
# rsync -avS [コピー元] [コピー先]
○GNU TARで圧縮/解凍
圧縮 # tar zcSvf [書庫ファイル] [格納するファイル]
解凍 # tar zxSvf [書庫ファイル]
○通常ファイルをSparseファイルにする
# cp --sparse=always [コピー元] [コピー先]
○Sparseファイルを通常ファイルに戻す
# cp --sparse=never [コピー元] [コピー先]
○実容量を表示する
# du -h [ファイル名] ※ワイルドカードOK
↑ls -lと比べてみよう。
未使用領域を圧縮した状態になる。
■メリット
・イメージファイルのディスクスペースの節約になる
・コピーが速い(イメージファイルを量産する時に有効)
■デメリット
・書き込み速度がとても遅い
http://www.atmarkit.co.jp/flinux/rensai/xen02/xen02b.html
・ファイルが膨張するとHDDから溢れて壊れる可能性がある。
・対応したコマンドで取り扱わないと、元に戻る。
■取り扱い方法
○コピー
# cp --sparse=auto [コピー元] [コピー先]
# rsync -avS [コピー元] [コピー先]
○GNU TARで圧縮/解凍
圧縮 # tar zcSvf [書庫ファイル] [格納するファイル]
解凍 # tar zxSvf [書庫ファイル]
○通常ファイルをSparseファイルにする
# cp --sparse=always [コピー元] [コピー先]
○Sparseファイルを通常ファイルに戻す
# cp --sparse=never [コピー元] [コピー先]
○実容量を表示する
# du -h [ファイル名] ※ワイルドカードOK
↑ls -lと比べてみよう。
2008年4月10日木曜日
Xenのイメージサイズを変更する
Xenのイメージファイルのサイズを変更します。
■条件
・イメージファイルは1つのまま。
・/を増やしたい。
・DomUのパーティションはデフォルトでインスコした=/がLVMになっている。
■やり方
DomUをシャットダウンする。
# dd if=/dev/zero of=dummy4GB.img bs=1M count=4096
# cat standard.img dummy4GB.img > 8GB.img
DomUを起動し、fdiskでLVMを作る。
# fdisk /dev/xvda
n p 3 [ret] [ret]
t 3 8e
w
再起動
# pvcreate /dev/xvda3
# vgextend VolGroup00 /dev/xvda3
空き容量を確認する
# vgdisplay
↑Free PEの値を確認
# lvextend -l+XXX(←FreePEの値) /dev/VolGroup00/LogVol00
# e2fsck -f /dev/VolGroup00/LogVol00
# resize2fs /dev/VolGroup00/LogVol00
■参考 なかなか情報がなくて苦労しました。。。
http://tomo.ac/goodstream/xen/centos5/imgfile.html
http://fedorasrv.com/xen-domuhdd-add.shtml
http://slashdot.jp/~Ryo.F/journal/366066
http://pc.watanet.com/lab/homesvr/linux/lvm_resize/lvm_resize.html
■条件
・イメージファイルは1つのまま。
・/を増やしたい。
・DomUのパーティションはデフォルトでインスコした=/がLVMになっている。
■やり方
DomUをシャットダウンする。
# dd if=/dev/zero of=dummy4GB.img bs=1M count=4096
# cat standard.img dummy4GB.img > 8GB.img
DomUを起動し、fdiskでLVMを作る。
# fdisk /dev/xvda
n p 3 [ret] [ret]
t 3 8e
w
再起動
# pvcreate /dev/xvda3
# vgextend VolGroup00 /dev/xvda3
空き容量を確認する
# vgdisplay
↑Free PEの値を確認
# lvextend -l+XXX(←FreePEの値) /dev/VolGroup00/LogVol00
# e2fsck -f /dev/VolGroup00/LogVol00
# resize2fs /dev/VolGroup00/LogVol00
■参考 なかなか情報がなくて苦労しました。。。
http://tomo.ac/goodstream/xen/centos5/imgfile.html
http://fedorasrv.com/xen-domuhdd-add.shtml
http://slashdot.jp/~Ryo.F/journal/366066
http://pc.watanet.com/lab/homesvr/linux/lvm_resize/lvm_resize.html
2008年4月8日火曜日
Cactiの導入
ポコポコたくさんサーバを立てるので、監視用にCactiを入れておきます。
Net-SNMPについてはXenの標準イメージにも導入しておく。
Cactiはネットワークを通じて1つあればよくて、mysql-serverのインスコが先に必要。
■基本的な手順
http://centossrv.com/rrdtool-cacti.shtml
■ただし
・標準XenイメージにはNet-SNMPだけ入れておく。
・RRDToolは普通に入れる。
・Cactiの前に。
以下は事前に明示して入れておく。
依存関係で勝手にrpmforgeから入るのを防止する。
# yum install apr apr-util gmp httpd mysql net-snmp-utils perl-DBI perl-Net-Daemon perl-PlRPC php php-cli php-common php-mysql php-pdo php-snmp postgresql-libs
・さてようやくcacti
# yum --enablerepo=rpmforge install cacti
あとの設定は先の参考サイトで。所々間違ってるけど。
public →ユニークな名前にしよう。
Net-SNMPについてはXenの標準イメージにも導入しておく。
Cactiはネットワークを通じて1つあればよくて、mysql-serverのインスコが先に必要。
■基本的な手順
http://centossrv.com/rrdtool-cacti.shtml
■ただし
・標準XenイメージにはNet-SNMPだけ入れておく。
・RRDToolは普通に入れる。
・Cactiの前に。
以下は事前に明示して入れておく。
依存関係で勝手にrpmforgeから入るのを防止する。
# yum install apr apr-util gmp httpd mysql net-snmp-utils perl-DBI perl-Net-Daemon perl-PlRPC php php-cli php-common php-mysql php-pdo php-snmp postgresql-libs
・さてようやくcacti
# yum --enablerepo=rpmforge install cacti
あとの設定は先の参考サイトで。所々間違ってるけど。
public →ユニークな名前にしよう。
2008年4月7日月曜日
ソフトウェアRAIDの構築
HDDとメモリを買ってきたので、ソフトウェアRAIDで再セットアップすることにする。
■基本ポリシー
・500GB×2で丸ごとRAID1(ミラー)
・Xenの管理コマンドを覚えるのが面倒なので、GNOMEを入れてしまう。
■パーティションの切り方
http://www.linuxmania.jp/soft_raid.html
ただし、以下相違点。
・swapは2GB(2048MB)
・/はLVMで構築。
LVMを切るのでグラフィカルインストールでなければならない。
グラフィカルインストールだとオプションが違う。
導入するもの
・開発-レガシーなソフトウェアの開発、開発ツール、開発ライブラリ
・ベースシステム-ベース
・仮想化
・言語-日本語のサポート
インスコ終わったらgrub忘れずに。
[root@linux ~]# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
■基本ポリシー
・500GB×2で丸ごとRAID1(ミラー)
・Xenの管理コマンドを覚えるのが面倒なので、GNOMEを入れてしまう。
■パーティションの切り方
http://www.linuxmania.jp/soft_raid.html
ただし、以下相違点。
・swapは2GB(2048MB)
・/はLVMで構築。
LVMを切るのでグラフィカルインストールでなければならない。
グラフィカルインストールだとオプションが違う。
導入するもの
・開発-レガシーなソフトウェアの開発、開発ツール、開発ライブラリ
・ベースシステム-ベース
・仮想化
・言語-日本語のサポート
インスコ終わったらgrub忘れずに。
[root@linux ~]# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
2008年4月5日土曜日
DeleGateの導入(POP3、SMTP編)
DeleGateはPOPもSMTPも中継できちゃいますので、導入します。
まずpop。
# vi pop.conf
-P110
SERVER=pop
ADMIN="root@hoge.com"
RELIABEL="*"
RELAY=proxy
CACHE="no"
LOGFILE=""
CONNECT="d:*:*"
MOUNT="* pop://hoge.com/*" #default
REACHABLE="192.168.0.9"
MOUNT="//moge.com/* pop://moge.com/*"
REACHABLE="192.168.0.9"
↑この設定の解説。
MOUNT="* pop://hoge.com/*"
普通にPOPアクセスがあると、hoge.comに中継されます。
MOUNT="//hoge.com/* pop://hoge.com/*"
POPのアカウント名が「アカウント名#moge.com」となってる時には、moge.comに中継されます。
REACHABLE="192.168.0.9"
中継先は192.168.0.9縛りです。
次にSMTP編。
-P25
SERVER="smtp"
RELIABEL="*"
RELAY=proxy
CACHE="no"
LOGFILE=""
CONNECT="d:*:*"
MOUNT="/* smtp://192.168.0.2/* vhost=-smtp.bbb.biz"
REACHABLE="192.168.0.0/24"
↑この設定の解説
外から来たsmtpを内側に振り分けます。
SMTPサーバを外部に制限無しに解放してしまうのは危険なので、到達できるIPを限定しておきます。
POP起動(コンソール付き)
# delegate -vv +=pop.conf
POP起動
# delegate +=pop.conf
POP終了
# delegate -P110 -Fkill
SMTP起動(コンソール付き)
# delegate -vv +=smtp.conf
SMTP起動
# delegate +=smtp.conf
SMTP終了
# delegate -P25 -Fkill
なお。
DeleGateは積極的に名前解決してくれるので、「アカウント名#存在しないドメイン」とやると、DNSの設定によっては自動的に補完してくれちゃいます。このため、指定以外の文字列でもサーバにアクセスできてしまうことがままあるのでご注意。
まずpop。
# vi pop.conf
-P110
SERVER=pop
ADMIN="root@hoge.com"
RELIABEL="*"
RELAY=proxy
CACHE="no"
LOGFILE=""
CONNECT="d:*:*"
MOUNT="* pop://hoge.com/*" #default
REACHABLE="192.168.0.9"
MOUNT="//moge.com/* pop://moge.com/*"
REACHABLE="192.168.0.9"
↑この設定の解説。
MOUNT="* pop://hoge.com/*"
普通にPOPアクセスがあると、hoge.comに中継されます。
MOUNT="//hoge.com/* pop://hoge.com/*"
POPのアカウント名が「アカウント名#moge.com」となってる時には、moge.comに中継されます。
REACHABLE="192.168.0.9"
中継先は192.168.0.9縛りです。
次にSMTP編。
-P25
SERVER="smtp"
RELIABEL="*"
RELAY=proxy
CACHE="no"
LOGFILE=""
CONNECT="d:*:*"
MOUNT="/* smtp://192.168.0.2/* vhost=-smtp.bbb.biz"
REACHABLE="192.168.0.0/24"
↑この設定の解説
外から来たsmtpを内側に振り分けます。
SMTPサーバを外部に制限無しに解放してしまうのは危険なので、到達できるIPを限定しておきます。
POP起動(コンソール付き)
# delegate -vv +=pop.conf
POP起動
# delegate +=pop.conf
POP終了
# delegate -P110 -Fkill
SMTP起動(コンソール付き)
# delegate -vv +=smtp.conf
SMTP起動
# delegate +=smtp.conf
SMTP終了
# delegate -P25 -Fkill
なお。
DeleGateは積極的に名前解決してくれるので、「アカウント名#存在しないドメイン」とやると、DNSの設定によっては自動的に補完してくれちゃいます。このため、指定以外の文字列でもサーバにアクセスできてしまうことがままあるのでご注意。
登録:
投稿 (Atom)