The invention discloses a method and a system for accelerating the batch start-up of a virtual machine based on a migration mode, which comprises a mirror file management, a data queue storage, a statistical program module, a start program module, a migration operation module, etc.. At the beginning, only one virtual machine is started, and the remaining virtual machine is started by waiting for online migration. Migration only copy the memory data, do not copy the disk data, effectively avoid the disk resource competition, accelerate the overall startup process. Develop a set of control system, control the whole startup process, and realize the automation control of the virtual machine of the batch mode.
【技术实现步骤摘要】
本专利技术涉及基于迁移方式加速虚拟机批量启动的方法及系统。
技术介绍
有些虚拟化场景中存在大量相同的虚拟机,如虚拟教室,每个学生使用一台虚拟机,所有虚拟机完全一样,运行同样的系统,包含同样的课程。类似场景中通常的做法是制作一份基础镜像文件,基于基础镜像创建一组快照文件,作为每台虚拟机的硬盘,虚拟机运行时增量数据写入快照文件中,基础镜像作为只读存储。虚拟机批量启动时对系统资源冲击很大,尤其是存储资源,启动时虚拟机彼此竞争,磁盘IO操作密集,整体启动过程缓慢,总体耗时较长。
技术实现思路
本专利技术的目的就是为了解决上述问题,提供基于迁移方式加速虚拟机批量启动的方法及系统,初始时仅仅正常启动一台虚拟机,剩余虚拟机通过等待在线迁移的方式启动。迁移时只复制内存数据,不复制磁盘数据,有效避免磁盘资源的竞争,加速整体启动过程。开发一套控制系统,控制整体启动过程,实现迁移方式批量启动虚拟机的自动化控制。为了实现上述目的,本专利技术采用如下技术方案:基于迁移方式加速虚拟机批量启动的方法,包括如下步骤:步骤(1):创建一个启动完成队列和一个迁移等待队列,启动完成队列用以存放启动完成的虚拟机编号,迁移等待队列用以存放等待迁移的虚拟机编号,在迁移等待队列中写入等待迁移的虚拟机的编号2到n,n为正整数;步骤(2):并列运行n个启动程序,每个启动程序管理一台虚拟机;步骤(3):第一个启动程序基于基础镜像创建自己的快照文件,以正常方式后台启动第一台虚拟机,等待第一台虚拟机启动完成;剩余的n-1个启动程序基于基础镜像创建各自的快照文件,以等待迁移方式后台启动各自的虚拟机,分别等待各自的虚 ...
【技术保护点】
基于迁移方式加速虚拟机批量启动的方法,其特征是,包括如下步骤:步骤(1):创建一个启动完成队列和一个迁移等待队列,启动完成队列用以存放启动完成的虚拟机编号,迁移等待队列用以存放等待迁移的虚拟机编号,在迁移等待队列中写入等待迁移的虚拟机的编号2到n,n为正整数;步骤(2):并列运行n个启动程序,每个启动程序管理一台虚拟机;步骤(3):第一个启动程序基于基础镜像创建自己的快照文件,以正常方式后台启动第一台虚拟机,等待第一台虚拟机启动完成;剩余的n‑1个启动程序基于基础镜像创建各自的快照文件,以等待迁移方式后台启动各自的虚拟机,分别等待各自的虚拟机启动完成;步骤(4):启动程序从迁移等待队列中读取一个虚拟机编号i,如果迁移等待队列为空,启动程序运行结束;否则,进入步骤(5);i的取值范围是2到n;步骤(5):启动程序执行迁移操作,向自己管理的虚拟机发送迁移指令,让虚拟机在线迁移至编号为i的虚拟机,等待迁移完成,之后向自己管理的虚拟机发送继续指令,让虚拟机继续执行,返回步骤(4)。
【技术特征摘要】
1.基于迁移方式加速虚拟机批量启动的方法,其特征是,包括如下步骤:步骤(1):创建一个启动完成队列和一个迁移等待队列,启动完成队列用以存放启动完成的虚拟机编号,迁移等待队列用以存放等待迁移的虚拟机编号,在迁移等待队列中写入等待迁移的虚拟机的编号2到n,n为正整数;步骤(2):并列运行n个启动程序,每个启动程序管理一台虚拟机;步骤(3):第一个启动程序基于基础镜像创建自己的快照文件,以正常方式后台启动第一台虚拟机,等待第一台虚拟机启动完成;剩余的n-1个启动程序基于基础镜像创建各自的快照文件,以等待迁移方式后台启动各自的虚拟机,分别等待各自的虚拟机启动完成;步骤(4):启动程序从迁移等待队列中读取一个虚拟机编号i,如果迁移等待队列为空,启动程序运行结束;否则,进入步骤(5);i的取值范围是2到n;步骤(5):启动程序执行迁移操作,向自己管理的虚拟机发送迁移指令,让虚拟机在线迁移至编号为i的虚拟机,等待迁移完成,之后向自己管理的虚拟机发送继续指令,让虚拟机继续执行,返回步骤(4)。2.如权利要求1所述的基于迁移方式加速虚拟机批量启动的方法,其特征是,所述步骤(1)与步骤(2)之间还设有步骤(10):定时统计启动完成队列中的元素数目,达到n时退出,并输出累计耗时。3.如权利要求1所述的基于迁移方式加速虚拟机批量启动的方法,其特征是,采用宿主机的一个UDP端口为第一台虚拟机模拟一个串口,第一个启动程序等待读取宿主机的端口得到预先约定的字符串,从而得知第一台虚拟机已启动完成。4.如权利要求1所述的基于迁移方式加速虚拟机批量启动的方法,其特征是,采用宿主机的一组TCP端口为剩余的每台虚拟机指定迁移等待端口,剩余的每台虚拟机在指定端口等待迁移。5.如权利要求4所述的基于迁移方式加速虚拟机批量启动的方法,其特征是,采用宿主机的另外一组TCP端口为每台虚拟机模拟monitor控制台,每个启动程序通过读写TCP端口与monitor控制台交互,控制迁移过程。6.如权利要求1所述的基于迁移方式加速虚拟机批量启动的方法,其特征是,第一台虚...
【专利技术属性】
技术研发人员:张从国,刘春,张辉,石磊,程栋,
申请(专利权)人:山东乾云启创信息科技股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。