GBase新闻
数据库出现故障时,如何应急处理?别慌,照这样做(上篇)
当数据库发生故障时,你会如何进行应急处理?本文通过梳理南大通用GBase 8a数据库系统使用中可能出现的各种异常情况,以期帮助大家应对GBase 8a数据库使用中的突发故障,提供基本的问题解决思路。本期将从硬件故障、操作系统故障及资源使用情况异常三种类别展开。
1.硬件级别故障
1.1 GBase 8a数据节点硬件级别故障
现象描述
GBase 8a单节点宕机或Hang住。
现象分析
GBase 8a数据节点主机因电源模块故障、主板等硬件原因导致宕机;另外还包括本地磁盘故障、对外服务网络中断、Raid卡故障所有通道连接中断等系统无法正常对外提供服务的情况。
应急操作流程
GBase 8a集群允许一台机器脱离集群,带病运行一段时间,但无法长期运行,需要尽快停止业务,对故障硬件进行修复。建议处置方法:
1)运行部门联系开放平台确认问题,并进行后续处理;
2)开放平台通知设备维护厂商现场支持,进行故障硬件维修;(10分钟)
3)运行部门停止故障集群上的作业。(取决于当时任务的大小,通常在1小时-4小时之间)
4)硬件厂商修复故障机器。(4-8小时)
5)GBase现场支持启动数据库服务,进行数据同步等状态检查,如有异常进行数据修复。(30分钟)
6)运行部门启动集群作业。
1.2 加载机硬件级别故障
现象描述
加载机宕机或Hang住。
现象分析
加载机主机因电源模块故障、主板等硬件原因导致宕机;另外还包括本地磁盘故障、对外服务网络中断、Raid卡故障所有通道连接中断等系统无法正常对外提供服务的情况。
应急操作流程
目前大数据平台应用架构实现加载机高可用,8台加载机任意一台或多台(非全部)出现故障,不会引起应用中断。建议处置方法:
1)运行部门联系开放平台确认问题,并进行后续处理;
2)开放平台通知设备维护厂商现场支持,进行故障硬件维修;(10分钟)
3)硬件厂商修复故障机器。(4-8小时)
4)GBASE南大通用现场支持或运行部门管理员启动加载机上加载、应用服务等。(30分钟)
2. 操作系统级别故障
2.1GBase 8a数据节点操作系统级别故障
2.1.1 操作系统损坏
现象描述
单节点操作系统损坏。
现象分析
GBase 8a数据节点Raid卡故障或操作系统故障,导致系统无法提供服务,需要重新安装操作系统。
应急操作流程
GBase 8a集群允许一台机器脱离集群,带病运行一段时间,但无法长期运行,需要尽快停止业务,对故障机器进行修复。可以使用预先准备好的备用机加入GBase 8a集群,减少安装操作系统的时间,缩短修复过程。建议处置方法:
1)运行部门联系开放平台确认问题,并进行后续处理;
2)设置备用机,准备好加入集群。(10分钟)
3)运行部门停止故障集群上的作业。(取决于当时任务的大小,通常在1小时-4小时之间)
4)GBASE南大通用现场支持停止故障机,配置备机IP,进行GBase 8a数据同步;(根据数据量大小,通常在12-24小时之间)
5)GBASE南大通用现场支持启动GBase 8a集群。(20分钟)
6)运行部门启动集群作业。
2.1.2. 文件系统故障
现象描述
文件系统或者逻辑卷故障。
现象分析
本地磁盘、存储磁盘损坏,导致文件系统或者逻辑卷故障,以及空间满等,导致应用数据对磁盘读写异常。
应急操作流程
本地磁盘故障,导致系统io读写异常,不能正常对外服务。建议处置记录方法:
1)运行部门联系开放平台确认问题,并进行后续处理;
2)开放平台通知硬件维保厂商,检查硬件日志,定位问题;
3)尝试登录系统,检查系统日志及磁盘读写情况;
4)一般情况下本地硬盘使用Raid5,出现该场景问题的几率很低,硬件故障可能性较大;
5)硬件厂商更换故障磁盘;
6)如果文件丢失,使用备份文件进行恢复。GBase 8a数据库文件损坏,使用GBase 8a同步功能进行修复。
7)GBASE南大通用现场支持启动服务,观察问题是否解决。
2.2.加载机操作系统级别故障
2.2.1.操作系统损坏
现象描述
单节点操作系统损坏。
现象分析
GBase 8a数据节点Raid卡故障或操作系统故障,导致系统无法提供服务,需要重新安装操作系统。
应急操作流程
目前大数据平台应用架构实现加载机高可用,8台加载机任意一台或多台(非全部)出现故障,不会引起应用中断。建议处置方法:
1)运行部门联系开放平台确认问题,并进行后续处理;
2)开放平台重新安装操作系统。(1小时)
3)开放平台配置IP、部署GBase 8a加载服务、客户端、应用服务等。(1小时)
4)GBASE南大通用现场支持或运行部门管理员启动该加载机服务。
2.2.2.文件系统故障
现象描述
文件系统或者逻辑卷故障。
现象分析
本地磁盘、存储磁盘损坏,导致文件系统或者逻辑卷故障,以及空间满等,导致应用数据对磁盘读写异常。
应急操作流程
大数据平台应用架构实现加载机高可用,8台加载机任意一台或多台(非全部)出现故障,不会引起应用中断。建议处置记录方法:
1)运行部门联系开放平台确认问题,并进行后续处理;
2)开放平台通知硬件维保厂商,检查硬件日志,定位问题;
3)尝试登录系统,检查系统日志及磁盘读写情况;
4)一般情况下本地硬盘使用Raid5,出现该场景问题的几率很低,硬件故障可能性较大;
5)硬件厂商更换故障磁盘;
6)GBase现场支持或运行部门管理员启动服务,观察问题是否解决。
3. 资源使用情况异常
3.1Swap使用率增高
现象描述
集群中大量节点Swap使用率增高
现象分析
GBase 8a软件异常,或者异常SQL导致GBase 8a内存溢出,使用内存不断增加,不及时处理会导致Swap空间占满,系统异常宕机。
应急操作流程
此种异常大多由于GBase 8a软件或异常SQL导致,需要通知应用协助排查问题原因。
1)运行部门联系开放平台协助排查问题,通知GBase现场支持协助排查问题;
2)运行部门和GBase现场支持分析系统中运行的异常SQL。
3)运行部门停止产生问题的SQL。
4)开放平台清理操作系统内存,降低Swap使用率。
5)GBase现场支持协助开发优化异常SQL
6)运行部门避免未经测试的SQL运行在生产环境
3.2 CPU使用率增高
现象描述
集群中大量节点CPU使用率增高,IO接近饱和。
现象分析
CPU的大部分时间花在系统切换上,GBase 8a同时处理的并发过高,并且存在几个超长任务(超过2小时未执行完)。
应急操作流程
此种异常大多由于业务调度的并发过高引起,会导致任务处理的整体速度降低。
1)运行部门联系开放平台协助排查问题,通知GBase现场支持协助排查;
2)运行部门和GBase现场支持分析系统中并发运行的任务数。
3)如果并发过高,运行部门降低并发数。如果存在超长SQL,商量是否需要先杀掉,以避免拉低整体性能。
4)GBase现场支持协助开发优化异常SQL,避免未经测试的SQL运行在生产环境。
5)运行部门避免在统一调度系统之外,手工调起作业。
3.3 磁盘IO异常繁忙
现象描述
集群中单个节点或多个节点IO异常繁忙。
现象分析
集群单个节点或多个节点DISKBUSY原高于其他节点(如超过12时间DISKBUSY高于80%)。
应急操作流程
此种异常大多由于硬盘故障或硬盘背板、RAID卡故障引起,会导致任务处理的整体速度降低。
1)运行部门联系开放平台确认问题,并进行后续处理;
2)硬件厂商抓取硬件运行日志,并分析。
3)如果并发过高,运行部门降低并发数。如果存在超长SQL,商量是否需要先杀掉,以避免拉低整体性能。
4)厂商分析日志确定故障硬件后,更换硬件,如更换硬件需停止操作系统,需停止集群服务。
5)GBase现场支持恢复服务。
3.4 磁盘空间满或超过阈值
现象描述
集群中单个节点或多个节点磁盘空间满或使用超过80%。
现象分析
集群中单个节点或多个节点磁盘空间使用超过80%,因GBase 8a集群数据节点须保留20%~30%作为临时空间,磁盘总空间满后,部分SQL会报错,甚至可能到会GBase 8a服务进程crash。
应急操作流程
一般情况下短时间内磁盘使用大幅上升是由笛卡尔乘积SQL或GBase 8a执行计划bug导致。
1)运行部门分析GBase 8a临时空间使用情况。
2)运行部门分析运行SQL情况,确定哪条SQL导致。
3)Kill SQL,观察空间是否释放。
4)如笛卡尔乘积,则反馈开发部分进行处理;如GBase执行计划问题,反馈数据库厂商,要求提供短期解决方案及后期修复计划。
5)恢复服务。