CentOS 7.9安装Ceph集群(nautilus)

小柒博客 评论16字数 2952阅读9分50秒阅读模式

一、Ceph概述

Ceph是一种高性能、高可靠性的分布式存储系统,由Sage Weil于2004年开发,旨在解决大规模数据存储的扩展性、可靠性和性能问题。随着OpenStack日渐成为开源云计算的标准软件栈,Ceph也已经成为OpenStack的首选后端存储。

1)Ceph支持

对象存储:即radosgw,兼容S3接口。通过rest api上传、下载文件。

文件系统:posix接口。可以将Ceph集群看做一个共享文件系统挂载到本地。

块存储:即rbd。有kernel rbd和librbd两种使用方式。支持快照、克隆。相当于一块硬盘挂到本地,用法和用途和硬盘一样。比如在OpenStack项目里,Ceph的块设备存储可以对接OpenStack的后端存储

2)Ceph相比其它分布式存储有哪些优点?

统一存储:虽然Ceph底层是一个分布式文件系统,但由于在上层开发了支持对象和块的接口。所以在开源存储软件中,能够一统江湖。至于能不能千秋万代,就不知了。

高扩展性:扩容方便、容量大。能够管理上千台服务器、EB级的容量。

可靠性强:支持多份强一致性副本,EC。副本能够垮主机、机架、机房、数据中心存放。所以安全可靠。存储节点可以自管理、自动修复。无单点故障,容错性强。

高性能:因为是多个副本,因此在读写操作时候能够做到高度并行化。理论上,节点越多,整个集群的IOPS和吞吐量越高。另外一点Ceph客户端读写数据直接与存储设备(osd) 交互。

3)Ceph各组件介绍

Ceph OSDs: Ceph OSD守护进程(Ceph OSD)的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向Ceph Monitors提供一些监控信息。当Ceph存储集群设定为有2个副本时,至少需要2个OSD守护进程,集群才能达到active+clean状态(Ceph 默认有3个副本,但你可以调整副本数)。

Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、OSD 图、归置组(PG )图、和CRUSH图。 Ceph保存着发生在Monitors、OSD和PG上的每一次状态变更的历史信息(称为epoch)。

MDSs: Ceph元数据服务器(MDS)为Ceph文件系统存储元数据(也就是说,Ceph 块设备和Ceph对象存储不使用MDS)。元数据服务器使得POSIX文件系统的用户们,可以在不对Ceph存储集群造成负担的前提下,执行诸如ls、find等基本命令。

二、Ceph集群部署

1、系统环境

由ceph1、ceph2、ceph3三台主机组成,其中ceph1、ceph2、ceph3是为Ceph存储集群节点,它们分别作为MON节点和OSD节点,各自拥有专用于存储数据的磁盘设备/dev/sdb,操作系统环境均为CentOS Linux release 7.9.2009。系统最小化安装,配置两块磁盘,一块为系统盘,另一块为裸设备(未做分区格式化)。ceph1上安装ceph-deploy用以部署ceph集群。ceph版本为mimic。

操作系统

IP地址

CPU/内存/磁盘

主机名

主机角色

CentOS 7.9.2009

192.168.10.170

2C、4G、100G、1TB

ceph1

mon、mgr、mds、osd

CentOS 7.9.2009

192.168.10.171

2C、4G、100G、1TB

ceph2

mon、mgr、mds、osd

CentOS 7.9.2009

192.168.10.172

2C、4G、100G、1TB

ceph3

mon、mgr、mds、osd

CentOS 7.9.2009

192.168.10.173

2C、4G、100G

ceph-client

Ceph客户端

2、基础配置

1)关闭防火墙、禁用Selinux

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

[root@localhost ~]# setenforce 0

[root@localhost ~]# sed -i '/swap/s/^[^#]/#&/' /etc/fstab

2)配置hosts、主机名

[root@localhost ~]# hostnamectl set-hostname ceph1

[root@localhost ~]# hostnamectl set-hostname ceph2

[root@localhost ~]# hostnamectl set-hostname ceph3

[root@localhost ~]# hostnamectl set-hostname ceph-client

[root@ceph1 ~]# cat >>/etc/hosts <<EOF

192.168.10.170 ceph1

192.168.10.171 ceph2

192.168.10.172 ceph3

EOF

3)配置SSH免密钥

[root@ceph1 ~]# ssh-keygen

[root@ceph1 ~]# ssh-copy-id root@ceph1

[root@ceph1 ~]# ssh-copy-id root@ceph2

[root@ceph1 ~]# ssh-copy-id root@ceph3

4)配置阿里云Yum源

[root@ceph1 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

[root@ceph1 ~]# curl -o /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@ceph1 ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

[root@ceph1 ~]# yum clean all

[root@ceph1 ~]# yum makecache

5)配置时间同步

[root@ceph1 ~]# yum -y install chrony

[root@ceph1 ~]# sed -i "s/^server/#server/g" /etc/chrony.conf

[root@ceph1 ~]# echo 'server ntp1.aliyun.com iburst' >>/etc/chrony.conf

[root@ceph1 ~]# echo 'server ntp2.aliyun.com iburst' >>/etc/chrony.conf

[root@ceph1 ~]# echo 'server ntp3.aliyun.com iburst' >>/etc/chrony.conf

[root@ceph1 ~]# echo 'allow 192.168.10.0/24' >>/etc/chrony.conf

[root@ceph1 ~]# systemctl restart chronyd

[root@ceph1 ~]# systemctl enable chronyd

[root@ceph1 ~]# chronyc sources -v

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
公众号已复制
小柒博客
  • 本文由 小柒博客 发表于 2025年10月31日 15:24:48
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/11352.html

发表评论