从传统运维到云运维演进历程之软件定义存储(二)
上回书说到一般企业使用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新手参考,请读者见仁见智,预知后事如何,请期待《部署调优关卡之调优》。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux中使用定时任务每周定时清理45天以前日志
如题所示,生产服务器每天会产生很大的日志文件,为了不使硬盘被日志文件塞满,因此需要定期清理日志文件。这时我们可以写一个shell脚本用来清理某个路径下45天以前的日志,然后再设置一个定时任务每周定时执行这个脚本即可 (1)清理某个路径下的日志脚本delOldLogs.sh: [root@prx01cleanlog]#vim/usr/local/cleanlog/delOldLogs.sh #!/bin/sh #删除输入路径下的修改时间在45天以前的日志文件 find$1-mtime+45-name"*log*"-execrm-f{}\; 这段代码不难理解,就是清理参数1所在的路径下的修改时间在45天以前的日志文件 (2)指定清理哪些路径的日志的脚本del_all_OldLogs.sh: [root@prx01cleanlog]#vim/usr/local/cleanlog/del_all_OldLogs.sh #!/bin/bash /usr/local/cleanlog/delOldLogs.sh"/home/usr/ewp/logs" /usr/local/cleanlog/del...
- 下一篇
CentOS 7 忘记root密码的解决之道
1、启动时任意键暂停启动,会出现如下界面: 2、按e键进入编辑模式,将光标移动linux16开始的行,添加内核参数 rd.break 3、按 ctrl+x 组合键启动 4、查看各分区和文件系统的挂载情况,需要将 / 的模式改为 rw 5、当前系统上的 / 是在光盘上的,切换至挂载目录下的 / ,才可以修改密码 6、在 / 目录下创建autorelabel文件后,退出即可回到熟悉的界面
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装Nodejs环境