動作するLinuxサーバーを複製する必要があります。稼働中のサーバーをシャットダウンできません。クローンを取得して別のサーバーに展開する方法はありますか?
動作するLinuxサーバーを複製する必要があります。稼働中のサーバーをシャットダウンできません。クローンを取得して別のサーバーに展開する方法はありますか?
回答:
ディスク、ファイルシステム、またはファイルをコピーする方法は多数あります。一般に、ファイルシステムをコピーすると、ターゲットシステム上でわずかに異なるサイズにすることができる柔軟性を備えた優れたクローンが得られます。cdromからブートされた何らかのライブLinux(knoppix、ubuntu liveなど)を実行しているターゲットシステムで、fdiskまたはお気に入りのパーティションアプリケーションを使用してディスク上にパーティションを作成できます。ソースシステムでSSHサーバーが実行されていると仮定して、次のようなアプローチを取ります。
http://www.linuxfocus.org/English/March2005/article370.shtml
このコマンドで魔法が起こっています:
ssh sourcePC 'dump -0 -f - /' | restore -r -f -
稼働中のLinux環境でディスクをクローンするために特定の方法を使用する場合、唯一の懸念はデータベースに関するものです。データベースをバックアップおよび復元する最良の方法は、ダンプツールを使用して、ファイルシステムダンプの直前にデータベースのasciiファイルスナップショットを作成することです。mysqlの場合:
mysqldump --all-databases > mysql_databases.sql
postgresqlの場合:
pg_dumpall > pg_databases.sql
新しいシステムで何らかの一貫性エラーが発生した場合は、データベースを復元します。または、ソースシステムでサービスを停止した後、DBダンプを再度実行し、ターゲットで復元すると、最近変更されたデータを見逃すことはありません。
必要に応じて、新しいマシンでディスクレイアウトを作成します。
rsyncを使用して、ディスクの内容を転送します。完全に追いつくために数回繰り返します。
新しいマシンで、適切に起動するために追加で行う必要があることを試してください。たとえば、Grubを使用して、一貫性のある状態にします。
古いマシンをシャットダウンできるようになるまで、定期的にrsyncを実行して、新しいディスクを古いマシンに近づけます。
次に、古いものを保守モードにし、rsyncをもう一度実行して、古いものと同じように動作する新しいものを起動します。
私の同僚はSystem Imagerを誓います:
http://wiki.systemimager.org/index.php/Main_Page
「ライブ」システムでどれだけうまく機能するかわかりません。
さもなければ、あなたは手動で物事を行うのに困っています
データベースをディスク上で一貫した状態にできれば、DARを使用してすべてのコピーを作成し、それを新しいサーバーに書き戻すことができます。
データベースをディスク上の一貫した状態に同期するのは難しい場合がありますが、DARイメージを復元した後にスナップショットを作成し、そこから復元するだけで機能する場合があります。DARは、実行中のサーバーのパフォーマンスに影響します。
ただし、イメージを取得したら、ネットワーク設定を微調整でき、問題なくバックアップできるはずです。