HPE Morpheus VM Essentials Software(以下HVM)はHPE社が提供するUbuntuベースの仮想基盤ソフトウェアです。
HVMはネットワークの考え方がESXiやHyper-Vと異なる部分があります。
HVMのネットワークの考え方をわかりやすくまとめたいなと思って書きました。
間違いのご指摘、もっといい説明のやり方がある等といったご意見大歓迎です。ページ下部に書く場所があります。
※注釈※
・本記事は[HPE Morpheus VM Essentials Software Documentation v8.0.12]をもとにしています
・iSCSI用のネットワークに関しては記載していません。
・VME Managerでのクラスター作成時には、MANAGEMENT NET、COMPUTE NET、OVERLAY NETを作成する設定ができます。今回はOVERLAY NETの設定については記載していません。

1. HVMのネットワーク設計の基本
[HPE Morpheus VM Essentials Software Documentation v8.0.12]には以下の3つのNW構成の図が記載されています。
①
②
③
何なんだかよくわからないと思うので、図の説明を書きます。
用語の説明
Network Interface
これは物理NICまたは物理NICを束ねたbond(Windowsで言うTeaming)のインターフェースを指しています。
Ubuntuでbondを作成するとデフォルトでは名前が[bondx]となります。それです。
これはbondの設定をしていない物理NIC(ensxx等)に置き換えて考えることもできます。
OVS Bridge
これはESXiやHyper-Vで言う仮想スイッチにあたります。
HVMでは、[mgmt]という仮想スイッチがデフォルトで作成されます。
この[mgmt]の仮想スイッチが作成されるタイミングは、[VME Manager]をデプロイする仮想ホストではそのデプロイ時、そのほかの仮想ホストではクラスター作成時です。
[cmpt]は必須ではありません。
OVS Bridgeはクラスター作成後に任意の名前のものを、任意のネットワークインターフェースを選択して作成することができます。
Libvirt Network
仮想マシン用のネットワークです。
これを仮想マシンの仮想NICに割り当てることもできます。
これを仮想マシンの仮想NICに割り当てると、仮想マシンからのパケットはタグなしになります。
Libvirt Portgroup
ESXiで言うポートグループのようなものだと思います。
Libvirt NetworkにVLANを作成するかたちで作られます。
これを仮想マシンの仮想NICに割り当てます。
VLAN 0でLibvirt Portgroupを作成するとタグなしになります。
つまり、仮想マシンの仮想NICをLibvirt Networkの[Compute]に割り当てる場合と、Libvirt Portgroupの[Compute vlan 0]に割り当てる場合はどちらもパケットはタグなしになって同義です。

[OVS Bridge]がLibvirt Networkで、[OVS Port Group]がLibvirt Portgroupです。
TAP Interface
仮想マシン作成時に仮想マシンに割り当てる仮想NICです。
図の説明
図①と図②は仮想ホスト通信用仮想スイッチ、仮想マシン通信用仮想スイッチともに同じネットワークインターフェースに割り当てる方法です。
仮想ホストにNICが2ポートあり、その2ポートを1つのbondで束ねて、1つのbondに[mgmt]と[cmpt]の2つの仮想スイッチを割り当てています。
図①と図②のNetwork Interfaceの違いは、仮想ホスト通信用のネットワークインターフェイスにVLANタグが必要かどうかです。
スイッチ側のポートがAccessポートになっている場合や、スイッチ側のポートがTrunkポートでデフォルトVLANが仮想ホスト通信用のネットワークになっている場合は、仮想ホストからのパケットがVLANタグなしでよいので図①のように[bondx]に直接IPアドレスを設定してOKです。しかし、スイッチ側のポートがTrunkポートで、仮想ホスト通信用のネットワークがデフォルトVLANではなくパケットにVLANタグが必要な場合は、仮想ホストのネットワークインターフェースにVLANインターフェースを作成する必要があります。
VLANインターフェースの作成方法はUbuntuに則ります。
こんなかんじです。

仮想マシンの仮想NIC(TAP Interface)は、Libvirt Networkにも作成できます。
つまり、下図の[vnet0]ようなこともできます。実際に、VME Managerの仮想マシンは[Management]のLibvirt Networkに属するかたちでデプロイできます。


2. HVMのネットワーク構成のやり方

こんな時は図①の構成でよいでしょう。
仮想マシンの仮想NICは[Management]、[Compute]、[Compute vlan 0]どれを使用しても同じですが、何か一つに統一するとよいかと思います。
物理スイッチのポートはAccessポートでよいです。
こんな時は図①で[Compute]のLibvirt Networkに必要なVLANを作成していく方式がいいかと思いますが、何らかの理由により物理スイッチ側でデフォルトVLANを仮想ホストのネットワークにできない場合は、仮想ホストからのパケットにVLANタグが付くようにするために図②のようにVLANインターフェースに仮想ホストのIPアドレスを設定する必要があります。
物理スイッチのポートはTrunkポートにして、必要なVLANの通信許可、デフォルトVLANの設定をします。

仮想基盤は一般的に仮想ホスト通信用、仮想マシン通信用でNICをわけたほうが良いとされています。そのため、仮想ホスト用のbond、仮想マシン用のbondを作るためにNICが4ポート必要です。図③の構成にしましょう。
仮想マシンの仮想NICは[Management]には属さないようにして、[Compute]、[Compute VLAN 0]どちらかを使用するようにしましょう。
物理スイッチのポートはAccessポートでよいです。

こんな時は、図③の構成で必要な[Compute VLAN x]を作りましょう。
物理スイッチのポートの設定は、仮想ホスト通信用NICに接続するポートはAccessポートでよいです。仮想マシン通信用NICに接続するポートはTrunkポートにして、必要なVLANの通信許可、デフォルトVLANの設定をします。

こんな時は、仮想マシンの通信で使用するネットワークごとに異なるbondを作成して、そのbondごとに仮想スイッチを作成します。
仮想スイッチはVME Managerの管理画面で追加作成できます。
仮想マシンの仮想NICはすべてLibvirt Networkに属する方式としてよいでしょう。
物理スイッチのポートはすべてAccessポートでよいです。
3. bondのロードバランシングについて
Ubuntuのbondにはロードバランシングのモードにはいろいろありますが、[HPE Morpheus VM Essentials Software Documentation v8.0.12]にはActive-BackupとLACPについてのみ記載されています。以前のバージョンの資料ではbalance-xorもあったので、後のバージョンの資料でまた出てくるかもしれません。VMware LBTはHVMで設定があるわけではなく、比較で入っています。

Ubuntuのbondのロードバランシングに関する情報はこちらのページに記載されています。
https://help.ubuntu.com/community/UbuntuBonding#Descriptions_of_bonding_modes
簡単に説明すると、帯域を有効活用できないけど物理スイッチ側の設定が不要なのがActive-Backup、帯域を有効活用できるけど物理スイッチ側の設定が必要なのがLACPです。

こんなときはActive-Backupがいいでしょう。

このときは仮想ホスト通信用のbondだけでも、Active-Backupにするといいでしょう。
仮想ホストのベアメタル復旧をするときにスイッチ側のポートがLACPだと、復旧用のブートメディアがLACPをサポートしていなくてNASのバックアップデータにアクセスできないです。

このときはLACPにしましょう。





