時々NTT-X Storeで激安販売していることで有名なFUJITSU PRIMERGY TX1310 M1、これにVMware ESXiをインストールしていく。ちなみに、型名はPYT1311ZGUである。
経緯
これまでここにHyper-V Serverをインストールして、ゲストにいろんなOSを突っ込んで運用してきた。サーバー仮想化という意味では公式のドライバもきちんと提供されており全く申し分なかったのだが、とある事情でUSBパススルー機能が必要となり、VMware ESXiに置き換える事となった。仮想マシン退避など一般事項はスキップして、ESXiのインストールの記録を記す。というのも、公式にはTX1310 M1でESXiはサポート対象外なので、動作実績情報がほしい人がネットにいるかもしれないので。
PRIMERGYでのESXiサポート状況
https://jp.fujitsu.com/platform/server/primergy/software/vmware/support/?rssfrom=pgnews0616
このページにPRIMERGYにおけるESXiのサポート状況がまとめられている。記事執筆時点ではバージョン6と7が提供されており、それらを眺めるとわかるがTX1310 M1はどの資料にも記載がなくサポート対象外である。業務なら「対応するサーバー買ってこい」という話になるのだろうが、あいにくそんなお金はないので、無視して突っ込んでみる。
というのも、Linux向けドライバではESXiでサポート対象となっている後継のTX1320 M4と共通な場合が多く、それをESXi向けに移植しているためサポート対象外でも動くのではという考えがあったからだ。ちなみに結論からすれば動く。RAID以外。
FUJITSU Customized Image
VMware ESXiはペラッペラなType-1 ハイパーバイザーに毛が生えたような小さなソフトウェアである。ただし、類似ソフトウェアであるHyper-VやKVMとは異なり、普通のOSと同じドライバが使えない点がその扱いを少々困難にしている。Hyper-VやKVMはそれぞれ微妙に仕組みは違うとはいえ、Domain 0に相当する部分にWindows / Linuxという大半のマシンが通常サポートしているメジャーなOSがほぼフルセットで動いている。すなわち多くの場合においてベンダーが提供するデバイスドライバをそのまま使って仮想マシンを構築することができる。一方、VMware ESXiはベースはLinuxであるらしいが、大幅に手が加えられており、通常のLinux向けドライバをそのまま動かすことはできない。そのため、別途ESXi向けにカスタムされたドライバを用意する必要がある。
ただ、VMware ESXiは通常のOSにあるようなシェルですら機能制限が加えられたものであり、インストール後にドライバを入れるのは色々面倒である。さらにNICのドライバが動かない日にはUSBメモリ経由でドライバを送り込まないと行けないため面倒である。というわけで、このあたりを解消するためにサーバー機のベンダーがドライバなどを予め入れておいたCustomized Imageというのを用意してくれている。今回はそれを使わせてもらいましょう。
インストールするのは現時点で最新のESXi 7.0 Update 1にする。通常のVMware vSphereのダウンロードページにCustom ISOsというタブがあるのでそれを開く。 https://my.vmware.com/en/web/vmware/downloads/info/slug/datacenter_cloud_infrastructure/vmware_vsphere/7_0#custom_iso から直接開けるはずである。一覧の”OEM Customized Installer CDs”を展開すると、様々なベンダーによるカスタムイメージが列挙されているはずである。今回のお目当ては”FUJITSU Custom Image for ESXi 7.0 U1 Install CD”であるため、その右の”GO TO DOWNLOADS”からISOをダウンロードする。これで、FUJITSU Customized Imageが手に入る。
USBに焼く
普通に、と言いたいところであるが、普通が人によって違いそうなので、私が取った手順も一応書いておく。焼いたのはWindows 10の環境からで、使用したのはRufus、焼いている途中で出てくる「menu.c32を置き換えますか?」には「はい」と答えて置き換えている。気がついたら「はい」を押していたので、置き換えなかったらどうなったかはわからない。
設定をリセットしろ!RAIDは諦めろ!
さて、問題がここからである。冒頭に述べたとおり私はHyper-V Serverの置き換えとしてESXiのインストールをしようとしている。Hyper-V ServerのときにはオンボードのRAID機能を使って、ストレージアレイを組んでいた。TX1310 M1のシステム構成図を見ると「オンボードSATAコントローラ(標準搭載)」という記載があり、その続きでソフトウェアRAIDではあるがWindowsでもLinuxでもRAIDが利用できるとの記載がある。これをESXiでも使えるのではと期待していた。
そして、事前にESXiのカスタムイメージのマニュアルを確認したところ、Introductionのところに”ServerView RAID (local RAID controller) using a LSI SMIS Provider and RAID core provider”という記載があり、また”Fujitsu-raid0″というコンポーネントも含まれているため、オンボードSATAコントローラの機能がフルで使えるものと油断していた。
だが、実際にRAIDアレイを構成後にESXiのインストーラーを立ち上げようとしてもまずインストーラーがブートしない。ガチャガチャ設定をいじって(覚えてない)なんとかESXiの起動までこぎつけたが、4本のHDDを2本ずつ束ねて2つのアレイにしたのに、インストール先の選択肢に4本全部見えてしまっている。「うーん?かたっぽにインストールして無理やり複製かけるか?」などと色々いじってみたが、SATAモードをRAIDにしている限りはインストールしたESXiが起動しない。やっぱTX1310 M1がサポート対象外なのには理由があるのか…と思い始めた。
そこで、先のマニュアルをもう一度読み直す。
“ESXi does not support Software RAID.”
OK、OK、OK、わかった、俺が悪かった
TX1310 M1がサポート対象外云々以前にサポート対象デバイスだったとしても、オンボードのソフトウェアRAIDには対応していないらしい。調べてみるとこれはESXiそのものの制約らしく、きちんとハードウェアRAIDに対応したRAIDカードを用意しないとESXiにRAIDアレイを認識させられないらしい。言われてみればそれはそう、という感じではあるが、淡い期待を抱いていただけにドキュメントを熟読していなかった過去の自分にがっかりである。
と言っても、もとからHDD障害が起きたとしてもホットスワップができる機種ではなく、どのみち停止しないと行けない以上はあんまりRAIDの意義も大きくないので、ここは諦めてマニュアル通りに設定を初期化した後にSATA ModeをAHCIに設定して、非RAIDで諸々を構築していく事にした。(Patrol readできないのは痛いが…)
細かいインストールマニュアルはここにある。
その後は特に問題なくESXiがインストールでき順調に稼働している。
ServerView RAIDは動く
ちなみに、ソフトウェアRAIDの機能は動かなかったが、ServerView RAIDによる監視機能は動く。(現時点最新はここ)ServerView RAIDを別のWindows or Linux環境に入れて、そこにESXiホストを追加することで、下記のようにディスクの監視を行うことができる。RAIDを組めていないのでPatrol readのようなことは当然できないのだが、下記のようにS.M.A.R.T.を使った最低限のモニタリングはできる。
若干の不安要素はあるがとりあえずESXiが動きましたとさ。めでたしめでたし