• 首页 > 
  • 应急预案:专有云环境中pangu_master的“/apsarapangu”目录磁盘空间满的应急处理方法

应急预案:专有云环境中pangu_master的“/apsarapangu”目录磁盘空间满的应急处理方法

KB: 195647

 · 

更新时间:2020-12-17 23:37

1. 概述

本文主要介绍专有云环境中,pangu_master中/apsarapangu目录磁盘空间满的应急处理方法。

1.1. 适用范围

  • 专有云V2企业版,盘古
  • 专有云V3企业版,盘古

1.2. 用户告知

  • 适用平台:x86、ARM
  • 授权级别:L2(二线技术支持工程师)
  • 临时或固化方案:临时
  • 操作复杂度:中
  • 预估执行时长:120分钟
  • 业务影响:否
  • 风险等级:低
    说明:此方案只作为临时应急方案快速恢复盘古服务,根本解决方法还需视具体情况分析。

2. 问题描述

专有云环境中pangu_master一般以容器形式存在,由于宿主机磁盘满或者pangu_master容器/apsarapangu目录空间满,导致盘古oplog元数据无法正常写入,服务异常,需清理或扩容磁盘空间。

3. 解决方案

3.1. 环境检查

检查盘古Master状态

登录到集群AG,切换到admin用户,执行以下命令,检查盘古Master状态。

puadmin gems

系统显示类似如下,无法正常输出选举状态或者有disconnected状态的节点。

Error: electorstatus: Get elect master status fail

检查pangu_master容器及其宿主机磁盘水位

  1. 登录异常的pangu_master容器,执行以下命令,查看/apsarapangu目录的使用率是否为100%。
    df -h
  2. 执行以下命令,查看backup目录的占用大小。
    du -sh /apsarapangu/backup/
    系统显示类似如下。
  3. 执行以下命令,查看其宿主机地址。
    cat /etc/hostinfo
  4. 根据上一步获取的宿主机地址,登录宿主机。
  5. 执行以下命令,查看/apsara/apsarapangu目录磁盘的使用率是否存在100%的情况。
    df -h

根据磁盘水位选择处理方法

3.2. 实施步骤

清理pangu_master容器“/apsarapangu/backup/”目录下的日志

  1. 登录到异常的pangu_master容器,切换到admin用户,执行以下命令,查看当前磁盘使用情况。
    ll -rht /apsarapangu/backup/;du -sh /apsarapangu/backup/
  2. 依次执行以下命令,清理backup目录中的日志。
    mkdir /tmp/empty/
    rsync --delete-before -d /tmp/empty/ /apsarapangu/backup/
    系统显示类似如下。

扩容pangu_master容器磁盘空间

以下操作仅用于临时紧急扩容容器磁盘,非紧急情况,请使用标准通用方案。

  • 适用于专有云V3环境
    注意:此方案并不是临时修改,在执行restart命令重启之后并不会回滚,待现场稳定之后,需要用盘古扩容磁盘标准通用方案重新固化,下发配置。专有云V3环境的标准扩容通用方案为“KB107473 通用方案:专有云V3环境中扩容pangu_master VM的硬盘”,请联系阿里云技术支持获取。
    1. 登录容器所在的机器,执行以下命令,记录Quota配额。
      docker inspect [$Container_ID] | grep -i diskquota
      说明:[$Container_ID]为pangu_master容器的ID。
    2. 执行以下命令,扩容磁盘空间,实际大小请根据需求指定,此处指定的72G、20G仅为示例。
      docker update --disk "/apsarapangu=72G;/apsara=72G;.*=20G" [$Container_ID]
      系统显示类似如下。
  • 适用于专有云V2环境
    由于docker update的方式仅会修改Docker配置,而不会使容器磁盘大小发生变化,所以请使用标准通用方案修改C表,进行扩容。专有云V2环境的标准扩容通用方案为“KB74942 通用方案:专有云V2环境中pangu_master容器硬盘扩容”,请联系阿里云技术支持获取。

3.3. 结果验证

查看磁盘空间及盘古Master状态是否恢复,具体操作如下:

  1. 执行以下命令,查看容器和宿主机的磁盘空间,验证是否达到可写入的预期。
    df -h
  2. 执行以下命令,查看盘古Master状态是否恢复正常。
    puadmin gems

4. 回滚方案

异常状态修复操作,无回滚方法。