我正在創建一個簡單的 Ceph 叢集並嘗試連接到 Ceph 網關。
這是我的 Ceph 叢集的 ceph 狀態輸出:
cluster:
id: a7f64266-0894-4f1e-a635-d0aeaca0e993
health: HEALTH_WARN
mon is allowing insecure global_id reclaim
1 monitors have not enabled msgr2
5 pool(s) have no replicas configured
services:
mon: 1 daemons, quorum rhcsa (age 4h)
mgr: rhcsa(active, since 8s)
osd: 1 osds: 1 up (since 4h), 1 in (since 4h)
data:
pools: 5 pools, 129 pgs
objects: 27 objects, 453 KiB
usage: 22 MiB used, 20 GiB / 20 GiB avail
pgs: 129 active+clean
這是 /etc/ceph/ceph.conf 下的 Ceph 設定:
[global]
fsid = a7f64266-0894-4f1e-a635-d0aeaca0e993
mon_initial_members = rhcsa
mon_host = 192.168.122.61
public_network = 192.168.122.0/24
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd_pool_default_size = 1
osd_pool_default_min_size = 1
osd_pool_default_pg_num = 333
osd_crush_chooseleaf_type = 1
[client.rgw.rhcsa]
host = rhcsa
rgw dns name = rhcsa
log file = /var/log/ceph/client.rgw.rhcsa.log
keyring = /var/lib/ceph/radosgw/ceph-rgw.rhcsa/keyring
rgw frontends = "beast port=8080"
我為 rgw 建立了以下目錄:
/var/lib/ceph/radosgw/ceph-rgw.rhcsa
然後是鑰匙圈:
sudo ceph-authtool --create-keyring /var/lib/ceph/radosgw/ceph-rgw.rhcsa/keyring
sudo chmod +r /var/lib/ceph/radosgw/ceph-rgw.rhcsa/keyring
sudo ceph-authtool /var/lib/ceph/radosgw/ceph-rgw.rhcsa/keyring -n client.rgw.rhcsa --gen-key
sudo ceph-authtool -n client.rgw.rhcsa --cap osd 'allow rwx' --cap mon 'allow rwx' /var/lib/ceph/radosgw/ceph-rgw.rhcsa/keyring
然後啟動Ceph的RadosGW服務:
sudo systemctl restart [email protected]
RadosGW 服務似乎運作良好:
[root@rhcsa ~]# systemctl status [email protected]
● [email protected] - Ceph rados gateway
Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; preset: disabled)
Active: active (running)
Main PID: 18501 (radosgw)
Tasks: 9
Memory: 6.5M
CPU: 39ms
CGroup: /system.slice/system-ceph\x2dradosgw.slice/[email protected]
└─18501 /usr/bin/radosgw -f --cluster ceph --name client.rgw --setuser ceph --setgroup ceph
rhcsa systemd[1]: Started Ceph rados gateway.
但是,當我嘗試從 8080 獲取回應時,我什麼也沒得到:
[root@rhcsa ~]# curl http://localhost:8080
curl: (7) Failed to connect to localhost port 8080: Connection refused
我使用的是 Rocky Linux 9.2,Ceph 版本為 17.2.6 quincy/stable。
答案1
重新建立並重新啟動 ceph-mgr 守護程序剛剛解決了問題,現在我可以從我的 RadosGW 端點獲得回應。