要学习使用Ceph,首先需要有一个Ceph集群,本文通过ceph-deploy一个自动化部署Ceph的工具部署一个Ceph集群,掌握Ceph集群部署的方法。
首先介绍一下Ceph安装部署的方法,Ceph社区提供了三种部署方法:
我们采用成熟、简单的ceph-deploy实现Ceph集群的部署,首先了解一下ceph-deploy的架构:
安装环境以三个节点的方式来完成Ceph集群的部署,如下是各个集群安装部署的信息:
安装Ceph之前需要将环境提前部署好,部署内容参考上图内容,官方安装时推荐创建一个新的用户来实现安装部署,,本文直接以root的身份实现集群的安装。备注:以下操作除了ssh无密码登陆之外,其他操作均需要在所有节点上执行。
1、主机名设置,以node-1为例
2、设置/etc/hosts文件,将node-1至node-3信息写入到/etc/hosts文件中
3、设置ssh无密码登陆,需要需要在node-1上生成key,然后将公钥拷贝到其他节点(包括node-1节点),如下图
4、关闭Selinux默认已关闭
5、关闭iptables防火墙,或者放行对应的端口:Ceph monitor 6789/tcp,Ceph OSD 6800-7300/tcp
6、配置好ntp时间同步,Ceph是分布式集群,对时间很敏感,如果时间不正确可能会导致集群奔溃,因此在Ceph集中中设置ntp同步非常关键,推荐使用内网的ntp服务器同步时间,腾讯云CVM默认会同步到内网的ntp时间同步,读者根据需要进行设定
7、设置Ceph安装yum源,选择安装版本为octopus
8、安装Ceph-deploy,对应版本为2.0.1,重要:默认epel源中ceph-deploy的版本是1.5,版本较老,会涉及到很多rpm依赖,安装问题,安装前检查好对应的版本,确保无误。
Ceph-deploy部署过程中会生成一些集群初始化配置文件和key,后续扩容的时候也需要使用到,因此,建议在admin-node上创建一个单独的目录,后续操作都进入到该目录中进行操作,以创建的ceph-admin-node为例。
1、创建一个Ceph cluster集群,可以指定cluster-network(集群内部通讯)和public-network(外部访问Ceph集群)
通过上面的输出可以看到,new初始化集群过程中会生成ssh key密钥,ceph.conf配置文件,ceph.mon.keyring认证管理密钥,配置cluster network和pubic network,此时查看目录下的文件可以看到如下内容:
2、安装Ceph部署相关的软件,常规通过yum进行安装,由于可能会安装错软件包,因此ceph-deploy提供了一个install的工具辅助软件包的安装,ceph-deploy install node-1 node-2 node-3
3、初始化monitor节点,执行ceph-deploy mon create-initial做初始化
初始化完毕后会生成对应的keyring文件,用于ceph认证:
4、将认证密钥拷贝到其他节点,便于ceph命令行可以通过keyring和ceph集群进行交互,ceph-deploy admin node-1 node-2 node-3
此时,Ceph集群已经建立起来,包含一个monitor节点,通过ceph -s可以查看当前ceph集群的状态,由于此时并没有任何的OSD节点,因此无法往集群中写数据等操作,如下是ceph -s查看的输出结果
5、集群中目前还没有OSD节点,因此没法存储数据,接下来开始往集群中添加OSD节点,每个节点上都有一块50G的vdb磁盘,将其加入到集群中作为OSD节点,如ceph-deploy osd create node-1 --data /dev/vdb
如上已将node-1的vdb添加到ceph集群中,ceph -s可以看到当前有一个osd加入到集群中,执行相同的方法将node-2和node-3上的磁盘添加到集群中
执行完毕后,三个OSD均已加入到ceph集群中,通过ceph -s可以看到对应三个OSD节点
也可以通过ceph osd tree查看每隔节点上osd的情况和crush tree的情况
6、此时Ceph的health状态为HEALTH_WARN告警状态,提示信息为“no active mgr”,因此需要部署一个mgr节点,manager节点在luminous之后的版本才可以部署(本环境部署的是M版本,因此可以支持),将mgr部署到node-1节点,执行ceph-deploy mgr create node-1
至此,Ceph集群已经部署完毕。通过ceph-deploy工具进行部署完成Ceph集群的自动化部署,后续添加monitor节点,osd节点,mgr节点也会很方便。
本文通过ceph-deploy完成一个1mon节点+1mgr节点+3个osd节点的集群,ceph-deploy安装简化了集群的部署,我在安装过程中遇到了不少报错(主要是rpm版本问题,尤其是ceph-deploy的包,EPEL默认的是1.5版本,需要用到ceph官网的2.0.1,否则会遇到各种各样的问题,1年未安装Ceph,变化很大,不得不感慨社区的发展速度)。
另外,还介绍了Ceph另外当前集群只有一个monitor节点,存在单点故障,当node-1节点故障时,整个集群都会处于不可用状态,因此需要部署高可用集群,以避免集群存在单点故障,保障业务的高可用性,后续章节来介绍monitor节点的扩容。
ceph-deploy:
ceph-admin:
手动安装:
资源池pool的管理:
RBD块存储使用:
如果觉得文章对您有帮助,请订阅专栏,分享给有需要的朋友吧😊
到此这篇ceph 部署(ceph 部署工具)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!关于作者 刘海平(HappyLau )云计算高级顾问 目前在腾讯云从事公有云相关工作,曾就职于酷狗,EasyStack,拥有多年公有云+私有云计算架构设计,运维,交付相关经验,参与了酷狗,南方电网,国泰君安等大型私有云平台建设,精通Linux,Kubernetes,OpenStack,Ceph等开源技术,在云计算领域具有丰富实战经验,拥有RHCA/OpenStack/Linux授课经验。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/22848.html