Ceph分布式存储系统搭建指南:从环境准备到安装部署全解析

Ceph是一个分布式存储系统,能够在统一架构下提供对象、块和文件存储服务。其主要组件包括:

  • Ceph监视器(ceph-mon)
    负责维护集群状态映射,如监视器映射、管理器映射、OSD映射、MDS映射和CRUSH 映射,这些映射是 Ceph 守护程序协同工作的关键。同时,它还承担客户端到Ceph存储的身份验证职责。为实现高可用性,通常需部署3个或更多的ceph-mon服务。
  • Ceph 管理器(ceph – mgr)
    ceph – mgr 守护进程用于跟踪运行时指标和集群当前状态,如存储利用率、性能指标及系统负载等。此外,它还托管一些 Python 模块,以实现基于 Web 的 Ceph 仪表盘和 REST API。实现高可用至少需要2个ceph-mgr进程,且通常与ceph-mon数量相同,每个ceph-mon所在节点会伴随一个ceph-mgr守护进程。
  • Ceph 对象存储(ceph-osd)
    ceph-osd作为对象存储守护程序,是数据存储的核心组件,负责数据的存储、复制、恢复及重新平衡,并通过检查其他ceph-osd守护程序的心跳,向ceph-mon和ceph-mgr提供监控信息。为实现冗余和高可用性,通常至少需要3个 ceph-osd,且部署时应与ceph-mon分开节点。
  • Ceph元数据服务(ceph-mds)
    ceph-mds为Ceph文件系统存储元数据,Ceph块设备和对象存储无需使用mds存储元数据。它允许POSIX文件系统用户执行基本命令,避免将压力集中在Ceph OSD集群上。通常建议部署至少2个mds节点,可与其他组件共置或分开部署。

解决方案

(一)环境准备

1.配置 yum源(使用阿里源)

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

2.配置时间同步

# 下载chrony服务
yum install chrony vim -y
# 编辑配置文件
[root@master ~]# vim /etc/chrony.conf
server ntp.aliyun.com iburst
# 重启服务
[root@master ~]# systemctl restart chronyd
# 将时间写入磁盘
[root@master ~]# hwclock -s

3.配置主机名

hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2

4.配置免密码登录

[root@master data]# ssh-keygen -t rsa
[root@master data]# ssh-copy - id master
[root@master data]# ssh-copy - id node1
[root@master data]# ssh-copy - id node2

5.关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
[root@master ~]# setenforce 0

6.配置Ceph源

# 安装ceph软件包相关依赖
yum install yum-plugin-priorities
# 确认优先级插件安装成功
cat /etc/yum/pluginconf.d/priorities.conf 
# 安装Ceph密钥
rpm --import 'https://download.ceph.com/keys/release.asc'
# 安装elep-release仓库及其他包
yum install epel-release
yum install snappy leveldb gdisk gperftools-libs
# 配置Ceph源
vim /etc/yum.repos.d/ceph-yum.repo
[ceph]
name = ceph
baseurl = https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck = 0
priority = 1
enable = 1
[ceph - noarch]
name = cephnoarch
baseurl = https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck = 0
priority = 1
enable = 1
[ceph - source]
name = Ceph source packages
baseurl = https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS/
gpgcheck = 0
priority = 1
enable = 1

(二)管理节点master安装

1.安装cepth-deploy及相关软件包

[root@master yum.repos.d]# yum install python-setuptools  ceph-deploy -y 
# 安装成功后检查ceph - deploy命令可用性
[root@master yum.repos.d]# ceph-deploy --version
1.5.25

2.在存储节点安装ceph

# 安装所需工具集
sudo yum install epel-release -y
sudo yum install liboath lttng-ust leveldb python2-bcrypt python2-pecan
yum install ceph ceph-radosgw  -y 

3.创建集群

[root@master data]# mkdir /data
[root@master data]# cd /data
[root@master data]# ceph-deploy new master node1 node2
# 查看Ceph版本号
[root@master data]# ceph --version
ceph version 14.2.22 (ca74598065096e6fcbd8433c8779a2be0c889351) nautilus (stable)
# 备注:ceph - deploy new后接要初始化为monitor的节点

(三)安装monitor服务

1.修改ceph配置文件

将 ceph.conf 配置文件中默认副本数从 3 改为 2,在 [global] 段加入 “osd_pool_default_size = 2”,使仅有 2 个 osd 时也能达到 active + clean 状态。

[root@master data]# vim ceph.conf
[global]
fsid = c3fce3e9-8710-4537-8329-5e60ca4d31ac # Ceph集群唯一标识符
mon_initial_members = master, node1, node2  # 初始监视器节点列表
mon_host = 192.168.1.11,192.168.1.12,192.168.1.13  # 监视器节点IP地址或主机名列表
auth_cluster_required = cephx    # 集群组件间身份验证机制
auth_service_required = cephx    # 服务间身份验证机制
auth_client_required = cephx      # 客户端与集群身份验证机制
filestore_xattr_use_omap = true    # 配置OSD使用OMAP存储扩展属性
osd_pool_default_size = 2        # 创建新存储池时的默认副本数
mon_clock_drift_allowed = 0.500   # 监视器节点间允许的最大时钟偏差量

2.安装monitor并收集秘钥

剩余内容需解锁后查看

您需要赞助解锁才能查看当前内容

赞助者赞助者免费
已付费?登录刷新

原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/2168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
保哥的头像保哥
上一篇 2025年1月17日 07:26
下一篇 2025年2月8日 16:31

相关推荐

发表回复

登录后才能评论