在使用虚拟机的过程中,肯定会使用到虚拟机模板,从而简化我们的日常操作。如果没有虚拟机模板可能需要花费很多的时间来创建多个相同环境的虚拟机,所以在使用Azure的时候我们会发现Azure本身已经有不少的虚拟机操作系统版本和日期进行选择,但这最多也只是简单的包含操作系统和补丁更新,并没有包含我们需要的应用环境。



那么既然Azure并没有我们需要的应用环境,那我们可以通过捕获自定义映像的方式,来创建我们自己适用的虚拟机模板映像。首先,我们需要在虚拟机在搭建好我们需要的环境,然后通过运行sysprep来初始化我们的虚拟机。


完成之后,我们回到Azure管理门户,选中虚拟机,确保虚拟机处于关闭状态,然后单击下方的捕获,这样就可以快速的创建虚拟机映像。


执行捕获操作之后,Azure会在云端执行捕获操作,虚拟机的状态也会实时的反馈当前的状态,可以通过下方的任务详情来了解当前的捕获进度。


完成之后,我们就可以在虚拟机- 映像中看到已经捕获好的虚拟机映像。


这个时候就可以通过新建虚拟机- 从库中来选择我们创建的虚拟机模板了。


在虚拟机创建的高级模式中,我们单击我的映像即可看到当前可用的自定义映像,并在右侧可用看到相对应的


设置新的虚拟机名称和相关的配置,并设置新的用户名和密码。


设置相关的虚拟机配置,包括云服务配置、DNS名称以及虚拟机位置等信息。


最后一步确认安装虚拟机代理,或是否配置扩展的自定义脚本。


除了创建虚拟机模板,捕获功能也相当于是我们私有云的快照功能,我们可以对于正在运行中的虚拟机进行捕获,从而创建出快照效果的映像。我们找到一台正在运行中的虚拟机,单击下方的捕获按钮,此时我们捕获会得到提示说虚拟机尚未关闭,但仍然可以继续捕获,实现快照效果:



这时我们创建出来的映像同样也是可用状态,但区别在于该映像对应了一个"源"虚拟机,单击"源"虚拟机可以看到该虚拟机的详细信息,如果该虚拟机被删除,则这里只是作为标注可视。


我们仍然可用通过新建虚拟机- 高级模式,选中我的映像,可以看到我们新创建的虚拟机映像。使用该映像可以创建出具备"源"虚拟机一模一样环境和数据的虚拟机。


无论是对于Windows虚拟机还是Linux虚拟机,捕获功能都非常的有用,不仅能够作为快照使用,还能通过预配置环境然后进行捕获的方式来减少我们大量的重复劳动力,还可以通过此方法来快速扩展我们云服务的节点数,从而实现横向的弹性伸缩。可以看到整个过程其实非常的简单,但可以看到通过捕获操作确实能够在日常运维中减少不少的工作量。