Cephが使えるようになるまで(CephFS編)
cephadmを使ったCeph構築
#環境(事前準備するもの)
・ubuntu20.04(Hyper-Vで用意)×3
・docker
・chrony
ubuntuの構成について
Hyper-Vデフォルトから、の変更点
CPU:1→2
メモリ:512MB→4096MB(動的メモリ切)
HDDの追加:デフォルトの127GB
#インストール
apt install -y cephadm
ceph1で実行
192.168.1.240は、自分のIP
sudo cephadm bootstrap --mon-ip 192.168.1.240
しばらく待つと、下のようなメッセージが出るので、URLにアクセスしましょう。
Ceph Dashboard is now available at:
URL: https://ceph1:8443/
User: admin
Password: vyy4auyzrr
You can access the Ceph CLI with:
sudo /usr/sbin/cephadm shell --fsid 73a78d66-4978-11ec-a72c-39d22931f602 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/docs/master/mgr/telemetry/
Bootstrap complete.
上のURLの部分のceph1は、host名になります。
Passwordは毎回違うものが生成されるのでログを必ず見てください。
名前解決できていない場合は、URLを下のように自分で書き換えてください。
https://192.168.1.240:8443/
ブラウザでURLを見ると
こんな感じで見えます。
先ほどのUserとPasswordを入れます。(今回の場合は、User: admin、Password: vyy4auyzrrです)
もう一度パスワードを入れて、自分の好きなパスワードに書き換えましょう。
まずは、ほかの2台も参加させます。
root@ceph1:~# sshpass -p "password" ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected] -o StrictHostKeyChecking=no
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/etc/ceph/ceph.pub"
Number of key(s) added: 1
Now try logging into the machine, with: "ssh -o 'StrictHostKeyChecking=no' '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
root@ceph1:~# ./cephadm shell -- ceph orch host add ceph2 192.168.1.241
Inferring fsid 173f9dc8-b02c-11ec-9dae-cd5183c0b4c4
Inferring config /var/lib/ceph/173f9dc8-b02c-11ec-9dae-cd5183c0b4c4/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
Error EINVAL: New host ceph2 (192.168.1.241) failed check: ['podman|docker (/usr/bin/docker) is present', 'systemctl is present', 'lvcreate is present', 'Unit chrony.service is enabled and running', 'Hostname "ceph2" matches what is expected.', 'ERROR: hostname "ceph02" does not match expected hostname "ceph2"']
root@ceph1:~# ./cephadm shell -- ceph orch host add ceph02 192.168.1.241
Inferring fsid 173f9dc8-b02c-11ec-9dae-cd5183c0b4c4
Inferring config /var/lib/ceph/173f9dc8-b02c-11ec-9dae-cd5183c0b4c4/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
Added host 'ceph02'
root@ceph1:~# sshpass -p "password" ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected] -o StrictHostKeyChecking=no
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/etc/ceph/ceph.pub"
Number of key(s) added: 1
Now try logging into the machine, with: "ssh -o 'StrictHostKeyChecking=no' '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
root@ceph1:~# ./cephadm shell -- ceph orch host add ceph03 192.168.1.242
Inferring fsid 173f9dc8-b02c-11ec-9dae-cd5183c0b4c4
Inferring config /var/lib/ceph/173f9dc8-b02c-11ec-9dae-cd5183c0b4c4/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
Added host 'ceph03'
OSDの追加をします。
デバイスの確認(必須ではない)
root@ceph1:~# ./cephadm shell -- ceph orch device ls
Inferring fsid 173f9dc8-b02c-11ec-9dae-cd5183c0b4c4
Inferring config /var/lib/ceph/173f9dc8-b02c-11ec-9dae-cd5183c0b4c4/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
Hostname Path Type Serial Size Health Ident Fault Available
ceph02 /dev/sda hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A Yes
ceph02 /dev/fd0 hdd 4096 Unknown N/A N/A No
ceph03 /dev/sdb hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A Yes
ceph03 /dev/fd0 hdd 4096 Unknown N/A N/A No
ceph1 /dev/sdb hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A Yes
ceph1 /dev/fd0 hdd 4096 Unknown N/A N/A No
root@ceph1:~# ceph orch apply osd --all-available-devices
Scheduled osd.all-available-devices update...
上のコマンドでAvailableがYesのhdd(ssd)がOSDに入ります。
少し時間がかかる(5分ぐらい?)ので、待ちましょう
すべてのOSDが追加されました。
OSDを追加後
ディスクの状態を見ると、AvailableがNoになってます。
root@ceph1:~# ./cephadm shell -- ceph orch device ls
Inferring fsid 4e517a28-afb6-11ec-a140-6b57f3dd59e4
Inferring config /var/lib/ceph/4e517a28-afb6-11ec-a140-6b57f3dd59e4/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
Hostname Path Type Serial Size Health Ident Fault Available
ceph02 /dev/fd0 hdd 4096 Unknown N/A N/A No
ceph02 /dev/sda hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A No
ceph03 /dev/fd0 hdd 4096 Unknown N/A N/A No
ceph03 /dev/sdb hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A No
ceph1 /dev/fd0 hdd 4096 Unknown N/A N/A No
ceph1 /dev/sdb hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A No
ここからは、CephFSの構築です。
cephfsVolという名前のCephFSを作ります。
root@ceph1:~# cephadm shell -- ceph fs volume create cephfsVol
Inferring fsid 4e517a28-afb6-11ec-a140-6b57f3dd59e4
Inferring config /var/lib/ceph/4e517a28-afb6-11ec-a140-6b57f3dd59e4/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
一度Cluster StatusがERRORになります。(MDS_ALL_DOWNになりますが、10分ぐらい待ちましょう。待ち時間はそれぞれのディスクの速さによるのかもしれません)
Cluster StatusがHEALTH_OKになったら、下の手順に移りましょう。
adminという名前でキーを取得します。
echo $(sed -n 's/.*key *= *\([^ ]*.*\)/\1/p' < /etc/ceph/ceph.client.admin.keyring) > /etc/ceph/admin.secret
cat /etc/ceph/admin.secret
chmod 600 /etc/ceph/admin.secret
次にマウントするためのディレクトリを作り、マウントします。
mkdir -p /mnt/mycephfs
mount -t ceph ceph1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret
エラーが起きずに何も返ってこなければ接続成功です。
#失敗例
ubuntuの構成を1PCでHDD3台でやったら、マウント時にエラーになりました。
OSDの構成
root@ceph1:~# ./cephadm shell -- ceph orch device ls
Inferring fsid 0c17298c-ac87-11ec-b1ee-31bc59826852
Inferring config /var/lib/ceph/0c17298c-ac87-11ec-b1ee-31bc59826852/mon.ceph1/config
Using recent ceph image quay.io/ceph/ceph@sha256:1b0ceef23cbd6a1af6ba0cbde344ebe6bde4ae183f545c1ded9c7c684239947f
Hostname Path Type Serial Size Health Ident Fault Available
ceph1 /dev/sda hdd 6002248081e48dce650d598ad6425c43 136G Unknown N/A N/A Yes
ceph1 /dev/sdb hdd 600224805e15af604d8afc01f5cbaf8d 136G Unknown N/A N/A Yes
ceph1 /dev/sdc hdd 6002248038598ea95ae6f4d90b62641c 136G Unknown N/A N/A Yes
ceph1 /dev/fd0 hdd 4096 Unknown N/A N/A No
mkdir -p /mnt/mycephfs
mount -t ceph ceph1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret
mount error: no mds server is up or the cluster is laggy
おそらく、1台のHDD
HDDで構成してしまったため、それぞれが遅すぎた。(SSDとかでやったらできるかもしれません)
マウント前から、Cluster StatusがHEALTH_WARNから30分ぐらい待ってもOKになっていませんでした。
#追記
何度か作り直しもあり、ログのfsidが合っていませんがご容赦ください。
コマンド「ceph orch device ls」を実行しても、ディスクが表示されないことがありました。
cephadmを入れる前に、HDDを追加しとくのが個人的にはポイントです。
動的メモリをOFFにしたのは、私のPCのメモリが少ないためなので、参考程度にお願いいたします。
Author And Source
この問題について(Cephが使えるようになるまで(CephFS編)), 我々は、より多くの情報をここで見つけました https://qiita.com/kazumasaxx/items/031bcf60ef695af31e14著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .