![b5a9fe5966bc4861f1f5432a0f2f29e6.gif](https://img-blog.csdnimg.cn/img_convert/b5a9fe5966bc4861f1f5432a0f2f29e6.gif)
Ceph是一个统一的分布式存储系统,提供较好的性能、可靠性和可扩展性。Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。
![1ce0aa6a7d0ac71a5aa62cfe103f51ca.png](https://img-blog.csdnimg.cn/img_convert/1ce0aa6a7d0ac71a5aa62cfe103f51ca.png)
一、准备服务器
1、SSH免密码登录
[root@ceph-1 ~]# ssh-keygen[root@ceph-1 ~]# ssh-copy-id root@ceph-2[root@ceph-1 ~]# ssh-copy-id root@ceph-3
2、时间同步
[root@ceph-1 ~]# vim /etc/chrony.conf添加:server 20.0.0.202 iburst [root@ceph-1 ~]# scp /etc/chrony.conf root@ceph-2:/etc/[root@ceph-1 ~]# scp /etc/chrony.conf root@ceph-3:/etc/ 注意:ceph-1、ceph-2和ceph-3都要重启chronyd服务。[root@ceph-1 ~]# systemctl restart chronyd[root@ceph-1 ~]# chronyc sources -v
![1a600aff78aff3a7caded9f4fcdbc3d6.png](https://img-blog.csdnimg.cn/img_convert/1a600aff78aff3a7caded9f4fcdbc3d6.png)
3、添加硬盘
(1)ceph-1、ceph-2和ceph-3服务器中各添加一块硬盘。
[root@ceph-1 ~]# lsblk
![07688634f602c3e4b5c5602a2bc414e6.png](https://img-blog.csdnimg.cn/img_convert/07688634f602c3e4b5c5602a2bc414e6.png)
[root@ceph-2 ~]# lsblk
![5cc95684333de768b718415385cdd18b.png](https://img-blog.csdnimg.cn/img_convert/5cc95684333de768b718415385cdd18b.png)
[root@ceph-3 ~]# lsblk
![17d71c88bcdb0d5da6ea902b958a09e7.png](https://img-blog.csdnimg.cn/img_convert/17d71c88bcdb0d5da6ea902b958a09e7.png)
(2)格式硬盘
[root@ceph-1 ~]# mkfs.xfs /dev/sdb[root@ceph-2 ~]# mkfs.xfs /dev/sdb[root@ceph-3 ~]# mkfs.xfs /dev/sdb
![9c1a2834735d7bf7408c65a9bde08cdd.png](https://img-blog.csdnimg.cn/img_convert/9c1a2834735d7bf7408c65a9bde08cdd.png)
二、部署ceph
目前Ceph官方提供三种部署Ceph集群的方法,分别是ceph-deploy,cephadm和手动安装:
- ceph-deploy,一个集群自动化部署工具,使用较久,成熟稳定,被很多自动化工具所集成,可用于生产部署;
- cephadm,从Octopus开始提供的新集群部署工具,支持通过图形界面或者命令行界面添加节点,目前不建议用于生产环境,有兴趣可以尝试;
- manual,手动部署,一步步部署Ceph集群,支持较多定制化和了解部署细节,安装难度较大,但可以清晰掌握安装部署的细节。
![1c992266cdf07ae0c8773dcbe49ee5e7.png](https://img-blog.csdnimg.cn/img_convert/1c992266cdf07ae0c8773dcbe49ee5e7.png)
1、在所有节点ceph-1安装工具
(1)准备yum源
[root@ceph-1 ~]# vim /etc/yum.repos.d/ceph.repo添加:[Ceph]name=Ceph packages for $basearchbaseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el8/x86_64/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc [Ceph-noarch]name=Ceph noarch packagesbaseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el8/noarch/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc [ceph-source]name=Ceph source packagesbaseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el8/SRPMS/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc [root@ceph-1 ~]# scp /etc/yum.repos.d/ceph.repo root@ceph-2:/etc/yum.repos.d/[root@ceph-1 ~]# scp /etc/yum.repos.d/ceph.repo root@ceph-3:/etc/yum.repos.d/ [root@ceph-1 ~]# yum install epel-release -y[root@ceph-1 ~]# yum clean all && yum makecache
(2)在所有节点上部署ceph软件
[root@ceph-1 ~]# yum -y install ceph[root@ceph-1 ~]# yum install -y ceph-common [root@ceph-1 ~]# ceph --version
![64e9994414d9dddc0db74f5a56fa7d68.png](https://img-blog.csdnimg.cn/img_convert/64e9994414d9dddc0db74f5a56fa7d68.png)
2、创建管理节点
(2)在ceph-1创建管理节点
[root@ceph-1 ~]# yum install -y cephadm[root@ceph-1 ~]# cd /etc/ceph/[root@ceph-1 ceph]# cephadm bootstrap --mon-ip 192.168.1.201
![215f08c04bc33a2ed671baffb1e31bbe.png](https://img-blog.csdnimg.cn/img_convert/215f08c04bc33a2ed671baffb1e31bbe.png)
(3)访问ceph UI界面。注意:首次登陆要修改密码,进行验证。
![f4769763f995c12a15b2d701733ed78c.png](https://img-blog.csdnimg.cn/img_convert/f4769763f995c12a15b2d701733ed78c.png)
![3ef86dbe58e8590891f3a893f1509b59.png](https://img-blog.csdnimg.cn/img_convert/3ef86dbe58e8590891f3a893f1509b59.png)
[root@ceph-1 ~]# podman images
![6b626d9e54fcf730a0d4aa66834cc3c3.png](https://img-blog.csdnimg.cn/img_convert/6b626d9e54fcf730a0d4aa66834cc3c3.png)
[root@ceph-1 ~]# podman ps -a
![764fc1daea47f8b8e7297f034b4142d0.png](https://img-blog.csdnimg.cn/img_convert/764fc1daea47f8b8e7297f034b4142d0.png)
cephadm shell命令在安装了所有Ceph包的容器中启动一个bash shell
[root@ceph-1 ~]# cephadm shell
![151268f6ae7c1d6bedae5d86d1b65122.png](https://img-blog.csdnimg.cn/img_convert/151268f6ae7c1d6bedae5d86d1b65122.png)
[root@ceph-1 ~]# cephadm install ceph-common或者[root@ceph-1 ~]# y