4.3. 启用 Cephx
启用 cephx
后,Ceph 将在默认搜索路径中查找密钥环,其中包括 /etc/ceph/$cluster.$name.keyring
。您可以通过在 Ceph 配置文件的 [global]
部分添加 keyring
选项来覆盖该位置,但不建议这样做。
执行以下步骤,在禁用身份验证的集群中启用 cephx
。如果您或部署实用程序生成了密钥,您可以跳过与生成密钥相关的步骤。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- Ceph 监控节点的根级别访问权限.
流程
创建
client.admin
密钥,并为您的客户端主机保存密钥副本:[root@mon ~]# ceph auth get-or-create client.admin mon 'allow *' osd 'allow *' -o /etc/ceph/ceph.client.admin.keyring
警告这将擦除任何现有
/etc/ceph/client.admin.keyring
文件的内容。如果部署工具已为您完成,则不要执行此步骤。为 monitor 集群创建密钥环,并生成监控器 secret 密钥:
[root@mon ~]# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
将 monitor keyring 复制到每个 monitor
mon data
目录中的ceph.mon.keyring
文件。例如,要将其复制到集群ceph
中的mon.a
中,请使用:[root@mon ~]# cp /tmp/ceph.mon.keyring /var/lib/ceph/mon/ceph-a/keyring
为每个 OSD 生成 secret 密钥,其中
ID
是 OSD 号:ceph auth get-or-create osd.ID mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-ID/keyring
默认情况下启用
cephx
身份验证协议。注意如果在以前通过将身份验证选项设置为
none
禁用了cephx
身份验证协议,那么删除 Ceph 配置文件 (/etc/ceph/ceph.conf
) 中的[global]
部分的以下行来重新启用cephx
身份验证协议:auth_cluster_required = none auth_service_required = none auth_client_required = none
启动或重启 Ceph 存储集群。
重要启用
cephx
需要停机,因为集群需要完全重启,或者在禁用客户端 I/O 时将其关闭并启动。这些标记需要在重启或关闭存储集群前设置:
[root@mon ~]# ceph osd set noout [root@mon ~]# ceph osd set norecover [root@mon ~]# ceph osd set norebalance [root@mon ~]# ceph osd set nobackfill [root@mon ~]# ceph osd set nodown [root@mon ~]# ceph osd set pause
启用
cephx
后,所有 PG 都活跃且干净,取消设置标记:[root@mon ~]# ceph osd unset noout [root@mon ~]# ceph osd unset norecover [root@mon ~]# ceph osd unset norebalance [root@mon ~]# ceph osd unset nobackfill [root@mon ~]# ceph osd unset nodown [root@mon ~]# ceph osd unset pause