システムのホットコピーを作成することは可能ですか?


10

システムの電源を切らずにバックアップしたいのですが。システムのクローンは、他のマシンでも実行できるはずです。

システムパーティション全体を別のディスクに "dd"しようとしましたが、その後、起動された管理タスクがないことが確認されました。そのディスクで起動するようにgrubに指示する必要があると思うので、次のコマンドを実行しました。

grub-install  /dev/sdc1 

しかし、私はこのエラーを受け取りました:

The file /boot/grub/stage1 not read correctly.

私がやっていることはあまりきれいではないことを知っているので、私の目標を達成するための良い解決策や、問題を解決するためのアイデアはありますか?


実行し続ける必要がある場合、それは実際に何かを実行していることを意味します。その場合、バックアップ中にシステムのコンテンツが変更されることはほぼ確実です。これにより、結果はやや予測不可能になります。本番環境で使用する前に多くのテストを行ってください。
ジョー

回答:


8

それぞれにトレードオフがあるいくつかのオプションがあります。dd読み取り/書き込みでマウントされている間はファイルシステムのクローン作成に使用できません。コピー中にソースが変更されるため、クローンが破損してしまい、宛先が部分的に古くなり、部分的に古くなることはありません。本当にddパーティションをホットコピーできるようにしたい場合は、LVMスナップショットを使用して行うことができます。これには、最初にLVMを使用してシステムをインストールしておく必要がありますが、いつでもスナップショットを作成できます。スナップショットは凍結されてマウントされていないddため、安全にスナップショットを作成してから削除できます。使用する反対側ddこれは、ボリューム内のすべての未使用スペースをコピーする時間を浪費し、ソースの大部分が未使用であっても、デスティネーションを少なくとも同じ大きさにする必要があることです。

を使用する代わりに、またはddなどの従来のバックアップツールを使用して、スナップショットをバックアップできます。これには、空きスペースのコピーに時間を浪費しないという利点があり、ファイル用のスペースがある限り、より小さなパーティションに復元できます。一部のファイルのみを抽出して、部分的な復元を行うこともできます。また、この方法でLVMを使用する必要はありません。バックアップを作成するときにファイルが変更されていないことを合理的に確信している限り、マウントされたファイルシステムで安全に実行できます。発生する可能性のある最悪の事態は、バックアップで変更される個々のファイルが破損することではなく、バックアップ全体が破損することです。tardumpdd

ご存知のように、ファイルシステムを復元した後も、システムを起動するためにgrubを再インストールする必要があります。試行したときになぜそのエラーが発生したのかはわかりませんが、grub2にはステージ1がないため、grub-legacyを使用していたようです。


私はLVMを使用しませんでしたが、可能な場合は、耐久性のあるソリューションを探しています。すべてのシステムツリー(procを除く)をコピーし、GRUBを変更するだけで十分ですか?
Gael

@Gael、すべてのファイルをコピーして、GRUBを再インストールするだけで十分です。/ etc / fstabのUUIDを更新する必要がある場合もあります。使用している場合はtar、/ procだけでなく、/ dev、/ sys、および/ runも除外するか、--one-file-systemスイッチを使用して他のファイルシステムへの下降を停止することに注意してください。
psusi

ありがとう、タールでやってみます。このソリューションでは、バックアップを完全に制御できます。
Gael

3

rsyncまたはのようなものを使用しtarてパーティションをコピーする方が簡単な場合があります。/mntコピーの前と同じように、パーティションを2番目のマウントポイントにマウントします。これらのオプションでは、パーティションのサイズまたはタイプを変更することもできます。追加のパーティションにも構造がある場合があります。とには別々のパーティションがあることがよく/varあり/usrます。これらも考慮する必要があります。

grubディスクとパーティションを正しくターゲットにする方法を決定するために、ドキュメントを掘り下げる必要があるかもしれません。 install-grubあなたが望むことをしない誤った仮定をするかもしれません。

mondoOSがインストールされた起動可能なリカバリCDを作成できるようなツールがあります。


他のファイルコピーツールはファイルだけをコピーし、mbrやパーティションテーブルはコピーしないと言っていたので、私はddを使用していました。私はモンドを一目見ましたが、それが最も簡単な解決策でした。ありがとう
ガエル

@Gael SD1のみを複製する場合は、MBRを取得できません。必要に応じてMBRを更新するツールがいくつかあります。通常、ブートレコードを検索するためのコードが既に含まれています。
BillThor

1

デバイスレベルで実行中のシステムの信頼できるバックアップを実行する実際のオプションはないと思います。現在の状態を凍結できず、バックアップ操作にかなりの時間がかかるため、ファイルシステムが破損しすぎます。

ただし、次のオプションを試すことができます。

  1. VM内でシステムを実行します。システムのスナップショットを作成してから、このスナップショットのバックアップを実行できます。バックアップが完了すると、スナップショットを簡単に破棄できます。これにより、上記の問題が解決されます。
  2. デバイスレベルではなく、ファイルシステムレベルでバックアップを実行します。これにはrsnapshotをお勧めします。

電源を切らずにシステムをバックアップできるソリューションを探しています。したがって、使用される方法に関係なく、システムは実行されている必要があります。ファイルシステムだけをコピーしてシステムをコピーするだけで十分な場合、rsyncが機能します。rsnapshotは何をもたらしますか?
Gael

rsnapshotは、必要なだけ(時間、日、週、月)の増分複数バックアップを提供します。バックアップは、増分であってもプレーンな完全なディレクトリ構造で利用できます。
Vilmantas Baranauskas 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.