この記事のポイント
- Ubuntu 24.04 LTS のリポジトリには Ceph 19.2.3(Squid・最新安定版)が収録されており、
apt installだけで導入できます - Ceph は Monitor・OSD・Manager の3コンポーネントで構成。最小構成は3ノード×3OSD(MONとOSDを同居させることも可能)
- 現代の Ceph 構築には
cephadmを使う。SSH鍵一本で全ノードへのデプロイが自動化されます - Ceph Dashboard(WebUI)を有効にするとブラウザからクラスターの状態・OSD一覧・プール管理が行えます
- Ubuntu 22.04 には Ceph 17.2.9(Quincy)が搭載。新規構築なら Ubuntu 24.04 + Squid を選ぶのがベストです
注意
本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ceph の本番クラスターには最低3台のノードが必要です。VPS 1台での学習目的セットアップは「単ノード・デモ構成」として扱ってください。
Ceph は、複数台のサーバーをまとめて1つの巨大なストレージプールとして使える分散オブジェクトストレージです。OpenStack や Kubernetes の永続ボリューム、自社のファイルサーバー代替として使われており、クラウドの裏側で動いていることも珍しくありません。
正直、「Ceph は難しい」というイメージが先行しがちです。でも Ubuntu 24.04 には cephadm という便利なデプロイツールが標準収録されており、3台のVPSがあれば思ったよりシンプルに本物のクラスターを組めます。本記事では、Ubuntu 24.04 で実際にコマンドを実行した結果を交えながら、Ceph のインストールから基本運用までを解説します。
目次
- Ceph の構成要素を理解する
- 前提環境とノード要件
- パッケージ確認とインストール(実測)
- SSH 鍵の設定(cephadm 必須)
- cephadm でクラスターをブートストラップ
- OSD の追加
- Ceph Dashboard にアクセスする
- Pool の作成と RBD(ブロックデバイス)の使い方
- CephFS(分散ファイルシステム)の有効化
- よくあるエラーと解決策
- まとめ
Ceph の構成要素を理解する
Ceph を使いこなすには、まず3つの主要デーモンの役割を頭に入れておくことが大切です。

①Monitor(MON)
クラスター全体の「状態地図(クラスターマップ)」を管理します。どのノードがどのデータを持っているか、どのOSDが生きているかを全メンバーが共有するための仲介役です。MON は奇数台必要で、最小3台がクォーラム(合意形成)の前提となります。
②OSD(Object Storage Daemon)
実際のデータを格納する本体です。1ディスク1OSDが基本で、3ノード以上に分散することでレプリケーション(デフォルト3倍)が成立します。OSDが生きているかどうかを互いに監視し、障害があれば自動でデータをリバランスします。
③Manager(MGR)
クラスターのメトリクス収集や、ceph-mgr-dashboard モジュール(WebUI)、Prometheus エクスポーターなどを担当します。
前提環境とノード要件
本記事では以下の環境を前提にします。
| ノード | OS | 役割 | 推奨スペック | ストレージ |
|---|---|---|---|---|
| ceph-node1(管理ノード) | Ubuntu 24.04 LTS | MON / MGR / OSD | 4 vCPU / 8 GB RAM | OS用 50GB + データ用 100GB |
| ceph-node2 | Ubuntu 24.04 LTS | MON / OSD | 4 vCPU / 8 GB RAM | OS用 50GB + データ用 100GB |
| ceph-node3 | Ubuntu 24.04 LTS | MON / OSD | 4 vCPU / 8 GB RAM | OS用 50GB + データ用 100GB |
VPS で試す場合は Vultr の $24/月プラン(4 vCPU / 8 GB) を3台用意するのが現実的です。各ノードに追加ブロックストレージ(100GB 程度)をアタッチしてOSD用ディスクとして使います。
パッケージ確認とインストール(実測)
まず Ubuntu 24.04 で実際に利用できる Ceph パッケージを確認しました。docker run --rm ubuntu:24.04 でコンテナを起動して apt-cache policy を実行した実測結果です。

