使用欧拉安装ceph分布式存储,ceph的集群安装、添加主机集群和删除主机、添加osd硬盘和手动添加硬盘为osd和移除osd。

1.ceph安装

1.1 首先准备3台机子,配置ip,给每台机子添加3块硬盘,设置主机名为ceph01、ceph02、ceph03。

|---------------|--------|
| 192.168.10.20 | ceph01 |
| 192.168.10.21 | ceph02 |
| 192.168.10.22 | ceph03 |

1.2 三台机子关闭防火墙,setenforce 0,添加hosts解析、配置时间同步。

bash 复制代码
#关闭防火墙 setenforce 0
systemctl stop firewalld
setenforce 0


#添加解析文件
192.168.10.20 ceph01
192.168.10.21 ceph02
192.168.10.22 ceph03


#下载时间同步
yum install -y chrony

#启动并设置开机自启
systectl restart chronyc
systemctl enable chronyd --now

chronyc sources

1.3 安装cephadm 在ceph01主机上安装就可以

bash 复制代码
#安装cephadm
git clone https://gitee.com/yftyxa/openeuler-cephadm.git

如果没有git ,自己下载一个
yum -y install git

#下载完成后,将下载到的cephadm复制到/usr/sbin/下,并为其添加可执行权限
cp openeuler-cephadm/cephadm /usr/sbin && chmod a+x /usr/sbin/cephadm

测试安装成功没有:
cephadm --help

1.4 添加ceph所需要的源 在所有主机上添加

bash 复制代码
cat >> /etc/yum.repos.d/ceph.repo <<EOF
[ceph]
name=ceph x86_64
baseurl=https://repo.huaweicloud.com/ceph/rpm-pacific/el8/x86_64
enabled=1
gpgcheck=0

[ceph-noarch]
name=ceph noarch
baseurl=https://repo.huaweicloud.com/ceph/rpm-pacific/el8/noarch
enabled=1
gpgcheck=0

[ceph-source]
name=ceph SRPMS
baseurl=https://repo.huaweicloud.com/ceph/rpm-pacific/el8/SRPMS
enabled=1
gpgcheck=0
EOF

1.5 然后安装官方容器源 在所有主机上执行

bash 复制代码
#配置所需要的源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo


#安装容器引擎
yum install podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64 lvm2 -y

2. 安装ceph,初始化集群 (在ceph01上执行)

bash 复制代码
#使用命令先安装镜像
podman create swr.cn-east-3.myhuaweicloud.com/hcie_openeuler/ceph:v16.2.13


#初始化集群
cephadm bootstrap --mon-ip 192.168.10.20 --allow-fqdn-hostname --initial-dashboard-user admin --initial-dashboard-password Huawei@123 --dashboard-password-noupdate

在浏览器访问:192.168.10.20:8443

2.1 为集群添加node节点 、进入容器管理、生成集群公钥并拷贝到另外两个主机(ceph02和ceph03),将主机添加到集群、添加完成后查看主机状态。(在ceph01上执行)

bash 复制代码
#进入容器管理
cephadm shell

#生成集群公钥,并将其拷贝到剩余主机
ceph cephadm get-pub-key > ~/ceph.pub
ssh-copy-id -f -i ~/ceph.pub root@ceph02
ssh-copy-id -f -i ~/ceph.pub root@ceph03


#将全部主机添加到集群内
ceph orch host add ceph02
ceph orch host add ceph03

#查看当前集群中主机状态
ceph orch host ls

2.2 ceph集群初始化,取消mon服务的自动扩展功能,给ceph02和ceph03添加标签,将mon和mgr组件部署到指定节点中。(在ceph01上执行)

bash 复制代码
#取消mon服务的自动扩展功能
ceph orch apply mon --unmanaged=true

#为ceph02和ceph03添加标签
 ceph orch host label add ceph02 _admin
 ceph orch host label add ceph03 _admin

#将mon和mgr组件部署到指定节点中
ceph orch apply mon --placement="label:_admin"
ceph orch apply m --placement="label:_admin"

2.3 将主机上的硬盘添加为osd (在ceph01上执行)

bash 复制代码
#将所有主机上的硬盘添加为OSD
ceph orch apply osd --all-available-devices

在所有主机上查看lsblk

查看 ceph orsh ls

3. 其他ceph常用操作

