虚拟机自定义镜像(Image)是一个颇有用的功能,能够在一台虚拟机上配置好基本的系统环境,而后作个镜像,之后建立虚拟机直接从这个镜像建立,会省掉不少重复的配置工做。html
阿里云与UCloud都有这个功能,Azure固然也少不了,这也是云服务商标配的免费服务。web
下面咱们分享一下咱们在Azure中试用“制做虚拟机自定义镜像”功能的经历。windows
(一)准备工做服务器
建立一台原装虚拟机,假设名叫blogserver1。建立好以后,登陆进去进行基本部署环境的配置,好比安装IIS并进行相关配置(支持高并发的IIS Web服务器经常使用设置)。并发
(二)在不看任何帮助文档的状况下凭使用直觉进行操做ide
一、进入VIRTUAL MACHINES -> IMAGES,点击CREATE;输入IMAGE NAME,选择以前建立的blogserver1虚拟机的VHD URL,选中“I have run Sysprep on the virtual machine associated with this VHD.”(见下图)高并发
二、点击Ok按钮。。。建立失败,错误信息以下:ui
VHD http://..../vhds/blogserver-blogserver1-2013-09-11.vhd 已做为 ID 为 blogserver1-blogserver1-0-201309110319510234 的资源注册到映像存储库。this
错误提示信息让人不知所措。阿里云
关闭blogserver1虚拟机进行操做,也是一样的错误。
几经折腾无果,放弃。
(三) 在帮助文档下进行操做
帮助文档来自How to Capture an Image of a Virtual Machine Running Windows Server。
一、远程桌面登陆至虚拟机,进入 C:\Windows\System32\Sysprep\ 目录,运行sysprep.exe,选中Generalize,选择Shutdown(见下图)。
二、点击Ok以后,进行Sysprep操做(见下图)。。。过了一会,远程桌面失去了链接。
三、等了大约20分钟左右(因为没有进度指示,这个等待过程有点难受),在Azure管理控制台看到blogserver1的状态因为Running变为Stopped。
四、这时虚拟机管理控制台的CAPTURE按钮变亮,点击一下,出现以下的画面:
五、指定IMAGE NAME为webserver,选中“I have run Sysprep on the virtual machine”,而后看到IMPORTANT NOTE:
The virtual machine will be deleted when the image is captured.
因为上午发了一篇不专业的临时工水准的随笔——云计算之路-试用Azure:每一次删除都让人如此心惊,才知道了删除虚拟机的真相,如今就能够坦然面对了。
六、片刻工夫,虚拟机建立完毕。
七、从这个名为webserver自定义镜像建立虚拟机blogserver2。
八、建立成功
(三)恢复原装虚拟机blogserver1
用于制做镜像的blogserver1虚拟机在建立镜像时被删除了,如今经过“CREATE A VIRTUAL MACHINE from MY DISKS”把它恢复起来。
当blogserver1虚拟机正常运行以后,用远程桌面进行登陆,结果怎么登陆也登陆不上,每次都提示用户名/密码错误。为了不再次发临时工水准的文章,通过了屡次确认,确认用户名/密码没有错。难道在制做镜像进行Sysprep的过程当中,Windows管理员账户的密码被重置了?而咱们没法验证这一点,由于在Azure中没法重置虚拟机的管理员密码。只能让这台虚拟机报废。
(四)试用感言
咱们设想的制做虚拟机自定义镜像的功能应该是这样的:选择一台虚拟机,点击“制做镜像”,而后去一下洗手间,回来以后“镜像”就建立好了。
建立镜像居然把运行中的原装虚拟机给删除了,恢复以后还连不上,也就是说虚拟机要为制做镜像“献身”。在阿里云没遇到过,在UCloud也没碰到过,只有Azure,并且在阿里云/UCloud中制做镜像时对当前这台正常运行的虚拟机没有任何影响。Azure在这个功能的设计上须要改进。
另外,咱们的Azure试用系列博文只是表达咱们试用时的真正感觉,并无说咱们的试用是专业的。微软也没有说Azure只适合专业人员用,不适合临时工用。做为一名用户,发现问题就吐槽,也不为过。好的产品不是赞美出来的,而是在解决用户各类刁钻的问题中成长出来的。