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

技术编号:15101606 阅读:61 留言:0更新日期:2017-04-08 10:57
本发明专利技术提供一种基于虚拟机模板的初始化虚拟机用户名密码的方法,涉及云计算领域,将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。本方法对现有技术进行优化,使运行时间在30秒内可完成。

【技术实现步骤摘要】

本专利技术涉及云计算领域,尤其涉及一种基于虚拟机模板的初始化虚拟机用户名密码的方法
技术介绍
云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。目前虚拟化是实现云计算的一种主流技术。虚拟化(Virtualization)是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层没有固定的墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。目前市面上的使用虚拟化技术的云平台基本有两种方式创建虚拟机:(1)创建空白虚拟机,然后客户手动插入ISO文件,安装操作系统;(2)通过模板方式创建虚拟机,模板中自带操作系统,客户不需要手动安装。第一种方式比较灵活,客户可自主设置系统,但是门槛相对较高,比较复杂。第二种方式相对比较方便,但是不够灵活,如虚拟机用户名密码等无法在安装前确认。
技术实现思路
针对以上第二种方式,本专利技术提出了一种基于虚拟机模板的初始化虚拟机用户名密码的方法。本专利技术采用创建ISO文件并插入虚拟机光驱→虚拟机挂载ISO→虚拟机执行初始化用户脚本三步实现初始化虚拟机用户名密码。将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。需要先制作模板,模板制作完成后导出模板,创建虚拟机时使用创建好的模板创建虚拟机。Linux虚拟机基于Linux操作系统的自启动程序,首先挂载ISO,执行相应脚本。使用虚拟机模板和插入ISO文件方式,保证参数的正确传递和调用。Windows虚拟机基于CloudBase-Init,修改其中相关代码,使其只需本地调用添加用户、设置用户密码插件,初始化虚拟机用户名密码。Linux虚拟机基于Linux操作系统的自启动程序,首先挂载ISO,执行相应脚本。本专利技术的有益效果是。Windows虚拟机使用CloudBase-Init初始化虚拟机用户名密码,但是CloudBase-Init默认的执行时间大约需要10分钟。本方法对其进行优化,使运行时间在30秒内可完成。本方法不仅适用于初始化虚拟机用户名密码,主机名设置、Linux下更新apt-get的本地缓存、调整文件系统的大小也可采用该方法。附图说明图1是本专利技术的请求流程图。具体实施方式下面对本专利技术的内容进行更加详细的阐述:(1)模板制作Window模板:1、安装CloudBaselnit2、进入C:/ProgramFiles/CloudbaseSolutions/Cloudbase-lnit/config,修改Cloudbase-init-unattend,conf文件,将metadataservices修改为metadata_services=cloudbaseinit.metadata.service.configdriver.ConfigDriveService并删除下一行3、进入C:/ProaramFiles/Cloudbasesolutions/Cloudbase-lnit/Python/Lib/site-packages/cloudbaseinit/utils目录,修改network.py:将MAX_URL_CHECK_RETRIES=3,修改为MAX_URL_CHECK_RETRIES=O4、修改后电新编译network.py文件python-mpycompilenetwork.py5、修改factory.py·进入C:/ProgramFiles/Clpudbasesolutions/Cloubase-Init/Python/Lib/site-packages/cloudbaseinit/plugins,修改factory,py,将opts中default内容只保留UserDataPlugin和SetUserPasswordPlugin,其余删除。重新编译factory.py6、修改init.py.进入C:/ProgramFiles/Cloudbasesolutions/Cloudbase-Init/Python/Lib/site-packages/cloudbseinit目录,修改init.py,将configurehost函数中的self.checklatestversion()和下面的if部分内容删除7、进入C:/ProgramFiles/Cloudbasesolutions/Cloudbase-init/Python/Lib/site-packages/cloudbaseinit/metadata/目录,修改factory.py文件,将opts中的default内容删除HttpServive,重新编译。注意:编译时需使用管理员进入dos;编译时使用cloudbase自带的python,不要重新装python!!!!修改文件时,可能不能在当前目录下保存,需保存到其他位置后再copy到当前目录。然后再编译Linux模板(以centos为例)1、新建/mnt/media目录,赋予权限7772、修改/etc/rc.d/rc.local文件,添加以下内容:mount-tiso9660-oloop/dev/cdrom/mnt/mediacat</mnt/media/openstack/latest/meta_data.json|xargs-n1useradd-mchpasswd</mnt/media/openstack/latest/user_datapwconv3、使用ln链接文件:进入/etc/rc2.d目录,使用ln—s/etc/init.d/cloudInitUser.sh.S99InitUser模板制作完成后导出模板。(2)创建虚拟机创建虚拟机时使用创建好的模板创建虚拟机,并填写用户名、密码,请求按附图1流程执行,即可实现用户名密码的初始化。本文档来自技高网...

【技术保护点】
一种基于虚拟机模板的初始化虚拟机用户名密码的方法,其特征在于,将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。

【技术特征摘要】
1.一种基于虚拟机模板的初始化虚拟机用户名密码的方法,其特征在于,将前台上传的用户名、密码信息封装到ISO文件,并在虚拟机使用模板创建完成后插入虚拟光驱,虚拟机开机后会自动调用ISO中的文件,设置虚拟机用户名、密码。
2.根据权利要求1所...

【专利技术属性】
技术研发人员:李栋梁赵仁明
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1