使用Azure创建和管理虚拟机镜像

在进行软件开发或教育培训时,经常需要创建多个具有相同配置的虚拟机。如果逐个手动创建和配置,不仅效率低下,而且容易出错。因此,一个更高效的方法是通过创建一个“母版”镜像,然后从这个镜像快速克隆出其他虚拟机。

前提条件

如果还没有Azure账户,可以通过以下方式获得一个免费的测试账户。访问,输入凭据。如果还没有账户,点击“创建一个!”,Microsoft Azure将引导创建一个新账户。这个账户在前三个月是免费的,并提供有限的免费预算供测试Azure服务。

创建第一个虚拟机

目标是创建一个包含Visual Studio 2017和所有必需课程文件的Windows虚拟机镜像。已经采取了以下步骤来组织Azure资源:

  • 创建了一个名为“courses”的新资源组。
  • 在该资源组中创建了一个新的虚拟机,名为“vs2017-2”。
  • 虚拟机运行后,安装了所有必需的软件并下载了必需的文件。

这部分内容不在此文章的讨论范围内,因此不会详细描述。

准备虚拟机作为模板镜像

现在虚拟机已经按照要求安装好了,让来准备它的镜像,以便它可以部署到多台计算机(或在案例中是虚拟机)。这些计算机不一定具有相同的配置,因此需要一个工具来准备克隆过程。这就是sysprep.exe的用武之地。

Sysprep可以剥离镜像到最小,允许它被用来创建其他虚拟机。使用这个镜像创建的每个虚拟机都将安装相同的软件,具有相同的数据文件、设置等。可以在这个文件夹中找到sysprep:

%windir%\System32\Sysprep

在这里,可以找到如何使用Sysprep的详细描述。Sysprep可以使用参数(当知道自己在做什么时),或者不使用参数,这将弹出一个小表单。在截图中,可以看到表单中填写了正确的值:

  • Out of Box Experience(OOBE):勾选此复选框将更改镜像,使其可以在不同的计算机上运行。所有硬件特定的设置都将被移除。
  • Shutdown:使用前两个设置后,将制作一个干净的计算机镜像,这只用于创建其他镜像。因此,不想尝试重新启动这个镜像。

点击“确定”,当确定所有安全数据都可以从这个虚拟机中清除。Sysprep将清理虚拟机,然后执行泛化步骤。这可能需要几分钟的时间来运行。当它准备好后,可以回到Azure门户来捕获镜像。

在Azure中捕获虚拟机

如前所述,下一步是捕获虚拟机,以便以后可以克隆它。这可以在虚拟机本身的刀片上完成。要到达那里:打开“courses”资源组,然后打开刚刚创建并泛化的虚拟机。在顶部菜单中,将找到“捕获”按钮。

  • 点击这个按钮将带到“创建镜像”页面,一开始会有一些警告。在这里,将为新镜像命名,分配到一个资源组,并且可以选择删除正在捕获的虚拟机。这是有意义的,因为那个虚拟机将不再有用。

创建名为“vs2017-image”的镜像,位于“courses”资源组,并决定清理(自动删除):

  • 点击“创建”按钮...
  • 停止虚拟机。
  • 当关闭虚拟机后,它仍然在Azure中可用(并且仍然需要付费)。如果暂时不打算使用虚拟机,不要忘记在Azure门户中也停止它。

警告:当在门户中重新启动虚拟机时,它将有另一个IP地址。如果下载了RDP文件来访问这台机器,需要在RDP文件中更新IP地址,或者重新下载它。对于课程,只使用5台虚拟机4天,并且只在8:00到17:00之间使用。因此,还为每个虚拟机创建了一个策略,使虚拟机在18:00停止。

  • 进一步泛化虚拟机。
  • 创建镜像。
  • 删除虚拟机,如请求。

即使虚拟机被删除,其他元素也不会自动删除,所以这需要手动完成。这些项目在MSAzure中成本不高,但删除不再需要的项目是一个好习惯。

  • 公共IP地址。点击公共IP地址以打开其刀片。点击“取消关联”按钮将其从其网络接口中移除(并确认)。现在可以点击“删除”按钮来进行最后的删除!
  • 网络接口。通过点击名称打开刀片,然后点击“删除”(并确认)。
  • 网络安全组。通过点击名称打开刀片,然后点击“删除”(并确认)。
  • 磁盘。通过点击名称打开刀片,然后点击“删除”(并确认)。

删除的顺序很重要,因为一些资源依赖于其他资源。

从镜像创建新的虚拟机

现在是时候从之前的工作中获益了。在Azure门户中,点击创建的镜像(在这个例子中是“vs2017-image”)。在出现的刀片中,点击“创建虚拟机”。这将带通过一个向导式的系列页面,输入所有必要的参数。重要的参数包括:

  • 资源组。可以选择一个现有的资源组;或者为虚拟机创建一个新的。
  • 虚拟机名称。这必须是虚拟机的唯一名称。
  • 镜像。这将预先填写刚刚创建的镜像名称。
  • 大小。新虚拟机的大小。如果需要,可以稍后修改。
  • 用户名/密码。
  • 入站端口规则。如果想通过RDP访问虚拟机,需要在这里添加:

可以在向导的第一页上指定这些规则,也可以在网络标签上指定。大多数其他字段将取决于特定需求。

完成后,点击“创建”按钮。现在虚拟机是从镜像创建的。可以通过启动它并连接来测试虚拟机,以验证一切是否正常工作。当虚拟机创建后,它已经启动了,所以可以直接连接到它。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485