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集群、生成集群公钥,并将其拷贝到剩余主机,安装容器引擎等。