Ubuntu 24.04 の標準リポジトリ(noble-updates)にはCeph 19.2.3(Squid)が収録されています。Ubuntu 22.04 の Quincy(17.2.9)より2世代新しく、cephadm の使い勝手や Dashboard の安定性が大幅に向上しています。

手順1:全ノードでパッケージをインストールする
3台のノードすべてで以下を実行します。まず cephadm だけを入れれば、残りのコンポーネントはブートストラップ時に自動で取得されます。
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
cephadm
Processing triggers for ca-certificates (20240203) …
Setting up cephadm (19.2.3-0ubuntu0.24.04.3) …
$ cephadm –version
cephadm version 19.2.3 (c92aebb279828e9c3c1f5d24613efca272649e62) squid (stable)
実際に ubuntu:24.04 のコンテナで apt-get install ceph-common を実行したところ、ceph version 19.2.3 (c92aebb279828e9c3c1f5d24613efca272649e62) squid (stable) と表示されました。これで Ceph の存在をホスト環境に確認できます。
ceph version 19.2.3 (c92aebb279828e9c3c1f5d24613efca272649e62) squid (stable)
$ dpkg -l ceph-common | tail -1
ii ceph-common 19.2.3-0ubuntu0.24.04.3 arm64 common utilities to mount and interact with a ceph storage cluster
SSH 鍵の設定(cephadm 必須)
cephadm は SSH で各ノードに接続してデプロイを行います。管理ノード(node1)から他のノードにパスワードなしでSSH接続できることが必須です。
Ubuntu 24.04 には OpenSSH 9.6p1 が収録されており、セキュリティが強化された ed25519 鍵の生成が推奨されます。
Generating public/private ed25519 key pair.
Your identification has been saved in /root/.ssh/ceph_key
Your public key has been saved in /root/.ssh/ceph_key.pub
The key fingerprint is:
SHA256:0leBV/HatkYw2ZsavrL/Y5O2exRvPThgwfA/eN7yqcM ceph-admin@node1
$ ssh-copy-id -i ~/.ssh/ceph_key.pub root@ceph-node2
Number of key(s) added: 1
$ ssh-copy-id -i ~/.ssh/ceph_key.pub root@ceph-node3
Number of key(s) added: 1
上記の公開鍵フィンガープリント(SHA256:0leBV/...)は、Ubuntu 24.04 のコンテナで ssh-keygen -t ed25519 を実際に実行して取得したものです。OpenSSH バージョンは OpenSSH_9.6p1 Ubuntu-3ubuntu13.16, OpenSSL 3.0.13 30 Jan 2024 でした。
VPS(root ログイン)の場合
Vultr や DigitalOcean の Ubuntu インスタンスはデフォルトで root ログイン可能です。PermitRootLogin yes が /etc/ssh/sshd_config で有効になっていることを確認してください。本番運用では後でこの設定を締め直すことを忘れずに。
cephadm でクラスターをブートストラップ
SSH の設定が完了したら、管理ノード(node1)で cephadm bootstrap を実行します。これ1コマンドで Monitor・Manager が起動し、Dashboard までセットアップされます。
–mon-ip 10.0.0.1 \
–initial-dashboard-user admin \
–initial-dashboard-password ‘ChangeMe2026!’
# —- 数分後 —-
Ceph Dashboard is now available at:
URL: https://ceph-node1:8443/
User: admin
Password: ChangeMe2026!
Enabling client.admin keyring and conf on hosts with “admin” label …
Saving cluster configuration to /var/lib/ceph/xxxxxxxx-xxxx/config …
Enabling autotune for osd_memory_target …
You can access the Ceph CLI as following in case of multi-cluster or non-default config:
sudo /usr/sbin/cephadm shell –fsid xxxxxxxx-xxxx — ceph -s
Enabling mgr prometheus module …
Enabling the Prometheus monitoring stack …
ここだけは順番を間違えると動きません。--mon-ip には node1 の「パブリックIPではなく、ノード間で通信できるプライベートIP(または実IPアドレス)」を指定してください。Vultr の場合は内部NIC(10.0.0.x)があれば迷わずそちらを使います。
手順2:他ノードをクラスターに追加する
Added host ‘ceph-node2’ with addr ‘10.0.0.2’
$ sudo ceph orch host add ceph-node3 10.0.0.3
Added host ‘ceph-node3’ with addr ‘10.0.0.3’
$ sudo ceph orch host ls
HOST ADDR LABELS STATUS
ceph-node1 10.0.0.1 _admin
ceph-node2 10.0.0.2
ceph-node3 10.0.0.3
3 hosts in cluster
OSD の追加
各ノードのデータ用ディスク(例: /dev/sdb)を OSD として登録します。cephadm は未フォーマットの空きディスクを自動検出できます。
HOST PATH TYPE SIZE AVAILABLE REFRESHED
ceph-node1 /dev/sdb hdd 100G Yes 4m ago
ceph-node2 /dev/sdb hdd 100G Yes 4m ago
ceph-node3 /dev/sdb hdd 100G Yes 4m ago
$ sudo ceph orch apply osd –all-available-devices
Scheduled osd.all-available-devices update…
$ sudo ceph -s
cluster:
id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph-node1,ceph-node2,ceph-node3
mgr: ceph-node1.xxxxxx(active), standbys: ceph-node2
osd: 3 osds: 3 up (since 2m), 3 in (since 2m)
data:
pools: 1 pools, 1 pgs
objects: 0 objects, 0 B
usage: 13 MiB used, 299 GiB / 299 GiB avail
pgs: 1 active+clean
HEALTH_OK が表示されたら、クラスターが正常に動作しています。3 OSDが全て up かつ in になっていることを確認してください。
Ceph Dashboard にアクセスする
ブートストラップ時に Dashboard は自動で有効化されています。ブラウザで https://<node1のIP>:8443/ にアクセスしてください(自己署名証明書の警告が出ますが「詳細設定」から進めます)。

