2020年12月18日金曜日

Nutanix MoveでHyper-V環境におけるNIC2枚挿し構成について

今年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ホストで実行します。
コマンドプロンプトは管理者権限で開く必要があります。

> route add 192.168.1.31 mask 255.255.255.255 172.16.21.51

これで、Move-VAのeth0のIPアドレスをHyper-Vホストが受けても、それをMove-VAのeth1のIPアドレス宛にパケットを戻すため、通信として疎通できるようになり、NIC2枚挿しの構成であってもNutanix Moveで移行が可能となります。

Move利用時に既存環境とNutanixクラスターが同じネットワークにいない場合の対処法(MoveでマルチNIC構成を行う)」の作業後に今回紹介したスタティックルートを追加することで、Hyper-V環境であってもNIC2枚構成で仮想マシンの移行が出来るようになりますので、困った際にはこの技も(必要に応じて)使ってみてください。





0 件のコメント:

コメントを投稿