Cloud Penguins

Flying penguins in the cloud.

キューブ型ベアボーンに積めるだけ積んで自宅サーバーを作る2020

クラウドの時代になっても、いや、クラウドの時代だからこそ、自宅に自由に触れる環境を作ってあれこれ実験したいもの。

これまで自宅にタワー型のサーバーやラックマウントサーバーなどさまざまなものを置いてみたものの、やはりネックになってしまうのはスペース騒音

タワー型は縦に並べていくのにやや難があり、都内ワンルームなどに住んでいた場合は人間様が使うスペースよりもサーバーのほうが場所食ってんじゃん、なんて状況になりかねない。

自宅に19インチラックを置くガチな人も世の中には一定数存在するのだが、こちらはスペースもさながら騒音が厳しい。少なくとも寝るスペースと同一にするのは難しいため、検証のときだけ起動するといった運用になってしまう。

福音だったIntel NUC

そんな中、2012年末に登場したIntel NUCは自宅サーバー勢には福音であった。

amzn.to

手のひらに乗るサイズなのにも関わらず、Core i3やi5が載っている。その当時でもSODIMMを2枚刺しすれば16GBにでき、自宅環境の劇的な小型化が可能になった。

2020年現在、32GBのSODIMMも値段がこなれてきており、新しいNUCであれば2枚刺しすることで64GBまで拡張できるようになった。多くの検証はこれ1台もしくは数台で十分賄えるでのはなかろうか。

amzn.to

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まで認識する。

amzn.to

さすがにNUCほど小さくはないが、それでも十分小型といえるサイズであり、我が家でも故障したNUCの後継として導入している。 f:id:jaco-m:20201221020840j:plain

さらに拡張性が必要な場合はどうする?

では小型ベアボーンでは足りない要件が出てきた場合はどうするべきか。例えば以下のような要件が考えられるだろう。

  • もっとメモリを積みたい
  • 3.5インチHDDを積みたい
  • GPUを積みたい
  • 10GbEを積みたい

じゃあ大人しくタワー型買おうよ って言いたくなるところをグッと抑えて選択肢を模索してみよう。

Mini-ITXマザーボード x 小型PCケース

Mini-ITXをアリにすると、選択肢はグッと広がる。PCI-E x16を1本積んだマザーが多く、GPUなり10GbEなり要件に合う拡張をするとよい。ただし、メモリスロットは2本であることが多いため最大メモリは64GBが上限となってしまう点は要注意だ。

お金に糸目をつけなければサーバー向けのXeonマザーを買う手もある。10GbEやメモリスロット4本積んだものもあるため、小型で超ハイスペックなマシンを組むことも可能だ。 そこまでして小ささにこだわるか?という気持ちになってくるが

amzn.to

ケースは要件に合わせて選ぶ。見るべきポイントは3.5インチのベイ数、拡張スロット周りのサイズ(GPUが入るかどうか)、電源容量あたり。

amzn.to

キューブ型ベアボーン

前置きが長くなってしまったが、今回自分が試したもう一つの選択肢がキューブ型ベアボーンを使う方法だ。

自宅に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つ買う形にした。

amzn.to

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は不要だったので未確認。 f:id:jaco-m:20201221025444p:plain公式サイトより

そうして起動した様子がこちら。ちゃんと128GB認識していることがわかる。 f:id:jaco-m:20201221024807j:plain

なお、購入した状態ではBIOSが古く、128GBでは起動せずにちょっと焦った。64GBで起動後、BIOSアップデートを行うことで解消したので、これから買おうという方は要注意。

10GbEもちゃんとリンクアップしている。 ちなみにSH370R6V2もGbEなNICを2つ標準で積んでいるので3NIC使えることになる。 f:id:jaco-m:20201221025028p:plain

自宅でvSAN組もうという人は世の中でも稀だと思うが、メモリ128GBにGPUないしは10GbEが積めるというのは結構良いのではなかろうか。