【技术实现步骤摘要】
基于Terraform的云主机磁盘扩容方法及系统
[0001]本专利技术涉及云计算和虚拟化
,具体地说是一种基于Terraform的云主机磁盘扩容方法及系统。
技术介绍
[0002]在云环境下,大部分产品如云主机都是以虚机镜像,通过Openstack创建虚机提供相应服务的形式。随着时间推移,难免出现虚机空间占满的情况,如果虚机有数据盘,则可通过扩展数据盘形式满足需求,但如果虚机只有一块系统盘,对系统盘扩容就可能需要人工干预,增加运维成本。Terraform可以对云主机进行管理,使虚机的创建及维护更加简便自如,但以现有Terraform的功能仍不能很好的满足系统盘扩容需求。
[0003]因此,如何在减少运维成本的前提下满足磁盘空间扩容的需求是需要亟待解决的技术问题。
技术实现思路
[0004]本专利技术的技术任务是提供一种基于Terraform的云主机磁盘扩容方法及系统,来解决如何在减少运维成本的前提下满足磁盘空间扩容的需求的问题。
[0005]本专利技术的技术任务是按以下方式实现的,一种基于Terraform的云主机磁盘扩容方法,该方法是利用Terraform通过provider插件调用OpenStack的API便捷的管理云主机,将Terraform相关插件和各种Openstack的API调用封装成工厂方法,包括创建虚机、开关机、删除、重启、创建卷、卷扩容、Ansible执行,完成云主机的包括系统盘在内的磁盘扩容;具体如下:
[0006]S1、云主机开始扩容,执行步骤S2 ...
【技术保护点】
【技术特征摘要】
1.一种基于Terraform的云主机磁盘扩容方法,其特征在于,该方法是利用Terraform通过provider插件调用OpenStack的API便捷的管理云主机,将Terraform相关插件和各种Openstack的API调用封装成工厂方法,完成云主机的包括系统盘在内的磁盘扩容;具体如下:S1、云主机开始扩容,执行步骤S2;S2、判断磁盘是否支持LVM:
①
、若是,则执行步骤S3;
②
、若否,则执行步骤S4;S3、执行纵向扩容,下一步执行步骤S5;S4、执行横向扩容,下一步执行步骤S5;S5、判断是否扩容成功:
①
、若是,则结束扩容;
②
、若否,则回滚。2.根据权利要求1所述的基于Terraform的云主机磁盘扩容方法,其特征在于,步骤S3中的纵向扩容具体如下:S301、通过工厂的volume_extend操作创建指定大小的新卷,并判断是否创建出卷且卷大小与所要扩容的大小一致:
①
、若成功,则说明新卷创建成功,下一步执行步骤S2;
②
、若失败,则返回相应的错误信息,删除已经创建的异常资源,同时中止业务;S302、新卷创建成功后,通过工厂的volume_attachments操作将新卷挂载到目标云主机上,并判断目标云主机挂载卷是否成功:
①
、若挂载卷成功,则说明扩容已经基本完成,下一步执行步骤S3;
②
、若挂载卷失败,则直接将卷删除,实现业务的回滚,同时返回相应错误信息并中止业务;S303、挂载卷后,工厂通过remote
‑
exec执行Ansible脚本,对新挂载卷进行LVM分区操作,并判断Ansible脚本执行是否成功:
①
、若Ansible脚本执行成功,则纵向扩容即操作成功,此时进入云主机执行lsblk指令及df
–
h指令可发现云主机磁盘扩容已成功;
②
、若Ansible脚本执行失败,则执行步骤S4;S304、判断是否删除新卷:
①
、若是,则删除卷,并进行回滚业务;
②
、若否,则保留创建出的卷,线下去云主机内执行对应脚本。3.根据权利要求2所述的基于Terraform的云主机磁盘扩容方法及系统,其特征在于,LVM分区操作包括创建物理卷、加入卷组、扩展逻辑卷及刷新文件系统。4.根据权利要求2或3所述的基于Terraform的云主机磁盘扩容方法,其特征在于,在纵向扩容操作时,当无法获取云主机的权限进行LVM操作的用户名及密码时,提前在云主机内置LVM执行脚本及监听程序,当内置LVM执行脚本及监听程序发现有新卷挂载时,自动执行相应的LVM指令,最终完成系统盘的扩容操作。5.根据权利要求1所述的基于Terraform的云主机磁盘扩容方法,其特征在于,步骤S4
中的横向扩容具体如下:S401、通过工厂对云主机进行关机操作,轮询操作确定云主机的状态是否为SHUTOFF:
①
、若关机成功,则执行步骤S402;
②
、若关机失败,则扩容失败,即说明云主机状态异常,无法自动恢复,需要发出告警信息,同时中止业务,等人工干预,排查云主机状态异常原因且虚机状态恢复后再进行扩容操作;S402、工厂对云主机做镜像快照,进行数据备份,并判断是否备份成功:
①
、若备份失败,则扩容失败;
②
、若备份成功,则执行步骤...
【专利技术属性】
技术研发人员:李承林,徐士强,王禹博,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。