買い物山脈
ラズパイが高いなら5千円の中古シンクラを使えばいいじゃない。シンクラ×3で作る家庭用ハイパーコンバージド環境
2022年12月22日 06:34
- 製品名
- 富士通 FUTRO S740
- 購入価格
- 6万7,487円(諸々の合計)
- 購入時期
- 2022年10月
- 使用期間
- 約2カ月
中古市場にまれに流れてくる企業のリースアップのシンクライアントが熱い。世代的には2017年前後の製品が多いが、そこそこ高性能な機種が放出される場合もあり、数千円で省電力かつ十分な性能の自宅サーバー用PCを手に入れることができる。今回は、そんなシンクラを3台用意してProxmoxを使ったハイパーコンバージドインフラに仕上げてみた。
富士通のシンクラ「FUTRO S740」を3台購入
落札価格が吊り上がってしまうので、あまり言いたくなかったのだが、オークションサイトでたまに見かけるリースアップのシンクラがお買い得だ。
機種によって性能や拡張性に差があり、パーツが欠品している場合もあるので、慎重に選ぶ必要はあるのだが、今回筆者が落札した富士通の「FUTRO S740」であれば、最終的に5,000円前後で落札できることが多い。
【表】FUTRO S740のスペック | |
---|---|
CPU | Celeron J4105(1.5GHz、4コア) |
メモリ | 4GB(1スロット) |
ストレージ | 32GBフラッシュメモリ |
LAN | Gigabit Ethernet |
無線LAN | Wi-Fi 5(IEEE 802.11ac) |
USB | 3.0×2、2.0×4 |
ディスプレイ出力 | DisplayPort×2 |
サイズ | 36×165×147mm |
重量 | 約0.6kg |
消費電力 | 4W(最大50W) |
安いからと言って、シンクライアントなんて買って何に使うのか? と疑問に思うかもしれないが、シンクライアントと言っても、中身はただのPCであり、少し手を加えるだけで、自宅に最適な、小型で、省電力で、実用的な性能のサーバーへと生まれ変わるのだ。
特に、今回購入したFUTRO S740は、搭載されているCPUがGemini Lakeのモバイル向けプロセッサ「Celeron J4105」となっており、4コア4スレッドの1.5GHz(ブースト時2.5GHz)で動作するうえ、サーバーに欠かせないIntel VT-xなどの仮想化テクノロジにもきちんと対応している。
数年前であれば、自宅向けの小型サーバーと言えば、Raspberry Piを利用するのが一般的だったが、現状は価格が上昇しすぎており(実売で2万円以上)、とても自宅のお遊びサーバー用に使えるものではなくなってしまった。
そこで注目が集まっているのが、こうしたスペックのわりに低価格なリースアップのシンクラというわけだ。メモリを増設できるうえ、仮想環境としても扱いやすいため、国内外のマニアの間で、サーバーやIoT制御用に活用する例が増えており、オークションで静かな争奪戦が繰り広げられている。
そのままでは力不足なのでパワーアップする
FUTRO S740は、自宅用サーバーとしての素性はいいものの、いかんせん中古となるため、重要なパーツが欠品している場合があるうえ、サーバーとして使うことを考えるとメモリやストレージなども標準構成では物足りない。
そこで、今回は以下のようなパーツを追加で購入した。
- ACアダプタ(欠品対策)
- OS起動用 SATA SSD 120GB(欠品対策)
- 分散ストレージ用NVMe M.2 SSD 512GB
- メモリ16GB
- M.2 m2 ngff key m to key a + e延長ケーブル
最終的に2~3カ月かけて、良い出物を探しながら、4台のFUTRO S740を購入したが、今回はそのうちの3台を使った構成の合計費用は以下の通りだ。
FUTRO S740自体は5,000円前後で買えたが、最終的にハイパーコンバージドインフラとして構成するために、16GBのメモリと分散ストレージ用の512GB NVMe M.2 SSDを思い切って購入した。ここを抑えれば、1台あたり1万円台に費用を抑えることも不可能ではない。
購入価格 | 個数 | 小計 | |
---|---|---|---|
FUTRO S740 AC無し | 4,910円 | 2 | 9,820円 |
FUTRO S740 SSD無し | 5,500円 | 1 | 5,500円 |
互換ACアダプタ 19V 65W | 1,659円 | 2 | 3,318円 |
SATA SSD 120GB(2242) | 2,903円 | 1 | 2,903円 |
NVMe M.2 SSD 512GB | 5,480円 | 3 | 1万6,440円 |
メモリ DDR4-2400 16GB | 7,980円 | 3 | 2万3,940円 |
M.2 ngff keyM to keyA | (8.99ドル+送料) | 3 | 万5,566円 |
合計 | 6万7,487円 | ||
1台あたり | 2万2,496円 |
構成時の注意点
購入したパーツ類は、基本的に組み込むだけだが、いくつか注意点があるので記載しておく。
メモリ
FUTRO S740およびCeleron J4105は、公式にはメモリは最大8GBまでの対応となっているが、DDR4-2400であれば16GBでも認識した(筆者はCrucial CT16G4SFD824Aを使用)。逆にDDR4-2400以外だと容量が少なくても認識しないので、メモリを購入する際は注意が必要だ。
仮想マシンを複数動作させる場合はメモリが多い方が助かるうえ、後述する分散ストレージのCephがメモリをそれなりに消費するので、メモリは多ければ多いほどいい。
ストレージ
FUTRO S740には、内部にM.2 SATAスロットが1つしか用意されていない。詳しくは後述するが、今回の構成では、システムがインストールされた領域とは別に未使用のストレージが必要だったため、無線LANアダプタが搭載されているM.2 Key Mスロットをストレージに転用した。
無線LANアダプタ向けのM.2 key Mをストレージ用のM.2 key Aに変換するケーブルをAliExpressで購入し、標準の無線LANアダプタを取り外して、NVMe M.2 SSDを装着している。
このM.2スロットはPCIe 3.0 x1なので、最大速度が8Gbpsとなってしまうが、SATA 6Gbpsと同等以上の速度が見込めるうえ、あくまで自宅用サーバーなら、そこまで速度にこだわる必要はないので十分と言える。
もちろん、FUTRO S740にはUSB 3.0(最大5Gbps)も搭載されているので、外付けで構わなければUSB SSDを後述する分散ストレージに使ってもかまわない。
逆に言うと、どのインターフェイスでも速度はそこそこなので、高価格な高性能SSDを購入しなくて済む。
というわけで、最終的に組み上がったのが、以下のような自宅サーバーだ。
以前、INTERNET Watchのレビュー用に購入した長尾製作所のUSBファン付きルーター冷却台(NB-USBFAN-RTST)がピッタリなサイズ感だったので、ここにFUTRO S740の筐体のメッシュ穴を使ってネジで固定している。冷却も兼ねた構成で、気に入っているが、ファンの音がもう少し静かだとありがたい。
ちなみに、もう1台分スペースがあるので、最大4台の構成が可能となっている。そのうち、もう1台も追加する予定だ。
Proxmoxでクラスタ化しCephで分散ストレージを構成
今回目指すのは、単なる自宅サーバーではなく、家庭用ハイパーコンバージドインフラ(以下HCI)だ。
Nutanixなどで知られるHCIは、複数台のサーバーで、それぞれのサーバーに内蔵されたコンポーネントをソフトウェアで統合したプラットフォームとなる。
ポイントは主にストレージで、従来の(ハイパーではない)コンバージド環境の場合、外部に独立したストレージ装置を用意する必要があったが、ハイパーコンバージドの場合、サーバーマシンに内蔵されているストレージを共有する形となる。なのでわざわざM.2スロットで、共有用のストレージを確保したわけだ。
ここでの構成のように、一般的なPCで構成可能なので、シンプルで価格も抑えやすく、拡張もしやすいのが特徴だ。
このような構成を今回はオープンソースの仮想マシンプラットフォームである「Proxmox VE」を利用して構築する。
Linuxベースで汎用性が高く、QEMU/KVMによる仮想マシンとLXCによるコンテナを管理できるうえ、簡単にクラスタ構成ができる。さらに、Cephによる分散ストレージにも対応しており、こうした機能をすべて無料で利用できてしまう
Proxmoxのインストールとクラスタ構成
インストール方法は簡単なので、省略するが、ProxmoxのサイトからISOをダウンロードしてUSBメモリなどに書き込み、FUTRO S740にインストールするだけだ。
インストーラの指示に従うだけなので、特に難しい設定は必要ない。以下の記事でインストール時の画面を紹介しているので、これを参考にすればいい。
Proxmoxを3台のサーバーすべてにインストールしたら、まずクラスタを構成する。
3台のサーバーのうち1台の管理画面にアクセスし、「データセンター」の「クラスタ」から、「クラスタを作成」をクリック。クラスタ名を設定し(ネットワークは同一でOK)、クラスタを作成しよう。
続いて「Join情報」をクリックし、ほかのノードをクラスタに参加させるための文字列をコピーする。これをほかのサーバーのクラスタ参加画面に順番に入力すればクラスタが完成する。
この状態で、1台のサーバーから、3台すべてのサーバーを管理できるようになり、クラスタ間で仮想マシンを移動(マイグレーション)可能になる。
Cephを構成する
Cephはオープンソースの分散ストレージソフトウェアだ。Proxmox VEではCephを簡単にインストール、構成できるようになっているため、基本的に画面の指示に従って各サーバーにインストールするだけで利用できる(2台目以降は1台目の構成を自動認識)。
Cephのインストールが完了したら、詳細な構成を作っていく。
最初は、「モニタ」にサーバーを追加しておく。今回は3台構成なので、ほかの2台もモニタに追加しておく。これで、3台のサーバーのうち1台が落ちても、ほかの2台のストレージでそのまま運用可能になる。
続いて、「OSD」でストレージを登録する。今回は、SATA SSDにProxmoxのOSをインストールし、M.2のSSDは空のままにしてある。Cephでは、未使用のストレージを利用するので、このNVMeのSSDを各サーバーで登録する。
最後に「Pool」を作成する。「Ceph FS」でファイルストレージを作成することも可能だが(ISOやテンプレート保管用に利用)、今回は仮想マシンそのものを保管するCeph/RBDブロックストレージを作成する。
Poolの新規作成で、今回は3台のディスクを使うので、「pg_num」に「128(推奨値)」を指定する。このあたりは、Cephの細かな規定があり、1OSDあたり250割り当てらえるPG数(今回なら3台なので750PG)を越えないように、プールごとにPG数を割り当てる必要がある(今回は128指定なので128×3=384使用)。
つまり、今回のケースの場合、1つしかプールを作成できない(2つにすると384×2で750を超えてしまう)。PGを少なくすれば多くのプールを作成できるが、PGの値によってパフォーマンスが変化するので、推奨の128で設定しておくのが無難だ。
これでCephによって、3台のサーバーに内蔵されているNVMe M.2 SSDがネットワーク経由で共有され、各サーバーに分散してデータが保存されるようになった。ハイパーコンバージドインフラの完成だ。
YouTube再生を途切れることなくマイグレーション可能
Cephによって、ストレージが共有されるようになると、クラスタの各ノード間での仮想マシンの移動が楽になる。
仮想マシンのストレージは共有ストレージにあるので移動しなくて済み、純粋にメモリのコピーのみで仮想マシンを別のサーバーに移動できる。
今回の構成では、Cephのネットワークを通常のネットワークと共有しているうえ、速度が1Gbpsなので、あまり速い環境ではないが、それでも4GBのメモリを割り当てたWindows 11でYouTubeを再生した仮想マシンを2分ほどで移動できた。計算上のダウンタイムは906msとなった。
ライブマイグレーションの場合、純粋な4GB分のメモリコピーに加え、コピー中に変更されたメモリの状態を随時コピーするため、合計で7.5GBほどの転送と容量が増え、それに時間がかかったが、それでもスムーズな移動と言える。
もちろん、仮想マシンは起動した状態のまま移動し、再生中のYouTube動画も停止したのは1回だけ、それも2秒ほどだった。YouTubeの場合、バッファがあるので、ほぼ中断させることなく移動できたが、今回の場合ではネットワークが1Gbpsと遅いので、残念ながら瞬断が発生してしまった。
このように、低価格なシンクライアントを利用することで、自宅にハイパーコンバージドインフラを構築することが可能だ。これで、1台のサーバーがオフラインになっても問題なく動作可能で、サーバーの交換や修理なども手軽にできる。ワンランク上の自宅サーバーと言ってよさそうだ。