Linuxシステムの完全な復元

Linuxシステムの完全な復元

rsync を使用してシステムからさまざまなファイルをバックアップすることはよく知っていますが、マシンを完全に復元する最善の方法は何ですか。

私が過去に試したことは次のとおりです。

  1. Fedoraインストールディスクから基本フォーマット/再インストールを実行します
  2. ネットワークが有効になっていることを確認してください
  3. rsyncバックアップからすべてを新しくインストールされたシステム上にコピーします

この方法はある程度は機能しますが、インストールされたすべてのパッケージがその後 100% 機能するとは思いません。

最小限の労力でシステムを復元し、バックアップを取った時点と同じようにすべてが機能するようにしたいと考えています。また、可能であれば他のマシンにインストールし、基本的に同じパッケージとデータを持つ 2 台のマシンを用意します。

答え1

私がやったことは次のとおりです(/dev/sda に単一のディスクがあることを前提としています)

  • dd を使用して MBR とパーティション テーブルをバックアップします: "dd bs=512 count=1 if=/dev/sda of=/backups/sda.layout"

  • rsync を使用して、次のように全体をコピーします: "rsync -axvPH --numeric-ids ..."

復元時に次の操作を実行します:

  • ターゲットマシンを起動するsysrescuecd で通常、私は USB スティックに「sda.layout」ファイルを保存します。

  • dd を使用して MBR/パーティション テーブルを復元します: "dd bs=512 count=1 if=/path/to/sda.layout of=/dev/sda"

  • パーツプローブを使用する(コメントをくれたマークさん、ありがとう)カーネルにパーティション テーブルを再度読み込ませます。

  • /restore/ の下にあるさまざまなパーティションをすべてマウントします。復元ではマウント ポイントを同一にするため、ソースに /boot、/var がある場合は、/restore/boot、/restore/var などになります。

  • rsync を使用して全体を復元します。

答え2

私はシステムを完全にクローンすることは決してありません。何が変わるかはわかりませんし、システム クローン イメージは、変更が 1 つ起こった瞬間にすでに古くなっています。これを行う最善の方法は、機能的に同一のシステムを作成できる手順を確立することです。1 つの可能性は、Kickstart、AutoYaST、または同様のツールです。構成のバックアップをしっかり保存し、理想的には、手動で行うのではなく、Bcfg2、Puppet、CFEngine などの構成管理システムを使用してすべてを構成します。そうすれば、既存のシステムと類似した新しいシステムを作成したり、既存のシステムを再作成したりする必要がある場合、手順はシンプルで明確に定義されます。

答え3

最初はもっと努力が必要ですが、キックスタートそして校正者インストールをカスタマイズして他のマシンで使用できるようにします。設定ファイルのカスタマイズされたバージョンを含めることができます。

ホーム ディレクトリを別のパーティションに保存することも検討してください。別のパーティションにクリーン インストールを実行する間、そのパーティションはそのままにしておくことができます。

答え4

私は、新しいシステムをインストールする Gentoo の方法 (バックアップからでも、その他の方法でも) は、そのシンプルさゆえに最適だと常に思ってきました。

  1. 機能する最小限のシステムを作成します。
  2. ライブ CD 内のハード ドライブとして動作システムをロードします。
  3. ファイルシステムを tar にしてどこかに保存します。
  4. ライブ CD を使用してターゲット システムをロードします。
  5. 対象のハードドライブを準備してマウントします。
  6. マウントされたハードドライブに解凍します。
  7. chroot に入ります。
  8. ブートローダーやその他のシステムに依存するものを設定します。
  9. 再起動して実行します。
  10. 必要に応じて、新しいソフトウェアをインストールしたり、ユーザー フォルダーをコピーしたり、その他のファイルを追加したりします。

関連情報