第 5 章 バックアップ/リストア
5.5 ディザスタリカバリーのための手段
5.5.2 バックアップのリストア
restoreツールではext3でフォーマットされたパーティションにファイルをリストアするため、事前にバックアッ プ前の容量かそれ以上のパーティションを作成し、ext3でフォーマットしておく必要があります。ハードディスクに 十分な容量がある場合には fdisk が使用できます。また sfdisk を使用してパーティションを分割することも可能で す。それぞれの使用法はマニュアルで調べることができます。 man fdisk および man sfdisk
ハードウェアの交換が終了した時点で、MIRACLE LINUX install CD-ROMからレスキューモードで起動します。
レスキューモードで起動する場合はInstall CD-ROMで起動直後に以下のように入力します。
boot: linux rescue
※このときインストール時にドライバディスクを利用していた場合は、[dd]を追加して以下のように実行します。
boot: linux dd rescue
言語選択、キーボード選択の後、パーティションをマウントするか確認されますので、「スキップ」します。
5.5 ディザスタリカバリーのための手段 今回の例では以下のようなファイルシステム構成を想定しています。
/dev/sda3 / ext3
/dev/sda2 swap
/dev/sda1 /boot ext3
fdiskを利用して保存してあったfstabの通りパーティションを作成します。
# /usr/sbin/fdisk /dev/sda
パーティション作成が終了したら、ext3でフォーマットします。
# /usr/sbin/mkfs.ext3 /dev/sda1
# /usr/sbin/mkfs.ext3 /dev/sda3
/(ルート)からリストアするため、/mnt/sysimage以下に/(ルート)をマウントします。
# /usr/bin/mkdir /mnt/sysimage
# /bin/mount /dev/sda3 /mnt/sysimage
ここからテープからのリストア作業に入ります。
まず、テープのヘッド位置を/(ルート)のバックアップ開始位置に移動します。
fsfの後の数字はバックアップ時のメモを参考に/bootのバックアップ終了時(/のバックアップ開始時)とし、今回 は[1]です。
# /usr/bin/mt -f /dev/nst0 fsf 1
バックアップ開始位置に移動したら、リカバリ先のディレクトリに移動し、restoreコマンドを実行します。
# cd /mnt/sysimage
# /usr/sbin/restore -rf /dev/nst0
/(ルート)のリストアが終了した時点で/mnt/sysimage以下に/bootが作成されていますので、/bootをリストアする パーティションをマウントします。
# /bin/mount /dev/sda1 /mnt/sysimage/boot
mtにてヘッド位置を/bootのバックアップ開始位置(先頭)にします。
# /usr/bin/mt -f /dev/nst0 rewind
bootディレクトリに移動し、restoreでデータをリストアします。
# cd /mnt/sysimage/boot
# /usr/sbin/restore -rf /dev/nst0
この時点で、必要なデーターは全てテープからディスクへ書き出されました。
➢ リストア後のファイルシステムラベル付与
通常のインストールでは/etc/fstab内のデバイス名はLABELを利用しているため、新規に作成したパーティ ションでは、起動時にfstab内のLABELが利用できないためにマウントエラーが発生し、起動しません。
ラベルを設定するにはe2labelというext3パーティションにLABELを付与するためのツールを使用します。
保存してあるfstabを参考に、次のようにラベルをつけます。(ラベルを利用していな場合は不要です。)
# /usr/sbin/e2label /dev/sda1 /boot
➢ リストア後のGRUBのインストール
GRUBブートローダーのデータはディスクの物理位置に依存しているため、リストアしただけでは起動できない 可能性があります。
この問題に対処するため、いったん再起動し、再度レスキューモードで起動します。
この際は書き込みが必要なため、レスキュー画面の確認では「続行」を選択します。
マウントされたリストア済みのパーティションにchrootします。
# /usr/sbin/chroot /mnt/sysimage
grubコマンドを利用し、MBRにデータを書き込みます。
※デバイス名などは例なので環境に合わせてください。
5.5 ディザスタリカバリーのための手段
# /sbin/grub
grub> device (hd0) /dev/sda grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> quit
exitを2回実行し、chrootとレスキューモードを抜けます。
この時点でサーバーは再起動されますので、インストールCD-ROMを抜いてサーバーが正常に起動することを 確認してください。
正常に起動され、利用できることが確認できましたらリカバリ完了です。