Ceph版本来源介绍
第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月。多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0.99 (以及 0.100 或 1.00 ?),制定了新策略。
x.0.z - 开发版(给早期测试者和勇士们)
x.1.z - 候选版(用于测试集群、高手们)
x.2.z - 稳定、修正版(给用户们)
x 将从 9 算起,它代表 Infernalis ( I 是第九个字母),这样第九个发布周期的第一个开发版就是 9.0.0 ;后续的开发版依次是 9.0.1 、 9.0.2 等等。
| 版本名称 | 版本号 | 发布时间 | 
|---|---|---|
| Argonaut | 0.48版本(LTS) | 2012年6月3日 | 
| Bobtail | 0.56版本(LTS) | 2013年5月7日 | 
| Cuttlefish | 0.61版本 | 2013年1月1日 | 
| Dumpling | 0.67版本(LTS) | 2013年8月14日 | 
| Emperor | 0.72版本 | 2013年11月9 | 
| Firefly | 0.80版本(LTS) | 2014年5月 | 
| Giant | Giant | October 2014 - April 2015 | 
| Hammer | Hammer | April 2015 - November 2016 | 
| Infernalis | Infernalis | November 2015 - June 2016 | 
| Jewel | 10.2.9 | 2016年4月 | 
| Kraken | 11.2.1 | 2017年10月 | 
| Luminous | 12.2.12 | 2017年10月 | 
| mimic | 13.2.7 | 2018年5月 | 
| nautilus | 14.2.5 | 2019年2月 | 
| Octopus | 15.2.17 | 2020-03-23 | 
| Pacific | 16.2.15 | 2021-03-31 | 
| Quincy | 17.2.7 | 2022-04-19 | 
| Reef | 18.2.1 | 2023-08-07 | 
根据官网给出的消息目前从O版开始(包括O版)之前的版本都不会再进行维护更新
安装方式介绍
ceph-ansible : 部署和管理 使用 Ansible 的 Ceph 集群。
- ceph-ansible 被广泛部署。
- ceph-ansible 未与 在 Nautilus 和 Octopus 中引入,这意味着管理功能 而 Nautilus 和 Octopus 中引入的仪表板集成则不是 在通过 ceph-ansible 部署的 Ceph 集群中可用。
ceph-deploy : 是一个 可用于快速部署集群的工具。
Cephadm : 是一种可用于 安装和管理 Ceph 集群。(它不支持 RHEL8、CentOS 8 或更高版本的操作 系统。)
- cephadm 只支持 Octopus 及更新版本。
- cephadm 与编排 API 完全集成,并完全支持 用于管理集群部署的 CLI 和仪表板功能。
- cephadm 需要容器支持(以 Podman 或 Docker 的形式)和 Python 3.
- cephadm 需要 systemd。
环境准备
准备四台台虚拟机
| 主机名 | IP地址 | 配置 | 
|---|---|---|
| center | 192.168.10.100 | 2核2G +20g | 
| ceph-node1 | 192.168.10.11 | 2核2G +20g+30g+30g+30g(临时) | 
| ceph-node2 | 192.168.10.12 | 2核2G +20g+30g+30g+30g(临时) | 
| ceph-noded3 | 192.168.10.13 | 2核2G +20g+30g+30g+30g(临时) | 
关闭防火墙,seliunx
| 1 | systemctl stop firewalld && systemctl disable firewalld && setenforce 0 | 
修改主机名,主机映射
| 1 | 四台虚拟机分别执行 | 
配置ntp服务器同步时间
| 1 | yum -y install ntp #安装ntp | 
配置免密登录
| 1 | ssh-keygen -t rsa | 
配置yum源
| 1 | 清除以前的yum源 | 
| 1 | 清除yum配置重新生成缓存 | 
ceph集群搭建
安装部署工具
center节点
| 1 | yum -y install python-setuptools | 
ceph-1 ceph-2 ceph-3 节点
| 1 | 安装所需要的包 | 

部署monitor
将ceph-1节点作为monitor,在center节点进行部署
| 1 | 创建一个目录 /ceph-mon 存放部署时产生的文件 | 
部署manager
将ceph-1节点作为mgr,在center节点进行部署
| 1 | 进入/ceph-demo目录,方便后续操作 | 
OSD
存储方式
*OSD 可以通过两种方式管理其存储的数据。截至 Luminous 12.2.z 版本,默认(也是推荐的)后端是 BlueStore。事先 在 Luminous 版本中,默认(也是唯一)后端是 Filestore。*
BlueStore:
- BlueStore直接管理裸设备或分区,绕过传统的文件系统层,将数据和元数据直接存储在物理介质上,从而减少IO路径上的开销。 
- 效率更高,适合高性能应用场景,如云存储、大规模数据分析和高并发访问的场景。 
- 不依赖文件系统,因此不受文件系统限制,例如inode数量等。 
FileStore(文件存储):
- Filestore 已在 Reef 版本中弃用,不再受支持。 
- FileStore使用传统的文件系统(通常是XFS)来组织存储空间,每个Ceph对象作为一个文件存储在文件系统内。 
- 由于存在文件系统层,对于大规模并发的随机读写场景,性能相对BlueStore较低。 
- 写前日志机制会引入额外的写放大数据,可能影响性能,尤其是当日志和OSD数据位于同一硬盘时。 
- 便于管理,文件系统的使用使得FileStore在一定程度上更易于管理和维护,比如可以通过标准文件系统工具进行检查和修复。 
在目前的版本中传统的文件存储方式(FileStore)已经逐渐被 BlueStore 这种方式所替代
部署OSD
选用 FileStore 作为存储引擎,选用每个节点上的 /dev/sdb 作为数据盘,/dev/sdc作为日志盘,在center节点上进行操作部署
| 1 | 确认每个节点上的磁盘状况 | 
__END__
