ceph是一个分布式存储系统,可以在统一的系统中提供唯一的对象、块和文件存储
ceph详细部署搭建
- 一、ceph基本组件
- 二、环境准备
- 2.1 hostname主机名配置
- 2.2 免密登录
- 2.3 禁用防火墙
- 2.4 关闭selinux
- 2.5 NTP时间同步
- 三、 所有节点安装ceph软件包
- 3.1 安装yum-plugin-priorities依赖
- 3.2 安装ceph密钥
- 3.3 安装ceph仓库
- 3.4 安装ceph
- 四、 ceph-mon服务部署(node1节点)
- 4.1 ceph.conf文件配置
- 4.2 ceph-mon相关配置
- 五、ceph-mgr服务部署(node1节点)
- 5.1 生成mgr身份验证密钥
- 5.2 启动ceph-mgr守护进程
- 5.3 查看ceph状态
- 六、ceph-osd节点部署(noed2,node3)
- 七、ceph-mds部署(node1)
- 八、创建存储池以及ceph文件系统
- 九、挂载文件系统
- Ceph监视器(ceph-mon):
ceph mon用来维护集群状态的映射,包括监视器映射,管理器映射,OSD映射,MDS映射和CRUSH映射,这些映射是ceph守护程序相互协调所需的关键状态,另外还负责客户端到ceph存储的身份验证;通常要实现高可用,需要3个或以上的ceph-mon服务。 - Ceph管理器(ceph-mgr):
ceph manager守护进程负责跟踪运行时指标和ceph集群当前的状态,包括存储利用率,当前性能指标和系统负载等,ceph-mgr还托管一些python模块,以实现基于web的ceph仪表盘和rest api,通常要实现高可用至少需要2个ceph-mgr进程,通常ceph-mon和ceph-mgr个数相同,1个ceph-mon同节点会伴随1个ceph-mgr守护进程。 - Ceph对象存储(ceph-osd):
Ceph OSD是对象存储守护程序,是用来存储数据的核心组件,实现数据存储、数据复制和恢复、数据的重新平衡,并会检查其他Ceph OSD守护程序的心跳来向ceph-mon和ceph-mgr提供一些监控信息,通常至少需要3个ceph-osd才能实现冗余和高可用性,部署的时候ceph-osd会和ceph-mon分开节点部署。 - Ceph元数据服务(ceph-mds):
Ceph MDS为ceph文件系统存储元数据,注意Ceph块设备和对象存储不用mds存储元数据,Ceph MDS允许POSIX文件系统用户执行基本命令,而不会将压力都集中到Ceph OSD集群上,通常mds可以选择部署至少2个节点,可以和其他组件一起也可以分开。
node1:hostnamectl set-hostname node1
node2:hostnamectl set-hostname node2
node3:hostnamectl set-hostname node3
配置/etc/hosts文件,三个机器中都需执行
然后分别重启node1机器、node2机器、node3机器
node1为例:
node2和node3机器中也需要分别执行
安装源仓库包和部分必须软件包
配置Loongnix-Ceph-Nautilus.repo
安装过程中会自动安装python3.6以及相关的依赖等,安装完成之后最好再确认一下下面两个python模块是否存在,不存在就需要安装一下
这样ceph基本软件包安装完成,注意所有节点都要安装一遍
生成ceph-mon 映射,存储到/tmp/monmap,注意主机名、ip、fsid要根据实际情况进行修改
创建ceph-mon数据目录
使用刚才生成的密钥环和映射初始化数据目录
调整数据目录权限为ceph
启动ceph-mon服务
【问题描述】 【问题解决】
systemctl daemon-reload
systemctl restart ceph-mon@node1
health: HEALTH_WARN情况分析解决:
1、 【问题解决】
禁用安全模式,ceph config set mon auth_allow_insecure_global_id_reclaim false
2、 【问题解决】
启用msgr2,ceph mon enable-msgr2
ceph-mgr和ceph-mon是成对出现的,在每个ceph-mon的节点上都应该有ceph-mgr进程,然后就是配置并启动ceph-mgr守护进程。
-i参数指定主机名,启动后确认进程是否存在
正常显示active就可以了
部署ceph-osd的步骤应该在所有的osd节点上运行,当然这里是node2和node3,每个节点都要执行同样的操作,首先要将node1上面的osd密钥发送到osd节点,否则创建osd会报错授权失败,如果刚才已经同步可以忽略,否则就在node1上执行:

除了上面的命令,使用下面的步骤也同样可以创建osd节点,步骤更细一些,分为准备和激活两个阶段:
然后编译配置文件:/etc/ceph/ceph.conf,添加如下的配置块:
这里node1就是主机名,注意根据实际的mds节点替换,保存后将配置文件同步到集群所有节点,最后启动ceph-mds守护进程:
这里ceph-mds和ceph-mon是同一个节点,因此都是指定node1,启动之后查看进程是否存在,然后通过ceph -s可以看到mds的状态:
如图所示,目前所有的组件状态都是正常的
【问题描述】 【问题解决】up:standby当前为备用状态,需要分配pool才可以使用
ceph所有的存储都是基于存储池才能分配,因此要先创建存储池,初始情况至少创建两个存储池(RADOS):1个用于存储数据,1个用于存储元数据信息,创建命令如下:
存储池可以创建多个,并且所有的存储池共享底层的存储空间,比如A存储池占用了一部分,那个B存储池就只能用剩下的部分了,而且之后挂载后剩余大小的显示也会变小,这个后面可以验证
另外就是注意这里pg大小正常指定128或64就够了,正常默认1个pool最多支持250个pg,可以通过参数调整限制大小,这里两个池都是一样的数据池,后续创建文件系统会指定哪个用于数据,哪个用于元数据存储,这里名字只是个代号
然后基于存储池创建文件系统,命令如下:
执行成功之后通过命令: ceph fs ls 查看存在的文件系统,正常显示如下:
正常没有任何错误信息就挂载上了,通过 df -h 可以查看挂载的情况以及容量
查看ceph状态:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/163862.html