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

简介:

上回书说到一般企业使用Ceph会经历几个关卡:硬件选型 —— 部署调优—— 性能测试  架构灾备设计 —— 部分业务上线测试 —— 运行维护(故障处理、预案演练等)。

今天来重点讲下部署调优关卡。许多Ceph新手在测试环节以及预生产的时候会对Ceph集群的部署以及调优产生困扰,A公司运维小哥也遇到了部署和调优问题。下面来看看A公司运维小哥是如何解决这个问题的。

关卡二:部署调优关(部署)

难度:三颗星

上篇文章开头我也说到了,部署Ceph是新手的噩梦,对于传统运维来说部署一套Ceph是很难的事情,A公司运维小哥在官网以及Ceph中国社区的相关资料和帮助下才渐渐熟悉了什么是Ceph、它能做什么。在相关了解Ceph之后,A公司运维小哥开始部署Ceph。

下面说下部署过程,以及部署过程中的一些坑。

部署过程(按照官网步骤开始一步步做)

1. 安装Linux操作系统;

2. 配置系统IP,配置hosts文件,关闭防火墙和selinux,配置节点间免密访问;

3. 配置Ceph源;

4. 安装Ceph;

在部署的过程中,经历了三战三败的过程:

2-1

第一回合:网络问题

一开始就遇到了因为网络的问题而导致下载包失败,后查阅相关资料找到Ceph中国社区有篇文章“如何使用国内源部署Ceph”,于是采用国内Ceph源,解决了此问题。

2-2

图1:网络问题

第二回合:磁盘问题

解决了网络问题又迎来了磁盘分区的问题,运维小哥折腾了半天没弄好,后来在Ceph中国社区群友的帮助下解决了此事。遇到这种情况一般有两种原因:

一:磁盘提前分好区了

二:磁盘已挂载

解决办法:

一:删除分区

二:卸载硬盘&删除分区

2-3

图2:磁盘问题

第三回合:时间问题

搭建了好久终于搭建完了,但是又面临着一个问题,就是OSD服务进程在,但是ceph osd tree查看OSD却显示down状态,让运维小哥百思不得其解。

2-4
图3:OSD节点图

2-5
图4:OSD进程图

从上图可以看出,Ceph OSD进程在运行,但是ceph osd tree查看OSD却显示down状态。

而此时就是考验一个运维人员的处理故障的基本素质,好在这个运维小哥有过一两年的经验,经过基本排查,最终确定了是时间问题。由于三个节点时间不一致而导致的这个问题,这里称之为“OSD打摆子”。不只是时间问题会导致“OSD打摆子”问题,有时候也会因为网卡问题而导致“OSD打摆子”。

2-6
图5:Ceph节点1

2-7
图6:Ceph节点2

2-8
图7:Ceph节点3

其实在开始部署Ceph的环境准备环节就说到了要配置NTP服务器,然而大部分人容易忽略。其实在任何时候时间问题是排在第一位的,下面举两个例子说明下因为时间问题而产生的一些问题。

1.某云平台由于时间问题,导致云主机创建不了、宕机等问题。

2.某分布式文件存储由于时间问题,导致数据分布不均衡、脑裂等问题。

上述说的节点时间问题导致OSD出现“打摆子”故障,因为时间而产生的问题远不止于此,虽然可以部署成功,但是后续也会产生一系列莫名其妙的问题,如MON选举问题,OSD数据同步的问题等等。

所以云平台也好存储也好,都会因为时间而产生不必要的故障问题,建议运维人员要注重时间问题。

2-9
图8:Ceph集群

好了言归正传,上图是运维小哥新搭建好的集群。三节点、六个OSD的Ceph小集群。希望本文能够给予Ceph新手参考,请读者见仁见智,预知后事如何,请期待《部署调优关卡之调优》。



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

相关文章
|
存储 运维 安全
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
489 0
|
5月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
408 52
|
11月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
344 3
|
5月前
|
数据采集 人工智能 运维
深度探讨操作系统运维、软件选型等社区标准,龙蜥标准化 SIG MeetUp 圆满举办
围绕软件选型、操作系统运维、RISC-V 三个方向的社区标准进行了分享与讨论。
深度探讨操作系统运维、软件选型等社区标准,龙蜥标准化 SIG MeetUp 圆满举办
|
6月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
|
10月前
|
边缘计算 运维 Cloud Native
云原生技术的崛起:重新定义软件开发与运维
云原生技术的崛起:重新定义软件开发与运维
|
运维 Kubernetes 负载均衡
震惊!容器化运维竟藏如此大招,容器调度与服务编排让你的软件部署 “逆天改命”
【8月更文挑战第31天】在数字化时代,容器化技术革新了软件开发与运维方式,其高效、灵活及可移植的特点为企业应用部署提供了全新方案。容器调度与服务编排作为核心环节,通过优化资源分配、提升系统可靠性和可扩展性,实现了自动化管理。Kubernetes 等工具不仅简化了容器调度,还通过 Deployment、Service、Ingress 等资源对象实现了复杂应用架构的自动化运维,大幅提高了资源利用率和系统稳定性,减少了人工干预,加速了企业数字化转型。
188 2
|
存储 C++ 运维
开发与运维数组问题之指针的定义语法如何解决
开发与运维数组问题之指针的定义语法如何解决
68 6
|
机器学习/深度学习 人工智能 运维
自动化运维的崛起:重新定义IT管理的未来
在数字化浪潮不断推进的今天,自动化运维不再是可选项,而是提升企业竞争力的必由之路。通过深入探讨自动化运维的关键要素、实施步骤和面临的挑战,本文旨在揭示自动化技术如何革新传统的IT管理模式,并展望其在未来IT领域的应用前景。
138 1
|
人工智能 运维
学习若依的好地方,若依社区,好的运维,社区,也可以运营自己的社区,可以用于投放软件产品和海报展示,有空可以研究怎样运行社区,好的标题设计
学习若依的好地方,若依社区,好的运维,社区,也可以运营自己的社区,可以用于投放软件产品和海报展示,有空可以研究怎样运行社区,好的标题设计