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