MINISFORUM MS-01でCephクラスターを構築する方法|ホームラボ・自宅サーバー向けセットアップガイド

CentOS Stream 9を搭載した5台のMINISFORUM MS-01にCeph Squid(19.2)を導入し、ストレージの暗号化とベンチマークを実施しました。

1. この記事の概要

CentOS Stream 9を搭載した5台のMINISFORUM MS-01にCeph Squid(バージョン19.2)を構築しました。

本記事では、Cephクラスターのセットアップ手順、すべてのストレージドライブを暗号化した方法、さらに構築後に実施したベンチマーク結果をご紹介します。

ホームラボ環境でCephクラスターの構築を検討している方は、PCスペックの見方をあらかじめ確認し、CPU・メモリ・ストレージ構成を把握したうえで構築するとスムーズです。

✅ 主な成果:10個の暗号化されたOSDを備えた、正常に動作する5ノードのCephクラスタが構築され、実際のワークロードにも対応可能な構成となりました。

2. 構築環境と準備

Cephは2025年3月上旬にCeph Squid 19.2.1で構築しました。その後、2025年9月6日にDashboardから19.2.3へアップグレードしましたが、どちらもスムーズに完了しました。夏場は室温が高くなるため、作業環境が40℃を超えないよう、必要に応じてノードの電源を停止することもあります。

今回のPC構成

  •  ハードウェア:MINISFORUM MS-01 ×5(各ノードSSD×2)
  • OS:CentOS Stream 9
  • Ceph:Squid 19.2.3

🗒️まとめ

GUIからのアップグレードも容易で、現在まで安定して運用できています。

3. 最初のノードをブートストラップ

最初のノード(ms-01-01)で、モニターの IP アドレスとクラスタネットワークを指定して、標準の cephadm ブートストラップコマンドを実行します。

cephadm bootstrap --mon-ip 192.168.40.151 --allow-fqdn-hostname --cluster-network "192.168.30.0/24"

この操作により、単一ノードのCephクラスターが作成され、SSHキーが生成されます。また、Cephダッシュボードへアクセスできるようになります。

結果

追加ノードを受け入れられるCephクラスターが構築されます。

4. 残り4台のノードを追加

ブートストラップ用SSH公開鍵を、ms-01-02〜ms-01-05へ配布します。

ssh-copy-id -f -i /etc/ceph/ceph.pub root@ms-01-02

続いて、各ホストを_adminラベル付きで追加します。

ceph orch host add ms-01-02.storage.pcfe.net 192.168.40.152 --labels _admin

その後、ダッシュボードまたはCLIからmon / mgr / osd / mdsなどのラベルを追加できます。

結果

5台すべてのノードがクラスターへ追加され、それぞれ必要な役割を割り当てられます。

5. すべてのOSDを暗号化(最も重要なポイント)

今回の目的は、5台のMS-01に搭載された未使用SSDをすべて利用し、すべてのOSDをLUKSで暗号化することです。デフォルトの--all-available-devicesでは暗号化されないため、まず以下を実行します。

ceph orch apply osd --all-available-devices --unmanaged=true

続いて、encrypted: trueを指定したカスタムドライブ仕様(YAML)を作成します。例:ms-01-SSD-as-OSD-spec.yml

service_type: osd
service_id: osd_spec_MS-01_SSDs
placement:
host_pattern: 'ms-01-*'
encrypted: true
data_devices:
rotational: 0

その後、以下を実行します。
ceph orch apply -i ms-01-SSD-as-OSD-spec.yml

暗号化されていないOSDを順次置き換えることで、10基すべてのOSD(各ノード2基)が暗号化されます。

❓なぜ暗号化するのか
一般向け NVMe ドライブが寿命を迎えた際、データ漏洩を心配することなくリサイクルできます。なお、LUKS によるパフォーマンスの低下はごくわずかです。

🗒️補足
なお、本手法はノード本体の盗難対策を目的としたものではありません。ドライブ廃棄時の情報漏えい対策として有効です。

結果
すべてのOSDが暗号化された状態になりました。

6. ダッシュボードをFQDNへリダイレクト

ダッシュボードへのアクセス時に、IPアドレスの代わりに常に完全修飾ドメイン名(FQDN)が使用されるように、mgr/dashboard/redirect_resolve_ip_addr を有効にしました。

ceph config set mgr mgr/dashboard/redirect_resolve_ip_addr True

結果
ダッシュボードは常にFQDNにリダイレクトされます。

7. プールとCephFSボリュームの作成

ベンチマーク用に、testbench と rbdbench の 2 つのプールを作成しました。各プールには 32 のプレースメントグループを設定しました。

ceph osd pool create testbench 32
ceph osd pool create rbdbench 32
ceph osd pool application enable rbdbench rbd

次に、MDSデーモンを自動的に配置する「cephfs」という名前のCephFSボリュームを作成しました。

ceph fs volume create cephfs --placement="label:mds"

結果
合計5つのプール(.mgr、testbench、rbdbench、cephfs.meta、cephfs.data)が作成されました。すべてのプールは3回レプリケートされ、SSDが使用されています。

8. ベンチマーク結果(今後の比較用)

ネットワークをアップグレードする前にrados benchrbd benchを実行して数値を測定しました。現在のパブリックネットワークは1GbEです。

Rados ベンチマーク(4MBのオブジェクト/900秒/16並列)
  • シーケンシャル書き込み:128.6 MB/s、32 IOPS、平均レイテンシ 0.50 秒
  • シーケンシャル読み込み:128.5 MB/s、32 IOPS、平均レイテンシ 0.50 s
  • ランダム読み込み:128.4 MB/s、32 IOPS、平均レイテンシ 0.50 s
RBDベンチマーク(4KBランダム/読み込み80%/5GB/16スレッド)
  • 総スループット:84 MiB/s(読み込み 67 MiB/s、書き込み 17 MiB/s)
  • IOPS:約21,388 ops/sec(読み込み 17,116、書き込み 4,272)

💡ポイント
今後2.5GbEスイッチへアップグレードした場合、これらの数値からネットワークがボトルネックになるかどうかが判断できます。

9. クラスターの状態(2025年9月6日時点)

健全性:HEALTH_OK

  • MON:3
  • MGR:3(うち1台がアクティブ)
  • アクティブなMDS 1台+スタンバイ1台
  • OSD:10(すべて稼働)
  • 生ストレージ:18TiB(SSD)
  • 使用容量:7.8GiB(0.04%)
  • プール:5
  • 配置グループ:337(すべてアクティブかつクリーン)

🗒️まとめ

クラスターは安定した状態で稼働しており、実運用を想定したワークロードにも対応できる構成となっています。

 

今回の構築内容やベンチマーク結果が、ホームラボや自宅サーバーでCephクラスターの構築を検討している方の参考になれば幸いです。

i
この記事は外部ウェブサイトから転載されたものです
出典:https://blog.pcfe.net/hugo/
元のタイトル:Minisforum MS-01, CentOS Stream 9, Ceph Squid install
著者:pcfe

※本記事の転載は原著者の許可を得ています。再転載を希望される場合は、原著者に直接お問い合わせください。

※本記事に記載されている見解や意見は著者個人のものであり、Minisforum の公式な立場を反映するものではありません 。