2009年9月22日火曜日

NTPで時刻合わせ

予備機がNTPで同期してなかったので修正しました。


yum install ntp
ntpdate ntp.asahi-net.or.jp

あと自動同期の設定など。
vi /etc/ntp.conf
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server -4 ntp.asahi-net.or.jp

/etc/rc.d/init.d/ntpd start
chkconfig ntpd on

ハードウェアクロックにも反映しとかないと、再起動のたびに狂っちゃうよ
hwclock --systohc

いじょう。

2009年9月13日日曜日

OpenXのアップデート

DL&解凍
# wget http://download.openx.org/openx-2.8.1.tar.gz
# tar zxvf openx-2.8.1.tar.gz

DBバックアップ
# /kfs/backup/mysqlsnapshot -u [ID] -p [PW] -l -v -s /kfs/backup/output

ディレクトリ入れ替え
# mv public_html openx26_200909012
# mv openx-2.8.1.tar.gz public_html

パーミッション切り替え
# chmod -R a+w /kfs/ad/public_html/var
# chown -R apache:apache /kfs/ad/public_html/var
# chown -R apache:apache /kfs/ad/public_html/var/cache
# chown -R apache:apache /kfs/ad/public_html/var/plugins
# chown -R apache:apache /kfs/ad/public_html/var/templates_compiled
# chown -R apache:apache /kfs/ad/public_html/plugins
# chown -R apache:apache /kfs/ad/public_html/www/admin/plugins
# chown -R apache:apache /kfs/ad/public_html/www/images

あとブラウザでアクセスして適当に進める。
本当は定期メンテとか切らないといけないんだけどね。
パーミッションで怒られたら、そのとおり対処する。

終わったらvarディレクトリ内を全部書き込み禁止にしておく。

2009年9月6日日曜日

FreeBSDにiTunesサーバを立てる

# cd /usr/ports/audio/mt-daapd
# make install clean
# vi /usr/local/etc/mt-daapd.conf
○パスワード変えとく
admin_pw mt-daapd
admin_pw admin

○ファイル保存先
mp3_dir /usr/local/share/mt-daapd
mp3_dir /mnt/kfs01/FreeNAS1/iTunesServer

○サーバ名
servername mt-daapd
servername KFS-iTunes

○自動起動
# vi /etc/rc.conf
mt_daapd_enable="YES"

○手動起動
# /usr/local/etc/rc.d/mt-daapd start

○Webインターフェース
http://kfs01.hoge.com:3689/


これでファイル保存先に適当にファイルを突っ込み、iTunesを起動すると自動的に接続される。

2009年9月2日水曜日

Xenイメージをストレージサーバに置く

今までXenのイメージファイルはローカルディスクに置いて運用していましたが、大規模なストレージサーバを導入して日が経っていることから、ストレージサーバに置くことにしました。

当面はNFS共有で行きます。将来的にZFS@FreeBSDでzVOL(iSCSI)がサポートされたら、また考えます。

…と思ったんだけど失敗しました。敗因は最後に。


■ストレージサーバ(kfs01)にボリューム作成、イメージ移動
○作成と移動
zfs create zen
zfs set sharenfs="-network 192.168.0.0 -mask 255.255.255.0 -maproot=root" kfs01/xen
mkdir /mnt/kfs01/xen/img
mkdir /mnt/kfs01/xen/conf
mv /mnt/kfs01/kfs/xen/* /mnt/kfs01/xen/img

○設定書き換え
Xenの設定ファイルのファイルパスを書き換えます。
>> disk = [ "tap:aio:/kfs_alpha/xen/ad01.img,xvda,w" ]
<< disk = [ "tap:aio:/kfs_xen/img/ad01.img,xvda,w" ]

○スナップショット作成
ここらでセーブしとくか。
zfs snapshot kfs01/xen@`date +%Y%m%d%H%M%S`

■AlphaとBetaにマウントポイント作成
# mkdir /kfs_xen
# mount -t nfs kfs01.hoge.com:/mnt/kfs01/xen /kfs_xen
# vi /etc/fstab
kfs01.hoge.com:/mnt/kfs01/xen /kfs_xen nfs rw 0 0

○設定ファイルはシンボリックリンク共有にしちゃう
ln -s /kfs_xen/conf/* /etc/xen/

■一気に起動
省略。

■参考:メンテナンス方法
○スナップショット閲覧
zfs list -t all

○スナップショット作成
zfs snapshot kfs01/xen@`date +%Y%m%d%H%M%S`

○スナップショット削除
zfs destroy kfs01/xen@hogehoge

■どうなったか
ストレージサーバのアクセスランプが点灯しっぱなし。パフォーマンスめちゃ悪い(1MB/sとか)。
起動にも時間かかるし、DBなんかまともに動いちゃいない。想定外の事態である。

○原因を考える
ストレージサーバへの転送速度測定では80MB/sくらい出ている。ローカルのRAID1と同じくらいなので、単体アクセス時の速度面は問題なし。複数同時アクセスするとパフォーマンスが激しく落ちるのだろうか。ZFSではキャッシュが盛大に効いているようなので、むしろ速くなるのではないかと期待していたのだが。。

ディスクイメージをNFSで共有しているのが問題なんだろうか。ファイルを部分的に読み書きする場合のNFS+ZFSのパフォーマンスは未確認である。ここかしら。

アクセスランプが点灯しっぱなしであるが、zpool iostatでは10MB/sくらいしか読み書きしていないようである。ってかまず10MB/sも何をしているんだろうか。そんなに盛大にローカルディスクにアクセスする機会、ないんですけど。ファイルの一部分だけを書き換える操作にNFS+ZFSが向いていなくて、広範囲を読み書きしてしまって速度が低下しているんだろうか。

○対策
しかしZFSのsnapshot機能は、サーバのディスクイメージを保管するのにもってこいの機能ではないですか。無停止で取れるし、無駄な容量食わないし。なんとしても活用したい。
というわけでサービス上の最大のボトルネックはDBの読み書きであると判断し、DBサーバだけローカルディスクで稼働するように再変更しました。
これにより、相変わらずアクセスランプは激し目に点滅しているものの、一応サービス提供に問題ないレベルまで速度向上したと思います…。なんか納得いかない。。

気がつけばOpenSolarisの新バージョンが出ているようなので、どこかの段階で、改めてSolaris導入を検討したいと思います。NFS共有がダメなんだとすれば、SolarisでZFSでzVOLでshareiscsi使えば問題なさそうな気がするので。大改造ですけども。