3.1 移除服务、将移除ceph02中除OSD外的全部服务,首先将ceph02中的服务筛选出来

bash 复制代码
#首先将ceph02中的服务筛选出来
ceph orch ps | grep ceph02

#关闭集群组件的自动扩展
ceph orch apply crash --unmanaged=true
ceph orch apply mon --unmanaged=true
ceph orch apply mgr --unmanaged=true
ceph orch apply node-exporter --unmanaged=true
ceph orch apply prometheus --unmanaged=true

#把ceph02中的服务筛选出来的东西全部删除
ceph orch daemon rm crash.ceph02
ceph orch daemon rm mgr.ceph02.bmmlba
ceph orch daemon rm mon.ceph02 --force
全部删除 我这里只删除了一几个

3.2 移除osd,先停止osd,在移除(在ceph01上执行),

ceph osd terr 看看ceph的id

bash 复制代码
#停止osd
ceph orch daemon stop osd.0
ceph orch daemon stop osd.3
ceph orch daemon stop osd.6

#移除osd
ceph osd rm 0
ceph osd rm 3
ceph osd rm 6

关闭 osd部署功能,擦除对应磁盘的数据

bash 复制代码
#关闭自动osd部署功能
ceph orch apply osd --all-available-devices --unmanaged=true


#擦除数据
ceph orch device zap ceph02 /dev/sdb --force
ceph orch device zap ceph02 /dev/sdc --force
ceph orch device zap ceph02 /dev/sdd --force

最后删除cursh的osd映射

bash 复制代码
#删除CURSH的osd映射
ceph osd crush rm osd.0
ceph osd crush rm osd.3
ceph osd crush rm osd.6

现在已经看到已经删除了osd盘。

3.3 移除节点ceph02,然后开启全部服务

bash 复制代码
#移除ceph02节点
ceph orch host rm ceph02

#将所有服务都开启自动部署
ceph orch apply mon --unmanaged=false
ceph orch apply mgr --unmanaged=false
ceph orch apply node-exporter --unmanaged=false
ceph orch apply crash --unmanaged=false
ceph orch apply prometheus --unmanaged=false

现在已经看到ceph02的集群已经删除了

3.4 手动部署服务,将ceph02添加回集群,为新增加的节点添加"_admin"的标签,将管理相关的组件部署在标签为"_admin"的主机中手动将ceph02的硬盘添加为osd。

bash 复制代码
#将ceph02添加回集群
ceph orch host add ceph02

#为ceph02节点添加"_admin"的标签
ceph orch  host  label add ceph02 _admin

#将管理相关的组件部署在标签为"_admin"的主机中
ceph orch apply mgr --placement="label:_admin"
ceph orch apply mon --placement="label:_admin"


#手动将ceph02的硬盘添加为osd
ceph orch daemon add osd ceph02:/dev/sdb
ceph orch daemon add osd ceph02:/dev/sdc
ceph orch daemon add osd ceph02:/dev/sdd

最后在ceph02上查看 : lsblk (现在我们已经将硬盘手动设置为osd了)

4. 总结

以上就是ceph的安装和添加节点和移除节点、为节点添加标签、手动添加osd硬盘、停止osd、删除osd和删除osd映射,删除指定的服务、部署ceph集群、生成集群公钥,并将其拷贝到剩余主机,安装容器引擎等。

相关推荐
运维&陈同学1 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
时差9531 小时前
Flink Standalone集群模式安装部署
大数据·分布式·flink·部署
菠萝咕噜肉i1 小时前
超详细:Redis分布式锁
数据库·redis·分布式·缓存·分布式锁
只因在人海中多看了你一眼5 小时前
分布式缓存 + 数据存储 + 消息队列知识体系
分布式·缓存
zhixingheyi_tian7 小时前
Spark 之 Aggregate
大数据·分布式·spark
求积分不加C9 小时前
-bash: ./kafka-topics.sh: No such file or directory--解决方案
分布式·kafka
nathan05299 小时前
javaer快速上手kafka
分布式·kafka
谭震鸿12 小时前
Zookeeper集群搭建Centos环境下
分布式·zookeeper·centos
一名路过的小码农17 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
天冬忘忧17 小时前
Kafka 工作流程解析:从 Broker 工作原理、节点的服役、退役、副本的生成到数据存储与读写优化
大数据·分布式·kafka