优点:
- 通过Raid与LVM等手段,对数据提供了保护;
- 多块廉价的硬盘组合起来,提高容量;
- 多块磁盘组合出来的逻辑盘,提升读写效率;
缺点:
- 采用SAN架构组网时,光纤交换机,造价成本高;
- 主机之间无法共享数据;
使用场景:
- docker容器、虚拟机磁盘存储分配;
- 日志存储;
- 文件存储;
2)文件系统存储服务(CephFS)总结: 一个Linux内核级的块设备,允许用户像任何其他Linux块设备一样访问Ceph。
Ceph 文件系统(CephFS),是建立在 Ceph 分布式对象存储的顶部, CephFS提供了最先进的、多用途、高度可用且高性能的文件存储在各种场景应用,包括共享home目录、FTP和NFS 共享存储等等。
Ceph有了块存储,为什么还需要文件系统接口呢?
主要是因为应用场景的不同,Ceph的块设备具有优异的读写性能,但不能多处挂载同时读写,目前主要用在OpenStack上作为虚拟磁盘,而Ceph的文件系统接口读写性能较块设备接口差,但具有优异的 共享性。
优点:
- 造价低,随便一台机器就可以了。
- 方便文件共享。
缺点:
- 读写速率低。
- 传输速率慢。
使用场景:
- 日志存储。
- 有目录结构的文件存储。
Ceph 对象网关 是构建在 librados.它在应用程序和 Ceph 之间提供了一个 RESTful 网关。 存储集群。 Ceph 对象存储 支持两种接口:
- S3 兼容: 通过接口提供对象存储功能 与 Amazon S3 RESTful API 的大部分子集兼容。
- 快速兼容: 通过接口提供对象存储功能 与 OpenStack Swift API 的一大块子集兼容。
优点:
- 具备块存储的读写高速。
- 具备文件存储的共享等特性。
使用场景:
- 图片存储。
- 视频存储。
Ceph从Nautilus版本(14.2.0)开始,每年都会有一个新的稳定版发行,预计是每年的3月份发布,每年的新版本都会起一个新的名称(例如,“Mimic”)和一个主版本号(例如,13 代表 Mimic,因为“M”是字母表的第 13 个字母)。
版本号的格式为x.y.z,x表示发布周期(例如,13 代表 Mimic,17代表Quincy),y表示发布版本类型,即
- x.0.z - y等于0,表示开发版本
- x.1.z - y等于1,表示发布候选版本(用于测试集群)
- x.2.z - y等于2,表示稳定/错误修复版本(针对用户)
在Octopus版本后使用cephadm来部署ceph集群,如果使用cephadm部署,在后期新的版本升级时,可以做到完全自动化,并可以通过ceph -W cephadm查看升级进度,升级完成后,无法降级,升级时请不要跨版本升级,例如:当前使用Octopus升级到Quincy,要先把Octopus升级到Pacific,然后在升级至Quincy,这是最稳妥的方式。
稳定版本的生命周期在第一个发布月份后,大约2年时间将停止该版本的更新维护,具体版本发布时间见下表。
Ceph的部署工具:
- ceph-deploy:官方的部署工具,不再积极维护ceph-deploy。它不支持RHEL8,CentOS 8或更新的操作系统。
- ceph-ansible:红帽的部署工具
- ceph-chef:利用chef进行自动部署Ceph的工具
- puppet-ceph:puppet的ceph模块
- cephadm——cephadm 仅支援 Octopus 及更新版本(推荐)。
IP | hostname | 角色 | 磁盘 | 操作系统 |
192.168.182.130 | local-168-182-130 | monitor,mgr,rgw,mds,osd | 2*20G | CentOS7 |
192.168.182.131 | local-168-182-131 | monitor,mgr,rgw,mds,osd | 2*20G | centos7 |
192.168.182.132 | local-168-182-132 | monitor,mgr,rgw,mds,osd | 2*20G | centos7 |
- monitor:Ceph监视管理节点,承担Ceph集群重要的管理任务,一般需要3或5个节点。
- mgr: Ceph 集群管理节点(manager),为外界提供统一的入口。
- rgw: Ceph对象网关,是一种服务,使客户端能够利用标准对象存储API来访问Ceph集群。
- mds:Ceph元数据服务器,MetaData Server,主要保存的文件系统服务的元数据,使用文件存储时才需要该组件。
- osd:Ceph存储节点Object Storage Daemon,实际负责数据存储的节点。
systemctl stop firewalld.service
systemctl disable firewalld.service
2、关闭并禁用SELinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
3、配置hosts
192.168.182.130 local-168-182-130
192.168.182.131 local-168-182-131
192.168.182.132 local-168-182-132
4、ssh免密配置
SSH-keygen
# ...一路Enter
ssh-copy-id root@local-168-182-130 //会有一次密码输入
ssh-copy-id root@local-168-182-131
ssh-copy-id root@local-168-182-132
4、配置时间同步
yum install -y chrony
systemctl enable --now chronyd
3)添加磁盘
如果添加完磁盘,看不到,可以执行以下命令:
# 重新扫描SCSI总线添加设备
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan