5.2. 使用存储部署中央站点
要使用多个存储部署镜像服务,并将 Ceph Storage 用作后端,请完成以下步骤:
先决条件
-
您必须创建特定于环境的
network_data.yaml
和vip_data.yaml
文件。您可以在/usr/share/openstack-tripleo-heat-templates/network-data-samples
中找到示例文件。 -
您必须创建一个特定于您的环境的
overcloud-baremetal-deploy.yaml
文件。有关更多信息,请参阅为 overcloud 置备裸机节点。 - 您有位于中央位置和每个可用区的 Ceph 集群的硬件,或者在需要存储服务的每个地理位置。
- 您有三个镜像服务(glance)服务器的硬件位于中央位置和每个可用区,或者在需要存储服务的每个地理位置。在边缘位置,镜像服务部署到 DistributedComputeHCI 节点。
流程
部署 Red Hat OpenStack Platform 中央位置,以便镜像服务(glance)可与多个存储一起使用。
- 以 stack 用户身份登录 undercloud。
查找 stackrc 文件:
[stack@director ~]$ source /home/stack/stackrc
生成环境文件 /home/stack/central/central-images-env.yaml
sudo openstack tripleo container image prepare \ -e containers.yaml \ --output-env-file /home/stack/central/central-images-env.yaml
使用适合您的环境的角色为中央位置生成角色:
openstack overcloud roles generate Compute Controller CephStorage \ -o /home/stack/central/central_roles.yaml
在主目录中,为您计划部署的每个堆栈创建目录。将中央位置的
network_data.yaml
、vip_data.yaml
和overcloud-baremetal-deploy.yaml
模板移到/home/stack/central/
。mkdir /home/stack/central mkdir /home/stack/dcn0 mkdir /home/stack/dcn1 mv network_data.yaml /home/stack/central mv vip_data.yaml /home/stack/central mv overcloud-baremetal-deploy.yaml /home/stack/central
为 overcloud 置备网络。此命令为 overcloud 网络使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:
openstack overcloud network provision \ --output /home/stack/central/overcloud-networks-deployed.yaml \ /home/stack/central/network_data.yaml
为 overcloud 置备虚拟 IP。此命令使用虚拟 IP 的定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:
openstack overcloud network vip provision \ --stack central \ --output /home/stack/central/overcloud-vip-deployed.yaml \ /home/stack/central/vip_data.yaml
置备裸机实例。该命令为裸机节点使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:
openstack overcloud node provision \ --stack central \ --network-config \ -o /home/stack/central/deployed_metal.yaml \ /home/stack/central/overcloud-baremetal-deploy.yaml
如果要使用超融合存储部署中央位置,则必须使用以下参数创建
initial-ceph.conf
配置文件:如需更多信息,请参阅为 HCI 配置 Red Hat Ceph Storage 集群 :[osd] osd_memory_target_autotune = true osd_numa_auto_affinity = true [mgr] mgr/cephadm/autotune_memory_target_ratio = 0.2
使用
deployed_metal.yaml
文件作为openstack overcloud ceph deploy
命令的输入。openstack overcloud ceph deploy 命令输出
描述部署的 Ceph 集群的 yaml 文件:openstack overcloud ceph deploy \ --stack central \ /home/stack/central/deployed_metal.yaml \ --config /home/stack/central/initial-ceph.conf \ 1 --output /home/stack/central/deployed_ceph.yaml \ --container-image-prepare /home/stack/containers.yaml \ --network-data /home/stack/network-data.yaml \ --cluster central \ --roles-data /home/stack/central/central_roles.yaml
- 1
- 仅在部署超融合基础架构时包含 initial-ceph.com。
在继续操作之前,请验证功能 Ceph 部署。使用
ssh
连接到运行ceph-mon
服务的服务器。在 HCI 部署中,这是控制器节点。运行以下命令:cephadm shell --config /etc/ceph/central.conf \ --keyring /etc/ceph/central.client.admin.keyring
注意您必须使用
--config
和--keyring
参数。在
site-name.yaml
环境文件中为站点配置命名约定。Nova 可用区和 Cinder 存储可用区必须匹配:parameter_defaults: NovaComputeAvailabilityZone: central ControllerExtraConfig: nova::availability_zone::default_schedule_zone: central NovaCrossAZAttach: false CinderStorageAvailabilityZone: central GlanceBackendID: central
使用类似如下的内容配置 glance.yaml 模板:
parameter_defaults: GlanceEnabledImportMethods: web-download,copy-image GlanceBackend: rbd GlanceStoreDescription: 'central rbd glance store' GlanceBackendID: central CephClusterName: central
为中央位置部署堆栈:
openstack overcloud deploy \ --deployed-server \ --stack central \ --templates /usr/share/openstack-tripleo-heat-templates/ \ -r /home/stack/central/central_roles.yaml \ -n ~/network-data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \ -e /home/stack/central/overcloud-networks-deployed.yaml \ -e /home/stack/central/overcloud-vip-deployed.yaml \ -e /home/stack/central/deployed_metal.yaml \ -e /home/stack/central/deployed_ceph.yaml \ -e ~/central/glance.yaml
为中央位置部署 overcloud 后,导出并放置在
/home/stack/overcloud-deploy
目录中的额外堆栈部署所需的数据。确保存在central-export.yaml
文件:stat /home/stack/overcloud-deploy/central/central-export.yaml
导出 Ceph 特定数据:
openstack overcloud export ceph \ --stack central \ --output-file /home/stack/dcn-common/central_ceph_external.yaml