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__