web-dev-qa-db-ja.com

Linuxシステムの完全な復元

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

私が過去に試したことは:

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

このように動作しますが、インストールされたすべてのパッケージが100%動作するとは思いません。

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

20
Simon Foster

これが私がやったことです(これは/ 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」ファイルがあります。

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

  • カーネルにパーティションテーブルを再度読み取らせるには、partprobe(thanks commenter Mark)を使用します。

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

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

17
kbyrd

システムを完全に複製することはありません。何が変更されるかわからないため、システムクローンイメージは、1つの変更が発生した時点ですでに古くなっています。これを行う最良の方法は、機能的に同一のシステムを作成できる手順を確立することです。 1つの可能性は、Kickstart、AutoYaST、または同様のツールのようなものです。構成の適切なバックアップを保持し、Bcfg2、Puppet、CFEngineなどの構成管理システムを使用して、手動で行う代わりにすべてを構成するのが理想的です。次に、既存のシステムと同様の新しいシステムを作成する必要がある場合、または既存のシステムを再作成する必要がある場合、それは単純で明確な手順です。

6
Kamil Kisiel

事前に手間がかかりますが、 Kickstart および Revisor を使用すると、インストールをカスタマイズして他のマシンで使用できます。カスタマイズしたバージョンの設定ファイルを含めることができます。

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

3
dkaylor

Clonezilla live cdを試してください。ライブセッションを起動して、何もインストールしなくてもマシンをイメージ化できます。次に、イメージのコピーをネットワーク共有またはリモートマシンなどに保存するオプションがあります。

2
TimK

system recovery cd のコピーを入手し、最初の最小インストールが完了したら、そこから起動し、ディスクにマウントしてchrootし、rsyncを実行します。完了したら、update-grubを実行して、正しいブートデバイスとカーネルからブートする必要がある場合があります。

2
pgs

Gentooの新しいシステムを(バックアップなどから)インストールする方法は、そのシンプルさから最良だといつも思っていました。

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

私はモンドレスキューでとても幸運でした。基本的には、後で使用できるように、すべてのファイルとパーティションを起動可能なCDにバックアップします。パーティションやドライブの変更を処理できます。

http://www.mondorescue.org/

0
JD Frias

partimageおよびpartclone(Clonezillaの一部)は、完全なシステムイメージを作成するための便利なユーティリティです。

ご指摘のとおり、完全なシステムイメージは必ずしもシステムポータブルではありません。通常はデバイス名が原因です。

GRUB(できれば別の/ bootパーティションにあることが望ましい)と、イメージング後のMBR(LiveCDなど)を再インストールするのと同じくらい簡単かもしれません。

別のアプローチは、構成管理ツールを使用して、ベースラインイメージに適用されるポリシーを定義することです(Vagrantベースボックスなど)。データバックアップをブロックおよび/またはオブジェクトストレージに分離(EBS/S3、Openstack Block Storage/Openstack Object Storage)

0
Wes Turner

それがまったく同じマシンである場合、ddを使用してディスクイメージを作成し、必要に応じてイメージを再作成します(必要に応じて、後で一部の構成を変更する可能性があります)。

ハードウェアを切り替える場合、ファイルシステムルートのtarballまたは完全なrsyncバックアップの作成に成功しました。最初に完全インストールが必要になる理由がわかりません-完全バックアップを取る限り、ベースのFedoraインストールは前提条件ではありません。

0
Tim

partimage はこれに役立ちます

0
dmityugov
  • 最も安全な方法は、ディスク全体または少なくとも関連するパーティションをcloneにし、Live CDを使用してそれらを復元することです。

  • もう1つのよりスペース効率の良い方法はdump(XFSの場合はxfsdump)を使用することですが、この場合は手動でパーティションを再作成(フォーマット)する必要があります。同じパラメーター、特にUUIDとLABELを使用してそれらを作成することを忘れないでください。

  • tar--xattrsパラメータと共に使用して、各ファイルの拡張属性を保存することもできます。

0

この手順は多くの問題を引き起こす可能性があるため、避けてください。

これを行うには、主に2つの推奨される方法と、純粋に開発環境を構築しようとしている場合の3つ目があります。

イメージング

TOを復元するハードウェアが同じか類似している場合は、ディスクイメージングツールを使用して、ハードドライブまたはアレイ全体のコピーを作成します。復元する場合は、問題のマシンをこのイメージで再イメージ化するだけです。複数のマシンにイメージを作成する場合は、他のデバイスのマシン固有の設定(ホスト名、静的IPアドレスなど)を互いに競合しないように更新する必要があることに注意してください。

実際のイメージングを行うには、ハードドライブを複製できるツールや製品をお勧めします。

構成/ホームディレクトリのバックアップ

プライマリマシンで、以下のディレクトリ(または他のディレクトリ)のうち必要なものを(好きな方法で)定期的にバックアップします。

/ home-すべてのユーザーの個人設定、ドキュメント、およびファイル
/etc-構成
/opt-パッケージマネージャ経由でインストールされていない特別なソフトウェア
/usr/local-パッケージマネージャ経由でインストールされていない特別なソフトウェア
/var-ログなど

復元する場合は、問題のマシンにOSを再インストールしてから、それぞれ(または関連ファイルのみ)を適切な場所にコピーします。

スナップショット付きの仮想マシン

VMWare(または他の好きなもの)で仮想マシンを作成します。希望どおりに構成されたら、スナップショットを作成します。このスナップショットは、任意の数の新規または既存の仮想マシンに簡単に復元できます。

一般に、データと構成のみをバックアップする必要があります(ただし、これらを定義します)。 OSとソフトウェアはいつでも簡単に再構築できます。貴重なのは自分のコンテンツだけです。このセットアップが開発用であり、同じ環境を確保する必要がある場合(単に物事を再び機能させるのではなく)、仮想マシンのスナップショットが本当に最善の策です。

イメージングは​​ブルートフォースソリューションです。可能であれば、データをバックアップし、OS自体については心配しないでください。完全に復元しようとすると、問題が発生します。

ここで最終的な意図を明確にできる場合は、より詳細なソリューションを提供できます。

0
Rym

「ハードウェアは異なります」と言うので、 SystemImager は非常に便利です。

PXEとRsyncのラッパースクリプトの集まりにすぎません。したがって、作成される「バックアップ」は、バックアップされたLinuxサーバーの完全なディレクトリ構造にすぎません。このdirに「cd」して、フィードしながら内容を変更できます。 (イメージをプッシュすると、SystemImagerは独自にネットワーク設定の変更を管理します。)

イメージをプッシュする前に、バックアップしたサーバーにchrootし、yumまたはaptを実行してソフトウェアをインストールできます。

編集:パーティション/論理ボリュームを作成し、ターゲットマシンのディスクサイズに応じてそれを変更するSIスクリプトを確認できます。カーネルモジュールを追加/削除することもできます。

0
Not Now