第 5 章 バックアップ/リストア
5.5 ディザスタリカバリーのための手段
5.5 ディザスタリカバリーのための手段
(4)引き続き同じテープの続きに/(ルート)のバックアップを取得します。
# /sbin/dump -0uf /dev/nst0 /
(5)/bootと同じようにmtコマンドにてテープのヘッド、ファイル位置を確認し記録します。
この例ではFile numberが[2]まで利用されました。
# /bin/mt -f /dev/nst0 status SCSI 2 tape drive:
File number=2, block number=0, partition=0.
省略
(6)以上でバックアップは終了です。mtコマンドでテープを巻き戻して保管します。
# /bin/mt -f /dev/nst0 rewind
5.5.2 リストア
restoreツールではext3でフォーマットされたパーティションにファイルをリストアするため、事前にバックアッ プ前の容量かそれ以上のパーティションを作成し、ext3でフォーマットしておく必要があります。ハードディスクに 十分な容量がある場合には fdisk が使用できます。また sfdisk を使用してパーティションを分割することも可能で す。それぞれの使用法はマニュアルで調べることができます。 man fdisk および man sfdisk
ハードウェアの交換が終了した時点で、Asianux Server 3 インストールDVDからレスキューモードで起動します。
レスキューモードで起動する場合はインストールDVDで起動直後に以下のように入力します。
boot: linux rescue
※このときインストール時にドライバディスクを利用していた場合は、[dd]を追加して以下のように実行します。
boot: linux dd rescue
言語選択、キーボード選択、ネットワーク設定の後、パーティションを/mnt/sysimageにマウントするか確認さ れるので、[Skip]を選択します。
今回の例では以下のようなファイルシステム構成を想定しています。
/dev/sda3 / ext3
/dev/sda2 swap
/dev/sda1 /boot ext3
(1)fdiskを利用して保存してあったfstabの通りパーティションを作成します。
# fdisk /dev/sda
(2)パーティション作成が終了したら、extでフォーマットします。
# mkfs.ext3 /dev/sda1
# mkfs.ext3 /dev/sda3
(3) /(ルート)からリストアするため、/mnt/sysimage以下に/(ルート)をマウントします。
# mkdir /mnt/sysimage
# mount /dev/sda3 /mnt/sysimage
図 5-7 rescueモード画面
5.5 ディザスタリカバリーのための手段 まず、テープのヘッド位置を/(ルート)のバックアップ開始位置に移動します。
fsfの後の数字はバックアップ時のメモを参考に/bootのバックアップ終了時(/のバックアップ開始時)とし、
今回は[1]です。
# mt -f /dev/nst0 fsf 1
(5)バックアップ開始位置に移動したら、リカバリ先のディレクトリに移動し、restoreコマンドを実行します。
# cd /mnt/sysimage/
# restore -rf /dev/nst0
(6) /(ルート)のリストアが終了した時点で/mnt/sysimage以下に/bootが作成されています。
/bootをリストアするパーティションをマウントします。
# mount /dev/sda1 /mnt/sysimage/boot
(7)mtにてヘッド位置を/bootのバックアップ開始位置(先頭)にします。
# mt -f /dev/nst0 rewind
(8)bootディレクトリに移動し、restoreでデータをリストアします。
# cd /mnt/sysimage/boot
# restore -rf /dev/nst0
この時点で、必要なデーターは全てテープからディスクへ書き出されました。
➢ リストア後のファイルシステムラベル付与
通常のインストールでは/etc/fstab内のデバイス名はLABELを利用しているため、新規に作成したパー ティションでは、起動時にfstab内のLABELが利用できないためにマウントエラーが発生し、起動しません。
ラベルを設定するにはe2labelというext3パーティションにLABELを付与するためのツールを使用します。
保存してあるfstabを参考に、次のようにラベルをつけます。(ラベルを利用していな場合は不要です。)
# /usr/sbin/e2label /dev/sda1 /boot
➢ リストア後のGRUBのインストール
GRUBブートローダーのデータはディスクの物理位置に依存しているため、リストアしただけでは起動できない 可能性があります。
この問題に対処するため、いったん再起動し再度レスキューモードで起動します。
この際は書き込みが必要なため、レスキュー画面の確認では「Continue」を選択します。
マウントされたリストア済みのパーティションにchrootします。
# /usr/sbin/chroot /mnt/sysimage
grubコマンドを利用し、MBRにデータを書き込みます。
※デバイス名などは例なので環境に合わせてください。
# /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とレスキューモードを抜けます。
この時点でサーバーは再起動されますので、インストールDVD-ROMを抜いてサーバーが正常に起動するこ とを確認してください。
正常に起動され、利用できることが確認できましたらリカバリ完了です。