ubuntu 22.04部署quincy版ceph

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

cephadm从ceph的octopus版本开始支持。安装需要主机配置安装了容器和python 3。

配置安排:

ceph版本:quincy

主机系统:ubuntu 22.04

docker版本:20.10

ceph-mon

ceph-mgr

ceph-osd

ceph100

√,vdb

ceph101

√,vdb

ceph102

×

√,vdb

安装:

1、环境准备

修改hostname,关闭防火墙,并在主机ceph100 hosts文件中将3台主机信息写入。

hostnamectl set-hostname ceph100
systemctl stop ufw
cat >> /etc/hosts <

安装docker,3台主机均需安装

安装python3,ubuntu 22.04自带

安装lvm2

apt install lvm2 -y

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

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。
会在主机ceph100上新建/etc/ceph目录,目录会有如下文件。

root@ceph100:~# 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、添加节点,实现高可用(主机ceph100上执行)

ssh-copy-id -f -i /etc/ceph/ceph.pub ceph101
ssh-copy-id -f -i /etc/ceph/ceph.pub ceph102
# 安装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@ceph100:~# 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@ceph100:~# ceph orch apply mon 3

# 关闭mon自动部署,同理其它组件也可以
# 配合下方指定节点上部署mon可实现指定节点安装mon组件
root@ceph100:~# ceph orch apply mon --unmanaged

# 指定节点上部署mon,同理其它组件也可以
# 可用于添加新节点
root@ceph100:~# ceph orch apply mon "ceph100,ceph101,ceph102"

# 指定节点上删除mon,同理其它组件也可以
# --force参数会强制删除指定节点上的mon服务
# 可用于剔除节点
root@ceph100:~# ceph orch daemon rm mon.ceph102 --force

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

ceph orch apply osd --all-available-devices
ceph orch device ls
ceph orch daemon add osd ceph100:/dev/sdb
ceph orch daemon add osd ceph101:/dev/sdb
ceph orch daemon add osd ceph102:/dev/sdb

# 删除指定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
wipefs -af /dev/sdb
ceph orch device zap ceph100 /dev/sdb --force
ceph orch device ls
ceph orch daemon add osd ceph100:/dev/sdb

添加结果:

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

5、部署完成集群情况

root@ceph100:~# ceph status
  cluster:
    id:     2895daf4-5fd3-11ed-998e-63fba36fadaf
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum ceph100,ceph101,ceph102 (age 48s)
    mgr: ceph100.xzhyib(active, since 38s), standbys: ceph101.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集群,ceph100节点初始化集群后运行的容器介绍

root@ceph100:~# 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-ceph100
8a93e47c2191   quay.io/prometheus/prometheus:v2.33.4     "/bin/prometheus --c…"   3 hours ago   Up 3 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-prometheus-ceph100
47e928f19a94   quay.io/ceph/ceph                         "/usr/bin/ceph-crash…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-crash-ceph100
ee4eebe03d53   quay.io/ceph/ceph:v17                     "/usr/bin/ceph-mgr -…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-mgr-ceph100-xzhyib
5d71bcad0918   quay.io/ceph/ceph:v17                     "/usr/bin/ceph-mon -…"   4 hours ago   Up 4 hours             ceph-2895daf4-5fd3-11ed-998e-63fba36fadaf-mon-ceph100
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-ceph100
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-ceph100
  • ceph-mgr,ceph管理器
  • ceph-monitor,ceph监视器
  • ceph-crash,ceph崩溃数据收集模块
  • prometheus,prometheus监控组件
  • grafana,监控数据展示dashboard
  • alertmanager,prometheus监控告警组件
  • node_exporter,prometheus节点数据收集组件

你可能感兴趣的:(ceph,linux,ubuntu)