5.5. ext2、ext3、または ext4 のファイルシステムの復元
この手順では、ファイルバックアップから ext4、ext3、または ext2 のファイルシステムを復元する方法を説明します。
前提条件
- 「ext2、ext3、または ext4 のファイルシステムのバックアップ」 の説明に従って、パーティションとそのメタデータのバックアップを作成する必要があります。
手順5.2 ext2、ext3、または ext4 のファイルシステムの復元
- オペレーティングシステムパーティションを復元する場合は、システムをレスキューモードで起動します。『System Administrator's Guide』 の Booting to Rescue Mode セクションを参照してください。この手順は、通常のデータパーティションには不要です。
fdisk
ユーティリティーまたはparted
ユーティリティーを使用して、復元するパーティションを再構築します。パーティションが存在しなくなった場合は、再作成します。新しいパーティションは、復元したデータを含めるのに十分な大きさである必要があります。開始番号と終了番号を正しく取得することが重要です。これらは、バックアップ時にfdisk
ユーティリティーから取得したパーティションの開始セクター番号と終了セクター番号です。パーティションの変更に関する詳細は、13章Partitions を参照してください。mkfs
ユーティリティーを使用して、宛先パーティションをフォーマットします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkfs.ext4 /dev/device
# mkfs.ext4 /dev/device
重要バックアップファイルを保存するパーティションをフォーマットしないでください。- 新しいパーティションを作成した場合は、
/etc/fstab
ファイルのエントリーと一致するように、すべてのパーティションにラベルを付け直します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow e2label /dev/device label
# e2label /dev/device label
- 一時的なマウントポイントを作成し、そこにパーティションをマウントします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /mnt/device mount -t ext4 /dev/device /mnt/device
# mkdir /mnt/device # mount -t ext4 /dev/device /mnt/device
- マウントしたパーティションのバックアップからデータを復元します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /mnt/device restore -rf device-backup-file
# cd /mnt/device # restore -rf device-backup-file
リモートマシンに復元するか、リモートホストに保存されているバックアップファイルから復元する場合は、ssh
ユーティリティーを使用できます。ssh
の詳細は、『システム管理者のガイドの Using the ssh Utility セクションを参照して』 ください。以下のコマンドには、パスワードを使用しないログインを設定する必要があることに注意してください。パスワードなしのssh
ログインの設定に関する詳細は、『システム管理者のガイド』 の キーベース認証の使用 セクションを参照してください。- 同じマシンに保存されているバックアップファイルから、リモートマシンのパーティションを復元する場合は、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ssh remote-address "cd /mnt/device && cat backup-file | /usr/sbin/restore -r -f -"
# ssh remote-address "cd /mnt/device && cat backup-file | /usr/sbin/restore -r -f -"
- 別のリモートマシンに保存されているバックアップファイルから、リモートマシンのパーティションを復元するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ssh remote-machine-1 "cd /mnt/device && RSH=/usr/bin/ssh /usr/sbin/restore -rf remote-machine-2:backup-file"
# ssh remote-machine-1 "cd /mnt/device && RSH=/usr/bin/ssh /usr/sbin/restore -rf remote-machine-2:backup-file"
- 再起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl reboot
# systemctl reboot
例5.4 複数の ext4 パーティションの復元
/dev/sda1
パーティション、/dev/sda2
パーティション、および /dev/sda3
パーティションを 例5.2「複数の ext4 パーティションのバックアップの作成」 から復元するには、以下のコマンドを実行します。
- fdisk コマンドを使用して、復元するパーティションを再構築します。
- 宛先パーティションをフォーマットします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/sda2 mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkfs.ext4 /dev/sda3
/etc/fstab
ファイルと一致するように、すべてのパーティションにラベルを付け直します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow e2label /dev/sda1 Boot1 e2label /dev/sda2 Root e2label /dev/sda3 Data
# e2label /dev/sda1 Boot1 # e2label /dev/sda2 Root # e2label /dev/sda3 Data
- 作業ディレクトリーを準備します。新しいパーティションをマウントします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /mnt/sda1 mount -t ext4 /dev/sda1 /mnt/sda1 mkdir /mnt/sda2 mount -t ext4 /dev/sda2 /mnt/sda2 mkdir /mnt/sda3 mount -t ext4 /dev/sda3 /mnt/sda3
# mkdir /mnt/sda1 # mount -t ext4 /dev/sda1 /mnt/sda1 # mkdir /mnt/sda2 # mount -t ext4 /dev/sda2 /mnt/sda2 # mkdir /mnt/sda3 # mount -t ext4 /dev/sda3 /mnt/sda3
バックアップファイルを含むパーティションをマウントします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /backup-files mount -t ext4 /dev/sda6 /backup-files
# mkdir /backup-files # mount -t ext4 /dev/sda6 /backup-files
- バックアップから、マウントしたパーティションにデータを復元します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /mnt/sda1 restore -rf /backup-files/sda1.dump cd /mnt/sda2 restore -rf /backup-files/sda2.dump cd /mnt/sda3 restore -rf /backup-files/sda3.dump
# cd /mnt/sda1 # restore -rf /backup-files/sda1.dump # cd /mnt/sda2 # restore -rf /backup-files/sda2.dump # cd /mnt/sda3 # restore -rf /backup-files/sda3.dump
- 再起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl reboot
# systemctl reboot
関連情報
- 詳細は、restore(8) の man ページを参照してください。