Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
5.9. 准备 Ceph Storage 或 HCI 节点升级
由于对容器化服务升级,安装和更新 Ceph Storage 节点的方法已更改。Ceph Storage 配置现在在 ceph-ansible
软件包中使用一组 playbook,它在 undercloud 上安装。
- 重要的
- 如果您使用超融合部署,请参阅 第 6.7 节 “升级超融合节点” 进行升级。
- 如果您使用混合超融合部署,请参阅 第 6.8 节 “升级混合超融合节点” 进行升级。
流程
如果使用 director 管理的或外部 Ceph Storage 集群,请安装
ceph-ansible
软件包:在 undercloud 上启用 Ceph 工具存储库:
[stack@director ~]$ sudo subscription-manager repos --enable=rhel-7-server-rhceph-3-tools-rpms
将
ceph-ansible
软件包安装到 undercloud:[stack@director ~]$ sudo yum install -y ceph-ansible
检查特定于 Ceph 的环境文件,并确保您的 Ceph 特定 heat 资源使用容器化服务:
对于 director 管理的 Ceph Storage 集群,请确保
resource_register
中的资源指向docker/services/ceph-ansible
中的模板:resource_registry: OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mgr.yaml OS::TripleO::Services::CephMon: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mon.yaml OS::TripleO::Services::CephOSD: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-osd.yaml OS::TripleO::Services::CephClient: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-client.yaml
重要此配置包含在
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml
环境文件中,您可以使用-e
包含在所有将来的部署命令中。注意如果环境中您要使用的环境或模板文件没有存在于
/usr/share
目录中,您必须包括文件的绝对路径。对于外部 Ceph Storage 集群,请确保
resource_register
中的资源指向docker/services/ceph-ansible
中的模板:resource_registry: OS::TripleO::Services::CephExternal: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-external.yaml
重要此配置包含在
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible-external.yaml
环境文件中,您可以使用-e
包括在所有将来的部署命令中。
对于 director 管理的 Ceph Storage 集群,请使用新的
CephAnsibleDisksConfig
参数来定义如何映射磁盘。以前的 Red Hat OpenStack Platform 版本使用ceph::profile::params::osds
hieradata 来定义 OSD 布局。将此 hieradata 转换为CephAnsibleDisksConfig
参数的结构。以下示例说明了如何在 collocated 和 non-collocated Ceph journal 磁盘的情况下将 hieradata 转换为CephAnsibleDisksConfig
参数的结构。重要您必须设置
osd_scenario
。如果未设置osd_scenario
,则可能会导致部署失败。在 Ceph 日志磁盘并置的情形中,如果您的 hieradata 包含以下内容:
parameter_defaults: ExtraConfig: ceph::profile::params::osd_journal_size: 512 ceph::profile::params::osds: '/dev/sdb': {} '/dev/sdc': {} '/dev/sdd': {}
使用
CephAnsibleDisksConfig
参数以下列方式转换 hieradata,并将ceph::profile::params::osds
设置为{}
:parameter_defaults: CephAnsibleDisksConfig: devices: - /dev/sdb - /dev/sdc - /dev/sdd journal_size: 512 osd_scenario: collocated ExtraConfig: ceph::profile::params::osds: {}
在一个场景中,如果 hieradata 包含以下内容,则日志位于更快速专用设备,并且是非并置:
parameter_defaults: ExtraConfig: ceph::profile::params::osd_journal_size: 512 ceph::profile::params::osds: '/dev/sdb': journal: ‘/dev/sdn’ '/dev/sdc': journal: ‘/dev/sdn’ '/dev/sdd': journal: ‘/dev/sdn’
使用
CephAnsibleDisksConfig
参数以下列方式转换 hieradata,并将ceph::profile::params::osds
设置为{}
:parameter_defaults: CephAnsibleDisksConfig: devices: - /dev/sdb - /dev/sdc - /dev/sdd dedicated_devices: - /dev/sdn - /dev/sdn - /dev/sdn journal_size: 512 osd_scenario: non-collocated ExtraConfig: ceph::profile::params::osds: {}
有关
ceph-ansible
中使用的 OSD 磁盘布局选项的完整列表,请查看/usr/share/ceph-ansible/group_vars/osds.yml.sample
中的示例文件。使用
-e
选项,包含新的 Ceph 配置环境文件及将来的部署命令。这包括以下文件:director 管理的 Ceph Storage:
-
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml
. - 具有基于 Ansible 的磁盘映射的环境文件。
- 任何额外环境文件及 Ceph 存储自定义。
-
外部 Ceph 存储:
-
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible-external.yaml
- 任何额外环境文件及 Ceph 存储自定义。
-