本文最后更新于178 天前,其中的信息可能已经过时,如有错误请发送邮件到pby_while@163.com
配置前提:
- CentOS9 Stream
- 免密登录
- Chrony时间同步(很重要!!!)
1、时间同步
安装 chrony
[root@ceph01 /etc/yum.repos.d]# yum install chrony
同步源时钟到阿里云
[root@ceph01 /etc/yum.repos.d]# vim /etc/chrony.conf
.....
pool ntp.aliyun.com iburst
.....
重启服务
[root@ceph01 ~]# systemctl restart chrony
2、配置免密登录
编辑hosts文件,提供ip和主机
[root@ceph01 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
## ceph
192.168.10.180 ceph01
192.168.10.181 ceph02
192.168.10.182 ceph03
192.168.10.175 ceph04
----------------------------------
生成秘钥
[root@ceph01 ~]# ssh-keygen -t rsa
回车
回车
分发秘钥
[root@ceph01 ~]# ssh-copy-id ceph01
ceph01....04都要分发
编辑配置文件
[root@ceph01 /etc/yum.repos.d]# cat ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-17.2.8/el9/$basearch
enabled=1
priority=2
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-17.2.8/el9/noarch
enabled=1
priority=2
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-17.2.8/el9/SRPMS
enabled=0
priority=2
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
同步yum仓库
[root@ceph01 ~]# for i in {1..4};do scp /etc/yum.repos.d/* ceph0$i:/etc/yum.repos.d/ ;done
ceph01....04都要进行
新建元缓存
[root@ceph01 ~]# yum clean all;yum makecache
ceph01....04都要进行
下载 cephadm软件包
[root@ceph01 ~]# curl --silent --remote-name --location https://mirrors.aliyun.com/ceph/rpm-18.1.0/el9/noarch/cephadm
ceph01....04都要进行
[root@ceph01 ~]# chmod +x cephadm
[root@ceph01 ~]# mv cephadm /usr/sbin/
[root@ceph01 ~]# cephadm install
Installing packages ['cephadm']...
检查是否满足ceph集群搭建
ceph01....04都要进行
[root@ceph01 ~]# cephadm check-host --expect-hostname `hostname`
docker (/usr/bin/docker) is present
systemctl is present
lvcreate is present
Unit chronyd.service is enabled and running
Hostname "ceph01" matches what is expected.
Host looks OK
3、搭建ceph集群
初始化mon
[root@ceph01 /etc/ceph]# cephadm --docker bootstrap --mon-ip 192.168.10.180 --cluster-network 192.168.10.0/24 --initial-dashboard-user admin --initial-dashboard-password 123123
PS:默认ceph是会使用podman进行镜像拉取和部署,--docker参数可以让它使用docker代替podman
.....
等待 Bootstrap complete. (和个人网速有关)
.....
URL: https://ceph01:8443/
User: admin
Password: 123123
(第一次登录dashboard会让你改密码)
.....
导出ceph镜像,并分发到其他ceph节点上
[root@ceph01 ~]# docker images | grep -v "REPOSITORY" | awk '{print $1":"$2}' | xargs docker save -o ceph-images.tar
对cephadm进行升级,下载rpm包
[root@ceph01 ~]# curl --remote-name --location https://mirrors.aliyun.com/ceph/rpm-18.2.0/el9/noarch/cephadm-18.2.0-0.el9.noarch.rpm
ceph01....04都要进行
覆盖安装,并自动卸载老版本
[root@ceph01 ~]# rpm -Uvh cephadm-18.2.0-0.el9.noarch.rpm
ceph01....04都要进行
安装低版本ceph,把ceph01当做客户端连接集群
[root@ceph01 /]# yum search ceph --showduplicate
[root@ceph01 /]# yum install ceph
实现效果
[root@ceph01 /etc/yum.repos.d]# ceph -v
ceph version 17.2.8 (f817ceb7f187defb1d021d6328fa833eb8e943b3) quincy (stable)
将ceph.pub公钥拷贝到其他ceph节点
[root@ceph01 /etc/ceph]# for i in {2..4};do ssh-copy-id -f -i /etc/ceph/ceph.pub ceph0$i;done
添加节点到集群
[root@ceph01 ~]# ceph orch host add ceph02 192.168.10.181 --labels=mon,mgr
[root@ceph01 ~]# ceph orch host add ceph03 192.168.10.182 --labels=mon
查看节点下可用磁盘
[root@ceph01 ~]# ceph orch device ls

为ceph集群添加OSD
[root@ceph01 ~]# ceph orch daemon add osd ceph01:/dev/sda
Created osd(s) 0 on host 'ceph01'
[root@ceph01 ~]# ceph orch daemon add osd ceph01:/dev/sdb
Created osd(s) 1 on host 'ceph01'
......
ceph01....03都要
......
查看集群状态
[root@ceph01 ~]# ceph -s
cluster:
id: d59c5366-45ec-11f0-8e95-000c294d7b21
health: HEALTH_OK
基础命令
cephadm shell # 进入守护进程容器内进行 shell 交换
ceph -version # 查看版本号
ceph -s # 查看集群信息




