HetznerでのXen 3.2からXenServer 6.2への仮想マシンの移行

ちょっとした背景



2010年、個人プロジェクトのために、私はhezner.deに小さな専用サーバーを設置しました。 時間の経過、ハードウェアの改善、Linuxディストリビューションはそれらから削除されました。 サポート、新しいタスクと機会が登場し、サーバー上のソフトウェアを完全にアップグレードするためのリソースが非常に不足していました。



古いサーバーが仮想化されたため、特にhetznerが興味深い価格でEX40サーバーを所有していたため、新しいサーバーを取得して古いファーム全体を移行するというアイデアがありました。 古いX3と比較して、レンタルコストは大幅に増加しませんでした(VATなしで支払う場合は約8ユーロ)が、パフォーマンスの面では大きなブレークスルーでした。 移行は、大量の空き時間の不足と、サーバーごとのインストール費用(セットアップ料金)の少なさによって妨げられました。



数週間前、偶然にも、7月にヘッツナーが行動を起こし、セットアップ料金なしで腺を解放することを発見しました。 怠azineとヒキガエルは敗北し、主題のプロセスを実行するための少しの自由時間が現れました。



アクションは7月にのみ開催されるため、誰がそれを必要としますか-飛び、飛び越えないで、絵を買ってください!



XenServerをインストールする



XenServerのインストールと構成について多くのことが書かれているため、この点は省略できます。 詳細なインストールおよび設定手順は、hetzner Wikiでも提供されています。



XenServerディストリビューションと応答ファイルを古いサーバーに配置しましたが、インストール速度に問題はありませんでした。



XenServerをインストールした直後に、非特権ユーザーを追加し、sshへのルートアクセスをブロックすること、および自分のネットワークを除くすべてのネットワークのサーバーへのアクセスをブロックすることをお勧めします(もちろん可能であれば)。 将来、仮想マシンの1つにOpenVPNをインストールし、VPN管理を最大限に活用できます。 これらの簡単なサーバー保護メカニズムをセットアップしたら、患者の準備を安全に進めることができます。



ディスクを結合し(ちなみに、新しいディスクを取得し)、ISOイメージ、バックアップ、ソフトウェア更新のアップロードなどのストレージとしてdom0に接続するためのスペースがまだ少しあるようにパーティション分割することをお勧めします。



過去1年間、6.2のリリース以降、多くの更新プログラムがリリースされているため、XenServerをインストールした直後にソフトウェアを更新し、すべてのパッチをインストールすることを強くお勧めします。 SP1をインストールした後、XenCenterを介してパッチのリストを表示し、指定されたリンク(メニューのツール/アップデートの確認)でWebからダウンロードできるパッチをインストールすることをお勧めします。

XenCenterを介してTPを購入していない場合、自動更新は不可能です。 CLIを使用する必要があります。

ソフトウェアを更新するには、すべてのパッチをdom0にコピーし、解凍して、各パッチに対して次のコマンドを順番に実行する必要があります。

xe patch-upload file-name=/mnt/disk/1.xsupdate xe patch-pool-apply uuid=UUID___
      
      





更新をインストールしたら、次のコマンドでサービスを再起動する必要があります。

 xe-toolstack-restart
      
      





インストールされたパッチのリストは、次のコマンドで確認できます。

 xe patch-list
      
      





バージョンXenServer 6.2はデフォルトでOpen vSwitchを使用するため、ネットワーク環境のセットアップに関する記事とコメントの99%は完全に適切ではありません(ネットワークインターフェイスxebr0:1のセットアップに関する部分は、おそらくダミーインターフェイスと共存できます)。 この問題は簡単に回避されます。XenCenterに追加のローカルネットワークとインターフェイスを追加できます(サーバーを選択して[ネットワーク]タブを開く必要があります)。

追加のネットワークをセットアップした後、iptables(ファイアウォールとNAT)を構成して、外部と通信することを忘れないでください(プライベートネットワークが使用されている場合)。



