附录 E. 将现有 Ceph 集群导入到 Ansible
您可以将 Ansible 配置为使用在没有 Ansible 的情况下部署的集群。例如,如果您将 Red Hat Ceph Storage 1.3 集群升级到版本 2,请按照以下步骤将其配置为使用 Ansible:
- 从 1.3 手动升级到版本 2 后,在管理节点上安装和配置 Ansible。
-
确保 Ansible 管理节点对集群中的所有 Ceph 节点进行免密码
ssh
访问。详情请查看 第 3.9 节 “为 Ansible 启用免密码 SSH”。 以
root
用户身份,在/etc/ansible/
目录中创建一个指向 Ansiblegroup_vars
目录的符号链接:# ln -s /usr/share/ceph-ansible/group_vars /etc/ansible/group_vars
以
root
用户身份,使用all.yml.sample
文件中创建一个all.yml
文件,并打开该文件进行编辑:# cd /etc/ansible/group_vars # cp all.yml.sample all.yml # vim all.yml
-
在
group_vars/all.yml
中,将generate_fsid
设置为false
。 -
通过执行
ceph fsid
获得当前集群fsid
。 -
在
group_vars/all.yml
中设置检索到的fsid
。 -
修改
/etc/ansible/hosts
中的 Ansible 清单,使其包含 Ceph 主机。在[mons]
部分下添加监视器,在[osds]
部分下的 OSD 和网关下的[rgws]
部分下将其角色标识到 Ansible。 确定
ceph_conf_overrides
已更新,使用用于all.yml
文件中的[global]
、[osd]
、[mon]
和[client]
项的原始ceph.conf
选项。在
ceph_conf_overrides
中不应添加osd journal
、public_network
和cluster_network
等选项,因为它们已经是all.yml
的一部分。仅应将不属于all.yml
且位于原始ceph.conf
中的选项添加到ceph_conf_overrides
。从
/usr/share/ceph-ansible/
目录运行 playbook。# cd /usr/share/ceph-ansible/ # ansible-playbook infrastructure-playbooks/take-over-existing-cluster.yml -u <username> -i hosts