2.4. 设置 Ceph
对于这个 Red Hat Quay 配置,我们创建一个带有几个其他支持节点的三节点 Ceph 集群,如下所示:
- ceph01、ceph02 和 ceph03 - Ceph Monitor、Ceph Manager 和 Ceph OSD 节点
- ceph04 - Ceph RGW 节点
- ceph05 - Ceph Ansible 管理节点
有关安装 Ceph 节点的详细信息,请参阅在 Red Hat Enterprise Linux 上安装 Red Hat Ceph Storage。
设置 Ceph 存储集群后,创建 Ceph 对象网关(也称为 RADOS 网关)。详情请参阅安装 Ceph 对象网关。
2.4.1. 安装每个 Ceph 节点 复制链接链接已复制到粘贴板!
在 ceph01、ceph02、ceph03、ceph04 和 ceph05 上,执行以下操作:
查看 安装 Red Hat Ceph Storage 要求时设置 Ceph 节点的先决条件。特别是:
- 决定是否要在 OSD 节点上使用 RAID 控制器。
- 决定您是否希望单独的集群网络用于 Ceph 网络配置。
-
准备 OSD 存储(仅限 ceph01、ceph02 和 ceph03)。在三个 OSD 节点上设置 OSD 存储(ceph01、ceph02 和 ceph03)。如需了解有关稍后要进入 Ansible 配置的受支持存储类型的详细信息,请参阅 表 3.2 中的 OSD Ansible 设置。在本例中,每个 OSD 节点上都配置与操作系统独立的、未格式化的块设备(
/dev/sdb
)。如果您要在裸机上安装,您可能需要为机器添加额外的硬盘驱动器。 - 安装 Red Hat Enterprise Linux 服务器版本,如 RHEL 7 安装指南 中所述。
注册并订阅每个 Ceph 节点,如 注册 Red Hat Ceph Storage 节点 中所述。以下是如何订阅所需的仓库:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在每个节点上创建一个具有 root 特权的 ansible 用户。选择您喜欢的任何名称。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2. 配置 Ceph Ansible 节点(ceph05) 复制链接链接已复制到粘贴板!
登录 Ceph Ansible 节点(ceph05),并将它配置如下。您需要运行 ceph01、ceph02 和 ceph03 节点,以完成这些步骤。
在 Ansible 用户的主目录中,创建一个目录来存储从 ceph-ansible playbook 创建的临时值
USER_NAME=ansibleadmin sudo su - $USER_NAME
# USER_NAME=ansibleadmin # sudo su - $USER_NAME [ansibleadmin@ceph05 ~]$ mkdir ~/ceph-ansible-keys
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 ansible 用户启用无密码的 ssh。在 ceph05 上运行 ssh-keygen (将密码短语留空),然后运行 ssh-copy-id 将公钥复制到 ceph01、ceph02 和 ceph03 系统上的 Ansible 用户:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装 ceph-ansible 软件包:
yum install ceph-ansible
# yum install ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这两个目录之间创建一个符号:
ln -s /usr/share/ceph-ansible/group_vars \ /etc/ansible/group_vars
# ln -s /usr/share/ceph-ansible/group_vars \ /etc/ansible/group_vars
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Ceph 示例 yml 文件的副本以进行修改:
cd /usr/share/ceph-ansible cp group_vars/all.yml.sample group_vars/all.yml cp group_vars/osds.yml.sample group_vars/osds.yml cp site.yml.sample site.yml
# cd /usr/share/ceph-ansible # cp group_vars/all.yml.sample group_vars/all.yml # cp group_vars/osds.yml.sample group_vars/osds.yml # cp site.yml.sample site.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑复制的 group_vars/all.yml 文件。有关详细信息,请参阅 表 3.1 中的常规 Ansible 设置。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,您的网络设备和地址范围可能会有所不同。
编辑复制的
group_vars/osds.yml
文件。有关详细信息,请参阅 表 3.2 中的 OSD Ansible 设置。在本例中,每个 OSD 节点上的第二个磁盘设备(/dev/sdb
)用于数据和日志存储:osd_scenario: collocated devices: - /dev/sdb dmcrypt: true osd_auto_discovery: false
osd_scenario: collocated devices: - /dev/sdb dmcrypt: true osd_auto_discovery: false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/ansible/hosts
清单文件,将 Ceph 节点识别为 Ceph 节点,作为 Ceph 监视器、OSD 和管理器节点。在本例中,存储设备也会在每个节点上识别:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下行添加到
/etc/ansible/ansible.cfg
文件中,将每个 Ansible playbook 运行的输出保存到 Ansible 用户的主目录中:retry_files_save_path = ~/
retry_files_save_path = ~/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 Ansible 能否访问您配置为 Ansible 用户的所有 Ceph 节点:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 ceph-ansible playbook (以您的 Ansible 用户身份):
cd /usr/share/ceph-ansible/ ansible-playbook site.yml
[ansibleadmin@ceph05 ~]$ cd /usr/share/ceph-ansible/ [ansibleadmin@ceph05 ~]$ ansible-playbook site.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此时,Ansible playbook 将检查您的 Ceph 节点,并为您所请求的服务配置它们。如果有任何失败,请进行必要的更正并重新运行该命令。
登录到三个 Ceph 节点之一(ceph01、ceph02 或 ceph03),并检查 Ceph 集群的健康状态:
ceph health
# ceph health HEALTH_OK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在同一节点上,使用 rados 验证监控是否正常工作:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.3. 安装 Ceph 对象网关 复制链接链接已复制到粘贴板!
在 Ansible 系统上(ceph05),将 Ceph 对象网关配置为 Ceph Storage 集群(最终会在 ceph04 上运行)。详情请参阅安装 Ceph 对象网关。