• 通用方案:盘古汇聚控制台中普通磁盘维修方法

通用方案:盘古汇聚控制台中普通磁盘维修方法

更新时间:2020-12-30 11:04

1. 概述

本文主要介绍在盘古中数据磁盘出现坏盘情况后的处理方法。

方案总览

类别 内容
风险等级(方案执行的影响)
操作方式 白屏
操作复杂度
预估执行时长 N/A
客户业务的影响
可监控性 支持
有效性(重启、重拉、补丁、升级、扩容等配置是否丢失) 固化
数据修订(变更是否涉及增删改操作)
执行灰度策略 请向产品侧咨询,明确灰度策略
首次发布时间 N/A
预计完成时间 N/A

1.1. 适用范围

  • 专有云版本:V2.*,V3.*
  • 产品:盘古
说明
  • 适用于专有云V2所有版本,且盘古版本为0.14和0.15.3。
  • 适用于专有云V3所有版本,且盘古版本为0.16、0.16.1、0.16.2。

1.2. 风险说明

  • 维修过程中需要重启pangu_chunkserver进程,会导致IO抖动,因此需要控制维修节奏。
  • 对ots_inner集群中的盘古普通盘更换时,会影响到galaxy_inner集群。
  • 请在数据安全性检查通过的情形下执行换盘操作。

1.3. 用户告知

  • 只能对/apsarapangu/disk*目录下的普通磁盘维修,不能对/apsarapangu/SSDCache*目录下SSDCache磁盘维修。
  • 只能维修盘古已经判定损坏的盘。通过执行puadmin lscs命令,获取到磁盘状态为DISK_ERROR且Backup为Done,即判定为坏盘。
  • 如果在集群AG中执行puadmin lscs命令后,获取不到关于坏盘的信息,则不使用本方案,请参见以下KB文档。
    KB 71921 通用方案:专有云盘古普通磁盘维修
  • 如果需要维修第二个坏盘,请等待至少10分钟。
  • 如果磁盘更换后,磁盘依然为error状态,请联系阿里云技术支持。

2. 问题描述

在专有云环境中,盘古作为底层的存储系统,存储了较高数量级的数据磁盘。当数据磁盘有正常的损耗时,会出现坏盘的情况。

3. 解决方案

3.1. 环境检查

如下是数据安全性检查的操作步骤。

  1. 登录Pangu Portal,单击数据管理>数据安全,确保三种类型的Abnormal Chunk都不存在,即Abnormal Chunk的个数为0。
    注意:如果存在任意一种Abnormal Chunk,请终止操作并联系阿里云技术支持。
  2. 登录出现坏盘的问题机器,执行以下命令,检查文件的创建时间。
    ls -l /apsarapangu/PanguCsDiskStatusdisk[$Disk_ID]
    说明:[$Disk_ID]为磁盘ID。
    系统返回类似如下。
    说明:请确保该文件创建于一天之前,并且满足用户告知第二条的条件,才可以进行更换磁盘的操作。如果不满足这两个条件中的任意一个,请终止操作并联系阿里云技术支持。

3.2. 实施步骤

检查数据安全

登录Pangu Portal,单击磁盘维修>普通磁盘更换,确保三种类型的Abnormal Chunk都不存在,即存在的个数为0,数据安全检查通过后,单击下一步

说明:如果Abnormal Chunk存在,请终止操作并联系阿里云技术支持。

取消挂载损坏的磁盘

请输入 CS IP框中输入损坏磁盘所在Chunk Server的IP,在请输入 DISK ID框中输入损坏磁盘的ID。然后单击umount磁盘

注意:操作后如果没有报错提示,则为正常现象,请耐心等待,不要重复操作。

