上回书说到一般企业使用Ceph会经历几个关卡:硬件选型 —— 部署调优—— 性能测试 架构灾备设计 —— 部分业务上线测试 —— 运行维护(故障处理、预案演练等)。
今天来重点讲下部署调优关卡。许多Ceph新手在测试环节以及预生产的时候会对Ceph集群的部署以及调优产生困扰,A公司运维小哥也遇到了部署和调优问题。下面来看看A公司运维小哥是如何解决这个问题的。
关卡二:部署调优关(部署)
难度:三颗星
上篇文章开头我也说到了,部署Ceph是新手的噩梦,对于传统运维来说部署一套Ceph是很难的事情,A公司运维小哥在官网以及Ceph中国社区的相关资料和帮助下才渐渐熟悉了什么是Ceph、它能做什么。在相关了解Ceph之后,A公司运维小哥开始部署Ceph。
下面说下部署过程,以及部署过程中的一些坑。
部署过程(按照官网步骤开始一步步做)
1. 安装Linux操作系统;
2. 配置系统IP,配置hosts文件,关闭防火墙和selinux,配置节点间免密访问;
3. 配置Ceph源;
4. 安装Ceph;
在部署的过程中,经历了三战三败的过程:
第一回合:网络问题
一开始就遇到了因为网络的问题而导致下载包失败,后查阅相关资料找到Ceph中国社区有篇文章“如何使用国内源部署Ceph”,于是采用国内Ceph源,解决了此问题。
图1:网络问题
第二回合:磁盘问题
解决了网络问题又迎来了磁盘分区的问题,运维小哥折腾了半天没弄好,后来在Ceph中国社区群友的帮助下解决了此事。遇到这种情况一般有两种原因:
一:磁盘提前分好区了
二:磁盘已挂载
解决办法:
一:删除分区
二:卸载硬盘&删除分区
图2:磁盘问题
第三回合:时间问题
搭建了好久终于搭建完了,但是又面临着一个问题,就是OSD服务进程在,但是ceph osd tree查看OSD却显示down状态,让运维小哥百思不得其解。
图3:OSD节点图
图4:OSD进程图
从上图可以看出,Ceph OSD进程在运行,但是ceph osd tree查看OSD却显示down状态。
而此时就是考验一个运维人员的处理故障的基本素质,好在这个运维小哥有过一两年的经验,经过基本排查,最终确定了是时间问题。由于三个节点时间不一致而导致的这个问题,这里称之为“OSD打摆子”。不只是时间问题会导致“OSD打摆子”问题,有时候也会因为网卡问题而导致“OSD打摆子”。
图5:Ceph节点1
图6:Ceph节点2
图7:Ceph节点3
其实在开始部署Ceph的环境准备环节就说到了要配置NTP服务器,然而大部分人容易忽略。其实在任何时候时间问题是排在第一位的,下面举两个例子说明下因为时间问题而产生的一些问题。
1.某云平台由于时间问题,导致云主机创建不了、宕机等问题。
2.某分布式文件存储由于时间问题,导致数据分布不均衡、脑裂等问题。
上述说的节点时间问题导致OSD出现“打摆子”故障,因为时间而产生的问题远不止于此,虽然可以部署成功,但是后续也会产生一系列莫名其妙的问题,如MON选举问题,OSD数据同步的问题等等。
所以云平台也好存储也好,都会因为时间而产生不必要的故障问题,建议运维人员要注重时间问题。
图8:Ceph集群
好了言归正传,上图是运维小哥新搭建好的集群。三节点、六个OSD的Ceph小集群。希望本文能够给予Ceph新手参考,请读者见仁见智,预知后事如何,请期待《部署调优关卡之调优》。