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

news2024/9/22 1:20:36

本文刊于《中国金融电脑》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.coloradmin.cn/o/2057831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx: 体系化知识点梳理

概述 我们需要对 Nginx 要有体系化的一个认识对 Nginx 自身来说,它是作为一个中间件的,只要是中间件,它必然会涉及到前端和后端对于 Nginx 来说,它是需要协调整个前后端的一个组件那对于中间件来,我们要理解整个外部系…

Python 设置Excel工作表页边距、纸张大小/方向、打印区域、缩放比例

在使用Excel进行数据分析或报告制作时,页面设置是确保最终输出效果专业、美观的关键步骤。合理的页面设置不仅能够优化打印效果,还能提升数据的可读性。本文将详细介绍如何使用Python操作Excel中的各项页面设置功能。 目录 Python 设置Excel工作表页边…

Hexo通过GitHub设置自定义域名

本身GitHub也是支持自定义域名的,本次教程将讲解如何使用GitHub自带的自定义域名解析。 1. GitHub设置 1.1 登录GitHub账号 登录GitHub账号,找到名称为 用户名.github.io的仓库,并点击进入。 1.2 进入Settings页面 点击如图的Settings按…

Mysql的相关编程基础知识

一. 配置MySQL 首先下载mysql-5.0.96-winx64,安装过程如下图所示。 1.安装MySQL 5.0 ​ ​ 2.选择手动配置、服务类型、通用多功能型和安装路径 ​ 3.设置数据库访问量连接数为15、端口为3306(代码中设置URL用到)、编码方式为utf-8 ​ 4.设…

【C语言】冒泡排序保姆级教学

C语言冒泡排序保姆级教学 直奔主题&#xff1a; 拿排升序举例子 第一步&#xff1a; 将想要排序的数组中数值最大的那个数排到该数组的最后 具体实现如下图&#xff1a; 第一步代码实现 for (int i 1; i < n ; i)//n为数组大小此处为4 {if (a[i - 1] > a[i])//注意越…

k8s综合项目

一、准备环境 1.1 部署服务器 在centos7.9系统里搭建v1.23版本的k8s集群&#xff0c;准备四台服务器&#xff0c;两台作为master&#xff0c;主机名分别为 k8s-master和k8s-master-2&#xff0c;主机名为k8s-master&#xff0c;两台作为 node&#xff0c;主机名分别为k8s-nod…

嵌入式开发输出调试信息的常用方法

嵌入式开发为什么需要输出调试信息&#xff1f; 稳严文&#xff1a;因为输出调试信息是嵌入式开发中一项非常重要的实践&#xff0c;它有助于保证软件的可靠性、稳定性和性能&#xff0c;也是故障排查的关键工具之一。 白话文&#xff1a;程序猿想知道自己敲的代码是否正确、是…

Nginx反向代理功能

反向代理&#xff1a;reverse proxy&#xff0c;指的是代理外网用户的请求到内部的指定的服务器&#xff0c;并将数据返回给用户的 一种方式&#xff0c;这是用的比较多的一种方式。 Nginx 除了可以在企业提供高性能的web服务之外&#xff0c;另外还可以将 nginx 本身不具备的…

如何选择最佳路线?

交通线路的选择 日常交通线路的选择&#xff0c;并不是按最短路径选择的。还要参考道路的等级&#xff0c;道路是否拥堵&#xff0c;道路通行速度等多种情形。本程序列举出所有能通行的线路&#xff0c;并计算出行驶距离&#xff0c;来供用户选择。当然&#xff0c;也可以加入…

linux | ubuntu虚拟机创建硬盘、磁盘分区、分区挂载、自动挂载、磁盘清理

点击上方"蓝字"关注我们 01、创建硬盘 >>> 什么使硬盘? 点击虚拟机设置,这里有两个硬盘,一个100G,一个20G 应用场景,下载yocto时,磁盘空间不足,所以写下这篇文章,供大家参考 >>> 开始创建一个新的硬盘 点击添加 【选择硬盘 下一步】 【推…

三、Vuex是什么?Vuex详解

什么是Vuex 在理解Vuex之前&#xff0c;首先需要理解我们为什么要使用它&#xff1f;它解决了什么问题&#xff1f; 为什么要使用它 在Vue开发中&#xff0c;我们常常会用到组件直接的传值、通讯。有父子通讯&#xff0c;兄弟组件通讯…但是传参对于多层嵌套就显得非常繁琐&am…

分享思源笔记的几个骚操作

文章目录 思维导图复习法效果视频制作过程使用方法 大纲复习方法制作过程 人工智能简易使用效果制作过程 思维导图复习法 效果视频 bandicam20240817222246034.mp4 制作过程 首先下载【写味】主题或者是[自定义块样式]插件 他两个的区别是 思维导图以列表形式写出来 选择转…

计算机毕业设计选题推荐-旅游景点数据分析-Python爬虫可视化

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Unity教程(十一)使用Cinemachine添加并调整相机

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

武林外传书生版单机安装教程+GM工具+虚拟机一键端

今天给大家带来一款单机游戏的架设&#xff1a;武林外传书生版。 另外&#xff1a;本人承接各种游戏架设&#xff08;单机联网&#xff09; 本人为了学习和研究软件内含的设计思想和原理&#xff0c;带了架设教程仅供娱乐。 教程是本人亲自搭建成功的&#xff0c;绝对是完整…

快速带你玩转高性能web服务器后续

目录 一、Nginx 高级配置 1.1 Nginx 状态页 1.2 Nginx 压缩功能 1.3 Nginx的版本隐藏 1.4 Nginx 变量使用 1.4.1 内置变量 二、 Nginx Rewrite 相关功能 2.1 ngx_http_rewrite_module 模块指令 2.1.1 if 指令 2.1.2 set 指令 2.1.3 break 指令 2.1.4 return 指令 2…

cmake install setlocal错误

cmake中的代码如下&#xff1a; #设置安装目录的前缀 set(CMAKE_INSTALL_PREFIX $ENV{PUBLISH_DIR}) #这边的输出满足要求 message(STATUS "install dir:${CMAKE_INSTALL_PREFIX}") #指定安装 install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin …

数据埋点系列总结|从基础到实践的深度总结

在当今数字化时代,数据已成为企业的核心资产,而数据驱动决策则是充分利用这一资产的关键方法。本系列文章全面探讨了从数据收集到分析,再到实际应用的整个过程,为读者提供了深入而实用的指导。让我们深入回顾这个journey,详细探讨每个主题的核心内容,并思考数据驱动决策的未来发…

SHOPLINE x TiDB丨集群成本降低 50%!跨境电商 SHOPLINE 交易、商品管理等核心业务的数据库升级之路

导读 本文整理自 TiDB 社区深圳站——SHOPLINE 数据库/TiDB 负责人车佳蔚的演讲《SHOPLINE & TiDB 在跨境电商中的应用实践》。本次分享深入探讨了 SHOPLINE 在跨境电商领域的数字化转型过程中&#xff0c;如何通过 TiDB 技术应对技术挑战&#xff0c;实现降本增效。 本文…

《重生到现代之从零开始的C语言生活》—— 指针3

数组名的理解 在我们使用&arr[0]的方式拿到了数组第一个元素的地址&#xff0c;但是其实&#xff0c;数组名本来就地址&#xff0c;而且是数组首元素的地址 所以数组名就是数组首元素的地址 但是会有两个例外 sizeof(数组名)&#xff0c;sizeof中单独放数组名&#xff0c…