3.2. 使用 Ceph Orchestrator 添加主机
您可以将 Ceph Orchestrator 与后端中的 Cephadm 搭配使用,将主机添加到现有的 Red Hat Ceph Storage 集群中。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 对存储集群中所有节点的根级别访问权限。
- 将节点注册到 CDN 并附加订阅。
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh
访问和免密码访问。
流程
从 Ceph 管理节点,登录 Cephadm shell:
示例
[root@host01 ~]# cephadm shell
将集群的公共 SSH 密钥提取到文件夹:
语法
ceph cephadm get-pub-key > ~/PATH
示例
[ceph: root@host01 /]# ceph cephadm get-pub-key > ~/ceph.pub
将 Ceph 集群的公共 SSH 密钥复制到新主机上的 root 用户的
authorized_keys
文件中:语法
ssh-copy-id -f -i ~/PATH root@HOST_NAME_2
示例
[ceph: root@host01 /]# ssh-copy-id -f -i ~/ceph.pub root@host02
从 Ansible 管理节点,将新主机添加到 Ansible 清单文件。该文件的默认位置为
/usr/share/cephadm-ansible/hosts
。以下示例显示了典型的清单文件的结构:示例
host01 host02 host03 [admin] host00
注意如果您之前已将新主机添加到 Ansible 清单文件,并在主机上运行 preflight playbook,请跳至第 6 步。
使用
--limit
选项运行 preflight playbook:语法
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST
示例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02
preflight playbook 在新主机上安装
podman
、lvm2
、chronyd
和cephadm
。安装完成后,cephadm
驻留在/usr/sbin/
目录中。从 Ceph 管理节点,登录 Cephadm shell:
示例
[root@host01 ~]# cephadm shell
使用
cephadm
编配器将主机添加到存储集群中:语法
ceph orch host add HOST_NAME IP_ADDRESS_OF_HOST [--label=LABEL_NAME_1,LABEL_NAME_2]
--label
选项是可选的,这会在添加主机时添加标签。您可以向主机添加多个标签。示例
[ceph: root@host01 /]# ceph orch host add host02 10.10.128.70 --labels=mon,mgr
验证
列出主机:
示例
[ceph: root@host01 /]# ceph orch host ls
其它资源
- 请参阅 Red Hat Ceph Storage Operations Guide 中的使用 Ceph Orchestrator 列出主机。
-
有关
cephadm-preflight
playbook 的更多信息,请参阅 Red Hat Ceph Storage 安装指南中的运行 preflight playbook 部分。 - 请参阅 Red Hat Ceph Storage 安装指南中的将 Red Hat Ceph Storage 节点注册到 CDN 并附加订阅部分。
- 请参阅Red Hat Ceph Storage 安装指南中的使用 sudo 访问创建 Ansible 用户一节。