第 5 章 自定义 Ceph Storage 集群
director 使用默认配置部署容器化 Red Hat Ceph Storage。您可以通过覆盖默认设置来自定义 Ceph Storage。
先决条件
要部署容器化 Ceph Storage,您必须在 overcloud 部署期间包括 /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml 文件。此环境文件定义了以下资源:
-
CephAnsibleDisksConfig- 此资源映射 Ceph Storage 节点磁盘布局。更多信息请参阅 第 5.3 节 “映射 Ceph Storage 节点磁盘布局”。 -
CephConfigOverrides- 此资源将所有其他自定义设置应用到 Ceph Storage 集群。
使用这些资源覆盖 director 为容器化 Ceph Storage 设置的任何默认值。
流程
启用 Red Hat Ceph Storage 4 工具存储库:
sudo subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms
$ sudo subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 undercloud 上安装
ceph-ansible软件包:sudo dnf install ceph-ansible
$ sudo dnf install ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要自定义 Ceph 存储集群,请在新环境文件中定义自定义参数,如
/home/stack/templates/ceph-config.yaml。您可以在环境文件的parameter_defaults部分中使用以下语法应用 Ceph Storage 集群设置:parameter_defaults: CephConfigOverrides: section: KEY:VALUEparameter_defaults: CephConfigOverrides: section: KEY:VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您可以将
CephConfigOverrides参数应用到ceph.conf文件的[global]部分,以及其他部分,如[osd]、[mon]和[client]。如果指定一个部分,key:value数据将进入指定的部分。如果您没有指定部分,则数据默认进入[global]部分。有关 Ceph Storage 配置、自定义和支持参数的信息,请参阅 Red Hat Ceph Storage 配置指南。将
KEY和VALUE替换为您要应用的 Ceph 集群设置。例如,在global部分中,max_open_files是KEY,131072是对应的VALUE:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此配置会导致 Ceph 集群的配置文件中定义的以下设置:
[global] max_open_files = 131072 [osd] osd_scrub_during_recovery = false
[global] max_open_files = 131072 [osd] osd_scrub_during_recovery = falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1. 设置 ceph-ansible 组变量 复制链接链接已复制到粘贴板!
ceph-ansible 工具是用于安装和管理 Ceph 存储集群的 playbook。
ceph-ansible 工具具有一个 group_vars 目录,用于定义配置选项和这些选项的默认设置。使用 group_vars 目录设置 Ceph Storage 参数。
有关 group_vars 目录的信息,请参阅安装指南中的安装 Red Hat Ceph Storage 集群。
若要更改 director 中的变量默认值,可使用 CephAnsibleExtraConfig 参数传递 heat 环境文件中的新值。例如,要将 ceph-ansible 组变量 journal_size 设置为 40960,创建一个具有以下 journal_size 定义的环境文件:
parameter_defaults:
CephAnsibleExtraConfig:
journal_size: 40960
parameter_defaults:
CephAnsibleExtraConfig:
journal_size: 40960
使用覆盖参数更改 ceph-ansible 组变量;不要直接编辑 undercloud 的 /usr/share/ceph-ansible 目录中的组变量。