4.4. 使用 ceph_orch_host 模块添加或删除主机
作为存储管理员,您可以使用 Ansible playbook 中的 ceph_orch_host
模块添加和删除存储集群中的主机。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 将节点注册到 CDN 并附加订阅。
- 具有 sudo 的 Ansible 用户,对存储集群中的所有节点进行免密码 SSH 访问。
-
在 Ansible 管理节点上安装
cephadm-ansible
软件包。 - 新主机具有存储集群的公共 SSH 密钥。有关将存储集群的公共 SSH 密钥复制到新主机的更多信息,请参阅 添加主机。
流程
使用以下步骤在集群中添加新主机:
- 登录 Ansible 管理节点。
进入 Ansible 管理节点上的
/usr/share/cephadm-ansible
目录:示例
cd /usr/share/cephadm-ansible
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将新主机和标签添加到 Ansible 清单文件。
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--limit
选项运行 preflight playbook:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02
Copy to Clipboard Copied! Toggle word wrap Toggle overflow preflight playbook 在新主机上安装
podman
、lvm2
、chrony
和cephadm
。安装完成后,cephadm
驻留在/usr/sbin/
目录中。创建 playbook 以将新主机添加到集群中:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意默认情况下,Ansible 在与 playbook 的
hosts
行匹配的主机上执行所有任务。ceph orch
命令必须在包含管理员密钥环和 Ceph 配置文件的主机上运行。使用delegate_to
关键字指定集群中的 admin 主机。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,playbook 将新主机添加到集群中,并显示当前的主机列表。
运行 playbook 以将其他主机添加到集群中:
语法
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ansible-playbook -i hosts add-hosts.yml
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts add-hosts.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下步骤从集群中删除主机:
- 登录 Ansible 管理节点。
进入 Ansible 管理节点上的
/usr/share/cephadm-ansible
目录:示例
cd /usr/share/cephadm-ansible
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 playbook 以从集群中删除主机或主机:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,playbook 任务排空
host07
上的所有守护进程,从集群中删除主机,并显示当前主机列表。运行 playbook 以从集群中删除主机:
语法
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ansible-playbook -i hosts remove-hosts.yml
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts remove-hosts.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查看 Ansible 任务输出显示集群中主机的当前列表:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow