超融合/分布式 IT 架构有哪些常见故障类型?如何针对性解决和预防?

本文刊于《中国金融电脑》2024 年第 7 期。

作者:SmartX 金融团队

以超融合为代表的分布式 IT 基础架构凭借其高性能、高可靠和灵活的扩展能力,在满足大规模、高并发、低延迟业务需求等方面展现出显著优势,成为众多金融机构构建 IT 基础设施的主流方案。不过,分布式架构也会面临由于硬件故障带来业务中断风险。分布式架构会出现哪些常见的故障情况?如何进行预防和处理?本文将以北京志凌海纳科技股份有限公司(SmartX)超融合基础设施运维实践为例,详细介绍如何有效应对分布式架构运维常见故障,以及如何在软件层面通过可靠的预防机制降低故障风险。

传统基础架构与分布式基础架构运维特点对比

相比于传统的“三层式“架构(服务器虚拟化+光纤交换机+集中式存储),以超融合为代表的分布式架构基于软件定义存储进行构建,并通过计算与存储的融合部署,精简了 IT 基础架构的层级,提升了架构性能和灵活性。这种架构层面的差异,也使得传统架构和分布式架构在运维方面存在一些异同:

  • 相同点:无论是传统架构还是分布式架构,都是基于硬件基础设施进行搭建的,因此硬件环境出现问题也会对整体架构的稳定性带来影响。
  • 不同点:对比传统架构,超融合分布式架构的整体链路更短,涉及的硬件故障的单元更少。而且由于分布式架构使用 x86 服务器这类商用货架产品而不依赖专属硬件,节点间的连接依靠网络实现,相应系统整体的运维更依赖软件来发挥分布式架构自身的优势。

因此,对于分布式架构,基础架构软件层面(如超融合软件)是否具备充分的可靠性保障功能特性,以及有效的硬件故障检测与预防机制,对于保障整个架构的稳定性而言显得更为重要。

分布式架构常见故障类型与处理方案

整体来看,分布式架构在日常运维中主要会出现两大类型的问题:服务器故障(如硬盘故障、节点故障等)和网络故障。

常见服务器故障及应对策略

1. 硬盘故障

常见的硬盘故障主要包括引导盘、缓存盘和数据盘故障。

对于引导盘,在 ELF 虚拟化环境,若用户采用了独立 RAID 卡或 BOSS 卡(M.2 RAID 1)进行保护,引导盘发生故障不会影响集群运行(但 SMTX OS boot 分区冗余度会下降),此时用户可根据实际情况,灵活把握换盘时间。引导盘若采用单块磁盘,故障也不会对集群运行带来影响,但会在对应主机正常重启时,无法正常启动。此时建议用户主动协调时间窗口,进行硬盘更换及 boot 分区修复。在 VMware 虚拟化环境,引导盘故障将导致 SCVM boot 分区丢失,不影响业务虚拟机的正常运行,但也会出现对应主机重启时对应 SCVM 无法正常启动的情况。此时建议用户联系 SmartX 工程师,进行 boot 分区修复。

对于缓存盘和数据盘,当单块硬盘发生故障时,通常情况下超融合系统会自动触发数据恢复,此时硬盘故障对集群的正常运行并无影响,仅需要运维人员在接收到相应告警提示后进行换盘等操作即可。当多个节点上多块硬盘出现故障(故障数量大于副本数量),例如使用 2 副本的集群中同时有两个节点或两个节点上的硬盘分别发生故障,则可能导致集群缺少完整副本,最终影响上层业务虚拟机 I/O。如出现这种故障情况,则需要联系 SmartX 研发工程师介入并尝试恢复数据。

2. 节点故障

节点故障可能由 CPU、内存、RAID 卡、固件版本等因素引起,导致该节点资源不可用。在集群整体可用资源充足的情况下,SmartX 超融合集群会通过虚拟机的高可用机制及数据的多副本策略保障业务的连续性——当发生节点故障时,系统会自动触发虚拟机在其他健康主机上重建,并触发数据副本恢复,整个过程数据自动恢复,无需人工干预。在集群空闲计算资源不足的情况下,部分虚拟机可能无法成功在其它可用主机上重建,为了避免这种情况,建议用户预留出足够资源用于故障切换,并设置虚拟机高可用优先级,保证高优先级别的应用能够重建成功。

欲深入了解 SmartX 超融合提供的数据保护策略,请阅读:

  • 一文解读 SmartX 超融合虚拟机高可用构建思路
  • 副本降级导致数据丢失?SmartX 超融合利用临时副本优化多副本机制

常见网络故障及应对策略

SmartX 超融合基础设施的网络主要分为管理网络、业务网络和存储网络,每个网络都采用网络双链路冗余保护。当其中任意网络出现单链路故障(如交换机故障、链路故障、网卡或端口故障),基于冗余网络配置,单链路故障并不影响主机之间的网络正常通讯,集群亦可正常运行。

若双链路均发生故障,此时根据故障节点数量的不同,会对集群产生不同程度的影响。当所有节点全链路故障,例如两台上联交换机均发生故障时,对于管理网络,用户将无法正常登录并管理集群,但不影响集群、虚拟机正常运行;对于业务网络,此时虚拟机与外部之间无法通信,但集群、虚拟机仍可正常运行;对于存储网络,此时服务器之间的存储网络将无法互相访问,集群服务和虚拟机均无法正常运行。针对以上情况,需要用户确认网络故障因素,修复网络状态,必要时需联系 SmartX 运维人员协同处理。

当单节点出现全链路故障,例如一个服务器网卡均故障时,对于管理网络,此时将不会影响集群、虚拟机的正常运行;对于业务网络,外部将无法访问该服务器业务虚拟机,目前 SmartX 超融合基础设施在新版本中新增了针对业务网络故障的虚拟机高可用支持,集群检测到故障之后将自动触发 HA,将虚拟机热迁移到其他可用主机保证虚拟机正常运行;对于存储网络,单节点全链路故障时也会自动触发数据恢复和虚拟机高可用机制,尽量降低业务影响。

而当三类网络均出现故障时,各节点之间的连接将全部断开,此时需要协调网络工程师恢复网络,并联系 SmartX 工程师上线协助恢复并检查集群。同时,为了避免这种情况,建议用户将管理网络、业务网络和存储网络分开,分别绑定不同网卡上的两个物理网口,并分别上联到两台冗余配置交换机(两台交换机配置级联/堆叠/M-lag),以实现系统最大程度的冗余,满足高可用的要求。

分布式架构软件层面的故障预防机制及用户实践

如上文提到,除了高可用相关功能特性,超融合软件也需具备可靠的硬件故障预防机制,避免严重的硬件故障对业务的正常运行带来影响。目前,SmartX 超融合基础设施具备硬盘和网络亚健康检测机制,可以帮助运维人员预先识别集群潜在的硬盘和网络风险,并由 SmartX 工程师协助进行问题排查和解决,有效降低了实际业务运行中集群出现故障的概率。

服务器故障预防机制与用户实践

SmartX 超融合基础设施引入了硬盘亚健康检测机制,通过多种方式监测硬盘健康状态,按照检测结果将硬盘健康状态标记为五种类别——“健康”、“亚健康”、“不健康”、“S.M.A.R.T. 不通过盘”以及“寿命不足”——为用户提供精准的硬盘健康信息。对于非健康状态的硬盘,系统会进行自动隔离或提示用户通过界面手动卸载等方式进行处理,预防故障发生。

欲深入了解,请阅读:一文了解 SmartX 超融合硬盘健康检测机制与运维实践

以某用户的开发测试机房为例,SmartX 超融合集群亚健康检测机制曾在一周内监测到 17 块硬盘的连续亚健康或不健康状态并发出告警;截至问题最终处理完成前,累计报告故障硬盘 74 块,共涉及 7 套集群,而服务器带外管理平台从未给出相应的硬件故障的告警。客户曾经为此质疑过此类告警是否准确,后经硬件厂商工程师进一步分析,故障硬盘的确存在严重污染,最终主动将同批次全部近千块磁盘全部更换,避免了更高级别的生产环境事故。

除了硬盘亚健康检测,SmartX 超融合基础设施同时具备主动数据巡检功能,通过对数据副本 Generation 信息和 Checksum 信息的周期性检测,可以主动发现由于硬盘静默损坏导致数据不一致的问题,有效避免单纯依赖硬件自身告警而可能带来的故障监测失误。SmartX 超融合基础设施在新版本中还增加了针对内存和存储控制器的监控与告警,帮助用户实现对服务器的全方位监控。

网络故障预防机制与用户实践

SmartX 超融合集群中采用了多副本强一致性写机制,该机制要求所有写操作必须在所有副本上均成功完成后方视为完成,因此存储网络的稳定连通成为这一过程中的关键因素。目前,SmartX 超融合基础设施将存储网络异常状态划分为网络亚健康和网络故障两种类型,其中针对网络亚健康状态,SmartX 超融合基础设施采用 Layer 2 ping 技术,通过完成网口端到端测试,主动侦测网络状态异常,有效发现因光纤线缆老化、交换机模块故障、服务器端模块问题等导致的光衰值异常,预防由此引发的大量数据丢包问题,确保存储网络的健康稳定运行。

例如,某客户使用的 SmartX 超融合系统在执行周期性集群网络检测时,提示网口呈现亚健康状态,SmartX 工程师检查后发现对应网口光衰值为 -8.80,经进一步现场排查,确认是线缆或模块问题。经协调更换后,该网口光衰值恢复正常,避免了进一步的网络故障。

来自分布式架构软件厂商的运维支持

除了软件自身的故障预防与处理机制,分布式架构软件厂商还需提供专业、快速的故障处理支持服务,帮助企业准确定位故障原因,解决故障问题,优化架构性能和稳定性。目前,SmartX 售后工程师团队制定了一系列专业的故障事件处理标准,构建了故障经验知识库和分享体系以及“1+1”的主动巡检与软件升级跟进制度,搭配自主研发的 OWL 性能测试工具(用于帮助用户设置集群流量监控阈值),将故障预防与处理覆盖至用户使用的所有阶段。总体而言,SmartX 超融合基础设施可以通过多副本机制、虚拟机高可用、数据自动恢复技术特性,以及硬盘和网络亚健康检测等硬件故障预防机制,从软件层面为分布式架构的可靠性与稳定性提供多重保障,帮助用户降低 IT 基础设施故障风险的同时,减少因硬件故障带来的业务损失。欲深入了解 SmartX 超融合在运维管理方面的支持特性,欢迎下载阅读电子书《超融合技术原理与特性解析合集》- 管理与运维

作为专业的现代化IT基础设施产品与方案提供商,SmartX 一直致力于提供超融合基础设施、分布式存储、Kubernetes 原生存储等多样化产品组合,并成功助力众多海内外企业构建了简单、弹性、可靠、开放的现代化IT基础设施。在金融领域,SmartX 已成功服务了超过 300 家金融机构,且有单一客户的整体部署规模超过 1000 个节点,连续多年在中国超融合软件金融行业市场份额排名中名列前茅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/407874.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识模版(C++)

初识模版(C) 模版是C的一个重大发明,是让C突飞猛进的原因之一。 泛型编程 实现一个通用的交换函数? void Swap(int& left, int& right) {int temp left;left right;right temp; }void Swap(double& left, doubl…

DockerHub解决镜像拉取之困

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

从零开始搭建Aliyun ESC高可用集群 (HaVip+KeepAlived)

从零开始搭建Aliyun ESC高可用集群 (HaVip+KeepAlived) 架构 架构 本设计方案采用两台阿里云ECS服务器搭建Keepalived结合LVS的高可用集群。使用LVS的TUN模式进行负载均衡,同时利用阿里云的弹性IP(EIP)与高可用虚拟HaVIP实现跨服务器的高可用性。架构中,一台ECS服务器作为…

DFS 算法:记忆化搜索

我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页 往 {\color{Red} {\Huge 往} } 往 期 {\color{Green} {\Huge 期} } 期 文 {\color{Blue} {\Huge 文} } 文 章 {\color{Orange} {\Huge 章}} 章 无 此系列更新频繁,求各位读者点赞 关…

备考计算机二级Python之Day5

第5章 函数和代码 一、函数的基本使用 函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。 函数的使用包括两部分:函数的定义和函数的使用 1、函数的定义 Python语言通过保留字def定义函数,语法形式如下: …

SpringBoot教程(二十四) | SpringBoot集成AOP实现日志记录

SpringBoot教程(二十四) | SpringBoot集成AOP实现日志记录 (一)AOP 概要1. 什么是 AOP ?2. 为什么要用 AOP?3. AOP一般用来干什么?4. AOP 的核心概念 (二)Spring AOP1. 简…

CSS3页面布局-三栏-中栏流动布局

三栏-中栏流动布局 用负外边距实现 实现三栏布局且中栏内容区不固定的核心问题就是处理右栏的定位&#xff0c; 并在中栏内容区大小改变时控制右栏与布局的关系。 控制两个外包装容器的外边距&#xff0c;一个包围三栏&#xff0c;一个包围左栏和中栏。 <!DOCTYPE html&…

vllm 部署GLM4模型进行 Zero-Shot 文本分类实验,让大模型给出分类原因,准确率可提高6%

文章目录 简介数据集实验设置数据集转换模型推理评估 简介 本文记录了使用 vllm 部署 GLM4-9B-Chat 模型进行 Zero-Shot 文本分类的实验过程与结果。通过对 AG_News 数据集的测试&#xff0c;研究发现大模型在直接进行分类时的准确率为 77%。然而&#xff0c;让模型给出分类原…

【软件测试面试题】WEB功能测试(持续更新)

Hi&#xff0c;大家好&#xff0c;我是小码哥。最近很多朋友都在说今年的互联网行情不好&#xff0c;面试很难&#xff0c;不知道怎么复习&#xff0c;我最近总结了一份在软件测试面试中比较常见的WEB功能测试面试面试题合集&#xff0c;希望对大家有帮助。 建议点赞收藏再阅读…

AI学习记录 - 怎么理解 torch 的 nn.Conv2d

有用就点个赞 怎么理解 nn.Conv2d 参数 conv_layer nn.Conv2d(in_channels1, out_channels 10 // 2, kernel_size3, stride2, padding0, biasFalse) in_channels in_channels 可以设置成1&#xff0c;2&#xff0c;3&#xff0c;4等等都可以&#xff0c;一般来说做图像识别…

微服务案例搭建

目录 一、案例搭建 1.数据库表 2.服务模块 二、具体代码实现如下&#xff1a; (1) 首先是大体框架为&#xff1a; &#xff08;2&#xff09;父模块中的pom文件配置 &#xff08;3&#xff09;shop_common模块&#xff0c;这个模块里面只需要配置pom.xml&#xff0c;与实体…

MySQL如何判断一个字段里面是否包含汉字

SQL查询中&#xff0c;length() 和 char_length() 都是用来获取字符串长度的函数 在单字节字符集下&#xff08;如ASCII&#xff09;&#xff1a;每个字符通常占用1个字节&#xff0c;因此length()和char_length()在这类字符集中给出的结果是一样 在多字节字符集下&#xff0…

matplotlib绘制子图以及局部放大效果

需求&#xff1a;绘制1*2的子图&#xff0c;子图1显示两个三角函数&#xff0c;子图2显示三个对数函数&#xff0c;子图2中对指定的区域进行放大。 绘图细节&#xff1a; 每个子图中每个函数的数据存放到一个列表中&#xff0c;然后将每个子图的数据统一存到一个列表中&#…

Go 使用Redis安装、实例和基本操作

Go使用Redis&#xff1a;详解go-redis/v9库 引言 Redis作为一个高性能的键值对数据库&#xff0c;广泛应用于缓存、消息队列、实时数据分析等场景。在Go语言中&#xff0c;go-redis/v9库提供了丰富的接口和高效的数据交互能力&#xff0c;使得在Go项目中集成Redis变得简单而高…

接口限流经典算法

文章目录 限流基于计数器的限流基于滑动窗口的限流桶漏斗算法令牌桶算法 限流 为了保证系统的安全性和稳定性&#xff0c;防止恶意流量和突发大量流量短时间内大量请求接口&#xff0c;造成服务器崩溃&#xff0c;接口的限流是有必要的。 以下是四种经典的限流算法。 基于计数…

Python测试框架Pytest的使用

pytest基础功能 pytset功能及使用示例1.assert断言2.参数化3.运行参数4.生成测试报告5.获取帮助6.控制用例的执行7.多进程运行用例8.通过标记表达式执行用例9.重新运行失败的用例10.setup和teardown函数 pytset功能及使用示例 1.assert断言 借助python的运算符号和关键字实现不…

UE5打包iOS运行查看Crash日志

1、查看Crash 1、通过xCode打开设备 2、选择APP打开最近的日志 3、选择崩溃时间点对应的日志 4、选择对应的工程打开 5、就能看到对应的Crash日志 2、为了防止Crash写代码需要注意 1、UObject在RemoveFromRoot之前先判断是否Root if (SelectedImage && Selecte…

Frog4Shell — FritzFrog 僵尸网络将一日攻击纳入其武器库

FritzFrog 的背景 Akamai 通过我们的全球传感器网络持续监控威胁,包括我们之前发现的威胁。其中包括FritzFrog 僵尸网络(最初于 2020 年发现),这是一个基于 Golang 的复杂点对点僵尸网络,经过编译可同时支持基于 AMD 和 ARM 的机器。该恶意软件得到积极维护,多年来通过增…

百日筑基第六十天-学习一下Tomcat

百日筑基第六十天-学习一下Tomcat 一、Tomcat 顶层架构 Tomcat 中最顶层的容器是 Server&#xff0c;代表着整个服务器&#xff0c;从上图中可以看出&#xff0c;一个 Server可以包含至少一个 Service&#xff0c;用于具体提供服务。Service 主要包含两个部分&#xff1a;Conn…

AI周报(8.18-8.24)

AI应用-XGO-Rider: 全球首款轮腿式桌面 AI 机器人 中国的 Luwu 智能打造的XGO-Rider 是全球首款轮腿式桌面 AI 机器人。这个小巧紧凑的机器人将轮式机器人的灵活性与腿式机器人的障碍处理能力相结合&#xff0c;可以全方位移动&#xff0c;轻松适应各种地形。 XGO-Rider 主要设…