今年5月の記事で、Nutanix Moveにおいて、NIC2枚構成による運用についてご紹介いたしました。
「Move利用時に既存環境とNutanixクラスターが同じネットワークにいない場合の対処法(MoveでマルチNIC構成を行う)」
こちらの手順は、KB:7399でも解説されています。
こちらの手法ですが、KBにも記載があるように、Hyper-V環境においては、この構成はサポートされていないことが記載されています。
とはいえ、Hyper-VであってもNIC2枚構成で仮想マシンを移行したいことはあると思います。
今回は、サポートされていない理由と対処法についてご紹介いたします。
<サポートされない理由>
まず、Hyper-V環境でサポートされない理由ですが、これは単純で、Moveの仮想アプラインスから送信するパケットの一部がNIC2枚構成にした2枚目(eth1)では無く、1枚目のNICのIPアドレス(eth0)で送信することになります。eth0のIPアドレスが送信元になったパケットが、eth1を経由してHyper-Vに届くため、受け取ったパケットの返答をHyper-Vからすると、自分が接続しているネットワークセグメント外のIPアドレスからの送信元のため、デフォルトゲートウェイに返してしまうことが要因です。
これは、Moveの現段階におけるHyper-V利用時の仕様のようです。(この仕様が改善されれば、Hyper-V環境でも2NIC構成で動作するはずです)
仕様とはいえ、それまでの話ですが、このような構成でNutanix Moveを利用したいことがあるかと思います。
<対処法>
※この方法はNutanixでサポートされていない対処法となります。
こちらでは、この構成を取ることによるトラブル等一切責任を負いませんので、自己責任でお願いいたします。
Hyper-Vホストにパケットが届く際に、Move VAのeth0のIPが送信元で来ると言うことは、そのパケットを、Move VAのeth1にそのパケットを返せれば疎通としては成立します。
なお、Hyper-V環境の場合、仮想マシンとMove VAが疎通できる必要がありますが、この構成の場合、もう一つの仮想スイッチを作成し仮想マシンにNICを割り当てるのも手間ですので、Hyper-Vの仮想マシンには、事前にVirto I/O Driverのインストールや。MoveのIPアドレス変更スクリプトを事前に展開しておきます。
その上で、Hyper-Vホストで
「route add <Move-VAのeth0のIPアドレス> mask 255.255.255.255 <Move-VAのeth1のIPアドレス 」
コマンドを実行します。
Hyper-Vホストの再起動後もこのルートを保持する場合は、-pパラメータを付与します。
仮に、Hyper-Vホストが172.16.21.101、Move-VAのeth1が、172.16.21.51、eth0が、192.168.1.31であった場合は以下のコマンドをHyper-Vホストで実行します。
コマンドプロンプトは管理者権限で開く必要があります。
これで、Move-VAのeth0のIPアドレスをHyper-Vホストが受けても、それをMove-VAのeth1のIPアドレス宛にパケットを戻すため、通信として疎通できるようになり、NIC2枚挿しの構成であってもNutanix Moveで移行が可能となります。
「Move利用時に既存環境とNutanixクラスターが同じネットワークにいない場合の対処法(MoveでマルチNIC構成を行う)」の作業後に今回紹介したスタティックルートを追加することで、Hyper-V環境であってもNIC2枚構成で仮想マシンの移行が出来るようになりますので、困った際にはこの技も(必要に応じて)使ってみてください。
0 件のコメント:
コメントを投稿