云计算节点故障自动化运维服务设计

此文已由做者王盼受权网易云社区发布。数据库

欢迎访问网易云社区,了解更多网易技术产品运营经验~后端

现状
计算节点发生磁盘损坏等数据没法恢复的异常时,节点上的云主机系统盘没法恢复,致使云主机只能被清理重建api

计算节点宕机但磁盘数据可用时,重启便可恢复全部云主机的运行服务器

计算节点屡次宕机(或一段时间内频繁宕机),则须要迁移全部云主机或者直接清理重建,云硬盘须要迁移到其余cinder-volume存储服务节点网络

通常来讲重建过程比较耗时,而且云主机数据盘数据会所有丢失;另外采用本地file镜像启动的云主机离线或者在线迁移比较耗时并大类占用物理机硬盘和网络IO,会进一步加剧计算节点负载,增大宕机可能性,实际状况下迁移操做的可执行性大打折扣。操作系统

另外有一些对咱们自动化恢复流程有利的功能或者设备已经逐步上线到新建机房,所以能够考虑在这些机房实施相关的自动化恢复方案。好比义桥机房服务器已经所有配备远程管理卡,而且基于ceph存储做为系统盘+云硬盘的云主机也已经上线到该机房,这是咱们实施该方案的基础。基于ceph存储后端的云主机在异常恢复过程当中,没有数据的拷贝,不会占用硬盘和网络IO,所以恢复速度较快,能够作到几秒内在正常节点恢复运行(不包含云主机操做系统启动时间),相比如今的直接下线没法恢复或者数小时的更换硬件耗时,是对云主机SLA至关大的提高。设计

需求
保证异常节点上全部被标记为须要恢复的云主机、云硬盘资源被正确恢复(处理过程当中本进程退出其余进程能够继续)接口

把全部被处理的资源记录在案(资源id、所在节点、处理时间、调用nova/cinder服务的request-id、处理状态等)进程

保证异常处理服务自己的高可用ci

场景
用户建立云主机
用户建立云主机时指定宕机恢复策略,目前有三种:

null:不作处理,节点下线以后残留在数据库

恢复:在其余正常节点恢复重建

删除:直接删除

节点首次异常
首次异常以后要尝试重启节点(上面的云主机、云硬盘不作特殊处理),但节点已自动重启的除外,并要分析异常缘由,找到缘由并能够修复的软硬件异常,则不须要记录到节点异常次数中,不然须要记录在案,用作下次异常时的处理依据,记录前未找到缘由,但过后找到的,须要从异常记录中删除该次记录。

节点屡次异常
屡次异常节点须要作下线处理(屡次异常包含首次异常后重启失败的状况),节点上的云主机须要根据建立时指定的宕机处理策略来执行相应的操做,云硬盘则一概迁移到其余正常服务的cinder-volume节点(并不会实际的迁移数据,对用户使用没有任何影响),处理过的云主机、云硬盘要记录在案,便于过后查验。

方案
本方案只是初步想法,还须要在开发过程当中继续完善,尤为是服务高可用部分,以及与哨兵系统的交互部分,会对本服务的设计形成较大影响。

Alt pic

依赖
被恢复的云主机需使用ceph启动盘+ceph云硬盘

nova、cinder支持把服务强制设置为down状态(cinder可选,nova必须支持,不然须要等待超时变成down才能够执行云主机的宕机恢复操做)

哨兵系统异常主动通知机制(建议),或者哨兵系统提供api供咱们轮询节点状态

哨兵系统提供接口可强制重启和下电节点

后续
L3节点宕机自动化处理流程

动态资源调度功能:可根据节点负载动态均衡云主机分布

节电省成本:可将空闲节点云主机迁移以后下电节点

云硬盘是网易云提供多种硬件介质的块存储设备,用户能够根据实际生产环境,灵活选择云硬盘类型和规格大小,弹性地建立、删除、挂载、卸载、扩容云硬盘。

更多网易技术、产品、运营经验分享请点击。

文章来源: 网易云社区

相关文章
相关标签/搜索