サーバーをバックアップしたいのですが。たとえば、ddを使用します。
dd if=/dev/md0 of=/some_network_share
/ dev/md0がマウントされている場合、このイメージの一貫性が失われるのではないかと思いますか?そのようなddイメージをvdiドライブに変換して、working仮想マシンを作成することは可能でしょうか?たとえば、次のコマンドを使用します。
VBoxManage convertfromraw ImageFile.dd OutputFile.vdi
ネットワークトラフィックはファイアウォールで無効になっています(イメージがコピーされる1台のリモートマシンとの間の接続のみがあります)。
LVMボリューム(おそらく実稼働環境で使用する必要があります)を使用している場合は、正確なスナップショットを生成できるコピーオンライトスナップショット機能があります。
何らかの形でこれを実行できる商用製品がいくつかあります。vmwarevCenterConverterは、ライブマシンから仮想マシンを作成できます。AcronisTrueImageには、ライブコピーをサポートするエンタープライズ製品の1つのLinuxバージョンがあります。
そうでなければ、うまくいくかもしれないそれを行うためのハックな方法は、ファイルシステムを読み取り専用で再マウントし、最後にもう一度rsyncしてから、rwを再マウントできるほど違いが小さくなるまでrsyncを繰り返し使用することです。生のファイルシステムイメージでこれを試したことはありませんが、ディレクトリ構造ではうまく機能します。
私は実際にこれを行いました、そしてそれは働きます。それもかなり信頼でき、すべてを考慮します。それは良い考えですか?いいえ、おそらくそうではありません。データが失われたり、ファイルが破損したりする可能性があります。 ext3パーティションでは、起動時に、パーティションが「完全にアンマウントされていません。強制的にチェックしてください」という警告が表示されます。その後、「fsck」を実行します。 fsckがファイルシステムをクリーンな状態に戻すには長い時間がかかる場合がありますが、そこに到達します。 ext4ファイルシステムはこれをより速く行います。
このように考えると、ライブファイルシステムの「dd」は、サーバーの実行中にサーバーから電源プラグを抜くことに相当します。サーバーから電源プラグを抜いた場合、ファイルシステムが破壊され、マシンが再び起動しないと思いますか?もちろん違います。ブートカーネルやinitrdなどを更新していない限り。他にもEdgeのケースがあると思います。しかし、これはまだシステムをシャットダウンする理想的な方法ではありません。それに頼らないでください。
また、この状況では「sync」を実行しても役に立たない可能性があります(ここで自分の事実を100%確信しておらず、事実を確認する気がないため、「役に立たない可能性が高い」と言います)。 「dd」ステップの前に「sync」を実行しても、「dd」は単にカーネルをバイパスしてハードウェアと直接通信するわけではないため、イメージの一貫性は失われます。 「dd」は引き続きLinuxカーネルを通過します。 'dd'がダーティブロック(ドライブに同期されていない更新データ)からデータを要求した場合、この事実を無視しません。つまり、「dd」は、まだディスクに同期されていなくても、ダーティブロックを実際にコピーします。 'dd'にこれを行うように依頼するオプションがあると思います(カーネルバッファをバイパスしてハードウェアと直接通信します)が、これはデフォルトの動作ではないことに注意してください。
これを機能させる唯一の方法は、別のハードドライブを使用してソフトウェア(または構成するのに十分な人であればハードウェア)をRAID1セットアップすることだと思います。そこから、同期されていることを確認してから、バックアップイメージを取得するときに、アレイ内の2番目のディスクを(物理的にではなくスクリプトを使用して)取り出し、2番目のハードドライブをコピーします。 RAIDのスマートさによっては、パフォーマンスに深刻な懸念が生じる可能性があります(バックアップが完了するたびにドライブを完全に再同期する必要がある場合)が、これはサーバーをオフラインにせずに行う方法です。
はい。
それをしないでください。
バックアップは使用できなくなります。変換が成功しても、内容を確認するのに苦労します。
方法によって異なります。実行中のディスクをイメージングする際の問題は、一貫性を確保する方法がないことです。ファイルの作業中にファイルが変更されます。
これを回避する方法はいくつかあります。1つは、特定の期間のファイルのスナップショットを作成してバックアップを作成する方法です。WindowsにはVSSがありますが、linux/extにはそれに相当するものはありません。
もう1つは、非ライブシステムから画像を作成することです
したがって、いいえ、スナップショットを作成できるOSまたはFS)でない限り、物事を回避するための良い方法ではありません。