-
如果 CPU 故障导致节点无法正常工作,那么 CPU 故障的节点将不可用,这将影响整个集群的性能。
-
如果节点的 CPU 故障导致该节点频繁重启,那么这也可能会对集群的稳定性造成影响。
当分布式数据库出现硬件故障时,可能会出现多种不同的表现,包括但不限于以下几种情况:
-
单个节点或多个节点无法正常工作,数据库服务无法访问。
-
数据库服务运行缓慢或响应时间增加。
-
数据库运行出错或数据损坏。
CPU 故障
CPU(Central Processing Unit,中央处理器)是计算机的核心部件,主要负责执行计算机的程序和指令,控制和协调计算机的各个部件的工作。
故障表现
CPU 故障可能会导致数据库运行缓慢或崩溃。
故障表现 | 说明 |
---|---|
服务器 CPU 负载高 |
由于 CPU 是计算资源的主要提供者,因此节点的性能会显著下降。 |
服务器 CPU 故障 |
|
处理方案
-
首先登录 Manager 中查看集群上方是否有 CPU 相关报警信息。
-
选择仪表盘 > 热点图 > 内存查看当前集群节点 CPU 的平均使用率。
图 5.2.1:集群 CPU 使用情况 -
登录 Aquila 查看 CPU 报警情况。
-
根据实际情况采取对应措施:
-
如果硬件故障导致 CPU 故障,需要更换故障部件。
-
如果是由于过度使用 CPU 导致的故障,可以通过优化代码或增加节点来缓解负载压力。
-
如果某节点的 CPU 损坏,可以进行更换。但需要注意的是,更换 CPU 需要了解主板和 CPU 的兼容性,以及更换 CPU 所需的操作步骤和注意事项,因此建议咨询星环技术人员进行操作。
-
内存故障
内存(Memory)是计算机的一种存储介质,主要用于临时存储计算机运行中的程序、数据和指令等信息。与硬盘不同,内存的访问速度很快,但是数据不会永久存储在内存中,当计算机关闭或重启时,内存中的数据将会消失。
故障表现
内存故障指的是计算机系统中的内存模块出现故障或故障率增加,导致内存模块无法正常工作或数据出现错误。常见的内存故障包括内存芯片的损坏、接触不良、内存总线故障等,这些故障都可能导致系统出现异常或无法启动。
故障表现 | 说明 |
---|---|
系统崩溃或死机 |
内存是系统中存储临时数据和程序执行所需的关键组件之一,如果出现故障,系统将无法正确读取或写入数据,导致系统失去响应或直接崩溃。 |
应用程序崩溃或异常 |
应用程序需要在内存中加载和操作数据,如果内存出现故障,应用程序可能无法访问正确的数据或执行所需的操作,从而导致异常行为或崩溃。 |
性能下降 |
如果内存出现故障,系统可能需要频繁地重新读取或写入数据,导致操作速度变慢,系统响应时间延迟。 |
常见问题及处理
故障原因:节点内存损坏需更换。
解决方案:如果机器尚能开机运行,您可以通过 Memtester 等内存检测工具来判断内存是否出现异常,如果无法开机可断开电源后尝试更换内存进行排查。
注意事项:若停服超过 6 小时,建议分阶段进行缩容和扩容操作。
硬盘故障
故障表现
硬盘故障是指硬盘在读写数据时出现故障,常见的表现是数据读写缓慢、丢失或系统无法启动等。硬盘故障可能会对数据库产生较大的影响,因为数据库通常需要频繁地读写硬盘。
更换硬盘
在出现硬盘故障时,应该及时备份数据库,以防数据丢失。同时,需要检查硬盘是否正确连接并且正常工作。如果硬盘损坏,需要更换故障硬盘,并恢复备份数据。
在平时的运维工作中,可以使用一些工具来检测硬盘的健康状况,如 SMART 工具。SMART(Self-Monitoring, Analysis and Reporting Technology)是一种硬盘自我监测的技术,通过监测硬盘的各项参数来判断硬盘的健康状况。常用的 SMART 工具包括 smartctl 和 gsmartcontrol 等。 此外,还可以使用 iostat 工具来监测硬盘的读写性能。iostat 可以实时监测硬盘的 IO 情况,包括每秒读写请求次数、读写速度、响应时间等指标。通过监测这些指标,可以判断硬盘是否出现故障。
TDDMS Master 的坏盘处理
当 ArgoDB 中 TDDMS Master 出现磁盘故障时,我们需要进行磁盘的替换,简单来说可以分为以下两步:
-
首先需要进行 TDDMS Master 缩容操作,剔除出现坏盘的 Master 副本。
-
然后再进行 TDDMS Master 扩容新增 Master 副本。
下面向您分别介绍这两个步骤的详细操作。
剔除 Master 副本
-
将节点从 Master Group 中移除:
-
首先登录 TDDMS Webserver 查看需要移除的 Master 地址。
图 5.2.5:查看 Master 节点地址 -
然后进入 TDDMS Tool 页面。界面网址为 TDDMS Webserver 后缀更改为 tool 即可,举例:
TDDMS Webserver:http://172.18.20.1:4567/#/overview TDDMS Tool:http://172.18.20.1:4567/tool
复制 -
在 TDDMS Tool 页面上面菜单栏单击进入 Remove Master Member,然后输入栏中写入需要移除的 Master 节点地址,点击
Remove Master
按钮,显示移除成功的信息。图 5.2.6:移除 Master 节点
-
-
检查是否移除完成:
-
登录 Manager,单击进入 TDDMS Webserver ,登录账号密码均为“shiva”。
图 5.2.7:打开 TDDMS Webserver -
等待 TDDMS Master 节点移除成功。
图 5.2.8:查看 TDDMS Master 节点
-
-
在 Manager 中删除 TDDMS Master 节点。
图 5.2.9:删除 TDDMS Master 节点 -
清理移除节点的 TDDMS 数据:
-
登录 Manager 查看 TDDMS Master 的数据目录。
图 5.2.10:查看 master 数据目录 -
清空数据目录内容,例如清空
/mnt/disk1/shiva-master-tddms1/data
目录下所有文件和隐藏文件。#对已经存在的 Master Group,删除已有的 Master 副本 docker run --network host <image> <$shiva_tool> remove master member
复制-
<image>:TDDMS 镜像。
-
<$shiva_tool>:/usr/shiva/bin/shiva_tool
-
参数:
-
--cmd=remove_master_member
-
--master_group=${master_group}
-
--address=${removed_master_address}
-
-
-
新增 Master 副本
-
登录 Transwarp Manager 平台,进入 TDDMS 服务详情界面。
-
单击角色页面右侧
+添加角色
,添加 TDDMS Master 节点。图 5.2.11:添加 Master 节点-
说明:提醒用户该操作会导致服务停止,点击下一步即可。
-
分配角色:按需配置 TDDMS Master 组件的节点。
图 5.2.12:分配角色 -
配置参数:
master.rpc_service.master_service_port
默认值为 9630,占用连续4个端口,以默认为例,会使用9630-9633。安装后不支持修改,安装时需检查不与其他服务端口冲突 -
确认修改并应用:此处检查 TDDMS Master 相关信息无误后点击下一步,应用添加。
-
-
将新添加的 TDDMS Master 节点加入到 Master Group 中。
-
进入 TDDMS Tool 页面。界面网址为 TDDMS Webserver 后缀更改外 tool 即可,举例:
TDDMS Webserver:http://172.18.20.1:4567/#/overview TDDMS Tool:http://172.18.20.1:4567/tool
复制 -
在 TDDMS Tool 页面上面菜单栏单击进入 Add Master Member,然后输入新扩容的 TDDMS Master 的 Server Address,点击
Add Master Member
按钮,显示添加成功的信息。图 5.2.14:添加 Master 节点
-
-
确认扩容是否成功:
-
打开 TDDMS Webserver 页面并登录(默认登录账号密码均为“shiva”),检查 Master Group 是否有新添加的 TDDMS Master 节点。
图 5.2.15:查看 TDDMS Master 节点 -
查看警告页面,确认没有 master warning。
图 5.2.16:查看告警
-
TDDMS Tablet Server 的坏盘处理
方法 1:换盘操作
-
登录 Manager,停止故障磁盘对应的 Tablet Server 节点。
图 5.2.17:停止 Tablet Server 节点 -
把有问题的磁盘替换掉或进行修复。
-
Manager 中查看 TDDMS 服务中配置项
shiva.tabletserver.store.datadirs
,确定 Tablet Server 数据目录。图 5.2.18:Tablet Server 数据目录查看 -
清空数据目录内容,可能有多个目录,每个目录都需要操作。确保处理好的磁盘对应的数据目录是空的。
-
-
点击 TDDMS 服务右上角 … > 配置服务,弹出框点击确定下发配置。
图 5.2.19:配置服务 -
重启对应的 Tablet Server 节点。
图 5.2.20:重启 Tablet Server 节点
方法 2:分阶段操作
分阶段进行 Tablet Server 更换磁盘的操作:
-
首先进行Tablet Server 磁盘缩容操作,删除磁盘故障。
-
等后续磁盘维修或新磁盘准备好后,进行Tabletserver磁盘扩容操作,
Tablet Server 磁盘缩容
|
-
将需要剔除的磁盘从 Manager 的配置路径中删除
图 5.2.23:删除 Tablet Server 坏盘路径 -
重启 Tablet Server 以重新加载配置。
图 5.2.24:重启 Tablet Server 节点 -
进入 TDDMS Webserver 等待 Tablet Server 处于 active 状态。
图 5.2.25:确认状态为 kActiveServer -
触发副本恢复。
curl -XPOST "$ip:$port/cluster/gc"
复制-
$ip:TDDMS Webserver 的 IP 地址。
-
$port:TDDMS Webserver 端口号。
-
如上图例子为:curl -XPOST "172.18.20.1:4567/cluster/gc"。
-
-
查看 TDDMS Webserver 副本迁移情况,单击进入警告页面,等待 under replica 降到 0。如果长时间等待后,under replica 依然无法降到 0,请联系星环技术支持人员协助解决。
图 5.2.26:Webserver 警告页面
Tablet Server 磁盘扩容
-
登录 Manager,进入 TDDMS 服务的配置页面。
-
找到对应 Tablet Server 节点,加入新盘的路经
图 5.2.27:编辑 Tablet Server 数据目录-
如果是将退役过的磁盘重新加回集群,请确保新增加的数据盘的 data 目录下是空的。
-
通常情况下数据目录会分配在数据盘而不是根分区。因为存在一定概率会出现数据目录错误地被挂载到根分区的情况,所以请务必确认配置的数据目录的挂载点不是根分区。
-
-
重启对应的 Tablet Server。
图 5.2.28:重启 -
确认磁盘是否添加成功:通过物理节点,查看添加磁盘目录是否有新产生的数据。