联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
9.3.2 硬件故障
更新时间:7/4/2024, 11:20:03 AM

当分布式数据库出现硬件故障时,可能会出现多种不同的表现,包括但不限于以下几种情况:

  • 单个节点或多个节点无法正常工作,数据库服务无法访问。

  • 数据库服务运行缓慢或响应时间增加。

  • 数据库运行出错或数据损坏。

对于不同的硬件故障,需要采取不同的解决方案。下面向您主要介绍CPU内存磁盘故障时的一般处理方法。

另外,对于分布式数据库 ArgoDB,我们向运维人员提供 Manager 管理平台实时进行监控警告以及定期巡检,帮助您即使预防、发现并解决硬件使用中的异常情况。

CPU 故障

CPU(Central Processing Unit,中央处理器)是计算机的核心部件,主要负责执行计算机的程序和指令,控制和协调计算机的各个部件的工作。

故障表现

CPU 故障可能会导致数据库运行缓慢或崩溃。

表 5.2.1:CPU 故障表现
故障表现 说明

服务器 CPU 负载高

由于 CPU 是计算资源的主要提供者,因此节点的性能会显著下降。

服务器 CPU 故障

  • 如果 CPU 故障导致节点无法正常工作,那么 CPU 故障的节点将不可用,这将影响整个集群的性能。

  • 如果节点的 CPU 故障导致该节点频繁重启,那么这也可能会对集群的稳定性造成影响。

处理方案
  1. 首先登录 Manager 中查看集群上方是否有 CPU 相关报警信息。

  2. 选择仪表盘 > 热点图 > 内存查看当前集群节点 CPU 的平均使用率。

    manager heat map cpu
    图 5.2.1:集群 CPU 使用情况
  3. 登录 Aquila 查看 CPU 报警情况。

  4. 根据实际情况采取对应措施:

    • 如果硬件故障导致 CPU 故障,需要更换故障部件。

    • 如果是由于过度使用 CPU 导致的故障,可以通过优化代码或增加节点来缓解负载压力。

    • 如果某节点的 CPU 损坏,可以进行更换。但需要注意的是,更换 CPU 需要了解主板和 CPU 的兼容性,以及更换 CPU 所需的操作步骤和注意事项,因此建议咨询星环技术人员进行操作。

内存故障

内存(Memory)是计算机的一种存储介质,主要用于临时存储计算机运行中的程序、数据和指令等信息。与硬盘不同,内存的访问速度很快,但是数据不会永久存储在内存中,当计算机关闭或重启时,内存中的数据将会消失。

故障表现

内存故障指的是计算机系统中的内存模块出现故障或故障率增加,导致内存模块无法正常工作或数据出现错误。常见的内存故障包括内存芯片的损坏、接触不良、内存总线故障等,这些故障都可能导致系统出现异常或无法启动。

表 5.2.2:内存故障表现
故障表现 说明

系统崩溃或死机

内存是系统中存储临时数据和程序执行所需的关键组件之一,如果出现故障,系统将无法正确读取或写入数据,导致系统失去响应或直接崩溃。

应用程序崩溃或异常

应用程序需要在内存中加载和操作数据,如果内存出现故障,应用程序可能无法访问正确的数据或执行所需的操作,从而导致异常行为或崩溃。

性能下降

如果内存出现故障,系统可能需要频繁地重新读取或写入数据,导致操作速度变慢,系统响应时间延迟。

常见问题及处理

故障原因:节点内存损坏需更换。

解决方案:如果机器尚能开机运行,您可以通过 Memtester 等内存检测工具来判断内存是否出现异常,如果无法开机可断开电源后尝试更换内存进行排查。

注意事项:若停服超过 6 小时,建议分阶段进行缩容和扩容操作。

硬盘故障
故障表现

硬盘故障是指硬盘在读写数据时出现故障,常见的表现是数据读写缓慢、丢失或系统无法启动等。硬盘故障可能会对数据库产生较大的影响,因为数据库通常需要频繁地读写硬盘。

更换硬盘

