2009年10月20日火曜日

DomU dns01の導入

最近内向きプライマリDNSサーバがよく落ちる。
セカンダリDNSサーバを仮想サーバで立てることにします。
DNSくらいリアルサーバで導入しろよって気もしますが。。

■立ち上げ
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.21/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:15/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=dns01.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot

ここらでyum updateする

■BIND導入
# yum install bind
# chkconfig named on

■BIND スレーブ設定
webminでBINDを開くと設定をジェネってくれる。
内向き用の設定で作成する。

新規のスレーブ ゾーンを作成
ドメイン名 / ネットワーク:hoge.com
マスターサーバ:192.168.0.6

で保存して「更新を強制する」でおk。


■全サーバにセカンダリDNS設定を配布する
対象ファイル:
/etc/resolv.conf

内容:
search hoge.com
nameserver 192.168.0.6
nameserver 192.168.0.21
nameserver 202.224.32.1

配布先:
rsync -av /etc/resolv.conf beta.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf ad01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf gatekeeper01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf iwata01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf mail01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf pb01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf ssh01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf stats01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf www01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf www02.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf dbm01.hoge.com:/etc/resolv.conf
rsync -av /etc/resolv.conf dns01.hoge.com:/etc/resolv.conf

※standardイメージには未反映

2009年10月19日月曜日

DomU www02の導入

新システムは結局www01で動かしてしまったので、www11を破棄してwww02を作る。
www02はwww01と異なり、cronプロセスは稼働させない。


■立ち上げ
sed -i 's/IPADDR=192.168.0.XXX/IPADDR=192.168.0.32/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/HWADDR=00:16:3E:63:95:XX/HWADDR=00:16:3E:63:00:20/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=www02.hoge.com/g' /etc/sysconfig/network
rm -rf /etc/ssh/ssh_host*
rm -rf /root/.bash_history
reboot

ここらでyum updateする


■www02に導入するものと手順
yum install httpd httpd-devel php perl php-mysql php-pear php-mbstring php-mcrypt ImageMagick-perl php-devel ImageMagick php-gd
perl -MCPAN -e shell
## install Jcode

○APCの導入
vi /usr/share/pear/pearcmd.php
## @ini_set('memory_limit', '16M'); ←追記する
pecl install apc
vi /etc/php.ini
## extension=apc.so ←追記する

○memcached PHPバインディングの導入
yum install php-pecl-memcache

○その他PHP関連
pear channel-update pear.php.net
pear upgrade --force PEAR
pear upgrade-all
pear install Cache_Lite
pear install Pager

○PHPの設定
#vi /etc/php.ini
↓以下変更点
output_buffering = Off
post_max_size = 80M
upload_max_filesize = 20M
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII
mbstring.substitute_character = none;

○apacheの設定
バーチャルホストベースでwww02を作ります。
httpd.confをwww01からコピってservernameあたりを修正するのみ。

○mod_rpaf
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar zxpf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
vi Makefile
以下の行を書き換える。
APXS2=$(shell which apxs2) を
APXS2=/usr/sbin/apxs
make rpaf-2.0
make install-2.0
vi /etc/httpd/conf.d/mod_rpaf.conf
以下の記述を追加
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips <プロキシサーバのIPアドレス>

【出典】http://www.nire.com/2008/02/howto-install-mod_rpaf/

○起動
service httpd start
chkconfig httpd on


memcachedは今のところwww01を参照することにするので導入不要。
これで再起動、gatekeeperからラウンドロビンさせて完了。

2009年10月4日日曜日

KCMSのバージョンアップ(入れ替え)

KCMSをバージョンアップしました。

■ご来訪のみなさま
本エントリー(ってかブログ全体もそうですけど)は完全なる個人用メモです。
第三者が見ても意味不明だと思います。ご了承ください。。


○メンテナンス表示ON - ルータ設定
port80とport443のアクセスを文言サーバに振り向ける
(変更前)192.168.0.11
(変更後)192.168.0.6

○影響範囲内のサーバ停止&バックアップ - alphaにて
# xm shutdown sc01
# xm shutdown www01

停止確認後
# rsync -avz /kfs_alpha/xen/www01.img kfs01:/mnt/kfs01/xen/img/bak20091004
# rsync -avz /kfs_alpha/xen/sc01.img kfs01:/mnt/kfs01/xen/img/bak20091004

○DBバックアップ - mdb01にて
# mkdir /kfs/backup/output/`date +%Y%m%d%H%M%S`
# /kfs/backup/mysqlsnapshot -u [ID] -p [PW] -l -v -s /kfs/backup/output/`date +%Y%m%d%H%M%S`

○ファイルシステム 固めてtar化 - www01にて
# cd /kfs/backup
# ./backup.sh

○ファイルシステム スナップショット - kfs01にて
# zfs snapshot kfs01/kfs@`date +%Y%m%d%H%M%S`
# zfs snapshot kfs01/xen@`date +%Y%m%d%H%M%S`

○サーバ復帰
# xm create www01

○リバースプロキシ設定変更
squidサーバ廃止のため、www01直結に変更する。
この時点でイントラアクセスが可能になる。

○ファイルシステム 切り替え
ファイルの入れ替え作業を行う

○テストアクセス
イントラから確認する。

○ファイルシステム スナップショット - kfs01にて
# zfs snapshot kfs01/kfs@`date +%Y%m%d%H%M%S`

○復帰
port80とport443のアクセスを元に戻す
(変更前)192.168.0.6
(変更後)192.168.0.11