将 overcloud 与现有 Red Hat Ceph Storage 集群集成
将 overcloud 配置为使用独立 Red Hat Ceph Storage 集群
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对文档提供反馈信息。与我们分享您的成功秘诀。
在 JIRA 中提供文档反馈
使用 Create Issue 表单在 OpenShift (RHOSO)或更早版本的 Red Hat OpenStack Platform (RHOSP)上提供有关 Red Hat OpenStack Services 文档的反馈。当您为 RHOSO 或 RHOSP 文档创建问题时,这个问题将在 RHOSO Jira 项目中记录,您可以在其中跟踪您的反馈的进度。
要完成 Create Issue 表单,请确保您已登录到 JIRA。如果您没有红帽 JIRA 帐户,您可以在 https://issues.redhat.com 创建一个帐户。
- 点击以下链接打开 Create Issue 页面: Create Issue
- 完成 Summary 和 Description 字段。在 Description 字段中,包含文档 URL、章节或章节号以及问题的详细描述。不要修改表单中的任何其他字段。
- 点 Create。
第 1 章 将 overcloud 与 Ceph Storage 集成 复制链接链接已复制到粘贴板!
Red Hat OpenStack Platform director 创建名为 overcloud 的云环境。您可以使用 director 为 overcloud 配置额外功能,如与 Red Hat Ceph Storage 集成。您可以将 overcloud 与创建 director 或现有 Ceph Storage 集群的 Ceph Storage 集群集成。与 Ceph 的默认集成配置镜像服务(glance)、块存储服务(cinder)和计算服务(nova),以通过 Rados 块设备(RBD)协议使用块存储。也可能会包含文件和对象存储的其他集成选项。
有关 Red Hat Ceph Storage 的更多信息,请参阅 Red Hat Ceph Storage 架构指南。
1.1. Red Hat Ceph Storage 兼容性 复制链接链接已复制到粘贴板!
RHOSP 17.1 支持连接到外部 Red Hat Ceph Storage 6 和 Red Hat Ceph Storage 7 集群。
1.2. 使用外部 CephFS 部署共享文件系统服务 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenStack Platform (RHOSP) director 使用 CephFS 部署共享文件系统服务(manila)。您可以将共享文件系统服务与 NFS 协议或原生 CephFS 协议一起使用。
您不能将共享文件系统服务与 CephFS 原生驱动程序一起使用,以通过 Manila CSI 为 Red Hat OpenShift Container Platform 提供共享。红帽不支持这类部署。如需更多信息,请联系红帽支持团队。
使用 CephFS-NFS 的共享文件系统服务完全支持通过 Manila CSI 向 Red Hat OpenShift Container Platform 提供共享。这个解决方案不适用于大规模部署。有关 CSI 工作负载建议的详情请参考 https://access.redhat.com/articles/6667651。
若要使用原生 CephFS 共享文件系统,客户端需要访问 Ceph 公共网络。当您将 overcloud 与现有 Ceph Storage 集群集成时,director 不会创建隔离存储网络来指定为 Ceph 公共网络。假定此网络已存在。不要提供对 Ceph 公共网络的直接访问,而是允许租户创建路由器来连接 Ceph 公共网络。
NFS-Ganesha 网关
通过 NFS 协议使用 CephFS 时,director 在由 Pacemaker (PCS)管理的 Controller 节点上部署 NFS-Ganesha 网关。PCS 通过一个主动 - 被动(active-passive)配置来管理集群可用性。
Red Hat Ceph Storage 5.x (Ceph 软件包 16.x)和 Red Hat Ceph Storage 6.x 支持 NFS-Ganesha 网关(Ceph 软件包 17.x)。有关如何确定系统上安装的 Ceph Storage 版本的详情,请查看 Red Hat Ceph Storage 发行版本和对应的 Ceph 软件包版本。
先决条件
在使用外部 Ceph Storage 集群配置共享文件系统服务前,请完成以下先决条件:
验证外部 Ceph 存储集群是否具有活跃的元数据服务器(MDS):
ceph -s
$ ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 外部 Ceph Storage 集群必须具有 CephFS 数据和元数据池支持的 CephFS 文件系统。
验证 CephFS 文件系统中的池:
ceph fs ls
$ ceph fs lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
记录这些池的名称来配置 director 参数(
ManilaCephFSDataPoolName和ManilaCephFSMetadataPoolName)。有关此配置的更多信息,请参阅 创建自定义环境文件。
外部 Ceph 存储集群必须具有共享文件系统服务的
cephx客户端名称和密钥。验证密钥环:
ceph auth get client.<client name>
$ ceph auth get client.<client name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<client name> 替换为您的cephx客户端名称。
-
将
1.3. 配置 Ceph 对象存储以使用外部 Ceph 对象网关 复制链接链接已复制到粘贴板!
Red Hat OpenStack Platform (RHOSP) director 支持将外部 Ceph 对象网关(RGW)配置为对象存储服务。若要通过外部 RGW 服务进行身份验证,您必须配置 RGW,以验证身份服务(keystone)中的用户及其角色。
有关如何配置外部 Ceph 对象网关的更多信息,请参阅 Using Keystone with the Ceph Object Gateway Guide 中的 Configuring the Ceph Object Gateway to use Keystone authentication。
第 2 章 准备 overcloud 节点 复制链接链接已复制到粘贴板!
用于演示如何与 Red Hat Ceph Storage 集群集成的 overcloud 部署由 Controller 节点(具有高可用性和计算节点)组成,以托管工作负载。Red Hat Ceph Storage 集群使用 Ceph 管理工具而不是 director 从 overcloud 独立管理自己的节点。有关 Red Hat Ceph Storage 的更多信息,请参阅 Red Hat Ceph Storage 产品文档。
2.1. 配置现有的 Red Hat Ceph Storage 集群 复制链接链接已复制到粘贴板!
要配置 Red Hat Ceph Storage 集群,您可以创建对象存储守护进程(OSD)池,定义功能,并直接在 Ceph Storage 集群中创建密钥和 ID。您可以从任何可访问 Ceph Storage 集群并安装了 Ceph 命令行客户端的计算机执行命令。
流程
- 登录到外部 Ceph 管理节点。
打开交互式 shell 以访问 Ceph 命令:
sudo cephadm shell
[user@ceph ~]$ sudo cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Ceph 存储集群中创建与您的环境相关的以下 RADOS 块设备(RBD)池:
OpenStack Block Storage (cinder)的存储:
ceph osd pool create volumes <pgnum>
$ ceph osd pool create volumes <pgnum>Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Image Storage (glance)的存储:
ceph osd pool create images <pgnum>
$ ceph osd pool create images <pgnum>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 实例存储:
ceph osd pool create vms <pgnum>
$ ceph osd pool create vms <pgnum>Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Block Storage Backup (cinder-backup)的存储:
ceph osd pool create backups <pgnum>
$ ceph osd pool create backups <pgnum>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 如果您的 overcloud 使用 Red Hat Ceph 5 (Ceph 软件包 16)部署共享文件系统服务(manila),则不需要为 CephFS 创建数据和元数据池。您可以创建文件系统卷。有关更多信息,请参阅 Red Hat Ceph Storage 操作指南中的使用 Ceph Orchestrator 管理 MDS 服务。
在 Ceph Storage 集群中创建
client.openstack用户,其功能如下:-
cap_mgr:
allow * -
cap_mon:
profile rbd cap_osd:
profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backupsceph auth add client.openstack mgr 'allow *' mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backups'
$ ceph auth add client.openstack mgr 'allow *' mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backups'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
cap_mgr:
注意为
client.openstack用户创建的 Ceph 客户端密钥:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
示例中的
键值AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw== 是您的 Ceph 客户端密钥。
-
示例中的
如果您的 overcloud 使用 CephFS 部署共享文件系统服务,请在 Ceph 存储集群中创建
client.manila用户。client.manila用户所需的功能取决于您的部署是否通过原生 CephFS 协议或 NFS 协议公开 CephFS 共享。如果您通过原生 CephFS 协议公开 CephFS 共享,则需要以下功能:
-
cap_mgr:
allow rw cap_mon:
allow rceph auth add client.manila mgr 'allow rw' mon 'allow r'
$ ceph auth add client.manila mgr 'allow rw' mon 'allow r'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
cap_mgr:
如果您通过 NFS 协议公开 CephFS 共享,则需要以下功能:
-
cap_mgr:
allow rw -
cap_mon:
allow r cap_osd:
allow rw pool=manila_data指定池名称必须是
ManilaCephFSDataPoolName参数设置的值,默认为manila_data。ceph auth add client.manila mgr 'allow rw' mon 'allow r' osd 'allow rw pool=manila_data'
$ ceph auth add client.manila mgr 'allow rw' mon 'allow r' osd 'allow rw pool=manila_data'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
cap_mgr:
注意在 overcloud 部署模板中使用的 manila 客户端名称和键值:
ceph auth get-key client.manila
$ ceph auth get-key client.manila <AQDQ991cAAAAABAA0aXFrTnjH9aO39P0iVvYyg==>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记下 Ceph Storage 集群的文件系统 ID。此值在
fsid字段中指定,位于集群的配置文件的[global]部分下:[global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...
[global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在创建自定义环境文件时,使用 Ceph 客户端密钥和文件系统 ID,以及共享文件系统服务客户端 ID 和密钥。
第 3 章 与现有 Red Hat Ceph Storage 集群集成 复制链接链接已复制到粘贴板!
使用本节中的流程和信息将 Red Hat OpenStack Platform (RHOSP)与现有 Red Hat Ceph Storage 集群集成。您可以创建自定义环境文件来覆盖和提供 OpenStack 组件内配置选项的值。
3.1. 创建自定义环境文件 复制链接链接已复制到粘贴板!
director 通过环境文件为 tripleo-ansible 提供参数,以与外部 Red Hat Ceph Storage 集群集成:
-
/usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml
如果您使用外部 CephFS 部署共享文件系统服务(manila),则单独的环境文件会提供额外的参数。
-
对于原生 CephFS,环境文件为
/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsnative-config.yaml。 -
对于 CephFS-NFS,环境文件是
/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml。
要配置现有 Ceph Storage 集群与 overcloud 的集成,您必须使用自定义环境文件向 director 提供 Ceph Storage 集群的详细信息。director 在部署过程中调用这些环境文件。
流程
创建自定义环境文件:
/home/stack/templates/ceph-config.yaml在文件中添加
parameter_defaults:部分:parameter_defaults:
parameter_defaults:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
parameter_defaults设置要在/usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml中覆盖的所有参数。您必须至少设置以下参数:-
CephClientKey: Ceph Storage 集群中client.openstack用户的 Ceph 客户端密钥。这是您在 配置现有 Ceph Storage 集群 中检索的键值。例如,AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JExQAsRnRQ==。 -
CephClusterFSID: Ceph Storage 集群的文件系统 ID。这是 Ceph Storage 集群配置文件中的fsid值,您在配置 现有 Ceph Storage 集群 中检索该文件。例如,4b5c8c0a-ff60-454b-a1b4-9747aa737d19。 CephExternalMonHost: Ceph Storage 集群中所有 MON 主机的 IP IP 列表,如172.16.1.7, 172.16.1.8。例如:
parameter_defaults: CephClientKey: <AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==> CephClusterFSID: <4b5c8c0a-ff60-454b-a1b4-9747aa737d19> CephExternalMonHost: <172.16.1.7, 172.16.1.8, 172.16.1.9>
parameter_defaults: CephClientKey: <AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==> CephClusterFSID: <4b5c8c0a-ff60-454b-a1b4-9747aa737d19> CephExternalMonHost: <172.16.1.7, 172.16.1.8, 172.16.1.9>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
可选: 您可以覆盖 Red Hat OpenStack Platform (RHOSP)客户端用户名和以下默认池名称以匹配 Ceph Storage 集群:
-
CephClientUserName: <openstack> -
NovaRbdPoolName: <vms> -
CinderRbdPoolName: <volumes> -
GlanceRbdPoolName: <images> -
CinderBackupRbdPoolName: <backups>
-
可选:如果您使用 CephFS 部署共享文件系统服务,您可以覆盖以下默认数据和元数据池名称:
ManilaCephFSDataPoolName: <manila_data> ManilaCephFSMetadataPoolName: <manila_metadata>
ManilaCephFSDataPoolName: <manila_data> ManilaCephFSMetadataPoolName: <manila_metadata>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保这些名称与您创建的池的名称匹配。
设置您为共享文件系统服务创建的客户端密钥。您可以覆盖该密钥的默认 Ceph 客户端用户名:
ManilaCephFSCephFSAuthId: <manila> CephManilaClientKey: <AQDQ991cAAAAABAA0aXFrTnjH9aO39P0iVvYyg==>
ManilaCephFSCephFSAuthId: <manila> CephManilaClientKey: <AQDQ991cAAAAABAA0aXFrTnjH9aO39P0iVvYyg==>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意默认客户端用户名
ManilaCephFSCephFSAuthId是manila,除非您覆盖它。CephManilaClientKey始终是必需的。
创建自定义环境文件后,您必须在部署 overcloud 时包含该文件。
其他资源
您必须具有 Ceph Storage 容器,才能将 Red Hat Openstack Platform (RHOSP)配置为使用带有 NFS Ganesha 的 Red Hat Ceph Storage。如果外部 Ceph 存储集群仅提供块(通过 RBD)、对象(通过 RGW)或文件(通过原生 CephFS)存储,则不需要 Ceph Storage 容器。
RHOSP 17.1 将部署 Red Hat Ceph Storage 6.x (Ceph 软件包 17.x)。Ceph Storage 6.x 容器托管在 registry.redhat.io 上,这是需要身份验证的 registry。如需更多信息,请参阅 容器镜像准备参数。
3.3. 部署 overcloud 复制链接链接已复制到粘贴板!
使用您创建的环境文件部署 overcloud。
流程
创建 overcloud 需要额外的参数来用于
openstack overcloud deploy命令:openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml \ -e /home/stack/templates/ceph-config.yaml \ -e --ntp-server pool.ntp.org \ ...
$ openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml \ -e /home/stack/templates/ceph-config.yaml \ -e --ntp-server pool.ntp.org \ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例命令使用以下选项:
--templates- 从默认的 heat 模板集合/usr/share/openstack-tripleo-heat-templates/创建 overcloud。-
-e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml- 设置 director 以将现有的 Ceph Storage 集群集成到 overcloud。 -
-e /home/stack/templates/ceph-config.yaml- 添加自定义环境文件来覆盖由-e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml设置的默认值。 -
--ntp-server pool.ntp.org- 设置 NTP 服务器。
-
3.3.1. 使用 CephFS 为共享文件系统服务添加环境文件 复制链接链接已复制到粘贴板!
如果部署使用带有 CephFS 的共享文件系统服务(manila)的 overcloud,您必须添加额外的环境文件。
流程
创建并添加额外环境文件:
-
如果您部署使用原生 CephFS 后端驱动程序的 overcloud,请添加
/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsnative-config.yaml。 如果您部署使用 CephFS-NFS 的 overcloud,请添加
/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml。红帽建议您使用导出共享的隔离 StorageNFS 网络部署 CephFS-NFS 驱动程序。您必须将隔离网络部署到 overcloud Controller 节点。有关创建 StorageNFS 网络并更新角色的详情,请参考 自定义 Red Hat OpenStack Platform 部署中的可组合网络。https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/17.1/html/customizing_your_red_hat_openstack_platform_deployment/assembly_customizing-networks-for-the-rhosp-environment#assembly_composable-networks__custom-nic-templates
-
如果您部署使用原生 CephFS 后端驱动程序的 overcloud,请添加
根据您使用的 CephFS 后端,修改
openstack overcloud deploy命令。对于原生 CephFS:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 CephFS-NFS:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意自定义
ceph-config.yaml环境文件会覆盖external-ceph.yaml文件中的参数,以及manila-cephfsnative-config.yaml文件或manila-cephfsganesha-config.yaml文件中的参数。因此,在external-ceph.yaml和manila-cephfsnative-config.yaml或manila-cephfsganesha-config.yaml后,将自定义的ceph-config.yaml环境文件包含在部署命令中。环境文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
根据您的具体环境,替换
<cluster_ID>,<IP_address>, 和<client_key>的值。
-
根据您的具体环境,替换
其他资源
- 有关生成自定义角色文件的更多信息,请参阅使用 CephFS-NFS 部署共享文件系统服务。
3.3.2. 连接到用于对象存储的外部 Red Hat Ceph Storage 对象网关 复制链接链接已复制到粘贴板!
如果您部署使用外部 Red Hat Ceph Storage 对象网关(RGW)进行对象存储的 overcloud,您必须添加额外的环境文件以连接到 RGW 实例。
流程
- 创建新的自定义环境文件,以定义 RGW 连接。
在自定义环境文件中添加以下参数:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<public_rgw_endpoint_url> 替换为 HTTP 格式的 URL,该 URL 代表外部 RGW 实例侦听连接的公共端点。默认情况下,外部 RGW 实例侦听端口 8080。确认您的部署使用此端口。 -
将
<internal_rgw_endpoint_url> 替换为代表外部 RGW 实例侦听连接的内部端点的 HTTP 格式的 URL。默认情况下,外部 RGW 实例侦听端口 8080。确认您的部署使用此端口。 -
将
<admin_rgw_endpoint_url> 替换为 HTTP 格式的 URL,该 URL 代表外部 RGW 实例侦听连接的管理端点。默认情况下,外部 RGW 实例侦听端口 8080。确认您的部署使用此端口。 将
<swift_password> 替换为 Object Storage 服务(swift)密码。注意overcloud 中创建的
swift用户使用SwiftPassword参数定义的密码。您必须使用rgw_keystone_admin_password将外部 RGW 实例配置为使用同一密码与 Identity 服务进行身份验证。
-
将
- 保存新的自定义环境文件。
在 Red Hat Ceph Storage 配置文件中添加以下参数,将 RGW 配置为使用 Identity 服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<public_keystone_endpoint_url> 替换为 HTTP 格式的 URL,该 URL 代表 Identity 服务侦听连接的公共端点。默认情况下,身份服务侦听端口 5000。确认您的部署使用此端口。 将
<swift_admin_password> 替换为自定义环境文件中定义的对象存储服务密码。注意director 默认在 Identity 服务中创建以下角色和用户:
-
rgw_keystone_accepted_admin_roles: ResellerAdmin, swiftoperator -
rgw_keystone_admin_domain: default -
rgw_keystone_admin_project: service -
rgw_keystone_admin_user: swift
-
-
将
- 保存对 Red Hat Ceph Storage 配置文件的更改。
使用自定义环境文件更新部署:
openstack overcloud deploy --templates \ -e <existing_overcloud_environment_files> -e /usr/share/openstack-tripleo-heat-templates/environments/swift-external.yaml -e <external_rgw_environment_file>
openstack overcloud deploy --templates \ -e <existing_overcloud_environment_files> -e /usr/share/openstack-tripleo-heat-templates/environments/swift-external.yaml -e <external_rgw_environment_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用作为现有部署一部分的环境文件列表替换。
<existing_overcloud_environment_files> -
使用在此过程中创建的自定义环境文件的名称替换
<external_rgw_environment_file>。
-
使用作为现有部署一部分的环境文件列表替换。
第 4 章 验证外部 Ceph Storage 集群集成 复制链接链接已复制到粘贴板!
部署 overcloud 后,确认 Red Hat OpenStack Platform (RHOSP)服务可以写入 Red Hat Ceph Storage 集群。
4.1. 收集 ID 复制链接链接已复制到粘贴板!
若要验证您是否集成了 Red Hat Ceph Storage 集群,您必须首先创建镜像、Compute 实例、块存储卷和一个文件共享并收集其各自的 ID。
流程
- 使用 Image 服务(glance)创建镜像。有关如何创建镜像的更多信息,请参阅创建和管理镜像 中的 导入镜像。
- 记录镜像 ID 以供以后使用。
- 创建计算(nova)实例。有关如何创建实例的更多信息,请参阅创建和管理实例指南中的创建 实例。https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/17.1/html/creating_and_managing_instances/assembly_creating-an-instance_osp
- 记录实例 ID 以供以后使用。
- 创建 Block Storage (cinder)卷。有关如何创建卷的更多信息,请参阅 配置持久性存储指南中的创建块存储卷。
- 记录卷 ID 以供以后使用。
- 使用共享文件系统服务(manila)创建文件共享。
- 列出共享的导出路径,并在后缀中记录 UUID 以供以后使用。
有关如何创建文件共享并列出共享的导出路径的更多信息,请参阅 配置持久性存储 指南中的使用 共享文件系统服务(manila)执行操作。
4.2. 验证 Red Hat Ceph Storage 集群 复制链接链接已复制到粘贴板!
配置外部 Red Hat Ceph Storage 集群时,您可以创建一个池和 client.openstack 用户来访问这些池。部署 overcloud 后,您可以使用包含 client.openstack 用户凭证的文件列出 Red Hat OpenStack Platform (RHOSP)池的内容。
列出池的内容,并确认 Ceph Storage 集群上存在镜像服务(glance)镜像的 ID、计算(nova)实例、块存储(cinder)卷和共享文件系统服务(manila)文件共享。
流程
以
stack用户身份登录 undercloud,再提供stackrc凭证文件:source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 列出可用的服务器以检索系统中节点的 IP 地址:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 SSH 登录到任何 Compute 节点:
ssh tripleo-admin@192.168.24.31
$ ssh tripleo-admin@192.168.24.31Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认 director 提供的
CephConfigPath中是否存在ceph.conf和/ceph.client.openstack.keyring文件。此路径默认为/var/lib/tripleo-config/ceph,但可能会存在覆盖。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令强制
nova_compute容器使用rbd命令列出相应池的内容。sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls vms
$ sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls vmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 池名称必须与配置 Ceph Storage 集群时创建的镜像、虚拟机、卷和共享的池名称匹配。镜像、计算实例、卷和共享的 ID 必须与您在 收集 ID 中记录的 ID 匹配。
注意example 命令的前缀为
podman exec nova_compute,因为/usr/bin/rbd(由ceph-common 软件包提供)默认不会在 overcloud 节点上安装。但是,它位于nova_compute容器中。命令列出块设备镜像。有关列出块设备镜像的更多信息,请参阅 Red Hat Ceph Storage 块设备指南中的列出块设备镜像。以下示例演示了如何使用 Gathering ID 从 Gathering ID 来确认每个服务的 ID 是否存在。
sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls images | grep 4485d4c0-24c3-42ec-a158-4d3950fa020b
$ sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls images | grep 4485d4c0-24c3-42ec-a158-4d3950fa020bCopy to Clipboard Copied! Toggle word wrap Toggle overflow sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls vms | grep 64bcb731-e7a4-4dd5-a807-ee26c669482f
$ sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls vms | grep 64bcb731-e7a4-4dd5-a807-ee26c669482fCopy to Clipboard Copied! Toggle word wrap Toggle overflow sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls volumes | grep aeac15e8-b67f-454f-9486-46b3d75daff4
$ sudo podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack ls volumes | grep aeac15e8-b67f-454f-9486-46b3d75daff4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证共享文件系统服务共享是否存在,您必须登录到 Controller 节点:
sudo podman exec openstack-manila-share-podman-0 ceph -n client.manila fs subvolume ls cephfs | grep ec99db3c-0077-40b7-b09e-8a110e3f73c1
$ sudo podman exec openstack-manila-share-podman-0 ceph -n client.manila fs subvolume ls cephfs | grep ec99db3c-0077-40b7-b09e-8a110e3f73c1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. 对失败的验证进行故障排除 复制链接链接已复制到粘贴板!
如果验证过程失败,请验证 openstack.client 用户的 Ceph 密钥以及 Red Hat Ceph Storage 监控 IP 或主机名是否可以一起使用,从您为 Red Hat OpenStack Platform (RHOSP)创建的 Ceph 存储池中读取、写入和删除。
流程
要缩短此流程中必须执行的输入数量,请登录 Compute 节点并为
rbd命令创建一个别名:alias rbd="podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack"
$ alias rbd="podman exec nova_compute /usr/bin/rbd --conf /etc/ceph/ceph.conf --keyring /etc/ceph/ceph.client.openstack.keyring --cluster ceph --id openstack"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认您可以作为新对象将测试数据写入池:
rbd create --size 1024 vms/foo
$ rbd create --size 1024 vms/fooCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确认您可以看到测试数据:
rbd ls vms | grep foo
$ rbd ls vms | grep fooCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除测试数据:
rbd rm vms/foo
$ rbd rm vms/fooCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果此步骤失败,请联系您的 Ceph Storage 管理员以获得帮助。如果此过程成功,但您无法创建 Compute (nova)实例、镜像服务(glance)镜像、块存储(cinder)卷或共享文件系统服务(manila)共享,请联系红帽支持。