買い物山脈

ラズパイが高いなら5千円の中古シンクラを使えばいいじゃない。シンクラ×3で作る家庭用ハイパーコンバージド環境

製品名
富士通 FUTRO S740
購入価格
6万7,487円(諸々の合計)
購入時期
2022年10月
使用期間
約2カ月
「買い物山脈」は、編集部員やライター氏などが実際に購入したもの、使ってみたものについて、語るコーナーです
筆者が落札した富士通のシンクライアント FUTRO S740

 中古市場にまれに流れてくる企業のリースアップのシンクライアントが熱い。世代的には2017年前後の製品が多いが、そこそこ高性能な機種が放出される場合もあり、数千円で省電力かつ十分な性能の自宅サーバー用PCを手に入れることができる。今回は、そんなシンクラを3台用意してProxmoxを使ったハイパーコンバージドインフラに仕上げてみた。

富士通のシンクラ「FUTRO S740」を3台購入

 落札価格が吊り上がってしまうので、あまり言いたくなかったのだが、オークションサイトでたまに見かけるリースアップのシンクラがお買い得だ。

 機種によって性能や拡張性に差があり、パーツが欠品している場合もあるので、慎重に選ぶ必要はあるのだが、今回筆者が落札した富士通の「FUTRO S740」であれば、最終的に5,000円前後で落札できることが多い。

正面
背面
側面
【表】FUTRO S740のスペック
CPUCeleron J4105(1.5GHz、4コア)
メモリ4GB(1スロット)
ストレージ32GBフラッシュメモリ
LANGigabit Ethernet
無線LANWi-Fi 5(IEEE 802.11ac)
USB3.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万円台に費用を抑えることも不可能ではない。

【表2】導入費用
購入価格個数小計
FUTRO S740 AC無し4,910円29,820円
FUTRO S740 SSD無し5,500円15,500円
互換ACアダプタ 19V 65W1,659円23,318円
SATA SSD 120GB(2242)2,903円12,903円
NVMe M.2 SSD 512GB5,480円31万6,440円
メモリ DDR4-2400 16GB7,980円32万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がメモリをそれなりに消費するので、メモリは多ければ多いほどいい。

メモリはDDR4-2400が必要。16GBも認識する

ストレージ

 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を装着している。

Key MをKey Aに変換するアダプタを使用
このような感じで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」を利用して構築する。

オープンソースのProxmoxを利用する

 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をインストール

 Cephのインストールが完了したら、詳細な構成を作っていく。

 最初は、「モニタ」にサーバーを追加しておく。今回は3台構成なので、ほかの2台もモニタに追加しておく。これで、3台のサーバーのうち1台が落ちても、ほかの2台のストレージでそのまま運用可能になる。

すべてのサーバーをモニタに参加させておく

 続いて、「OSD」でストレージを登録する。今回は、SATA SSDにProxmoxのOSをインストールし、M.2のSSDは空のままにしてある。Cephでは、未使用のストレージを利用するので、このNVMeのSSDを各サーバーで登録する。

NVMeをOSDとして登録しておく

 最後に「Pool」を作成する。「Ceph FS」でファイルストレージを作成することも可能だが(ISOやテンプレート保管用に利用)、今回は仮想マシンそのものを保管するCeph/RBDブロックストレージを作成する。

 Poolの新規作成で、今回は3台のディスクを使うので、「pg_num」に「128(推奨値)」を指定する。このあたりは、Cephの細かな規定があり、1OSDあたり250割り当てらえるPG数(今回なら3台なので750PG)を越えないように、プールごとにPG数を割り当てる必要がある(今回は128指定なので128×3=384使用)。

Poolを作成すれば完了

 つまり、今回のケースの場合、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台のサーバーがオフラインになっても問題なく動作可能で、サーバーの交換や修理なども手軽にできる。ワンランク上の自宅サーバーと言ってよさそうだ。

ライブマイグレーションの様子。動画は残念ながら2秒ほど止まってしまったが、Windowsやアプリはまったく変化することなく、2分ほどで稼働させるサーバーを移動させることができた