附录 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
# ln -s /usr/share/ceph-ansible/group_vars /etc/ansible/group_varsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以
root用户身份,使用all.yml.sample文件中创建一个all.yml文件,并打开该文件进行编辑:cd /etc/ansible/group_vars cp all.yml.sample all.yml vim all.yml
# cd /etc/ansible/group_vars # cp all.yml.sample all.yml # vim all.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在
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
# cd /usr/share/ceph-ansible/ # ansible-playbook infrastructure-playbooks/take-over-existing-cluster.yml -u <username> -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow