ubuntu 22.04用cephadm部署ceph
  dbAtOQs08SX8 2023年11月02日 53 0


ceph集群安装配置有多种方式,下方cephadm方式是借助容器部署


配置安排:

ceph版本:quincy
主机系统:ubuntu 22.04
docker版本:20.10




1、环境准备(3个节点都要做)

hostnamectl set-hostname xxx

cat >> /etc/hosts <<EOF
192.168.209.100 ceph1
192.168.209.101 ceph2
192.168.209.102 ceph3
EOF

apt install docker.io lvm2 -y
注:python3 ubuntu 22.04系统自带




2、安装cephadm并初始化单节点集群(主机ceph1上执行)

wget https://mirrors.aliyun.com/ceph/debian-17.2.4/pool/main/c/ceph/cephadm_17.2.4-1focal_amd64.deb
dpkg -i cephadm_17.2.4-1focal_amd64.deb
cephadm bootstrap --mon-ip 192.168.209.100 --cluster-network 192.168.209.0/24 --allow-fqdn-hostname

注:上方配置初始化完成后,节点上会运行mon、mgr进程,但不包含osd。同时会在主机ceph1上新建/etc/ceph目录,目录会有如下文件。

root@ceph1:~# ls -al /etc/ceph/
-rw-------   1 root root   151 11月  9 10:14 ceph.client.admin.keyring
-rw-r--r--   1 root root   289 11月  9 10:47 ceph.conf
-rw-r--r--   1 root root   595 11月  9 10:07 ceph.pub


配置初始化完成后,可以使用浏览器访问https://192.168.209.100:8443访问dashboard。对应登录用户名密码会在初始化完成后打印到屏幕,如果忘记了可以使用下方命令重置。

# 密码预先放在test.txt文件中
ceph dashboard set-login-credentials admin -i ./test.txt




3、添加节点,实现高可用(主机ceph1上执行)

ssh-copy-id -f -i /etc/ceph/ceph.pub ceph2
ssh-copy-id -f -i /etc/ceph/ceph.pub ceph3
# 安装ceph工具包,包括ceph、rbd、mount
apt install ceph-common
ceph orch host add ceph101
ceph orch host add ceph102

注:以实验环境为例,添加节点完成后会在3台主机都安装mon、crash和node-exporter,按添加节点操作顺序的前2台安装mgr,初始化第1台节点安装1个altermanager、grafana、prometheus。cephadm预设是5个mon服务、2个mgr服务、3个crash和node-exporter、1个altermanager、prometheus和grafana。

root@ceph1:~# ceph orch ls
NAME           PORTS        RUNNING  REFRESHED  AGE  PLACEMENT
alertmanager   ?:9093,9094      1/1  6m ago     3h   count:1
crash                           3/3  6m ago     3h   *
grafana        ?:3000           1/1  6m ago     3h   count:1
mgr                             2/2  6m ago     3h   count:2
mon                             3/5  6m ago     2s   count:3
node-exporter  ?:9100           3/3  6m ago     3h   *
prometheus     ?:9095           1/1  6m ago     3h   count:1
 
# 调整mon预设数量,同理其它组件也可以
root@ceph1:~# ceph orch apply mon 3
 
# 关闭mon自动部署,同理其它组件也可以
# 配合下方指定节点上部署mon可实现指定节点安装mon组件
root@ceph1:~# ceph orch apply mon --unmanaged
 
# 指定节点上部署mon,同理其它组件也可以
# 可用于添加新节点
root@ceph1:~# ceph orch apply mon "ceph1,ceph2,ceph3"
 
# 指定节点上删除mon,同理其它组件也可以
# --force参数会强制删除指定节点上的mon服务
# 可用于剔除节点
root@ceph1:~# ceph orch daemon rm mon.ceph3 --force




4、添加osd,这里添加的节点的硬盘不能做过分区和文件系统。 容量要大于5GB。(仍在ceph1主机上配置)

ceph orch apply osd --all-available-devices
ceph orch device ls
没有添加成功可以手动添加
ceph orch daemon add osd ceph1:/dev/sdb
ceph orch daemon add osd ceph2:/dev/sdb
ceph orch daemon add osd ceph3:/dev/sdb
ceph orch device ls

如果添加失败,可以使用如下方式重新添加:

# 删除指定osd磁盘
# 先获取要删除的osd磁盘id,也就是第一列ID对应的数字
ceph osd tree
# 其次下线对应id磁盘,并停止对应id磁盘的osd进程
ceph osd stop 2 
ceph osd out 2
# 然后将其从crush映射、auth认证密钥中删除
ceph osd crush rm osd.2
ceph auth del osd.2
# 最后从osd中删除
ceph osd rm 2

# 重新添加上方删除的硬盘
lsblk
dmsetup remove ceph--b82bcf74--52b9--4d61--9893--12b10a801258-osd--block--999ab762--9b86--4881--ad34--63b8b48c16a7
注:dmsetup是一个更加底层的逻辑卷管理工具
wipefs -af /dev/sdb
注:wipefs命令用于清除块设备上的文件系统或签名
ceph orch device zap ceph1 /dev/sdb
注:执行这个命令将清除 /dev/sdb 设备上的所有数据和元数据。该设备将会被完全擦除
ceph orch device ls
ceph orch daemon add osd ceph1:/dev/sdb

添加结果:

root@ceph1:~# ceph osd tree
ID  CLASS  WEIGHT   TYPE NAME         STATUS  REWEIGHT  PRI-AFF
-1         0.02939  root default
-7         0.00980      host ceph1
 2    hdd  0.00980          osd.2         up   1.00000  1.00000
-3         0.00980      host ceph2
 0    hdd  0.00980          osd.0         up   1.00000  1.00000
-5         0.00980      host ceph3
 1    hdd  0.00980          osd.1         up   1.00000  1.00000




5、部署完成集群情况

root@ceph1:~# ceph status
  cluster:
    id:     2895daf4-5fd3-11ed-998e-63fba36fadaf
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph1,ceph2,ceph3 (age 48s)
    mgr: ceph100.xzhyib(active, since 38s), standbys: ceph2.xwosnc
    osd: 3 osds: 3 up (since 5s), 3 in (since 21s)
 
  data:
    pools:   1 pools, 1 pgs
    objects: 2 objects, 257 KiB
    usage:   71 MiB used, 30 GiB / 30 GiB avail
    pgs:     1 active+clean




补充:

1、cephadm方式安装的ceph集群,ceph1节点初始化集群后运行的容器介绍

root@ceph1:~# docker ps
CONTAINER ID   IMAGE                                     COMMAND                  CREATED       STATUS       PORTS     NAMES
71c967fbe46c   quay.io/prometheus/alertmanager:v0.23.0   "/bin/alertmanager -…"   3 hours ago   Up 3 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-alertmanager-ceph1
8a93e47c2191   quay.io/prometheus/prometheus:v2.33.4     "/bin/prometheus --c…"   3 hours ago   Up 3 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-prometheus-ceph1
47e928f19a94   quay.io/ceph/ceph                         "/usr/bin/ceph-crash…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-crash-ceph1
ee4eebe03d53   quay.io/ceph/ceph:v17                     "/usr/bin/ceph-mgr -…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-mgr-ceph1-xzhyib
5d71bcad0918   quay.io/ceph/ceph:v17                     "/usr/bin/ceph-mon -…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-mon-ceph1
ccd727420250   quay.io/ceph/ceph-grafana:8.3.5           "/bin/sh -c 'grafana…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-grafana-ceph1
e5ece9d56cfd   quay.io/prometheus/node-exporter:v1.3.1   "/bin/node_exporter …"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-node-exporter-ceph1

ceph-mgr,ceph管理器
ceph-monitor,ceph监视器
ceph-crash,ceph崩溃数据收集模块
prometheus,prometheus监控组件
grafana,监控数据展示dashboard
alertmanager,prometheus监控告警组件
node_exporter,prometheus节点数据收集组件


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读