在出现硬盘故障时,应该及时备份数据库,以防数据丢失。同时,需要检查硬盘是否正确连接并且正常工作。如果硬盘损坏,需要更换故障硬盘,并恢复备份数据。

在平时的运维工作中,可以使用一些工具来检测硬盘的健康状况,如 SMART 工具。SMART(Self-Monitoring, Analysis and Reporting Technology)是一种硬盘自我监测的技术,通过监测硬盘的各项参数来判断硬盘的健康状况。常用的 SMART 工具包括 smartctl 和 gsmartcontrol 等。 此外,还可以使用 iostat 工具来监测硬盘的读写性能。iostat 可以实时监测硬盘的 IO 情况,包括每秒读写请求次数、读写速度、响应时间等指标。通过监测这些指标,可以判断硬盘是否出现故障。

TDDMS Master 的坏盘处理

当 ArgoDB 中 TDDMS Master 出现磁盘故障时,我们需要进行磁盘的替换,简单来说可以分为以下两步:

  1. 首先需要进行 TDDMS Master 缩容操作,剔除出现坏盘的 Master 副本。

  2. 然后再进行 TDDMS Master 扩容新增 Master 副本。

下面向您分别介绍这两个步骤的详细操作。

剔除 Master 副本
  1. 将节点从 Master Group 中移除:

    1. 首先登录 TDDMS Webserver 查看需要移除的 Master 地址。

      tddms webserver master address
      图 5.2.5:查看 Master 节点地址
    2. 然后进入 TDDMS Tool 页面。界面网址为 TDDMS Webserver 后缀更改为 tool 即可,举例:

      TDDMS Webserver:http://172.18.20.1:4567/#/overview
      TDDMS Tool:http://172.18.20.1:4567/tool
      复制
    3. 在 TDDMS Tool 页面上面菜单栏单击进入 Remove Master Member,然后输入栏中写入需要移除的 Master 节点地址,点击 Remove Master 按钮,显示移除成功的信息。

      tddms tool remove master member
      图 5.2.6:移除 Master 节点
  2. 检查是否移除完成:

    1. 登录 Manager,单击进入 TDDMS Webserver ,登录账号密码均为“shiva”。

      open tddms webserver manager
      图 5.2.7:打开 TDDMS Webserver
    2. 等待 TDDMS Master 节点移除成功。

      tddms webserver master
      图 5.2.8:查看 TDDMS Master 节点
  3. 在 Manager 中删除 TDDMS Master 节点。

    delete tddms master node
    图 5.2.9:删除 TDDMS Master 节点
  4. 清理移除节点的 TDDMS 数据:

    1. 登录 Manager 查看 TDDMS Master 的数据目录。

      view tddms data path
      图 5.2.10:查看 master 数据目录
    2. 清空数据目录内容,例如清空 /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 副本
  1. 登录 Transwarp Manager 平台,进入 TDDMS 服务详情界面。

  2. 单击角色页面右侧+添加角色,添加 TDDMS Master 节点。

    add tddms master
    图 5.2.11:添加 Master 节点
    1. 说明:提醒用户该操作会导致服务停止,点击下一步即可。

    2. 分配角色:按需配置 TDDMS Master 组件的节点。

      add tddms master allocate roles
      图 5.2.12:分配角色
    3. 配置参数:master.rpc_service.master_service_port 默认值为 9630,占用连续4个端口,以默认为例,会使用9630-9633。安装后不支持修改,安装时需检查不与其他服务端口冲突

    4. 确认修改并应用:此处检查 TDDMS Master 相关信息无误后点击下一步,应用添加。

  3. 将新添加的 TDDMS Master 节点加入到 Master Group 中。

    1. 进入 TDDMS Tool 页面。界面网址为 TDDMS Webserver 后缀更改外 tool 即可,举例:

      TDDMS Webserver:http://172.18.20.1:4567/#/overview
      TDDMS Tool:http://172.18.20.1:4567/tool
      复制
    2. 在 TDDMS Tool 页面上面菜单栏单击进入 Add Master Member,然后输入新扩容的 TDDMS Master 的 Server Address,点击 Add Master Member 按钮,显示添加成功的信息。

      tddms tool add master member
      图 5.2.14:添加 Master 节点
  4. 确认扩容是否成功:

    1. 打开 TDDMS Webserver 页面并登录(默认登录账号密码均为“shiva”),检查 Master Group 是否有新添加的 TDDMS Master 节点。

      tddms webserver master
      图 5.2.15:查看 TDDMS Master 节点
    2. 查看警告页面,确认没有 master warning。

      tddms webserver warnings
      图 5.2.16:查看告警
