1.9. Red Hat Ceph Storage 的先决条件
在从 Controller 节点迁移 Red Hat Ceph Storage 集群守护进程前,请在 Red Hat OpenStack Platform 17.1 环境中完成以下任务:
- 将 Red Hat Ceph Storage 集群升级到版本 7。如需更多信息,请参阅 在 Framework 中将 Red Hat Ceph Storage 6 升级到 7 (16.2 升级到 17.1)。
-
您的 Red Hat Ceph Storage 7 部署由
cephadm
管理。 - undercloud 仍然可用,节点和网络由 director Operator 管理。
-
如果使用外部部署的 Red Hat Ceph Storage 集群,则必须在目标节点中重新创建
ceph-nfs
集群,并探测StorageNFS
网络。
完成特定 Red Hat Ceph Storage 环境的先决条件:
1.9.1. 使用监控堆栈组件的 Red Hat Ceph Storage 集群完成先决条件 复制链接链接已复制到粘贴板!
在使用监控堆栈组件迁移 Red Hat Ceph Storage 集群前,您必须收集监控堆栈信息,查看和更新容器镜像 registry,并删除 undercloud 容器镜像。
除了更新与监控堆栈相关的容器镜像外,还需要更新与 container_image_base
相关的配置条目。这会影响依赖于 undercloud 镜像的所有 Red Hat Ceph Storage 守护进程。使用 Red Hat Ceph Storage 集群中配置的新镜像 registry 位置部署新的守护进程。
流程
收集监控堆栈的当前状态。当每个守护进程放置评估时,验证主机没有
监控
标签或grafana
、prometheus
或alertmanager
:注意整个重定位过程由
cephadm
驱动,它依赖于将标签分配给目标节点,其中调度守护进程。有关为节点分配标签的更多信息,请参阅红帽知识库文章 Red Hat Ceph Storage: 支持的配置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认集群处于健康状态,并且
ceph orch ls
和ceph orch ps
都返回预期的部署的守护进程数量。检查和更新容器镜像 registry:
注意如果在迁移 Red Hat OpenStack Platform control plane 后运行 Red Hat Ceph Storage 外部化过程,请更新 Red Hat Ceph Storage 集群配置中的容器镜像。当前容器镜像指向 undercloud registry,可能不再可用。由于使用完成后 undercloud 不可用,因此请将 undercloud 提供的镜像替换为替代的 registry。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 undercloud 容器镜像:
$ cephadm shell -- ceph config rm mgr mgr/cephadm/container_image_base for i in prometheus grafana alertmanager node_exporter; do cephadm shell -- ceph config rm mgr mgr/cephadm/container_image_$i done
$ cephadm shell -- ceph config rm mgr mgr/cephadm/container_image_base for i in prometheus grafana alertmanager node_exporter; do cephadm shell -- ceph config rm mgr mgr/cephadm/container_image_$i done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.2. 为 Red Hat Ceph Storage RGW 迁移完成先决条件 复制链接链接已复制到粘贴板!
在开始 Ceph 对象网关(RGW)迁移前,请完成以下先决条件。
流程
检查 Red Hat Ceph Storage 节点的当前状态:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到
controller-0
,并检查 Pacemaker 状态以识别 RGW 迁移的重要信息:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 识别存储网络的范围。以下是一个示例,值可能与您环境中的不同:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 识别您之前在 HAProxy 中具有的网络,并通过 director Operator 传播到 Red Hat Ceph Storage 节点。使用此网络保留由 Red Hat Ceph Storage 拥有的新 VIP,作为 RGW 服务的入口点。
登录到
controller-0
,并在当前 HAProxy 配置中找到ceph_rgw
部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认网络已用作 HAProxy 前端。下例演示了
controller-0
使用外部网络来公开服务,这不包括在 Red Hat Ceph Storage 节点。您必须通过 director Operator 传播外部网络:[controller-0]$ ip -o -4 a ... 7: br-ex inet 10.0.0.106/24 brd 10.0.0.255 scope global br-ex\ valid_lft forever preferred_lft forever ...
[controller-0]$ ip -o -4 a ... 7: br-ex inet 10.0.0.106/24 brd 10.0.0.255 scope global br-ex\ valid_lft forever preferred_lft forever ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果目标节点不是由 director 管理,则无法使用此流程配置网络。管理员必须手动配置所有必需的网络。
将 HAProxy 前端网络传播到 Red Hat Ceph Storage 节点。
在用来定义
ceph-storage
网络接口的 NIC 模板中,在 Red Hat Ceph Storage 网络配置模板文件中添加新配置部分,例如/home/stack/composable_roles/network/nic-configs/ceph-storage.j2
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将外部网络添加到裸机文件中,例如:
/home/stack/composable_roles/network/baremetal_deployment.yaml
,该文件由metalsmith
:注意在触发
os-net-config
时,确保为目标节点启用了 network_config_update,以传播到目标节点。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在裸机节点上配置新网络:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Red Hat Ceph Storage 节点上的新网络是否已配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.3. 完成 Red Hat Ceph Storage RBD 迁移的先决条件 复制链接链接已复制到粘贴板!
在开始 Red Hat Ceph Storage Rados 块设备(RBD)迁移前,请完成以下先决条件。
-
目标 CephStorage 或 ComputeHCI 节点都配置为具有
storage
和storage_mgmt
网络。这可确保使用来自同一节点的 Red Hat Ceph Storage 公共和集群网络。从 Red Hat OpenStack Platform 17.1 及之后的版本,您不必运行堆栈更新。 -
NFS Ganesha 从 director Operator 部署迁移到
cephadm
。如需更多信息,请参阅创建 NFS Ganesha 集群。 - Ceph 元数据服务器、监控堆栈、Ceph 对象网关以及 Controller 节点上部署的任何其他守护进程。
- 守护进程分布遵循 Red Hat Ceph Storage 中描述的卡性约束:支持的配置。
-
Red Hat Ceph Storage 集群处于健康状态,
ceph -s
命令返回HEALTH_OK
。 在裸机节点上运行
os-net-config
并配置额外网络:如果目标节点是
CephStorage
,请确保在CephStorage
节点的裸机文件中定义了网络,例如/home/stack/composable_roles/network/baremetal_deployment.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加缺少的网络:
openstack overcloud node provision \ -o overcloud-baremetal-deployed-0.yaml --stack overcloud-0 \ /--network-config -y --concurrency 2 /home/stack/metalsmith-0.yaml
$ openstack overcloud node provision \ -o overcloud-baremetal-deployed-0.yaml --stack overcloud-0 \ /--network-config -y --concurrency 2 /home/stack/metalsmith-0.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证存储网络是否在目标节点上配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.4. 创建 NFS Ganesha 集群 复制链接链接已复制到粘贴板!
本节中的内容 作为技术预览提供,因此不受红帽完全支持。它只应用于测试,不应部署在生产环境中。如需更多信息,请参阅 技术预览。
如果您将 CephFS through NFS 与共享文件系统服务(manila)搭配使用,您必须在 Red Hat Ceph Storage 集群上创建新的集群的 NFS 服务。此服务替换您在 Red Hat OpenStack Platform (RHOSP) 17.1 中使用的独立、由 Pacemaker 控制的 ceph-nfs
服务。
流程
识别 Red Hat Ceph Storage 节点,以部署新的集群 NFS 服务,如
cephstorage-0
、cephstorage-1
、cephstorage-2
。注意您必须在
StorageNFS
隔离的网络中部署此服务,以便您可以通过新的 NFS 导出位置挂载现有的共享。您可以在现有 Ceph 存储节点或 HCI 节点上部署新的集群 NFS 服务,也可以在 Red Hat Ceph Storage 集群中注册的新硬件上部署。如果您使用 director Operator 部署 Red Hat Ceph Storage 节点,请将
StorageNFS
网络传播到部署ceph-nfs
服务的目标节点。注意如果目标节点不是由 director 管理,则无法使用此流程配置网络。管理员必须手动配置所有必需的网络。
-
识别 RHOSP 环境中使用的节点定义文件
overcloud-baremetal-deploy.yaml
。有关识别overcloud-baremetal-deploy.yaml
文件的更多信息,请参阅 在 OpenShift 部署上自定义 Red Hat OpenStack Services 中的自定义 overcloud 网络。 编辑与 Red Hat Ceph Storage 节点关联的网络,使其包含
StorageNFS
网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑 Red Hat Ceph Storage 节点的
/home/stack/network/nic-configs/ceph-storage.j2
,使其包含连接到StorageNFS
网络的接口:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 Red Hat Ceph Storage 节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新完成后,确保 Red Hat Ceph Storage 节点中创建了一个新接口,并使用与
StorageNFS
关联的 VLAN 标记。
-
识别 RHOSP 环境中使用的节点定义文件
识别
StorageNFS
网络的 IP 地址,以用作 Ceph NFS 服务的虚拟 IP 地址(VIP):openstack port list -c "Fixed IP Addresses" --network storage_nfs
$ openstack port list -c "Fixed IP Addresses" --network storage_nfs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在正在运行的
cephadm
shell 中,识别 NFS 服务的主机:ceph orch host ls
$ ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 标记您确定的每个主机。对您要标记的每个主机重复这个命令:
ceph orch host label add <hostname> nfs
$ ceph orch host label add <hostname> nfs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<hostname
> 替换为您识别的主机的名称。
-
将
创建 NFS 集群:
ceph nfs cluster create cephfs \ "label:nfs" \ --ingress \ --virtual-ip=<VIP> \ --ingress-mode=haproxy-protocol
$ ceph nfs cluster create cephfs \ "label:nfs" \ --ingress \ --virtual-ip=<VIP> \ --ingress-mode=haproxy-protocol
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<VIP
> 替换为 Ceph NFS 服务的 VIP。注意您必须将
ingress-mode
参数设置为haproxy-protocol
。不支持其他 ingress 模式。此入口模式允许您通过共享文件系统服务强制客户端限制。有关部署集群 Ceph NFS 服务的更多信息,请参阅 Red Hat Ceph Storage 7 Operations Guide 中的使用 Ceph Orchestrator (Limited Availability)管理 NFS-Ganesha 网关。
检查 NFS 集群的状态:
ceph nfs cluster ls ceph nfs cluster info cephfs
$ ceph nfs cluster ls $ ceph nfs cluster info cephfs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow