OLVM で、ストレージ(iSCSI の 2 経路)とライブ マイグレーション用の論理ネットワークを作り、KVM ホストの NIC に割り当てる手順です。ライブ マイグレーション用のネットワークは、2 本の NIC をまとめたボンド(active-backup)に載せて冗長化します。
この記事の前提
参照した公式ドキュメント
- Oracle Linux Virtualization Manager Administrator’s Guide
- Oracle Linux Virtualization Manager Architecture and Planning Guide
構成
インストール手順で、エンジンと 3 台の KVM ホスト(doc-olvm1〜3)を用意済みです。各ホストの NIC と論理ネットワークの対応は次のとおりです。
| NIC | 論理ネットワーク | 用途 | IP アドレス(doc-olvm1 の例) |
|---|---|---|---|
| ens18 | ovirtmgmt | 管理・仮想マシンの通信(ホスト追加時に自動で作られます) | 192.168.1.142 |
| ens19 | iscsi-a | iSCSI の経路 A | 10.20.81.142 |
| ens20 | iscsi-b | iSCSI の経路 B | 10.20.82.142 |
| ens21+ens22(bond0) | storage | ライブ マイグレーション(HCI 構成では Gluster も) | 10.20.83.142 |
論理ネットワークの作成
(1) 左のメニューの [Network] → [Networks] を開き、[New] をクリックします。最初は、管理用の ovirtmgmt だけがあります。

(2) [New Logical Network] で名前を入力し、[VM network] をオフにして [OK] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Data Center | ネットワークを作るデータ センター | Default |
| Name | ネットワーク名(15 文字以内、記号は使わない) | storage |
| VM network | 仮想マシンをつなぐネットワークにするか。ホストだけが使うネットワーク(ストレージ・移行)はオフにします | オフ |
| MTU | 既定は 1500 | Default (1500) |
名前に記号(「-」など)が含まれていたり 15 文字を超えたりすると、ホスト上ではネットワーク名の代わりに UUID が使われます。
(3) 同じように、iSCSI 用の iscsi-a・iscsi-b も作ります(VM network はオフ)。ここでは REST API で作成しました。作成したネットワークは一覧に追加されます。

クラスタでの役割の設定
(1) [Compute] → [Clusters] → [Default] の [Logical Networks] タブを開き、[Manage Networks] をクリックします。

(2) storage の [Migration Network] を選びます。ホストに割り当てる前に [Require] がオンのままだと、ホストが Non Operational になるので、割り当てが終わるまではオフにしておきます。

| 列 | 説明 |
|---|---|
| Assign | このクラスタでネットワークを使う |
| Require | 全ホストに必須。割り当てていないホストは Non Operational になります |
| Migration Network | ライブ マイグレーションに使うネットワーク(ovirtmgmt から storage に変更) |
| Gluster Network | Gluster の通信に使うネットワーク(HCI 構成で使用) |
ホストへの割り当て(ボンドの作成)
(1) [Compute] → [Hosts] → doc-olvm1 の [Network Interfaces] タブを開き、[Setup Host Networks] をクリックします。

(2) [Interfaces] の ens22 を ens21 の上にドラッグすると、[Create New Bond] が開きます。[Bonding Mode] を [(Mode 1) Active-Backup] にして [OK] をクリックします。

| Bonding Mode | 動作 |
|---|---|
| (Mode 1) Active-Backup | 1 本だけ使い、故障時にもう 1 本に切り替えます。スイッチの設定は不要 |
| (Mode 2) Load balance (balance-xor) | 送信先のハッシュで振り分けます(スイッチ側の設定が必要) |
| (Mode 4) Dynamic link aggregation (802.3ad) | LACP。既定値(スイッチ側に LACP の設定が必要) |
(3) 右の [Unassigned Logical Networks] から、storage を bond0 に、iscsi-a を ens19 に、iscsi-b を ens20 にドラッグします。

(4) 各ネットワークの鉛筆のアイコンをクリックし、[IPv4] の [Boot Protocol] を [Static] にして、IP アドレスとネットマスクを入力して [OK] をクリックします。ゲートウェイは空のままにします(デフォルト ルートは ovirtmgmt)。

(5) [Setup Host Networks] の [OK] をクリックすると、設定がホストに反映されます。[Verify connectivity between Host and Engine] がオンなので、設定後にエンジンと通信できなくなった場合は自動で元に戻ります。
(6) doc-olvm2・doc-olvm3 にも同じ設定をします。ここでは REST API(POST /hosts/<id>/setupnetworks)で設定しました。3 台とも設定したら、[Manage Networks] で storage の [Require] をオンに戻します。
ホストで確認すると、bond0 が active-backup で作られています。
cat /proc/net/bonding/bond0
Bonding Mode: fault-tolerance (active-backup)
Currently Active Slave: ens21
Slave Interface: ens21
Slave Interface: ens22