「CEPH」- 部署服务及快速开始

问题描述

该笔记将记录:我们部署测试 Ceph Cluster 的过程,以及相关问题的解决办法;

解决方案

参考 Installing Ceph 文档,以获取安装相关的官方详细说明,这里仅做简单记录;

第一步、版本选择

鉴于我们是测试部署,所以直接部署最新版本 Ceph 17;

第二步、服务部署

通过 ceph-deploy 进行部署(Quickstart)。但是 ceph-deploy 已不再主动维护,其未在 Nautilus 之上的测试。在对比其他部署工具并结合我们的工作场景后,我们决定在测试环境中使用 Cephadm 进行部署(需要 container 与 systemd 来管理);

该部分将记录:通过 cephadm 命令,部署 Ceph 测试集群(学习)的方法,以及相关问题的解决办法;

#1 环境准备工作

对于非生产环境下的Ceph集群的最小化部署,推荐最少配置3个节点。节点角色可以复用。条件允许的情况下,可以配置3 MON+3 OSD+3 Gateway+1Client。

实验环境下服务器的最小配置如下:

Hardware Ceph OSD Ceph Mon / Ceph Mgr Ceph RGW Ceph MDS
CPU 1vCPU 1vCPU 1vCPU 1vCPU
RAM 16GB+5GB*OSD 1G/Daemon 1G/Daemon 2G/Daemon
DISK OS * 1 + OSD * N OS * 1 + 15GB*Daemon OS * 1 + 5GB*Daemon 2MB*Daemon + Log
Network 1000Mbps * 2 1000Mbps * 2 1000Mbps * 2 1000Mbps * 2

我们需要通过 SSH 连接到各节点服务器上,然后通过执行 cephadm 命令来完成 Ceph Cluster 部署;
Ceph 对时间要求很高,建议在部署 Ceph 集群的时候提前配置好 NTP 服务器;
Ceph 安装对网络要求不高,但是鉴于 Ceph 源在外国有时候会被屏蔽,解决办法多尝试机器或者代理;

#2 通过 Cephadm 部署

WIP

第三步、配置使用

创建 CephFS 实例

CephFS Quick Start — Ceph Documentation

ceph-deploy mds create {host-name}[:{daemon-name}] [{host-name}[:{daemon-name}] ...]

ceph -s [-m {monitor-ip-address}] [-k {path/to/ceph.client.admin.keyring}]

ceph osd pool create cephfs_data <pg_num>
ceph osd pool create cephfs_metadata <pg_num>
ceph fs new <fs_name> cephfs_metadata cephfs_data

ceph auth get client.admin -o /tmp/admin.secret

mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=admin.secret