确定磁盘的物理盘位并更换磁盘

  • 方法一
    1. 登录坏盘的机器,执行以下命令,查看SCSI控制器设备的信息。
      sudo lsscsi
      系统显示类似如下。
      说明:图中第三列的数字表示该磁盘对应的盘位。
    2. 确认坏盘物理盘位后,拔掉损坏的磁盘,更换上新的磁盘。

 

  • 方法二
    1. 如果之前更换过磁盘或者其他原因,执行lsscsi命令后获取的编号可能会超过盘位号,因此可以通过简单的读写测试确定坏盘位置。首先进入/apsarapangu/disk*目录,执行以下命令。
      dd oflag=direct if=/dev/zero of=0123456789_wtest_for_find_disk bs=64k count=100k
      注意:在对磁盘进行写入时,服务器面板的磁盘对应的指示灯会常亮,只需对每个磁盘逐一测试即可。由于已经取消挂载坏盘,坏盘无法进行读写测试,当所有磁盘测试完毕后,剩下的指示灯未亮的就是坏盘。 
    2. 确认坏盘物理盘位后,拔掉损坏的磁盘,更换上新的磁盘。

格式化新磁盘

  1. 确定好磁盘的物理盘位,更换上新磁盘后,登录出现坏盘的Chunk Server,执行以下命令,获取并记录设备名。
    sudo fdisk -l
    系统返回类似如下,图中没有分区的磁盘即为新换的磁盘。
  2. 在Pangu Portal的第2步:磁盘更换页面中,单击下一步,然后根据提示输入上一步记录的设备名称。
    注意:操作后如果没有报错提示,则为正常现象,请耐心等待,不要重复操作。
  3. 输入设备名称,确认无误后,单击分区格式化磁盘
    注意:操作后如果没有报错提示,则为正常现象,请耐心等待,不要重复操作。

挂载磁盘

等待上一步执行完毕后,单击mount磁盘

注意:操作后如果没有报错提示,则为正常现象,请耐心等待,不要重复操作。

删除冗余meta

  1. 等待2分钟后,根据下图中的提示,确认Chunk Server的IP和磁盘的ID无误后,单击删除冗余meta
  2. 单击下一步
    注意:操作后如果没有报错提示,则为正常现象,请耐心等待,不要重复操作。

磁盘上线

之前的操作没有报错或者提示的情况下会进入磁盘上线的操作,单击下一步

注意:操作后如果没有报错提示,则为正常现象,请耐心等待,不要重复操作。

检查盘古版本

  • 针对0.14版本的操作
    1. 确认Chunk Server的IP、磁盘ID和盘古版本信息无误后,单击下一步。如果获取不到版本号,请终止操作并联系阿里云技术支持。
    2. 确认Chunk Server的IP和磁盘ID正确,并且确认状态DISK_OK后,单击完成,然后在提示框中单击确定,结束本次换盘操作。
  • 针对0.16版本的操作
    1. 确认Chunk Server的IP、磁盘ID和盘古版本信息无误后,单击下一步。如果获取不到版本号,请终止操作并联系阿里云技术支持。
    2. 单击下一步
    3. 单击下一步
    4. 确认Chunk Server的IP和磁盘ID无误后,并且确认状态DISK_OK后,单击完成,然后在提示框中单击确定,结束本次换盘操作。
  • 针对0.16.1和0.16.2版本的额外操作
    1. 确认Chunk Server的IP、磁盘ID和盘古版本信息无误后,单击下一步。如果获取不到版本号,请终止操作并联系阿里云技术支持。
    2. 单击刷新后,单击下一步,重启Chunk Server。
    3. 重启Chunk Server后等待一段时间,确认Chunk Server的IP和磁盘ID无误后,并且确认状态DISK_OK后,单击完成,然后在提示框中单击确定,结束本次换盘操作。

3.3. 结果验证

  1. 登录Pangu Portal,单击集群运维>Chunkserver运维,单击坏盘所在Chunk Server的绿色剪头,确认换盘成功。
  2. 请参见环境检查步骤,进行数据安全性检查。如果1到2天后执行如下命令,输出不为空请联系阿里云技术支持。
    puadmin fs -abnchunk -t lessmin  

4. 回滚方案

磁盘硬件损坏,无法回滚。