TDDMS Tablet Server 的坏盘处理

如果处理坏盘时,已经准备好新的磁盘或者准备原地修复磁盘,则可以使用方法 1,否则请按照方法 2 分阶段处理。

方法 1:换盘操作
  1. 登录 Manager,停止故障磁盘对应的 Tablet Server 节点。

    stop tddms tabletserver
    图 5.2.17:停止 Tablet Server 节点
  2. 把有问题的磁盘替换掉或进行修复。

    1. Manager 中查看 TDDMS 服务中配置项 shiva.tabletserver.store.datadirs,确定 Tablet Server 数据目录。

      tddms tabletserver datadir
      图 5.2.18:Tablet Server 数据目录查看
    2. 清空数据目录内容,可能有多个目录,每个目录都需要操作。确保处理好的磁盘对应的数据目录是空的。

  3. 点击 TDDMS 服务右上角 …​ > 配置服务,弹出框点击确定下发配置。

    tddms configure service
    图 5.2.19:配置服务
  4. 重启对应的 Tablet Server 节点。

    start stop tddms tabletserver
    图 5.2.20:重启 Tablet Server 节点
方法 2:分阶段操作

分阶段进行 Tablet Server 更换磁盘的操作:

Tablet Server 磁盘缩容

  • 检查集群中是否存在单副本的表,如果存在,需要检查该表的副本是否存在于缩容的磁盘上

  • 一次只能处理一个磁盘,等待完成后再处理第二个磁盘

  1. 将需要剔除的磁盘从 Manager 的配置路径中删除

    edit tddms tabletserver datadir
    图 5.2.23:删除 Tablet Server 坏盘路径
  2. 重启 Tablet Server 以重新加载配置。

    start stop tddms tabletserver
    图 5.2.24:重启 Tablet Server 节点
  3. 进入 TDDMS Webserver 等待 Tablet Server 处于 active 状态。

    tddms webserver tabletserver active
    图 5.2.25:确认状态为 kActiveServer
  4. 触发副本恢复。

    curl -XPOST "$ip:$port/cluster/gc"
    复制
    • $ip:TDDMS Webserver 的 IP 地址。

    • $port:TDDMS Webserver 端口号。

    • 如上图例子为:curl -XPOST "172.18.20.1:4567/cluster/gc"。

  5. 查看 TDDMS Webserver 副本迁移情况,单击进入警告页面,等待 under replica 降到 0。如果长时间等待后,under replica 依然无法降到 0,请联系星环技术支持人员协助解决。

    tddms webserver warnings
    图 5.2.26:Webserver 警告页面

Tablet Server 磁盘扩容

  1. 登录 Manager,进入 TDDMS 服务的配置页面。

  2. 找到对应 Tablet Server 节点,加入新盘的路经

    edit tddms tabletserver datadir
    图 5.2.27:编辑 Tablet Server 数据目录
    • 如果是将退役过的磁盘重新加回集群,请确保新增加的数据盘的 data 目录下是空的。

    • 通常情况下数据目录会分配在数据盘而不是根分区。因为存在一定概率会出现数据目录错误地被挂载到根分区的情况,所以请务必确认配置的数据目录的挂载点不是根分区。

  3. 重启对应的 Tablet Server。

    start stop tddms tabletserver
    图 5.2.28:重启
  4. 确认磁盘是否添加成功:通过物理节点,查看添加磁盘目录是否有新产生的数据。