ログイン後のトップ画面では、クラスターの状態・OSD 数・使用容量・Client I/O がひと目でわかります。HEALTH_OK が緑で表示されていれば問題ありません。

「OSDs」タブでは各 OSD のホスト・状態・ディスク使用率・IOPS をリアルタイムで確認できます。

Dashboard のHTTPS証明書について
デフォルトは自己署名証明書です。社内環境や学習目的なら問題ありませんが、外部公開する場合は Let’s Encrypt などの証明書を設定してください。ceph dashboard set-ssl-certificate コマンドで差し替えられます。
Pool の作成と RBD(ブロックデバイス)の使い方
Ceph の実際のストレージ機能を使うには、まず「Pool(プール)」を作る必要があります。RBD(Rados Block Device)はKubernetesのPVCや仮想マシンのディスクとして使われる最もポピュラーなインターフェースです。
pool ‘rbd-pool’ created
$ sudo rbd pool init rbd-pool
$ sudo rbd create rbd-pool/myvolume –size 10G
$ sudo rbd ls rbd-pool
myvolume
$ sudo rbd info rbd-pool/myvolume
rbd image ‘myvolume’:
size 10 GiB in 2560 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: xxxxxxxxxx
block_name_prefix: rbd_data.xxxxxxxxxx
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
RBD をサーバーにマウントする
/dev/rbd0
$ sudo mkfs.ext4 /dev/rbd0
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 2621440 4k blocks and 655360 inodes
$ sudo mkdir /mnt/ceph-rbd
$ sudo mount /dev/rbd0 /mnt/ceph-rbd
$ df -h /mnt/ceph-rbd
Filesystem Size Used Avail Use% Mounted on
/dev/rbd0 10G 24K 9.5G 1% /mnt/ceph-rbd
CephFS(分散ファイルシステム)の有効化
CephFS は POSIX 互換の分散ファイルシステムで、複数のサーバーから同時にマウントできます。NFS/Samba の代替として、または Kubernetes の ReadWriteMany PVC として使われます。
Volume created successfully (no MDS daemons created)
$ sudo ceph orch apply mds cephfs –placement=”3″
Scheduled mds.cephfs update…
$ sudo ceph fs status
cephfs – 0 clients
========
RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS
0 active ceph-node1.abc Reqs: 0 /s 10 1 1 0
POOL TYPE USED AVAIL
cephfs_data data 0 B 99.7G
cephfs_meta meta 96.0k 99.7G
CephFS をクライアントからマウントする
$ sudo mkdir /mnt/cephfs
$ sudo mount -t ceph admin@.cephfs=/ /mnt/cephfs \
-o secretfile=/etc/ceph/admin.key
$ df -h /mnt/cephfs
Filesystem Size Used Avail Use% Mounted on
admin@.cephfs=/ 299G 0 299G 0% /mnt/cephfs
ディスクI/O実測結果
参考値として、Ubuntu 24.04 コンテナ(overlayfs)上で dd によるI/O速度を3回計測しました。実際のCeph OSDはベアメタルHDD/SSDを使うため、構成に応じて大きく変わります。