仮想マシンの移行



仮想マシンの移行のアイデアの時点で、私の硬化症は、LVMを使用してサーバーを仮想化したことを思い出しました(ほとんど推測:)。 幸いなことに、車に入ったとき、Xen 3.2がインストールされている(準仮想化が使用されていた)ことがわかりました。これにより、作業が大幅に簡素化されました。



仮想マシンをインポートするために、 ここからダウンロードできるxva.pyスクリプトを使用しまし

各仮想マシンのXen 3.2サーバーで、次のコマンドを実行する必要があります。

 python xva.py -c /etc/xen/VM.cfg -n --sparse -s IP_XenServer --username=root --password="Password"
      
      





仮想マシンは、数分後に新しいサーバーに自動的に移行されます。 ファイルを介したエクスポートには何倍も時間がかかりました(正確な時間は測定しませんでしたが、32Gbディスクを搭載したVMは1時間以上エクスポートされました)。

スクリプトを開始した直後にメッセージで抜けた場合

 Unauthorised response from server. Exiting
      
      





パスワードを知っているかどうかを確認してください。 期間( "。")に問題がありました。



エクスポート/インポートが正常に完了した後に以下のメッセージを受け取った場合、dom0および仮想マシンで何か他のものを微調整する必要があります。

 VM Successfully streamed With the options you supplied, you will need to SFTP/SCP the kernel/initrd to the server manually Create the /boot/guest/208f7a74-126e-11e4-8a8c-002185153241 directory Copy /boot/vmlinuz-2.6.26-2-xen-amd64 to /boot/guest/208f7a74-126e-11e4-8a8c-002185153241/vmlinuz and copy /boot/initrd.img-2.6.26-2-xen-amd64 to /boot/guest/208f7a74-126e-11e4-8a8c-002185153241/initrd Copy these to _all_ the nodes in the pool
      
      





つまり、vmlinuz- *およびinitrd- *ファイルをdom0 Xen 3.2からdom0 XenServerにコピーします。

1つのコアを持つ3つの仮想マシンを転送する必要があるため、それらのために個別のディレクトリを作成するのではなく(おそらく無駄になる)、指定されたファイルを置く1つのディレクトリ/ boot / guest / lennyを作成しました。



これらの仮想マシンを起動するには、パラメーターPV-kernel、PV-ramdiskを正しく構成する必要があります。 私の場合、PV-bootloaderパラメーターをクリアする必要があり、これが作業に干渉しました。

仮想マシンのパラメーターを構成するには、次のコマンドを実行する必要があります。

 xe vm-param-set uuid=UUID_VM PV-bootloader xe vm-param-set uuid=UUID_VM PV-kernel="/boot/guest/lenny/vmlinuz" xe vm-param-set uuid=UUID_VM PV-ramdisk="/boot/guest/lenny/initrd"
      
      





UUID_VM-仮想マシン識別子(xe vm-listコマンドで表示可能)



これで、起動を試みることができます。 障害が発生した場合は、仮想マシンをオフにせず、仮想マシンのディスク/パーティションが表示されるルートデバイスへのパスを確認します(XenCenterの[ストレージ]タブの[デバイスパス]パラメーター)。 CLIまたはXenCenterを使用して、PV-argsパラメーターを編集する必要があります。 次のオプションを設定します。

 root=/dev/xvda ro clocksource=jiffies
      
      





再度ブートしようとしています。

OSを正常にロードした後、/ etc / fstabファイルを修正する(正しいスワップの場所を指定する)ことを忘れないでください。また、XenServer Toolsをインストールしてください。 パッケージxe-guest-utilities_6.2.0-1137_amd64.debはDebian Lennyに適しています。



すべてのようです。 古いサーバーをバックアップしてHetznerに戻すのは、月末までのみです。

ヴァディム・パブロフ



All Articles