让我们一起欢呼吧!随着最近Microsoft Azure运行时的发布,我们非常高兴地宣布发布
OS映像的继承性产品:新 VM映像。等一下…有些人可能会觉得这听起来有点耳熟。没错,一个月前在旧金山Build开发者大会上介绍的诸多令人兴奋的新功能中就包括这个功能。工程团队一直在为这一新功能的发布而努力,我很高兴开始发布一系列文章,介绍该功能是什么、如何使用以及所有细节和实用内容。

用一句话概括,您可以将 VM映像视为更全面的
Microsoft Azure虚拟机映像。改进后的新 VM映像含有虚拟机存储的完整定义,包括
OS磁盘和所有数据磁盘在内。该功能可以捕捉在可重复使用单元上部署 VM所需的磁盘属性(如主机缓存)。元数据和对应于
VHD集的指针(每个磁盘一个 VHD)在
Azure 存储中以 page blobs的形式存储,与
OS映像类似,VM映像就是这些元数据和指针的集合。

现在,您可能认为 VM映像和
OS映像相似。实际上您是对的!包含单个 VHD的
VM映像如果带有通用化的操作系统,实际上就是您现在熟悉的 OS映像。随着时间的推移,您会发现
VM映像将成为 Microsoft Azure虚拟机的主流。

VM映像有两种类型
–通用化 VM映像和专用化
VM映像,每种类型都有其各自的用途。通用化 VM映像中包含一个
OS磁盘,顾名思义,该 OS磁盘已经通用化(在
Windows上您运行了 Sysprep,在
Linux 上您执行了‘waagent–deprovision’),且需要在部署时进行供应。现今的
OS 映像都是通用化的。这类 VM映像旨在作为“模型”,快速创建类似的虚拟机,例如为您的生产应用程序横向扩展前端,或者快速构建或解除类似的开发和测试环境。

专用化 VM映像中包含一个已经完成供应的
OS磁盘。它与现今磁盘的相似之处在于它是“即时可用”的,但与磁盘不同的是,VM映像的
VHD将在部署新虚拟机时按只读方式进行复制。专用化 VM映像旨在作为“快照”,在一个已知良好的时间点部署
VM(例如在对开发人员计算机进行检查点操作时),或者在进行危险的任务之前,以防止该任务出错,导致虚拟机无法使用。它不应作为在同一虚拟网络中克隆多个相同虚拟机的机制使用,因为 Windows对映像复制有
Sysprep要求。

如何创建 VM映像

在您设置并按需要配置虚拟机之后,您就可以将该虚拟机实例捕捉为 VM映像。在捕捉过程中,系统会存储该虚拟机的所有相关属性和磁盘并创建后备
VHD page blobs的副本。每个 VHD的副本将存储在与所复制的原始
VHD相同的存储帐户和容器中。如果您想要在 Azure存储中找出复制后的
VHD,请使用以下命名约定搜索 pageblobs:对于
OS VHD,我们使用 <VM映像名称>-os-YYYY-MM-DD<-ZZ>;对于复制后的数据
VHD,则使用 <VM映像名称>-datadisk-<Lun>-YYYY-MM-DD(-ZZ)。日期为
VM 映像的捕捉日期,-ZZ为数字,仅在有冲突时添加,使名称具有唯一性。在捕捉过程中,系统不会保存内存中的状态,所以该功能不应用于替换
Microsoft Azure当前的备份和还原选项。如果您想要了解有关备份和还原的更多信息,您可以访问http://msdn.microsoft.com/library/azure/jj573031.aspx

如果 OS已经通用化/取消供应,虚拟机必须先关闭,然后才能捕捉为
VM 映像。VM捕捉为
VM映像后,虚拟机将自动删除。如果 OS已专用化,则可以在虚拟机运行或关闭时捕捉虚拟机。捕捉的虚拟机将保持不变。如果需要应用程序保持一致或者进行跨磁盘捕捉,我们建议您先关闭虚拟机,然后再捕捉
VM映像。

如何使用 VM映像

在创建虚拟机时,您可以将 VM映像作为新部署或现有部署的一部分进行使用。要部署新
VM,请确保虚拟机和 VM映像的位置相同,然后只需提供
VM映像的名称即可使用。如果 VM映像已通用化,则同时需要提供供应信息和网络配置,与现今
OS映像类似。部署后虚拟机的行为与其他任何使用 OS映像或
OS磁盘创建的 VM相同。可以更新角色、可以附加额外的磁盘或分离现有磁盘。

如果 VM映像已专用化,则无需提供供应信息,与现今
OS磁盘类似。当使用 VM映像部署虚拟机时,系统将为新
VM创建 VHD副本;换句话说,系统不会直接附加现有
VHD。使用专用化 VM映像部署虚拟机后,VM将在部署后快速启动,并且看起来像处于运行状态,因为不需要进行供应。但是,虚拟机可能仍然处于启动状态,另外还需要几分钟准备好远程桌面/SSH。虚拟机部署并运行后,其行为与其他任何使用
OS 映像或 OS磁盘创建的
VM相同。关于这个表述需要注意的一种情况是,将运行中的 VM捕捉为专用化
Windows VM映像,然后部署新的虚拟机。使用此类 VM映像时,如果您是第一次使用远程桌面连接到新部署的
VM,可能会弹出一个对话框,提示 VM没有正确关闭。

PowerShell

为了激发您的兴趣,让您开始使用VM映像,我提供了一些PowerShell代码段,说明如何创建和使用VM映像。看了这些代码片段后您可能会想要更多示例。不久后我们将就VM映像PowerShell发布全面的“如何”系列博客文章。

