Intel NUC + ESXi 環境でのネットワーク冗長化

サーバー
スポンサーリンク

Ether ポートが1つしかない Intel NUC で動く仮想マシンに対し,ネットワークを冗長化する方法を紹介します.

スポンサーリンク

背景

NUC と ESXi の組み合わせで運用している場合,メンテナンス等で有線 LAN が接続できなくても仮想マシンのネットワーク接続を維持したいことがあると思います.WiFi と Linux の bonding 機能を使ってこれを実現する方法を紹介します.

Linux のディストリビューションは,Ubuntu 22.04 Server 前提で記載しています.

設定手順

必要な設定は次の4点です.

  • WiFi デバイスの仮想マシンへの接続
  • 仮想マシンへのドライバーのインストール
  • WiFi 接続ソフトのインストール
  • Netplan の設定

以下,順に説明します.

WiFi デバイスの仮想マシンへの接続

ホストの設定で「Wireless-AC」のパススルーを有効し,仮想マシンの設定で PCI デバイスを追加します.
具体的な設定箇所は下図になります.

仮想マシンへのドライバーのインストール

デフォルトだと,iwlwifi ドライバでエラーが発生するので,MSI-X 割り込みを無効化するため, /etc/modprobe.d/iwlwifi.confに対して下記を追記します.

ここで仮想マシンを一旦再起動しておきます. dmesg を実行して下記のようにドライバが正常に動作していることが確認できればOKです.

上記の場合,WiFi デバイスは wls192 として認識されていることが確認できます.

WiFi 接続ソフトのインストール

Netplan の設定

/etc/netplan/00-installer-config.yaml を編集して,下記のように書き換えます.

「XXXX」はアクセスポイントの SSID,「YYYY」はパスワードに置き換えてください.また,「192.168.0.1」は,ネットワーク接続を確認するための通信相手のアドレスになります.適宜ゲートウェイアドレスに置き換えてください.

下記のコマンドを実行すると,冗長化が確保された状態でネットワーク接続されます.

上記のように DHCP を使っている場合,bonding を使用することにより IP アドレスが変化するので注意お願いします.

ip addrコマンドを実行すると,bond0 デバイスが生成されて,それに対して IP アドレスが付与していることが確認できます.(その代わりとして,ens160 や wls192 には IP アドレスが付与されなくなっています)

コメント