Cephクラスター構築ガイド
Ceph クラスタ構築や分散ストレージを自分の環境で確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
Ubuntu 26.04 から CephFS や RBD を利用するには、クライアント側に ceph-common、ceph.conf、client keyring を配置する必要があります。これは Ceph クラスタ本体を作る手順ではなく、既存の Ceph クラスタを Ubuntu 26.04 から利用するための共通設定です。
この記事では、Ceph client が MON へ接続し、指定された client profile の keyring を使える状態を作ります。CephFS の mount や RBD の pool / image 操作は別記事で扱い、ここでは client 共通の入口に絞ります。
ceph-commonをインストールする/etc/ceph/<cluster>/ceph.confを作成する- client keyring を配置する
- 必要に応じて
/etc/ceph/ceph.confへ symlink する ceph -sと profile 指定で疎通を確認する
Ceph client 共通設定の範囲
Ceph client 共通設定では、cluster FSID、MON address、client name、keyring path をそろえます。CephFS や RBD はこの設定を前提に動くため、ここがずれると個別の mount や RBD 操作以前に接続できません。
| 項目 | 役割 |
ceph-common | ceph、rbd、mount.ceph などの client tool |
ceph.conf | cluster FSID、MON 接続先、client keyring path |
| keyring | client profile ごとの認証鍵 |
| symlink | default cluster として /etc/ceph/ceph.conf を使う場合の入口 |
ceph-common をインストールする
Ceph client 用の基本コマンドを使えるように ceph-common をインストールします。
sudo apt update
sudo apt install -y ceph-common
ceph --version
command -v rbd
command -v mount.cephcluster directory を作成する
cluster ごとに設定を分けるため、ここでは /etc/ceph/main を使います。複数クラスタを扱う可能性がある場合、cluster 名ごとに directory を分けておくと衝突しにくくなります。
sudo install -d -o root -g root -m 0755 /etc/ceph/mainceph.conf を作成する
ceph.conf には cluster FSID、MON の接続先、client keyring path を記述します。MON は実際の Ceph cluster の address と port に置き換えます。
sudo tee /etc/ceph/main/ceph.conf >/dev/null <<'EOF'
[global]
fsid = 00000000-0000-0000-0000-000000000000
mon_host = 192.0.2.11:3300,192.0.2.12:3300,192.0.2.13:3300
[client.client01]
keyring = /etc/ceph/main/ceph.client.client01.keyring
EOF
sudo chmod 0644 /etc/ceph/main/ceph.confclient keyring を配置する
client keyring は secret なので、読み取り権限を広げません。ここでは client.client01 の例にしています。key は実際の Ceph cluster で発行した値に置き換えます。
sudo tee /etc/ceph/main/ceph.client.client01.keyring >/dev/null <<'EOF'
[client.client01]
key = CHANGE_ME_CEPH_CLIENT_KEY
EOF
sudo chown root:root /etc/ceph/main/ceph.client.client01.keyring
sudo chmod 0600 /etc/ceph/main/ceph.client.client01.keyringdefault ceph.conf を使う場合
Ceph command の default として使う場合は、/etc/ceph/ceph.conf から cluster 別設定へ symlink します。複数 cluster を扱う host では、default を固定せず -c で明示する方が安全な場合もあります。
sudo ln -sfn /etc/ceph/main/ceph.conf /etc/ceph/ceph.conf
ls -l /etc/ceph/ceph.conf接続を確認する
設定後は、cluster config と client name を明示して確認します。ceph -s が通らない場合は、MON 到達性、FSID、client name、keyring path、key の内容を分けて確認します。
ceph -c /etc/ceph/main/ceph.conf --name client.client01 -s
ceph -c /etc/ceph/main/ceph.conf --name client.client01 auth get client.client01
rbd -c /etc/ceph/main/ceph.conf --name client.client01 ls切り分けの見方
Ceph client の失敗は、network、MON address、cluster FSID、client capability、keyring permission、command 側の config 指定が混ざりやすいです。CephFS や RBD の個別手順へ進む前に、client 共通設定だけで疎通できるかを確認します。
ceph-commonが入っているかmon_hostが実際の MON address と port に合っているかfsidが cluster と一致しているか- client name と keyring file 名が一致しているか
- keyring が
0600で管理されているか - 複数 cluster 環境で default symlink に依存しすぎていないか
まとめ
Ceph クライアント共通設定は、CephFS や RBD を使う前の入口です。ceph-common、ceph.conf、client keyring、必要に応じた default symlink をそろえることで、各 host から既存 Ceph cluster へ接続できる状態を作ります。
個別の CephFS mount や RBD 操作で詰まった場合も、まずこの共通設定で ceph -s が通るかを確認すると、問題が client 共通設定なのか、CephFS / RBD 側の権限や設定なのかを分けやすくなります。

