2.4. 配置 Ceph 客户端身份验证


您可以为 Ceph 客户端配置身份验证以访问 Red Hat OpenStack Platform。

先决条件

  • Ceph 监控主机的 root 级别访问权限。
  • 一个正在运行的 Red Hat Ceph Storage 集群。

流程

  1. 从 Ceph 监控主机,为 Cinder、Cinder 备份和 Glance 创建新用户:

    [root@mon ~]# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images'
    
    [root@mon ~]# ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups'
    
    [root@mon ~]# ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
    Copy to Clipboard Toggle word wrap
  2. client.cinderclient.cinder-backupclient.glance 的密钥环添加到适当的节点,并更改其所有权:

    [root@mon ~]# ceph auth get-or-create client.cinder | ssh CINDER_VOLUME_NODE sudo tee /etc/ceph/ceph.client.cinder.keyring
    [root@mon ~]# ssh CINDER_VOLUME_NODE chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
    
    [root@mon ~]# ceph auth get-or-create client.cinder-backup | ssh CINDER_BACKUP_NODE tee /etc/ceph/ceph.client.cinder-backup.keyring
    [root@mon ~]# ssh CINDER_BACKUP_NODE chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring
    
    [root@mon ~]# ceph auth get-or-create client.glance | ssh GLANCE_API_NODE sudo tee /etc/ceph/ceph.client.glance.keyring
    [root@mon ~]# ssh GLANCE_API_NODE chown glance:glance /etc/ceph/ceph.client.glance.keyring
    Copy to Clipboard Toggle word wrap
  3. OpenStack Nova 节点需要 nova-compute 进程的密钥环文件:

    [root@mon ~]# ceph auth get-or-create client.cinder | ssh NOVA_NODE tee /etc/ceph/ceph.client.cinder.keyring
    Copy to Clipboard Toggle word wrap
  4. OpenStack Nova 节点还需要将 client.cinder 用户的 secret 密钥存储在 libvirt 中。libvirt 进程需要 secret 密钥来访问集群,同时从 Cinder 附加块设备。在 OpenStack Nova 节点上创建 secret 密钥的临时副本:

    [root@mon ~]# ceph auth get-key client.cinder | ssh NOVA_NODE tee client.cinder.key
    Copy to Clipboard Toggle word wrap

    如果存储集群包含使用 exclusive-lock 功能的 Ceph 块设备镜像,请确保所有 Ceph 块设备用户都有 blocklist 客户端的权限:

    [root@mon ~]# ceph auth caps client.ID mon 'allow r, allow command "osd blacklist"' osd 'EXISTING_OSD_USER_CAPS'
    Copy to Clipboard Toggle word wrap
  5. 返回到 OpenStack Nova 主机:

    [root@mon ~]# ssh NOVA_NODE
    Copy to Clipboard Toggle word wrap
  6. 为 secret 生成 UUID,并保存用于配置 nova-compute 的 secret 的 UUID:

    [root@nova ~]# uuidgen > uuid-secret.txt
    Copy to Clipboard Toggle word wrap
    注意

    您不一定需要所有 Nova 计算节点上的 UUID。但是,从平台一致性角度来说,最好保留相同的 UUID。

  7. 在 OpenStack Nova 节点上,将 secret 密钥添加到 libvirt 中,并删除密钥的临时副本:

    cat > secret.xml <<EOF
    <secret ephemeral='no' private='no'>
      <uuid>`cat uuid-secret.txt`</uuid>
      <usage type='ceph'>
        <name>client.cinder secret</name>
      </usage>
    </secret>
    EOF
    Copy to Clipboard Toggle word wrap
  8. libvirt 设置并定义 secret:

    [root@nova ~]# virsh secret-define --file secret.xml
    [root@nova ~]# virsh secret-set-value --secret $(cat uuid-secret.txt) --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat