且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从传统运维到云运维演进历程之软件定义存储(二)

更新时间:2022-09-28 14:48:31

上回书说到一般企业使用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新手参考,请读者见仁见智,预知后事如何,请期待《部署调优关卡之调优》。



本文转自Devin 51CTO博客,原文链接:http://blog.51cto.com/devingeng/1854517