クラウドの時代になっても、いや、クラウドの時代だからこそ、自宅に自由に触れる環境を作ってあれこれ実験したいもの。
これまで自宅にタワー型のサーバーやラックマウントサーバーなどさまざまなものを置いてみたものの、やはりネックになってしまうのはスペースと騒音。
タワー型は縦に並べていくのにやや難があり、都内ワンルームなどに住んでいた場合は人間様が使うスペースよりもサーバーのほうが場所食ってんじゃん、なんて状況になりかねない。
自宅に19インチラックを置くガチな人も世の中には一定数存在するのだが、こちらはスペースもさながら騒音が厳しい。少なくとも寝るスペースと同一にするのは難しいため、検証のときだけ起動するといった運用になってしまう。
福音だったIntel NUC
そんな中、2012年末に登場したIntel NUCは自宅サーバー勢には福音であった。
手のひらに乗るサイズなのにも関わらず、Core i3やi5が載っている。その当時でもSODIMMを2枚刺しすれば16GBにでき、自宅環境の劇的な小型化が可能になった。
2020年現在、32GBのSODIMMも値段がこなれてきており、新しいNUCであれば2枚刺しすることで64GBまで拡張できるようになった。多くの検証はこれ1台もしくは数台で十分賄えるでのはなかろうか。
NICが2つ必要ならば小型ベアボーンという選択肢
多くの検証はNUCで行けると書いたが、場合によってはNICが2つ欲しいというユースケースもある。例えばネットワークのセグメントを分けたいケースや、NASへのアクセスにNICを独占させたいケースもあるだろう。NUCはゲーミングモデル以外はNICが1つしかないため、どうしても必要な場合は、USBのNICを利用することになる。 しかしESXiを使いたい場合、利用できるUSB NICの選択肢はAX88179など少数に限られるのが悩ましい。
そこで出てくる選択肢が、小型のベアボーンや産業向けPCである。
例えばShuttleのDH310V2は、TDP65Wまでの第8世代/第9世代Coreが載る上にIntelチップのNICが2つ積まれている。また、公式サイトのカタログスペック的には32GBまでとなっているが、実際には64GBまで認識する。
さすがにNUCほど小さくはないが、それでも十分小型といえるサイズであり、我が家でも故障したNUCの後継として導入している。
さらに拡張性が必要な場合はどうする?
では小型ベアボーンでは足りない要件が出てきた場合はどうするべきか。例えば以下のような要件が考えられるだろう。
- もっとメモリを積みたい
- 3.5インチHDDを積みたい
- GPUを積みたい
- 10GbEを積みたい
じゃあ大人しくタワー型買おうよ って言いたくなるところをグッと抑えて選択肢を模索してみよう。
Mini-ITXマザーボード x 小型PCケース
Mini-ITXをアリにすると、選択肢はグッと広がる。PCI-E x16を1本積んだマザーが多く、GPUなり10GbEなり要件に合う拡張をするとよい。ただし、メモリスロットは2本であることが多いため最大メモリは64GBが上限となってしまう点は要注意だ。
お金に糸目をつけなければサーバー向けのXeonマザーを買う手もある。10GbEやメモリスロット4本積んだものもあるため、小型で超ハイスペックなマシンを組むことも可能だ。 そこまでして小ささにこだわるか?という気持ちになってくるが
ケースは要件に合わせて選ぶ。見るべきポイントは3.5インチのベイ数、拡張スロット周りのサイズ(GPUが入るかどうか)、電源容量あたり。
キューブ型ベアボーン
前置きが長くなってしまったが、今回自分が試したもう一つの選択肢がキューブ型ベアボーンを使う方法だ。
おうちTKG向けに1台追加します pic.twitter.com/NmCO6qKWmE
— Kazuto Kusama(jacopen)🐧☄🐏 (@jacopen) December 19, 2020
自宅にvSphere環境とvSAN環境を構築し、その上にたまごかけごはんTanzu Kubernetes Gridを構築したかったので、以下のような要件があった。
- 128GBメモリ (メモリの余裕は心の余裕)
- 3.5インチベイ (3.5インチHDDが余ってたので活用したかった)
- 10GbE (vSAN組むなら欲しい)
今回選んだのは、ShuttleのSH370R6V2というキューブ型ベアボーン。
このShuttleのSH370R6V2、日本の公式サイトだと最大64GBとなっているが、搭載できる第8/9世代CoreとH370チップセットは128GBまで対応している。また、グローバルのサイトにはUp to 128GBという記述もあり、おそらく問題ないと思われた。
メモリスロットは4本あるため、32GBのDDR4を買うことになる。今回は32GBx2のキットを2つ買う形にした。
CPUヘビーなワークロードを動かすつもりはないが、メモリ量に比例してVM数も増えると想定されるため、こちらもCore i7 9700 にして余裕を持たせることにした。
10GbE NICはESXi標準のドライバで認識できるIntelチップを積んだものを選択。安心を取るならIntel純正のもののほうが良いが、今回は節約してノーブランドのものを調達した。 ノーブランドの10GbE LANカードがオリオスペックに5製品入荷、実売5,940円から - AKIBA PC Hotline!
SH370R6V2はPCI-E x16とx4が1本ずつという構成。NICはx8のため、x16側を利用する形になる。なので、GPU積みたい場合は競合してしまうことになる。 x4側に刺しても認識はすると思うが、その分速度低下が起こりうる可能性がある。SH370R6V2はPCI-E Gen3なので、x4でも計算上10GbEは問題ない気はするのだが、自分の用途だとGPUは不要だったので未確認。 ▲公式サイトより
そうして起動した様子がこちら。ちゃんと128GB認識していることがわかる。
なお、購入した状態ではBIOSが古く、128GBでは起動せずにちょっと焦った。64GBで起動後、BIOSアップデートを行うことで解消したので、これから買おうという方は要注意。
10GbEもちゃんとリンクアップしている。 ちなみにSH370R6V2もGbEなNICを2つ標準で積んでいるので3NIC使えることになる。
自宅でvSAN組もうという人は世の中でも稀だと思うが、メモリ128GBにGPUないしは10GbEが積めるというのは結構良いのではなかろうか。