5.5. ext2、ext3、ext4 のファイルシステムの復元

この手順では、ext4、ext3、または ext2 ファイルシステムをファイルのバックアップから復元する方法を説明します。

前提条件

手順5.2 ext2、ext3、ext4 のファイルシステムの復元

  1. オペレーティングシステムパーティションで復元を行っている場合は、レスキューモードにシステムを起動します。『システム管理者のガイド』の「Booting to Rescue Mode」を参照してください。
    このステップは、通常のデータパーティションには不要です。
  2. fdisk または parted ユーティリティを使用して復元するパーティションを再構築します。
    パーティションが存在しない場合は再作成します。新しいパーティションは、復元したデータを含めるのに十分な大きさである必要があります。開始の数値と終了の数値を正しく取得することが重要です。バックアップを行う際、fdisk ユーティリティから取得したパーティションの開始セクター番号と終了番号があります。
    パーティションの変更の詳細は、13章パーティションを参照してください。
  3. mkfs ユーティリティを使用して、対象のパーティションをフォーマットします。
    # mkfs.ext4 /dev/device

    重要

    バックアップファイルを保存しているパーティションは、フォーマットしないでください
  4. 新しいパーティションを作成した場合は、すべてのパーティションのラベルを再び付けます。これにより、/etc/fstab ファイルのエントリーにマッチします。
    # e2label /dev/device label
  5. 一時マウントポイントを作成し、これらでパーティションをマウントします。
    # mkdir /mnt/device
    # mount -t ext4 /dev/device /mnt/device
  6. マウントしたパーティション上のバックアップからデータを復元します。
    # cd /mnt/device
    # restore -rf device-backup-file
    リモートマシンで復元を行う場合や、リモートホストに保存されているバックアップから復元を行う場合は、ssh ユーティリティを使うことができます。ssh の詳細は、『システム管理者のガイド』の「ssh ユーティリティの使用」のセクションを参照してください。
    以下のコマンドのパスワードレスログインを設定します。パスワードレス ssh ログインの設定の詳細は、『システム管理者のガイド』の「鍵ベース認証の使用」を参照します。
    • 同じマシンで保存したバックアップファイルからリモートマシン上のパーティションを復元します。
      # ssh remote-address "cd /mnt/device && cat backup-file | /usr/sbin/restore -r -f -"
    • 別のリモートマシンで保存したバックアップファイルからリモートマシン上のパーティションを復元します。
      # ssh remote-machine-1 "cd /mnt/device && RSH=/usr/bin/ssh /usr/sbin/restore -rf remote-machine-2:backup-file"
  7. 再起動:
    # systemctl reboot

例5.4 複数の ext4 パーティションの復元

/dev/sda1/dev/sda2/dev/sda3 パーティションを 例5.2「複数の ext4 パーティションのバックアップ」 から復元するには:
  1. fdisk コマンドを使用して復元するパーティションを再構築します。
  2. 対象パーティションをフォーマットします。
    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda2
    # mkfs.ext4 /dev/sda3
  3. すべてのパーティションのラベルを再び付けることで、/etc/fstab ファイルに一致します。
    # e2label /dev/sda1 Boot1
    # e2label /dev/sda2 Root
    # e2label /dev/sda3 Data
  4. 作業ディレクトリーを準備します。
    新規パーティションのマウント:
    # 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 /backup-files
    # mount -t ext4 /dev/sda6 /backup-files
  5. マウントしたパーティションにバックアップからデータを復元します。
    # 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
  6. 再起動:
    # systemctl reboot

関連資料

  • 詳細は、restore(8) man ページを参照してください。