清水理史の「イニシャルB」
2.5Gbps LAN×4の「GPE-2500-4T」でAzureライクな自宅サーバーを作る
2022年4月4日 06:00
プラネックスから2.5Gbps×4ポートを備えたPCIe接続のLANアダプター「GPE-2500-4T」が発売された。
複数ポートを利用した負荷分散や冗長化が可能な製品だが、複数ネットワークをカバーする仮想マシンプラットフォームにも適した製品となっている。
せっかくなので、Mini ITXの小型PCとHyper-V Server 2019+Windows Admin Centerを組み合わせて、Azureライクにウェブブラウザーから仮想マシンをお手軽に稼働させることができる自宅サーバーを作ってみた。
Realtek環境のハイパーバイザーの悩み
最近では手軽なクラウド環境もあるのでさほどニーズは高くないが、やはり自由に使える仮想マシン用サーバーが自宅にあると、何かと便利だ。
Windows 11の検証に使ったり、ブロックチェーン関連のノードをLinuxで試したりと、ちょっと試したい環境を手軽に構築できる。
プラネックスから2.5Gbps×4ポートのLANアダプター「GPE-2500-4T」、および2.5Gbps×2ポートの「GPE-2500-2T」が登場し、仮想マシン環境向けのハードウェアの選択肢が広がったこともあって、筆者宅でもVMware vSphere ESXiを使った仮想マシン環境を稼働させていたのだが、今回Hyper-V Server 2019+Windows Admin Centerの環境へ置き換えることにした。
久しぶりにWindows Server環境を使ってみたが、ウェブブラウザーベースの管理ツールであるWindows Admin Centerが、ずいぶんと使いやすくなっていたことにも感心した。
LANが4ポートもあると、外部公開用、内部ネットワーク用、管理用などネットワークを使い分けることができる上、場合によってはポートを複数束ねたチーミングによって負荷分散や冗長化することもできるため、仮想マシン環境には非常に都合がいい。
従来は、ESXiでFlingドライバーを使ってUSB接続のNICを2つ接続し、外部公開用、内部ネットワーク用、管理用(内蔵NIC)と使い分けていたのだが、PCIeの4ポートなら、これらを全て内蔵でまかなっても、まだ余裕がある。
しかしながら、困ったことに今回、プラネックスから登場したGPE-2500-4Tで採用されているRealtek製チップ(RTL8125B)は、最新のESXi 7.0ではサポートされていない。ESXi 6.7なら利用できるようだが、それならば、いっそのことWindows Admin Centerで使い勝手が良くなったWindows Sever環境(GUIレスのHyper-V Server)に変えてしまおうというのが、今回の経緯となる。
ちなみに、今回は自宅で余っていた古いマザーとCPU、メモリーを流用して、小型サーバーを自作することにした。利用したパーツは以下の通りだ。世代の古いCPUでも、メモリーさえ豊富に搭載しておけば、数台の仮想マシンを動かすのに苦労しないだろう。
CPU | Intel Core i3-10100(4コア8スレッド、3.6GHz) |
メモリー | 32GB |
マザーボード | MSI H510I PRO WIFI(Mini-ITX) |
ストレージ | CT1000P1(M.2 SSD)×1、Crucial CT1000MX500(SATA SSD)×1 |
電源 | SilverStone SST-SX500-LG(SFX-L) |
ケース | Lian Li Mini-Q PC-Q21B |
Windows 10用ドライバーでHyper-V Server 2019で動かす
現時点での最新版となる「Windows Server 2022」では、GUIレスのインストールでも、標準インストールであっさりとGPE-2500-4Tが認識される。
それだけでなく、ASUSの10Gbps対応NICである「XG-C100C」、Intel「X540-T2」など、手元にあるNICのほとんどを自動的に認識してくれた。ドライバーで苦労しなくて済むのは、Windowsプラットフォームならではのメリットだろう。
今回利用したHyper-V Server 2019は、OSとしては1世代前の製品となるが、無償で利用できるハイパーバイザープラットフォームだ。OSのコアとHyper-V環境のみがインストールされる最低限のGUIレス環境だが、前述したWindows Admin Centerを利用することで、リモートからウェブブラウザーでAzureライクな管理が可能となる。
前述した通り、Hyper-V Server 2019はGUIレスなので、基本的にコマンドラインの操作しか受け付けないが、USBメモリーなどでインストーラーをコピーして実行すれば、GUIのインストーラーを使ってドライバーをインストールすることが可能だ。
ESXiのようにハードウェア環境に悩まされずに済むのは、ありがたいところだ。
しかしながら、無償のHyper-V Server 2019は、残念なことにWindows Server 2022と比べると対応デバイスが多くない。
このため、今回利用するGPE-2500-4TもHyper-V Server 2019では標準では認識されなかったが、Realtekのこちらのウェブページで配布されているWindows 10用ドライバーをインストールすることで、簡単に認識させることができた。
Windows Admin Centerで管理も簡単
NICが認識されれば、あとはネットワーク経由での管理が可能となる。リモートデスクトップを有効にして管理することもできるが、Windows Admin Centerをインストールして管理することをお勧めする。
かつてWindows Serverのリモート管理は、サーバーマネージャーなどを使うのが一般的で、自宅サーバーのようなワークグループ環境でリモート管理しようとすると、認証の設定などに手間がかかっていた。
一方、Windows Admin Centerは、ウェブブラウザーベースの管理ツールで、基本的にインストールするだけで利用できる。
上記リンクからダウンロードしたmsiパッケージを、ネットワーク共有経由かUSBメモリーでHyper-V Server 2019へコピーし、以下のコマンドを実行すればWindows Admin Centerをインストールできる。詳細については、こちらのウェブページも参考にして欲しい。
msiexec /i <インストーラーファイル名.msi /qn /L*v log.txt SME_PORT=443 SSL_CERTIFICATE_OPTION=generate
サイレントインストールなので、画面には何も表示されないが、しばらく時間が経過した後に「log.txt」ファイルを参照して、「インストールを正しく完了しました」という表示を確認できれば完了だ。
これで、ネットワーク内のほかのPCからウェブブラウザーで、「https://192.168.1.151」などのようにサーバーのIPアドレスにアクセスすれば、Windows Admin Centerが起動する。
なお、今回はサーバー上にインストールしたが、クライアント側にインストールすることもできる。管理するPCが決まっているなら、クライアント側にインストールするのも手だ。
ユーザー名は「server名\Administrator」もしくは「192.168.1.151\Administrator」と指定し、パスワードはHyper-V Server 2019のセットアップ時に設定したものをそのまま指定すればいい。
ローカルのサーバーをクラウド環境のAzureのように管理できるのが特徴で、Hyper-V向けの「仮想マシン」や「仮想スイッチ」だけでなく、ローカルユーザーの管理やファイルの参照やアップロード、レジストリの設定、デバイスのドライバー更新など、一通りのサーバー管理が可能だ。
今回は詳細を省くが、「仮想マシン」から仮想マシンの作成や起動・停止、起動した仮想マシンのコンソールへの接続なども可能になっている。
テンプレートとなるベースの仮想マシンを作成しておき、「複製」を使ってマシンをコピーすれば、Sysprepでユーザー設定のみ初期化した状態で、必要なアプリのインストールや最低限の設定が済んだ仮想マシンを準備できる。なお、Linuxマシンでは複製時に「VMで既にSysprepを実行しています」を選択しておけば、コピーのみですぐに作成ができる。
これにより、クラウド環境のように、必要なマシンを数クリックで、すぐに用意できるわけだ。
仮想スイッチで冗長化
ただし、ネットワークアダプターの管理については、若干の制約がある。
まず、デバイスのプロパティを変更できない。デバイスマネージャーの代わりとなるWindows Admin Centerの「デバイス」では、デバイスの有効/無効を切り替えたり、ドライバーを更新したりすることができるものの、デバイスのプロパティを変更することはできない。
このため、NICのプロパティを調整したい場合はレジストリを直接編集する必要がある。Windows Admin Centerには、レジストリを編集するための「レジストリ」という項目があるので、ここから以下のキーを開く。
HK_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\
ここに搭載されているNICの情報が「0000」、「0001」などと順番に格納されているので、展開して中に記載されているNICの名前を確認する。設定したいNICの番号が判明したら、例えば「JumboPacket」などを選択し、値を「9014」などへと変更すればいい。最後に「ネットワーク」からデバイスを無効にし、再び有効にすれば設定が適用される。
また、NICの機能としてのチーミングなども、Windows Admin Centerからは利用できない。
ただし、今回の構成の場合、仮想マシンから利用するネットワークは「仮想スイッチ」から構成可能なため、仮想マシン向けのネットワークで負荷分散や冗長化したいのであれば、シンプルに複数NICを接続した仮想スイッチを作成しておけばいい。これで仮想マシンに対して、複数のネットワーク経路を設定することができる。
2.5Gbpsの自宅サーバーも身近に
以上、プラネックスのGPE-2500-4Tを活用して、Hyper-V Server 2019+Windows Admin Centerの自宅サーバーを構築してみた。
2.5Gbpsを活用した自宅仮想マシンプラットフォームの構築には最適な組み合わせと言えそうだ。ESXiでは苦労しがちな特殊なNICを使った環境も手軽に作れるのも、大きなメリットだ。
NASやゲーミングPCを中心にネットワークの2.5Gbps化が普及しつつあり、スイッチも低価格化が進んでいるが、自宅サーバーにもこうした2.5Gbps化の流れが到来しそうだ。