一种基于虚拟机模板的初始化虚拟机用户名密码的方法

文档序号:9826122阅读:338来源:国知局
一种基于虚拟机模板的初始化虚拟机用户名密码的方法
【技术领域】
[0001]本发明涉及云计算领域,尤其涉及一种基于虚拟机模板的初始化虚拟机用户名密码的方法。
【背景技术】
[0002]云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。目前虚拟化是实现云计算的一种主流技术。
[0003]虚拟化(Virtualizat1n)是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层没有固定的墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。
[0004]目前市面上的使用虚拟化技术的云平台基本有两种方式创建虚拟机:
[0005](I)创建空白虚拟机,然后客户手动插入ISO文件,安装操作系统;
[0006](2)通过模板方式创建虚拟机,模板中自带操作系统,客户不需要手动安装。
[0007]第一种方式比较灵活,客户可自主设置系统,但是门槛相对较高,比较复杂。第二种方式相对比较方便,但是不够灵活,如虚拟机用户名密码等无法在安装前确认。

【发明内容】

[0008]针对以上第二种方式,本发明提出了一种基于虚拟机模板的初始化虚拟机用户名密码的方法。
[0009]本发明采用创建ISO文件并插入虚拟机光驱—虚拟机挂载ISO—虚拟机执行初始化用户脚本三步实现初始化虚拟机用户名密码。
[0010]将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。
[0011]需要先制作模板,模板制作完成后导出模板,创建虚拟机时使用创建好的模板创建虚拟机。
[0012]Linux虚拟机基于Linux操作系统的自启动程序,首先挂载IS0,执行相应脚本。
[0013]使用虚拟机模板和插入ISO文件方式,保证参数的正确传递和调用。
[0014]Windows虚拟机基于CloudBase-1ni t,修改其中相关代码,使其只需本地调用添加用户、设置用户密码插件,初始化虚拟机用户名密码。
[0015]Linux虚拟机基于Linux操作系统的自启动程序,首先挂载IS0,执行相应脚本。
[0016]本发明的有益效果是。
[0017]Windows虚拟机使用CloudBase-1nit初始化虚拟机用户名密码,但是CloudBase-Init默认的执行时间大约需要10分钟。本方法对其进行优化,使运行时间在30秒内可完成。
[0018]本方法不仅适用于初始化虚拟机用户名密码,主机名设置、Linux下更新apt-get的本地缓存、调整文件系统的大小也可采用该方法。
【附图说明】
[0019]图1是本发明的请求流程图。
【具体实施方式】
[0020]下面对本发明的内容进行更加详细的阐述:
[0021](I)模板制作
[0022]Window 模板:
[0023]1、安装 CloudBaselnit
[0024]2、进入C-/Program Files/Cloudbase Solut1ns/Cloudbase-lnit/config,修改Cloudbase-1nit-unattend,conf文件,将metadata services修改为metadata_services =cloudbaseinit.metadata.service.conf igdriver.ConfigDriveServi ce 并删除下一行
[0025]3、进入C:/Proaram Files/Cloudbase solut1ns/Cloudbase-lnit/Python/Lib/site-packages/cloudbaseinit/utils 目录,修改network.py:将MAX—URL—CHECK—RETRIES=3,修改为 MAX—URL—CHECK—RETRIES = 0
[0026]4、修改后电新编译network.py文件python-mpy compile network.py
[0027]5、修改 factory.py.进入 C:/Program Files/Clpudbase solut1ns/Cloubase-1nit/Python/Lib/s ite-packages/c loudbase in it/p lugins,修改 factory,py,将 opts 中default内容只保留UserDataPlugin ^DSetUserPasswordPlugin,其余删除。重新编译factory.py
[0028]6、修改 init.py.进入 C:/Program Files/Cloudbase solut1ns/Cloudbase-1nit/Python/Lib/site-packages/cloudbseinit 目录,修改init.py,将configure host函数中的self.check latest vers1n()和下面的if部分内容删除
[0029]7、进入C:/Program Files/Cloudbase solut1ns/Cloudbase-1nit/Python/Lib/si te-packages/c loudbase ini t/ metadata/ 目录,修改factory.py 文件,将opts 中的default内容删除HttpServi ve,重新编译D
[°03°] 注意:编译时需使用管理员进入dos;编译时使用cloudbase自带的python,不要重新装python!!!!
[0031]修改文件时,可能不能在当前目录下保存,需保存到其他位置后再copy到当前目录。然后再编译
[0032]Linux 模板(以 centos 为例)
[0033]1、新建/mnt/media目录,赋予权限777
[0034]2、修改/^七(:/1'(3.(1/1'(3.local文件,添加以下内容:
[0035]mount-t iso9660_o loop/dev/cdrom/mnt/media
[0036]cat〈/mnt/media/opens tack/lates t/me ta_data.json | xargs-n Iuseradd—m
[0037]chpasswd〈/mnt/media/openstack/latest/user_data
[0038]pwconv
[0039]3、使用 In链接文件:进入/etc/rc2.d 目录,使用 In — s/etc/init.d/cloudlnitUser.sh.S99InitUser
[0040]模板制作完成后导出模板。
[0041 ] (2)创建虚拟机
[0042]创建虚拟机时使用创建好的模板创建虚拟机,并填写用户名、密码,请求按附图1流程执行,即可实现用户名密码的初始化。
【主权项】
1.一种基于虚拟机模板的初始化虚拟机用户名密码的方法,其特征在于,将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。2.根据权利要求1所述的方法,其特征在于,先制作模板,模板制作完成后导出模板,创建虚拟机时使用创建好的模板创建虚拟机。3.根据权利要求2所述的方法,其特征在于,Linux虚拟机基于Linux操作系统的自启动程序,首先挂载IS0,执行相应脚本。
【专利摘要】本发明提供一种基于虚拟机模板的初始化虚拟机用户名密码的方法,涉及云计算领域,将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。本方法对现有技术进行优化,使运行时间在30秒内可完成。
【IPC分类】G06F9/445, G06F9/455
【公开号】CN105589722
【申请号】CN201510980548
【发明人】李栋梁, 赵仁明
【申请人】浪潮集团有限公司
【公开日】2016年5月18日
【申请日】2015年12月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1