概要
環境構築後、ハードディスクの故障など有事の場合に備えて システムバックアップを取得します。 ここではLinux標準の dump コマンドを使用してバックアップする 方法を紹介します。 dump コマンドはファイルシステム単位でのバックアップとなります。 ext2とext3のファイルシステムしかサポートしていませんので 注意してください。
前提となる構成
ここでは以下のようなパーティション構成であることを前提として 手順を紹介します。
- /boot : バックアップ対象 : 非LVM
- / : バックアップ対象 : 非LVM
- /backup : バックアップの取得先 : 非LVM
構成情報の確認
dump コマンドによるバックアップはディスクイメージのバックアップ ではないため、リストアする際には事前にボリュームの復元(再作成)が 必要となります。 そこでまずは既存の構成情報を出力してメモしておきます。
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 535 4192965 83 Linux
/dev/sda3 536 666 1052257+ 82 Linux swap / Solaris
#
# cat /etc/fstab
LABEL=/1 / ext3 defaults 1 1
LABEL=/boot1 /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
/dev/sdb1 /backup ext3 defaults 1 2
/dev/cdrom /media/cdrom iso9660 defaults 0 0
/(ルート)以外のファイルシステムのバックアップ
ルート以外のファイルシステムはアンマウントした上で バックアップを行います。
# dump -0uf /backup/dump_boot_20081130 /dev/sda1
# mount -t ext3 /dev/sda1 /boot
/(ルート)ファイルシステムのバックアップ
ルートファイルシステムはログファイルなどデータの 更新が頻繁に行われています。まずはこの更新が 行われないように不要なサービスの停止を行い、 ファイルシステムを読み取り専用でマウントし直します。 不要サービスの停止は init コマンドでランレベルを 1(シングルユーザモード)に変更した上で行いますが、 可能であればシステムを再起動し、起動時に シングルルーザモードで起動するようにした方が安全です。 ここでは手順簡略化のため init 1 を使用します。
/boot ファイルシステムをバックアップする際には dump コマンドのオプションで -u を付与しましたが、 ルートファイルシステムでは付与しません。 -u オプションはバックアップ時に /etc/dumpdates ファイルに バックアップ情報を書き込みます。 ここでは /etc を含む ルートファイルシステムを 読み取り専用でマウントし直すために、書き込みできずに エラーメッセージが出力されます。 バックアップに関して実害はありませんが、 念のため外します。
バックアップ終了後はルートファイルシステムを 書き込み可能な状態でマウントし直し、システムを再起動します。
# mount -r -n -o remount /
# dump -0f /backup/dump_root_20081130 /dev/sda2
# mount -w -n -o remount /
# shutdown -r 0
