本文主要介绍在专有云V3.3之前环境中,如何配置盘古预留空间。
方案总览
类别 | 内容 |
国产化 | 否 |
风险等级(方案执行的影响) | 中 |
操作方式 | 灰屏 |
操作复杂度 | 中 |
预估执行时长 | 1小时 |
客户业务的影响 | 无 |
可监控性 | 不支持 |
有效性(重启、重拉、补丁、升级、扩容等配置是否丢失) | 固化 |
数据修订(变更是否涉及增删改操作) | 无 |
执行灰度策略 | 请向产品侧咨询,明确灰度策略 |
首次发布时间 | N/A |
预计完成时间 | N/A |
说明:适用于专有云V3.0.0~V3.3.0环境,包含V3.0.0,不包含V3.3.0环境。
安全级别 | 说明 | 本文所属级别 |
L0 | 包含高危操作,必须研发稳定性审批。 | |
L1 | 包含危险操作,需要研发审批。 | √ |
L2 | 一般操作,风险低,无需研发审批。 | |
L3 | 查询或无风险操作,无需研发审批 |
经确认,将预留10%的磁盘空间。如果集群空间不足,直接预留磁盘空间,可能会导致集群不可写入。在执行本方案操作前,请确保集群的使用量在80%以下,如果不满足,请终止操作。
说明:集群使用率的计算请参见补充说明。
盘古集群如果被写满,将需要进行停服操作。对OSS和NAS等产品,需要额外的空间才能进行删除操作,因此需要先进行扩容操作,再进行删除操作,此过程恢复服务的时间很长。为了避免这种情况,需要修改pangu的配置,保留一部分空间,避免盘古被写满,出现无法写入的情况。此时可以通过修改pangu_chunkserver和pangu_master的一个Flag,让数据可以继续写入,从而优化集群被写满时的故障恢复速度。
说明:如果集群中磁盘的规格不同,则以最小的磁盘为准。
/apsara/deploy/puadmin lscs |grep -v SSDCache|grep TotalSize: |awk '{print $6}' |tr ":" ' ' |awk '{print $2}' |sort | uniq
如果项目的部署中有Pangu Portal,请参见Web界面操作,如无Pangu Portal,请参见命令行操作。
http://[$IP]:8620/
说明:[$IP]为OPS1的IP。
/apsara/deploy/puadmin
文件存在。puadmin gems
系统显示类似如下,盘古服务正常。puadmin flag -get pangu_chunkserver_ChooseDiskFreeSpaceHardLimit -c
持久化配置需重新Rolling,请确认修改配置前该集群已达终态,避免因其他服务角色未到终态导致意外情况。
在集群配置页面,根据集群配置,找到对应集群pangu服务使用的模板。
以下操作以OSS集群为例。
cd /cloud/tool/tianji/
./tianji_clt service_template -g -t [$Template_Name] --dir [$Project]-[$Service_Name]_template -s [$Service_Name] --config /cloud/data/bootstrap_controller/BootstrapController#/bootstrap_controller/tianji_dest.conf
系统显示类似如下。说明:
- [$Template_Name]为模板名称。
- [$Service_Name]为服务名,如pangu。
- [$Project]为产品名,如ECS、ODPS。
cp -r oss-pangu_template /home/admin/oss-pangu_template_bak20181022
cd oss-pangu_template
cd user/pangu_chunkserver
说明:若提示没有
pangu_chunkserver
目录,则在user
目录下,执行mkdir pangu_chunkserver
命令,创建此目录。
pangu_chunkserver_flag.json
文件,添加需要修改的Flag及对应值,如下所示。{
"pangu_chunkserver_ChooseDiskFreeSpaceHardLimit": "200"
}
说明:
- JSON格式,除最后一行无逗号外,其他行必须以逗号结尾。
- 此处的Flag数值为举例使用,现场根据实际环境设置。
cd user/pangu_master
说明:若提示没有
pangu_master
目录,则在user
目录下,执行mkdir pangu_chunkserver
命令,创建此目录。
pangu_master_flag.json
文件,添加需要修改的Flag及对应值,如下所示。{ "pangu_master_FreeDiskLimit": "230" }
说明:
- JSON格式,除最后一行无逗号外,其他行必须以逗号结尾。
- 此处的Flag数值为举例使用,现场根据实际环境设置。
cd /cloud/tool/tianji
./tianji_clt service_template -u -m "[$Remarks]" -t [$Template_Name] --dir [$Project]-[$Service_Name]_template -s [$Service_Name] --config /cloud/data/bootstrap_controller/BootstrapController#/bootstrap_controller/tianji_dest.conf
系统显示类似如下。说明:[$Remarks]为备注信息。
模板修改完成后,通过以下操作将模板应用到集群上。
pangu_chunkserver_flag.json
文件。pangu_master_flag.json
文件。注意:非上述图中所示,请联系阿里云技术支持进行确认。
puadmin flag -get pangu_chunkserver_ChooseDiskFreeSpaceHardLimit -c系统显示类似如下,本文截图中Flag的值仅为示例,具体请以实际计算的值为准。
puadmin flag -get pangu_master_FreeDiskLimit -m
/apsara/deploy/puadmin flag -set pangu_chunkserver_ChooseDiskFreeSpaceHardLimit 10 -c
killall chunkserver
/apsara/deploy/puadmin flag -get pangu_chunkserver_ChooseDiskFreeSpaceHardLimit -c
/apsara/deploy/puadmin flag -set pangu_master_FreeDiskLimit 15 -m
注意:重启pangu_master Secondary节点需要阿里云技术支持进行确认。
killall pangu_master
/apsara/deploy/puadmin flag -get pangu_master_FreeDiskLimit 15 -m
集群使用量的计算方法如下:
登录集群AG服务器,执行以下命令,获取磁盘大小。
/apsara/deploy/puadmin lscs |grep -v SSDCache|grep TotalSize: |awk '{print $6}' |tr ":" ' ' |awk '{print $2}' |sort | uniq
说明:
- 如果集群中磁盘的规格不同,则以最小的磁盘为准。
- 需要修改的值为返回值的10%,且取整数。比如返回值为1863,则取180即可。如果返回值有多个,则在执行以上命令时,请删除去重命令uniq,统计每个数值的个数,然后联系阿里云技术支持决定取值。
例如:
如果返回值有多个请删除uniq
去重参数统计每种数值的个数,请联系阿里云技术支持咨询取值。
注意:pangu_master端预留的空间要比pangu_chunkserver端预留的空间大50G,如不清楚,请联系阿里云技术执行进行确认。
在文档使用中是否遇到以下问题
更多建议
匿名提交