玄箱HG・Fedora10にミラーリングツール!
Updated:
前回は実サーバの完全バックアップ(クローン化)のために VMwarePlayer に Fedora10 をインストールして、ミラーリングするようにしました。
でも、今のところ VMware は常時稼働させているわけでもありません。やっぱり、常時稼働の別マシンへのミラーリングを試みてみようと考えました。
うちの稼動中のサーバとは別に、ほぼ録画&バックアップ専用の玄箱HG(Fedora10導入済み&24時間稼動中)があるんで、そいつをミラー先としてやってみることにしました。
導入手順
※またまた Fedoraで自宅サーバー構築 の リアルタイムミラーリングツール導入(lsyncd+rsyncd) を参考にさせてもらってます。
【前提条件】 ・実サーバはFedora10でWebサーバ、メールサーバ、FTPサーバ等が稼動中。 ・バックアップ側もFedora10で、NTPサーバ、Sambaサーバが稼動中。 ・実サーバのIPアドレスは 192.168.11.3 、バックアップ側(玄箱HG)のIPアドレスは 192.168.11.2 。 ・実サーバ、バックアップ側(玄箱)どちらも「 Poderosa 」によるリモート接続による操作。 (実サーバはSSH2接続・鍵認証、バックアップ側(玄箱HG)はSSH2接続・パスワード認証)
1.ミラー先(玄箱HG)の起動
ミラー先となる 玄箱HG・Fedora10 が起動していることを確認。
2.ミラー先にrsyncサーバー設定
「 Poderosa 」により 玄箱HG・Fedora10 にリモート接続し、rootユーザになっておく。 そして以下のように設定。
[root@KURO-BOX ~]# mkdir /tmp/mirror ← ミラー先ディレクトリの作成
[root@KURO-BOX ~]# chown nobody:nobody /tmp/mirror ← ミラー先ディレクトリ所有者をnobodyに変更
[root@KURO-BOX ~]# vi /etc/rsyncd.conf ← rsyncサーバ設定ファイルの作成
[mirror] ← 任意のモジュール名(ミラー元から接続時の名前)
path = /tmp/mirror ← ミラー先ディレクトリ
hosts allow = 192.168.11.0/24 ← 接続許可ホスト
read only = false ← 更新許可
3.ミラー先のrsyncサーバー起動
[root@KURO-BOX ~]# yum -y install xinetd ← xinetdインストール
[root@KURO-BOX ~]# /etc/rc.d/init.d/xinetd start ← xinetd起動
xinetd を起動中: [ OK ]
[root@KURO-BOX ~]# chkconfig rsync on ← rsyncサーバ自動起動設定
4.ミラー元(実サーバ)へlsyncdインストール
「 Poderosa 」により 実サーバ・Fedora10 にリモート接続し、rootユーザになっておく。 そして、以下のようにして lsyncd をインストール。 実際には以下の作業は前回終了しているので、今回は省略。
[root@noah ~]# yum -y install libxml2-devel ← lsyncdインストールに必要なパッケージをインストール
[root@noah ~]# wget http://lsyncd.googlecode.com/files/lsyncd-1.26.tar.gz ← lsyncdダウンロード
[root@noah ~]# tar zxvf lsyncd-1.26.tar.gz ← lsyncd展開
[root@noah ~]# cd lsyncd-1.26 ← lsyncd展開先ディレクトリへ移動
[root@noah lsyncd-1.26]# ./configure && make && make install ← lsyncdインストール
[root@noah lsyncd-1.26]# cd ← lsyncd展開先ディレクトリを抜ける
[root@noah ~]# rm -rf lsyncd-1.26 ← lsyncd展開先ディレクトリを削除
[root@noah ~]# rm -rf lsyncd-1.26.tar.gz ← ダウンロードしたファイルを削除
5.ミラー元のlsyncd設定
[root@noah ~]# vi /etc/lsyncd.conf ← lsyncd設定ファイルの作成
/ 192.168.11.2 mirror ← 「 ミラー元ディレクトリ ミラー先(rsyncサーバ)IPアドレス ミラー先モジュール名 」の順に指定
[root@noah ~]# vi /etc/logrotate.d/lsyncd ← lsyncdログローテーション設定ファイルの作成
/var/log/lsyncd {
missingok
notifempty
sharedscripts
postrotate
/etc/rc.d/init.d/lsyncd restart 2>&1 > /dev/null || true
endscript
}
6.ミラー元のlsyncd起動
実際には既に起動しているので、再起動した。
[root@noah ~]# vi /etc/rc.d/init.d/lsyncd ← lsyncd起動スクリプト作成
#!/bin/bash
#
# lsyncd
#
# chkconfig: - 99 20
# description: lsyncd auto start script
start() {
IFS=
for i in `cat /etc/lsyncd.conf`
do
src=`echo $i|awk '{print $1}'`
dest=`echo $i|awk '{print $3}'`
remort=`echo $i|awk '{print $2}'`
/usr/local/bin/lsyncd $src $remort::$dest/
done
}
stop() {
/bin/kill -9 `/sbin/pidof lsyncd`
until [ -z $(/sbin/pidof lsyncd) ]; do :; done
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=`pidof lsyncd`
if [ $? -eq 0 ]; then
echo "lsyncd (pid $pid) is running..."
else
echo "lsyncd is not running"
fi
;;
*)
echo "Usage: lsyncd {start|stop|restart|status}"
exit 1
esac
exit $?
[root@noah ~]# chmod +x /etc/rc.d/init.d/lsyncd ← lsyncd起動スクリプトへ実行権限付加
[root@noah ~]# /etc/rc.d/init.d/lsyncd start ← lsyncd起動
[root@noah ~]# chkconfig --add lsyncd ← lsyncd起動スクリプトをchkconfigへ登録
[root@noah ~]# chkconfig lsyncd on ← lsyncd自動起動設定
7.動作確認
上記の「 lsyncd起動 」で処理が開始されているはずなので、しばらくしてからミラー先(VMware側Fedora)の指定したディレクトリにコピーされているか確認する。 ■ミラー元
[root@noah ~]# ls -ll /
合計 122
drwxr-xr-x 8 root root 4096 2009-04-05 05:07 backup
drwxr-xr-x 2 root root 4096 2009-03-29 05:11 bin
drwxr-xr-x 5 root root 1024 2009-04-04 07:15 boot
drwxr-xr-x 16 root root 4480 2009-04-05 11:04 dev
drwxr-xr-x 103 root root 12288 2009-04-05 10:55 etc
drwxr-xr-x 5 root root 4096 2009-01-06 09:46 home
drwxr-xr-x 16 root root 12288 2009-04-02 05:08 lib
drwx------ 2 root root 16384 2008-12-09 08:55 lost+found
drwxr-xr-x 2 root root 4096 2008-09-06 19:13 media
drwxr-xr-x 2 root root 4096 2008-09-06 19:13 mnt
-rw-r--r-- 1 root root 538 2009-03-02 11:20 mrtg-l.png
-rw-r--r-- 1 root root 414 2009-03-02 11:20 mrtg-m.png
-rw-r--r-- 1 root root 1759 2009-03-02 11:20 mrtg-r.png
drwxr-xr-x 2 root root 4096 2008-09-06 19:13 opt
dr-xr-xr-x 151 root root 0 2009-03-23 07:01 proc
-rw-r--r-- 1 root root 181 2008-12-09 23:03 razor-agent.log
drwxr-x--- 9 root root 4096 2009-03-30 19:38 root
drwxr-xr-x 2 root root 12288 2009-04-02 05:08 sbin
drwxr-xr-x 2 root root 4096 2008-12-09 08:57 selinux
drwxr-xr-x 2 root root 4096 2008-09-06 19:13 srv
drwxr-xr-x 12 root root 0 2009-03-23 07:01 sys
drwxrwxrwt 10 root root 4096 2009-04-05 11:03 tmp
drwxr-xr-x 13 root root 4096 2008-12-09 09:02 usr
drwxr-xr-x 23 root root 4096 2008-12-10 17:52 var
[root@noah ~]#
■ミラー先
[root@KURO-BOX ~]# ls -ll /tmp/mirror
合計 108
drwxr-xr-x 8 nobody nobody 4096 2009-04-05 05:07 backup
drwxr-xr-x 2 nobody nobody 4096 2009-03-29 05:11 bin
drwxr-xr-x 5 nobody nobody 4096 2009-04-04 07:15 boot
drwxr-xr-x 16 nobody nobody 4096 2009-04-05 10:56 dev
drwxr-xr-x 103 nobody nobody 8192 2009-04-05 10:55 etc
drwxr-xr-x 5 nobody nobody 4096 2009-01-06 09:46 home
drwxr-xr-x 16 nobody nobody 8192 2009-04-02 05:08 lib
drwx------ 2 nobody nobody 4096 2008-12-09 08:55 lost+found
drwxr-xr-x 2 nobody nobody 4096 2008-09-06 19:13 media
drwxr-xr-x 2 nobody nobody 4096 2008-09-06 19:13 mnt
-rw-r--r-- 1 nobody nobody 538 2009-03-02 11:20 mrtg-l.png
-rw-r--r-- 1 nobody nobody 414 2009-03-02 11:20 mrtg-m.png
-rw-r--r-- 1 nobody nobody 1759 2009-03-02 11:20 mrtg-r.png
drwxr-xr-x 2 nobody nobody 4096 2008-09-06 19:13 opt
dr-xr-xr-x 163 nobody nobody 4096 2009-03-23 07:01 proc
-rw-r--r-- 1 nobody nobody 181 2008-12-09 23:03 razor-agent.log
drwxr-x--- 9 nobody nobody 4096 2009-03-30 19:38 root
drwxr-xr-x 2 nobody nobody 8192 2009-04-02 05:08 sbin
drwxr-xr-x 2 nobody nobody 4096 2008-12-09 08:57 selinux
drwxr-xr-x 2 nobody nobody 4096 2008-09-06 19:13 srv
drwxr-xr-x 12 nobody nobody 4096 2009-03-23 07:01 sys
drwxrwxr-x 10 nobody nobody 4096 2009-04-05 10:50 tmp
drwxr-xr-x 13 nobody nobody 4096 2008-12-09 09:02 usr
drwxr-xr-x 23 nobody nobody 4096 2008-12-10 17:52 var
[root@KURO-BOX ~]#
ファイル類も大体(?)コピーされている模様。
設定は以上です。
仮にミラー先が起動していない場合は、ミラー先が起動した後の最初のファイル更新時にミラーリングがされるみたいです。 それはスゲー!
今回は実際にミラー先を元にクローンを復元するところまではしません。
ただ、気になるのは 実サーバはi386カーネル ミラー先(玄箱HG)はppcカーネル という違いがあること。
ま、だめなら、VM側でやることにします。
とりあえず、ここまでできていれば、何とかなるでしょう!?
それじゃ。
Comments