虚拟化环境中向虚拟机注入元信息并进行初始化的方法与流程

文档序号:12120091阅读:600来源:国知局

本发明涉及计算机虚拟机技术领域,具体涉及一种虚拟化环境中向虚拟机注入元信息并进行初始化的方法。



背景技术:

在虚拟化环境(如VM Ware)中创建的虚拟机,通常只是创建了一台只包含操作系统的近乎于裸设备的主机。用户要想正常的使用该虚拟机,需要对虚拟机进行大量的配置,如配置网络、主机名称、添加用户(用户组)、修改软件源及自定义配置等。若要向虚拟机中传入一些文件,通常还需要通过网络从远程下载。如果虚拟机所在网络是私有网络,还需要将包含有文件的主机接入该网络。这些工作全部由人工完成不但会产生大量的工作量,同时也增加了出错的几率。而在大规模的虚拟化环境中,会有大量批量创建虚拟机的场景,这时以人工的方式对虚拟机进行个别配置具有非常大的难度。这时,就需要一种能够批量的、自动化的方法来完成虚拟机的配置工作。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种虚拟化环境中向虚拟机注入元信息并进行初始化的方法。该方法可以在创建、启动虚拟机时向虚拟机中自动注入如主机名称、网络配置信息、创建用户、设置用户密码、注入SSH-KEY等元信息,以及可以向虚拟机中的指定目录注入文件,执行自定义脚本对操作系统进行初始化配置等。

本发明所采用的技术方案为:

虚拟化环境中向虚拟机注入元信息并进行初始化的方法,所述方法通过设置管理端和客户端,其中客户端提前内置于虚拟机的操作系统镜像中,通过管理端程序生成元信息并打包,挂载到虚拟机,由客户端对元信息进行解析处理。

所述管理端程序生成的元信息,以与客户端约定好的格式进行存储,并制作成带有特定标签label的ISO光盘镜像。

所述客户端对元信息进行的解析处理,包括根据元信息创建用户、配置网络、复制文件到指定目录、执行多种系统命令及自定义脚本。

所述管理端进行的操作过程如下:

a)生成元信息

在创建虚拟机前,管理端为每个虚拟机创建一个目录结构,根据与客户端预先约定的格式生成虚拟机的元信息,包括网络信息、主机名称、用户(用户组)信息到指定文件中;同时,将需要注入虚拟机中的文件以及要执行的脚本也放置到目录中的指定位置;

b)打包元信息并挂载到虚拟机

为虚拟机生成完元信息后,管理端将每个虚拟机所对应的目录进行打包,制作成带有特定label的ISO光盘镜像;在创建虚拟机时将该ISO光盘镜像文件挂载到虚拟机的光驱中;

所述客户端进行的操作过程如下:

a)元信息解析

虚拟机启动后,客户端作为随机启动服务一同启动;启动后,读取光驱中挂载的光盘,如果挂载的光盘label是与管理端约定好的特定label,则继续对光盘中的内容进行解析,否则直接退出程序;

b)初始化系统配置

根据从光盘中读取到的元信息,对操作系统的用户、网络等基础资源进行配置;

c)注入文件处理

将光盘中包含的需要注入的文件复制到指定位置并赋予相应权限;

d)执行命令及自定义脚本

根据元信息的配置执行相应的系统命令,如导入SSH-KEY、修改主机名称、修改软件源(yum或apt)、扩展磁盘、修改时区等,并执行光盘中包含的自定义脚本。系统命令和自定义脚本的执行顺序可以自由指定,以满足更多需求。

本发明的有益效果为:

本发明方法通过程序生成向虚拟机中注入的元信息、文件以及要执行的脚本,在虚拟机启动时自动的注入元信息及文件,并执行命令和脚本。本方法不仅大大的减少了人工工作量,同时也保证了信息及配置的准确性。本方法不依赖网络,可适用于多种虚拟化环境(如openstack、VM Ware、VirtualBox等),支持几乎所有版本的Linux系统(如Ubuntu、Red Hat、CentOS等)。

附图说明

图1本发明的架构及处理流程图。

具体实施方式

下面根据说明书附图,结合具体实施方式对本发明进一步说明:

实施例1:

虚拟化环境中向虚拟机注入元信息并进行初始化的方法,所述方法通过设置管理端和客户端,其中客户端提前内置于虚拟机的操作系统镜像中,通过管理端程序生成元信息并打包,挂载到虚拟机,由客户端对元信息进行解析处理。

实施例2

在实施例1的基础上,本实施例所述管理端程序生成的元信息,以与客户端约定好的格式进行存储,并制作成带有特定label的ISO光盘镜像。

实施例3

在实施例1的基础上,本实施例所述客户端对元信息进行的解析处理,包括根据元信息创建用户、配置网络、复制文件到指定目录、执行多种系统命令及自定义脚本。

实施例4

在实施例1、2或3的基础上,本实施例所述管理端进行的操作过程如下:

a)生成元信息

在创建虚拟机前,管理端为每个虚拟机创建一个目录结构,根据与客户端预先约定的格式生成虚拟机的元信息,包括网络信息、主机名称、用户(用户组)信息到指定文件中;同时,将需要注入虚拟机中的文件以及要执行的脚本也放置到目录中的指定位置;

b)打包元信息并挂载到虚拟机

为虚拟机生成完元信息后,管理端将每个虚拟机所对应的目录进行打包,制作成带有特定label的ISO光盘镜像;在创建虚拟机时将该ISO光盘镜像文件挂载到虚拟机的光驱中;

实施例5

在实施例4的基础上,本实施例所述客户端进行的操作过程如下:

a)元信息解析

虚拟机启动后,客户端作为随机启动服务一同启动;启动后,读取光驱中挂载的光盘,如果挂载的光盘label是与管理端约定好的特定label,则继续对光盘中的内容进行解析,否则直接退出程序;

b)初始化系统配置

根据从光盘中读取到的元信息,对操作系统的用户、网络等基础资源进行配置;

c)注入文件处理

将光盘中包含的需要注入的文件复制到指定位置并赋予相应权限;

d)执行命令及自定义脚本

根据元信息的配置执行相应的系统命令,如导入SSH-KEY、修改主机名称、修改软件源(yum或apt)、扩展磁盘、修改时区等,并执行光盘中包含的自定义脚本。系统命令和自定义脚本的执行顺序可以自由指定,以满足更多需求。

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1