cephadm部署分布式存储
# cephadm部署分布式存储
官网:https://docs.ceph.com/en/latest/releases/
ceph版本选择:https://docs.ceph.com/en/latest/start/os-recommendations/
安装手册:https://docs.ceph.com/en/latest/cephadm/install/#requirements
配置说明
操作系统:ubuntu22.04
服务器 | 说明 |
---|---|
10.150.100.21 ceph21 | mon,mgr,osd |
10.150.100.22 ceph22 | mon,mgr,osd |
10.150.100.23 ceph32 | mon,mgr,osd |
前期准备
时间同步服务 硬盘:/dev/sdb 拷贝ssh密钥,三台互连 配置hosts解析
cat /etc/hosts
10.150.100.21 ceph21
10.150.100.22 ceph22
10.150.100.23 ceph32
2
3
4
# 安装cephadm
CEPH_RELEASE=18.2.7
curl -o /usr/local/bin/cephadm --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm
chmod +x /usr/local/bin/cephadm
2
3
# cephadm部署集群
操作服务器:10.150.100.21
# 初始化ceph集群
cephadm bootstrap --mon-ip 10.150.100.21 --initial-dashboard-user cephMon --initial-dashboard-password yfklife@pass --cluster-network 10.150.100.0/24 --skip-pull
集群网络(ceph集群内部通讯):--cluster-network 10.150.100.0/24
公共网络(外部服务访问集群): --public-network 10.150.100.0/24
指定本地镜像源:--image docker.1ms.run/ceph/ceph
- 安装ceph命令
apt install -y ceph-common
- 查看状态
ceph -s
# 拷贝ceph公钥文件
拷贝配置公钥:
#cat /etc/ceph/ceph.pub >>/root/.ssh/authorized_keys
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph21
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph22
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph23
2
3
4
# 添加主机
ceph orch host add ceph21 10.150.100.21
ceph orch host add ceph22 10.150.100.22
2
- 查看主机
ceph orch host ls
- 移除主机(需要移除mgr,mon,osd相关服务)
ceph orch host drain *<host>*
ceph orch host rm *<host>*
2
# 添加mon服务
高可用mon服务,节点数 N/2
- 调整公网命令
ceph config set mon public_network 10.150.100.0/24
- 添加mon节点
ceph orch apply mon --unmanaged
ceph orch daemon add mon ceph22:10.150.100.22
ceph orch daemon add mon ceph23:10.150.100.23
2
3
- 查看daemon
ceph orch ps --daemon-type mon
# 添加mgr节点
初始化集群的时候会默认创建一个mgr服务
ceph orch apply mgr --placement="ceph21,ceph22,ceph23"
一般上面的命令会创建mgr,但不知道原因,某些情况不会创建mgr服务,可以通过以下命令添加mgr(重复执行会创建多个,不知道会有什么影响)
ceph orch daemon add mgr ceph21
ceph orch daemon add mgr ceph22
ceph orch daemon add mgr ceph23
2
3
- 查看mgr
ceph orch ps --daemon-type mgr
- 删除多余的daemon mgr
ceph orch daemon rm <NAME ID>
# 配置osd存储
- 显示集群中所有主机的存储设备清单
ceph orch device ls
ceph orch daemon add osd ceph21:/dev/sdb
ceph orch daemon add osd ceph22:/dev/sdb
ceph orch daemon add osd ceph23:/dev/sdb
2
3
- 移除osd
ceph orch apply osd --all-available-devices --unmanaged=true
ceph orch device ls
ceph orch osd rm <DEVICE ID(s)> [--replace] [--force]
ceph orch apply osd --all-available-devices --unmanaged=false
#查看移除osd状态
ceph orch osd rm status
2
3
4
5
6
7
8
# 配置mds
- 创建一个clickhouseData卷,副本数3个
ceph fs volume create clickhouseData --placement="label:mds"
ceph orch apply mds clickhouseData --placement="3 ceph21 ceph22 ceph23"
ceph orch ps --daemon-type mds
2
3
4
5
6
- 查看所有的 keyring
ceph auth list
# 挂载ceph块存储到服务器
- admin keyring
cat /etc/ceph/ceph.client.admin.keyring |grep key
- 手动挂载
mount -t ceph 10.150.100.21:6789:/ /data/ceph/ -o name=admin,secret=AQBkpSpoeJVzFRAAg9OWFdl9n4hTPKj0zpWUQw==
- 添加开机自动挂载
echo '10.150.100.21:6789:/ /data/ceph/ ceph name=admin,secret=AQBkpSpoeJVzFRAAg9OWFdl9n4hTPKj0zpWUQw== 0 0' >> /etc/fstab
# 清理集群
ceph orch pause
cephadm rm-cluster --force --fsid $(ceph fsid)
systemctl status ceph-TAB键补全
systemctl disable ceph-TAB键补全 --now
2
3
4
5
- 确保数据已经做好备份
#清理磁盘
DISK="/dev/sdb"
# 将磁盘切换到全新的可用状态(zap-all 很重要,b/c MBR 必须干净),您必须对所有磁盘运行此步骤。
sgdisk --zap-all $DISK
dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync
blkdiscard $DISK
partprobe $DISK
2
3
4
5
6
7
# ceph异常crash
查看所有的crash: ceph crash ls
查看最新的crash: ceph crash ls-new
root@ceph21:~# ceph crash ls
ID ENTITY NEW
2025-05-19T03:34:02.664554Z_2816a9b9-05de-441c-be48-21bed814eefd mgr.ceph21.urwnpb
清理单个:ceph crash archive <crash-id>
清理所有的crash: ceph crash archive-all
2
3
4
5
6
7
8
9
10
11
12
# 其他
ceph orch apply prometheus
ceph orch apply grafana
ceph orch apply node-exporter
ceph orch apply alertmanager
2
3
4
- 查看集群信息
ceph -s
ceph config dump
ceph osd ls
ceph osd status
ceph osd df
2
3
4
5