2007年 11月 05日
CRON を使った、 XEN イメージの保存(OES Linux, OES NetWare)
OES Linux の場合
1) xm save MyDomain MyMemory.sav を実行し、メモリ内容のダンプを取る
2) /var/lib/xen/image/MyDomain の内容とメモリ内容のダンプを、バックアップにコピーする。
3) xm restore MyMemory
--sample
echo Start --------------------- >> /var/log/backup.log
date >> /var/log/backup.log
/usr/sbin/xm save oes2l /var/lib/xen/images/oes2l/MyMemory.sav >> /var/log/backup.log
cp -p -v /var/lib/xen/images/oes2l/* /backup/oes2l >> /var/log/backup.log
/usr/sbin/xm restore /var/lib/xen/images/oes2l/MyMemory.sav >> /var/log/backup.log
date >> /var/log/backup.log
echo --------------------- end >> /var/log/backup.log
xm restore MyMemory.sav を実行するとステートが Shutoff > pause から Running に変化します。
また、エディタで作成したシェルには chmod で実行フラグをセットしておきましょう。
注意しなければならないのは cron で実行する時、 cron は xm コマンドシェルのパスがわからないというところです。 root でログインしてシェルを実行する場合 xm コマンドはパスされていますが、cron ではパスされていません。
root でログインして crontab -e を実行します。 root の crontab は /var/spool に保存されるので root という名前の crontab を保管しておくと良いでしょう。 crontab -r は cron のないようを全てリセットしてしまいます。 e と r キーが隣なのでよく間違えます。
cronについては色々なドキュメントを参考にすると良いでしょう。次の例では毎時実行するため、ほとんどハードディスクの耐久テストのような感じですから、日時、週時に実行するのが良いでしょう。
40 * * * * /usr/sbin/cpoes2nw.sh
0 * * * * /usr/sbin/cpoes2l.sh
20 * * * * /usr/sbin/cpetc.sh
30 * * * * /usr/sbin/cpw2ks.sh
ちなみに
* 0 * * * /MyShell
と書くと 0 時から * (毎分)実行となるので、システムは恐慌を起こします。朝大変なことになりますから気をつけてください。
0 0 * * * /MyShell
と書けば、毎晩 0 時に一度だけ実行します。
OES NetWareの場合
echo start ------------------------ >> /var/log/backup.log
date >> /var/log/backup.log
/usr/sbin/xm pause oes2nw >> /var/log/backup.log
cp -p -v /var/lib/xen/images/oes2nw/* /backup/oes2nw >> /var/log/backup.log
/usr/sbin/xm unpause oes2nw >> /var/log/backup.log
date >> /var/log/backup.log
echo ------------------------end >> /var/log/backup.log
OES Linux との違いは xm pause と xm unpause を使うところです。システムはポーズ状態なので、NetWare がハングアップしているような状態で unpause でそのまま復旧できます。ですから、ファイルのアクセスが発生している時間帯はもちろん止めて下さい。
また pause, unpause の代わりに shutdown と create も使うことができます。この場合は、システムは完全にシャットダウンし、再起動します。その分、サービスの停止時間が長くなるということです。
こうしてバックアップできたディスクやメモリのイメージは、手持ちの方法で別なメディアにバックアップしてください。
cp コマンドで 10G 前後のファイルコピーには装置の性能によりますが約10分弱かかります。この間サービスがとまるわけですから、計画的にバックアップを検討します。
[検索キーワード]
XEN イメージ バックアップ シェル コピー xm pause xm shutdown xm create
非番のエンジニア