Save-AzureVMImage

要将名为“myVMToCapture”的现有虚拟机捕捉为名为“myAwesomeVMImage”的
VM 映像,请使用Save-AzureVMImage commandlet:

Save-AzureVMImage–ServiceName“myServiceName”–Name“myVMtoCapture”–OSState“Generalized”–ImageName“myAwesomeVMImage”–ImageLabel“This
is my Virtual Machine Image”

请注意,这与您将VM捕捉为OS映像使用的commandlet相同。现在提供了额外的参数集,可以让您决定将VM捕捉为OS映像还是VM映像。OSState参数是捕捉VM映像所必需的新参数。

Get-AzureVMImage

要列出映像存储库中的所有VM映像,请使用Get-AzureVMImage
commandlet:

Get-AzureVMImage

该commandlet将返回OS映像和VM映像的组合列表。OS映像将先返回,随后返回VM映像。

如果您只需要VM映像,您可以使用几个对于OS映像而言始终为null的属性,将OS映像过滤掉:

Get-AzureVMImage|where
{(gm–InputObject$_-Name
DataDiskConfigurations)-ne
$null}|
Select-Property
Label,ImageName

New-AzureVMImage

使用VM映像“myAwesomeVMImage”在美国西部部署VM

New-AzureQuickVM–Windows–Location“West
US”–ServiceName“MySvc1”–Name“myVM1”
–InstanceSize“Medium”
–ImageName“myAwesomeVMImage”
–AdminUsername“admin”–Password“adminPassword123”-WaitForBoot

本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2014/04/14/vm-image-blog-post.aspx

VM 映像的更多相关文章

  1. VM 映像 PowerShell 教学系列博客文章

     编辑人员注释:本文章是与Microsoft Azure工程的项目经理Kay Singh共同撰写的 正如我在第一篇博客文章中所承诺的,我又回来了,为大家分步介绍如何在PowerShell中使用VM ...

  2. 如何使用 Azure PowerShell 在 Azure Marketplace 中查找 Windows VM 映像

    本主题介绍如何使用 Azure PowerShell 在 Azure Marketplace 中查找 VM 映像. 创建 Windows VM 时使用此信息来指定 Marketplace 映像. 确保 ...

  3. 在virtualbox下使用vm映像文件

    virtualbox可以直接打开vmdk 创建虚拟机时先不要创建虚拟硬盘. 虚拟机创建成功后,在设置窗口,点击[存储],添加虚拟硬盘,点击选择现有的虚拟盘. 参考链接

  4. 在 Azure VM 中使用应用商店映像创建 HPC Pack 群集的头节点

    使用 Azure 应用商店和 Azure 门户中的 Microsoft HPC Pack 2012 R2 虚拟机映像创建 HPC 群集的头节点. 此 HPC Pack VM 映像基于预安装了 HPC ...

  5. 在 Azure 中创建通用 VM 的托管映像

    可以从在存储帐户中存储为托管磁盘或非托管磁盘的通用 VM 中创建托管映像资源. 然后可以使用该映像创建多个 VM. 使用 Sysprep 通用化 Windows VM Sysprep 将删除所有个人帐 ...

  6. 从托管映像创建 VM

    可以从 Azure 中托管的 VM 映像创建多个 VM. 托管 VM 映像包含创建 VM 所需的信息,包括 OS 和数据磁盘. 构成映像的 VHD(包括 OS 磁盘和任何数据磁盘)存储为托管磁盘. 先 ...

  7. 使用 PowerShell 创建 Azure VM 的自定义映像

    自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...

  8. CommandoVM-虚拟机映像文件 | VM打开直接用

    呵呵!自从火眼发布了这个CommandoVM,想必大家应该都挺激动,然而实际操作一下,基本炸裂-- 因为并没有给类似于kali这种直接安装的现成镜像,而是要通过github的脚本去完全网络安装 实际操 ...

  9. 使用 CLI 创建 Azure VM 的自定义映像

    自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...

随机推荐

  1. poco vs Boost[ZZ]

    http://wooce.iteye.com/blog/634395 POCO的优点: 1) 比boost更好的线程库,特别是一个活动的方法的实现,并且还可设置线程的优先级. 2) 比 boost:a ...

  2. 一个小型的DBHelper的诞生(1)

    一直想做一个自己的简单的 DBHelper .没有其他原因,只是其他的轮子用起来感觉太重了. 设计的大体思路如下: 大体方向: 生成一个简单版本的DB层,需要支持数据库 MySql,Oracle,Sq ...

  3. Swift 基本基本运算符

    Swift 1,赋值运算符 Swift赋值表达式是没有值的,不支持连续赋值. 2,算术运算符 除数可为0 var f=1/0.0 求余的结果的正负取决于被除数 3,溢出运算符* 根据二进制来进行计算 ...

  4. nginx的配置说明

    #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | in ...

  5. PowerShell入门(一):PowerShell能干什么?

    原文链接:http://www.cnblogs.com/ceachy/archive/2013/01/30/WhatCanPowerShellDo.html PowerShell能干什么呢?就像序言中 ...

  6. 30款javascript脚本插件 jquery插件大全

      Shifty Nav - a Fully Responsive JS CSS3 Mega Menu Show Demo Shifty Nav is a fully responsive CSS3 ...

  7. perl 解json数组

    <pre name="code" class="cpp">http://11.36.10.82:4000/api/bus?bus=307&f ...

  8. [Leetcode][Python]31: Next Permutation

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 31: Next Permutationhttps://oj.leetcode ...

  9. 前端开发工具—fiddle

  10. javascript数组排序---2冒泡

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...