すべてのVMを含む完全なXEN LVMサーバーのクローン

すべてのVMを含む完全なXEN LVMサーバーのクローン

より高速な Hetzner ルート サーバーを注文し、すべてのボリューム グループ、lvm ボリューム、および VM を含む XEN マシンをそこに移動しました。

私はすでに同じxen VMを作成し、構成ファイルとユーザーデータをコピーし、古いVMと同じパッケージをインストールし始めましたが、それは多くの作業

実際に簡単な方法はありますか?コピー すべて基本的なルートレベルでは、RAID 1上のすべてのパーティション、古いサーバーの正確なコピーを入手できますか?

その後はルートコンソールからIPを適応させるだけで完了です

答え1

xenA: 以前のサーバー

xenB: 新しいサーバー

ステップ1: 両方のサーバーをライブLinuxディストリビューション(Ubuntu、Fedaora、CentOS)で起動します。

ステップ2: 新しいサーバーでSSHサービスを開始する

ステップ3: xenAで以下のコマンドを実行します

dd if=/dev/sdX bs=16M | pv |  ssh user@xenB dd of=/dev/sdX

ここで、X はサーバーに接続されたローカル ディスクを表します。これらは、「lsblk」コマンドで見つけることができます。

注: pv はデータの監視に使用されます。

ステップ 4: IP アドレスと変更されるその他のすべてのパラメータを変更します。

この方法を使用すると、パーティション、lvm ボリューム、および上記のファイルシステムについて心配する必要はありません。

この方法であなたの質問が解決されることを願っています。

1. 手順: Linux シングルでブート パラメータ「vga=785 splash」を変更して、ブートをシングル モードで起動します。スクリーンショットは以下のリンクから参照できます。

https://support.citrix.com/article/CTX116019#XenServer バージョン 5.0 以降のパスワードのリセット

  1. 手順: ホスト上でネットワーク サービスをシングル ユーザー モードで開始し、正確なブロック デバイスを別のマシンに転送します。
 dd if=/dev/sda bs=16M |  ssh user@backuphost dd of=backup.img 

圧縮に関する詳細な情報は以下をご覧ください。

さて、この目標を達成するには複数の方法があります。

  1. dd と netcat警告: この方法では、インターネット取引でデータが消費され、時間がかかります。

システムを単一ユーザーまたは別のライブ イメージで起動できる場合は、サーバーの正確なコピーに dd メソッドを使用できます。データの整合性を確保するために、すべてのサービスと VM を停止する必要があります。

  • 以下のコマンドを実行してバックアップ ホストを準備します (リモート バックアップ ホストで作業している場合は、ssh タイムアウトを回避するために screen または tmux を使用するか、コマンドをバックグラウンドでフォークします)。
nc -l RANDOMPORTNUMBER|bzip2 -d|dd bs=16M of=backup.img
  • VMホスト上で以下のコマンドを実行して、正確なホストを複製することができます。
dd bs=16M if=/dev/sda|bzip2 -c|nc ipaddressofbackuphost RANDOMPORTNUMBER
  1. tar と ssh個人的には、必要に応じてリモート マシンをバックアップするにはこの方法を好みます。この方法では、ssh を使用するため、データがパブリック ネットワークに直接公開されることはありません。

この方法を好むもう 1 つの理由は、バックアップがファイル レベルで実行されるため、バックアップする必要のない空き領域とブロック デバイスが除外され、ストレージとトラフィックが節約されるからです。正確なクローンが必要であると宣言されたので、最初の方法についてお話しする必要がありました。

除外するマウント ポイントをディストリビューションとアプリケーションに応じて変更することを忘れないでください。ストレージとトラフィックの量によって課金される場合は、これを考慮する必要があります。

cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \ 
--exclude=/media \ 
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \ 
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \ 
--exclude=/home/*/.local/share/Trash / | ssh <backuphost> "( cat > ssh_backup.tar.gz )"

ここでは、このトピックに関するさらに詳しい情報をご覧いただけます。

関連情報