通用方案:专有云V3环境OSS集群的使用量达到90%后禁止写入的修复方法

通用方案:专有云V3环境OSS集群的使用量达到90%后禁止写入的修复方法

更新时间:2020-07-01 12:52:14

1. 概述

本文主要介绍在专有云V3环境中,OSS集群的使用量达到90%后禁止写入的修复方法。

1.1. 适用范围

  • 专有云V3,盘古、OSS
    说明:适用于盘古0.16,0.16.1,0.16.2,2.0版本。

1.2. 风险说明

修改盘古配置,可能会影响用户体验,请与阿里云现场技术支持协商,并选择合理的变更时间。

1.3. 用户告知

  • 需要更改OSS集群中盘古全局的Flag值。
  • 在版本升级后,盘古global Flag配置在天基上的修改会被恢复为默认值,请及时检查。如果被修改,需要再次做一次盘古global Flag的修改。
  • ECS实例的Bucket不在此禁写范围之内,水位达到90%时,ECS快照仍可以写入。

2. 问题描述

在专有云V3环境中,OSS集群的使用量达到90%后,将会被禁止写入。

3. 解决方案

3.1. 环境检查

检查盘古服务

  1. 登录OSS集群AG,确认/apsara/deploy/puadmin文件存在。
  2. 执行以下命令,获取Primary和Secondary角色信息,确认pangu服务正常。
    puadmin gems

检查集群终态

持久化配置需重新Rolling,请确认修改配置前该集群已达终态,避免因其他服务角色未到终态导致意外情况。登录天基控制台,选择运维>集群运维,在Project框中搜索oss,确认集群所有服务都已达终态。

3.2. 实施步骤

以下所有操作均以admin用户执行。

下载压缩包

  1. 下载oss_script_v3.tar.gz压缩包。
    oss_script_v3.tar.gz
  2. 将压缩包拷贝到OSS集群AG服务器,执行以下命令,解压到本地某个目录,本文将压缩包解压到/home/admin/oss目录。
    tar -xvf oss_script_v3.tar.gz

OSS集群中盘古全局的Flag值修改

检查专有云版本,专有云V3.3及以前的版本暂不支持脚本化操作,建议参见通用方案:专有云V3环境如何配置盘古预留空间变更操作。专有云V3.3以后的版本,可使用如下操作进行变更。

  1. 进入脚本文件所在目录,执行以下命令,运行脚本文件。
    /home/tops/bin/python2.7 pangu_forbidden_write.py
    系统显示类似如下。
    注意:集群Rolling时,若服务未到终态,脚本会一直处于等待状态。若发现天基控制台服务已达终态,但脚本显示未执行完成,则以天基控制台为准,可手动执行 Ctrl + C 按键,结束脚本等待。
  2. 脚本执行结束后,登录天基控制台,查看Rolling进度。
  3. 等天基控制台中服务都到终态后,则说明OSS集群中盘古全局的Flag值修改结束。

后台运行定时脚本

  1. 登录OSS集群AG服务器,进入脚本文件所在的目录,执行以下命令,运行脚本文件。
    sudo bash run.sh
  2. 执行以下命令,确认定时任务添加成功。
    sudo crontab -l -u admin
  3. 10分钟后在/tmp/oss目录下,确认有日志文件存在,查看日志内容,确保无ERROR日志,若有ERROR日志,请及时联系阿里云技术支持进行处理。

3.3. 结果验证

在天基控制台和OSS集群AG上,验证Flag配置是否生效。

  1. 登录天基控制台,确认Rolling成功后,查看集群的以下配置文件,确认配置已生效。
    services/pangu/user/pangu_chunkserver/pangu_chunkserver_flag.json
    系统显示类似如下。
  2. 登录OSS集群AG,执行以下命令,确认该Flag值与天基控制台中的值一致。
    /apsara/deploy/puadmin flag -get pangu_chunkserver_ChooseDiskFreeSpaceHardLimit -c

    系统显示类似如下。

  3. /tmp/oss目录下,会定期生成类似以下的日志文件,表示定时任务启动成功。

4. 回滚方案

通过以下方法进行方案回滚操作:

  1. 登录天基控制台,将添加的Flag恢复到原来的值,或者删除相应配置后提交Rolling。
  2. 登录OSS集群AG,执行以下命令,进入定时任务编辑器,删除定时任务配置,保存并退出。
    sudo crontab -e -u admin
  3. 执行以下命令,回滚默认配置。
    /home/tops/bin/python2.7 /home/admin/oss/oss_script/forbidden_write/oss_forbidden_write_v3.py -r True