巷では大手プロバイダがデータ吹っ飛ばしたりして大変なようなので、バックアップについて。
Linuxシステムのバックアップには、いくつかの方法があります。
- 定期的に他のサーバーにコピーする(tar + gzip + ftpなど。設定や復元が手間?)
- HAクラスタや二重化サーバーを使う(高額?)
- RAID構成にする(天災やM/B故障には弱い?)
- rsyncで同期をとる(2日前などに戻しにくい?)
- 市販のバックアップソフトを使う(NetVaultなど)
- オープンソースのバックアップソフトを使う(Mondo Rescure+ftpなど)
RAID構成と併用するといいかもしれません。
※以下、自己責任でお願いします。
インストール
ISOイメージで保存したいので「mkisofs」を入れておきます。# yum -y install mkisofs
高速圧縮ライブラリ「lzo」、高速圧縮ユーティリティ「lzop」も入れておきます。
# yum -y install lzo lzop
その他、いろいろ必要なパッケージもインストール。
# yum -y install dosfstools mtools parted cdrecord syslinux
以下をwgetなどで取得しておきます。
ftp://ftp.mondorescue.org/rhel/6/x86_64/afio-2.5-1.rhel6.x86_64.rpm
ftp://ftp.mondorescue.org/rhel/6/x86_64/buffer-1.19-4.rhel6.x86_64.rpm
ftp://ftp.mondorescue.org/rhel/6/x86_64/mindi-2.1.2-1.rhel6.x86_64.rpm
ftp://ftp.mondorescue.org/rhel/6/x86_64/mindi-busybox-1.18.5-1.rhel6.x86_64.rpm
ftp://ftp.mondorescue.org/rhel/6/x86_64/mondo-3.0.2-1.rhel6.x86_64.rpm
(頻繁にアップデートされていますが、不具合の修正ではないですよね???)
Mondo Resucureをインストールします。
# rpm -ivh *.rpm
バックアップ
以下、主なオプションです。(詳細はこちら)-O | バックアップ |
-i | ISOファイルを生成 |
-d [ディレクトリ] | バックアップイメージの出力先 |
-E [ディレクトリ]... | バックアップ対象外(/mnt, /proc, /sys, /run, /tmpは指定しなくてよい) |
-s [サイズ] | CDイメージの場合700m、DVDは4480m |
-S [ディレクトリ] | 作業用ディレクトリ(ISOイメージ生成前) |
-T [ディレクトリ] | 作業用ディレクトリ(ISOイメージ以外) |
-p [ファイル名] | 出力ファイル名 |
/backupを作成しておき、を実行してみます。
# mkdir /backup
# mondoarchive -Oi -d /backup -E /backup -s 4480m -S /tmp -T /tmp -p `hostname`_`date +%Y%m%d`
シングルユーザーモード(init 1)でバックアップするのが理想ですが、サーバーを停止するのが難しい場合には、整合性を保つためにデータベースなどは別にバックアップしたほうがよいと思います。(MySQLであればmysqldumpなど)
あとはdvdrecordコマンドでDVDに焼くなり、ftpして保存しておくなりします。
※"mondoarchive -d /mnt/cdrom" で直接書き込むこともできますが、書き込みに失敗する場合もあるので、ディスクに余裕があるならまずハードディスクに保存したほうがいいようです。
# ls /backup
-rw-r--r-- 1 root root 552132608 Jun 29 16:48 test.example.com-20120629.iso
リストア
DVDから起動し、boot:プロンプトで「interactive ramdisk_blocksize=1024」と入力してEnter。※101キーボードになっているかもしれません。
"_"・・・=(Shiftキーを押しながら"ほ"のキー)
"="・・・^("へ"のキー)
しばらくすると以下の画面になるので、2つめの「Interactively」を選択。
※元のサーバーと復元先のサーバーがまったく同じハードウェア構成であれば、「Automatically」でいいかもしれません。未検証。
復元元を選択。
TABキーで移動して「OK」。
この後「消去してよいですか?」などと聞かれますが、すべて「OK」「YES」などで。
最後はこんな画面です。
「cd /bootして、mkinitrd -f -v initrd-2.x.y.img 2.x.yとタイプして、exit」と書かれているので、その通りに。
# mkinitrd -f -v initrd-2.x.y.img 2.x.y
# exit
viでいくつかファイルが開くので、終了します。:qですが、101キーボードなので
":"・・・+(Shiftキーを押しながら";"キー)
です。
最後にexitすると、再起動します。
# exit
リストアされたか確認して完了です。
※元のサーバーと復元先のサーバーのディスクサイズが違う場合などでは、このままでは無理かもしれません。"mondo rescure リストア"などで検索してみてください。