Docker overlayfs 上での書き込み速度は3回平均 305 MB/s(最小 243 MB/s・最大 368 MB/s)でした。実際の Ceph クラスターでは OSD の物理ディスク性能と NIC 帯域に依存します。3ノード・10GbE 環境なら Client Write が 500 MB/s 前後になるケースも報告されています。

sysbench CPU ベンチ(2スレッド・10秒)の3回平均は 3,575 events/sec(最小 2,993・最大 4,318)でした。Ceph Monitor デーモンの CPU 負荷は低め(1〜5%程度)ですが、OSD は書き込み時に CRUSH アルゴリズムの計算負荷が生じるため、2コア以上の確保を推奨します。
よくあるエラーと解決策
① HEALTH_WARN: mons are allowing insecure global_id reclaim
古いクライアントとの互換性のために有効になっている機能を無効化します。
② OSD が 1台しかない状態で HEALTH_WARN: Degraded data redundancy
レプリケーション数(デフォルト3)に対して OSD が足りないと表示されます。学習目的なら Pool の min_size を下げることで回避できますが、本番環境では必ず OSD 数を増やしてください。
$ sudo ceph osd pool set .mgr min_size 1
本番環境では絶対に使わないこと
上記の設定はデータ冗長性を失います。学習・検証目的の単ノード構成でのみ使用し、本番環境では OSD 数を最低3以上に維持してください。
③ cephadm bootstrap で “Unable to resolve host” エラー
各ノードの /etc/hosts にホスト名→IPの対応が書かれているか確認します。
10.0.0.1 ceph-node1
10.0.0.2 ceph-node2
10.0.0.3 ceph-node3
EOF
④ “PGs not clean after 10 minutes” — PG がずっと active+remapped のまま
OSD の追加直後は CRUSH マップの再計算でリバランスが走ります。ceph -w でリアルタイムに状況を見ながら、5〜10分待つと自然に active+clean になることがほとんどです。
2026-06-14T10:30:00.000 mon.ceph-node1 [INF] pgmap v42: 128 pgs: 128 active+clean; 0 B data, 14 MiB used, 299 GiB / 299 GiB avail
まとめ
Ceph on Ubuntu 24.04 の構築と基本運用について解説しました。実測で確認したポイントをまとめます。
今回の確認ポイント(実測)
- Ubuntu 24.04 (noble-updates) には Ceph 19.2.3(Squid)が収録。
apt install cephadmだけで最新版が入る ceph --versionの実測出力:ceph version 19.2.3 (c92aebb279828e9c3c1f5d24613efca272649e62) squid (stable)- Ubuntu 22.04 は Ceph 17.2.9(Quincy)。新規構築なら Ubuntu 24.04 + Squid 一択
- OpenSSH 9.6p1 が同梱。ed25519 鍵を使った SSH 設定で cephadm の自動デプロイが動く
- dd 書き込み実測: 平均 305 MB/s(最小 243・最大 368 MB/s)
- sysbench CPU 実測: 平均 3,575 events/sec(2スレッド / Ubuntu 24.04 Docker 環境)
- Dashboard は cephadm bootstrap で自動有効化(https://node1:8443/)
Ceph は「むずかしい」というイメージがありますが、cephadm の登場で操作がかなりシンプルになりました。VPS 3台で本物の分散ストレージを体験してみると、クラウドストレージの仕組みが一気に腑に落ちます。
Ceph を運用する VPS の選び方については、以下の記事も参考にしてください。
→ (VPS比較・選び方ガイド)



コメント