3.4. 节点部署前的要求
在安装 Red Hat Ceph Storage 集群前,请执行以下步骤来满足所有需要的要求。
将所有节点注册到 Red Hat Network 或 Red Hat Satellite 中,并订阅到有效的池:
subscription-manager register subscription-manager subscribe --pool=8a8XXXXXX9e0
subscription-manager register subscription-manager subscribe --pool=8a8XXXXXX9e0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为以下软件仓库启用 Ceph 集群中的所有节点的访问权限:
-
rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpmssubscription-manager repos --disable="*" --enable="rhel-8-for-x86_64-baseos-rpms" --enable="rhel-8-for-x86_64-appstream-rpms"
subscription-manager repos --disable="*" --enable="rhel-8-for-x86_64-baseos-rpms" --enable="rhel-8-for-x86_64-appstream-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
如果需要,将操作系统 RPM 更新至最新版本并重新引导:
dnf update -y reboot
dnf update -y rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从集群中选择节点作为 bootstrap 节点。
ceph1是本例中的 bootstrap 节点。仅在 bootstrap 节点
ceph1上,启用ansible-2.9-for-rhel-8-x86_64-rpms和rhceph-5-tools-for-rhel-8-x86_64-rpms存储库:subscription-manager repos --enable="ansible-2.9-for-rhel-8-x86_64-rpms" --enable="rhceph-5-tools-for-rhel-8-x86_64-rpms"
subscription-manager repos --enable="ansible-2.9-for-rhel-8-x86_64-rpms" --enable="rhceph-5-tools-for-rhel-8-x86_64-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在所有主机中使用裸机/短主机名配置
主机名。hostnamectl set-hostname <short_name>
hostnamectl set-hostname <short_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 cephadm 验证用于部署红帽 Ceph 存储的主机名配置。
hostname
$ hostnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
ceph1
ceph1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 DNS 域名设置 DOMAIN 变量,修改 /etc/hosts 文件并将 fqdn 条目添加到 127.0.0.1 IP。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
hostname -f选项通过fqdn检查长主机名。hostname -f
$ hostname -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
ceph1.example.domain.com
ceph1.example.domain.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注: 要了解更多有关需要这些更改的信息,请参阅完全限定域名和裸机主机名。
在 bootstrap 节点上执行以下步骤。在我们的示例中,bootstrap 节点为
ceph1。安装
cephadm-ansibleRPM 软件包:sudo dnf install -y cephadm-ansible
$ sudo dnf install -y cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要要运行 ansible playbook,您必须有
ssh免密码访问配置 Red Hat Ceph Storage 集群的所有节点。确保配置的用户(如deployment-user)具有可调用sudo命令的 root 特权,而无需输入密码。要使用自定义密钥,请配置所选用户(如
deployment-user)ssh 配置文件以指定将用于通过 ssh 连接到节点的 id/key:cat <<EOF > ~/.ssh/config Host ceph* User deployment-user IdentityFile ~/.ssh/ceph.pem EOF
cat <<EOF > ~/.ssh/config Host ceph* User deployment-user IdentityFile ~/.ssh/ceph.pem EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow 构建 ansible 清单
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意作为清单文件的 [admin] 组配置的主机将
cephadm将标记为_admin,因此它们会在 bootstrap 过程中收到 admin ceph 密钥环。在运行 pre-flight playbook 前,验证
ansible是否可以使用 ping 模块访问所有节点。ansible -i /usr/share/cephadm-ansible/inventory -m ping all -b
$ ansible -i /usr/share/cephadm-ansible/inventory -m ping all -bCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下 ansible playbook。
ansible-playbook -i /usr/share/cephadm-ansible/inventory /usr/share/cephadm-ansible/cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
$ ansible-playbook -i /usr/share/cephadm-ansible/inventory /usr/share/cephadm-ansible/cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"Copy to Clipboard Copied! Toggle word wrap Toggle overflow preflight playbook Ansible playbook 配置 Red Hat Ceph Storage
dnf存储库,并准备存储集群以进行引导。它还安装 podman、lvm2、chronyd 和 cephadm。cephadm-ansible和cephadm-preflight.yml的默认位置为/usr/share/cephadm-ansible。