VM 映像
让我们一起欢呼吧!随着最近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 映像的更多相关文章
- VM 映像 PowerShell 教学系列博客文章
编辑人员注释:本文章是与Microsoft Azure工程的项目经理Kay Singh共同撰写的 正如我在第一篇博客文章中所承诺的,我又回来了,为大家分步介绍如何在PowerShell中使用VM ...
- 如何使用 Azure PowerShell 在 Azure Marketplace 中查找 Windows VM 映像
本主题介绍如何使用 Azure PowerShell 在 Azure Marketplace 中查找 VM 映像. 创建 Windows VM 时使用此信息来指定 Marketplace 映像. 确保 ...
- 在virtualbox下使用vm映像文件
virtualbox可以直接打开vmdk 创建虚拟机时先不要创建虚拟硬盘. 虚拟机创建成功后,在设置窗口,点击[存储],添加虚拟硬盘,点击选择现有的虚拟盘. 参考链接
- 在 Azure VM 中使用应用商店映像创建 HPC Pack 群集的头节点
使用 Azure 应用商店和 Azure 门户中的 Microsoft HPC Pack 2012 R2 虚拟机映像创建 HPC 群集的头节点. 此 HPC Pack VM 映像基于预安装了 HPC ...
- 在 Azure 中创建通用 VM 的托管映像
可以从在存储帐户中存储为托管磁盘或非托管磁盘的通用 VM 中创建托管映像资源. 然后可以使用该映像创建多个 VM. 使用 Sysprep 通用化 Windows VM Sysprep 将删除所有个人帐 ...
- 从托管映像创建 VM
可以从 Azure 中托管的 VM 映像创建多个 VM. 托管 VM 映像包含创建 VM 所需的信息,包括 OS 和数据磁盘. 构成映像的 VHD(包括 OS 磁盘和任何数据磁盘)存储为托管磁盘. 先 ...
- 使用 PowerShell 创建 Azure VM 的自定义映像
自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...
- CommandoVM-虚拟机映像文件 | VM打开直接用
呵呵!自从火眼发布了这个CommandoVM,想必大家应该都挺激动,然而实际操作一下,基本炸裂-- 因为并没有给类似于kali这种直接安装的现成镜像,而是要通过github的脚本去完全网络安装 实际操 ...
- 使用 CLI 创建 Azure VM 的自定义映像
自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...
随机推荐
- js监听input等表单输入框的变化事件oninput
js监听input等表单输入框的变化事件oninput,手机页面开发中使用到文本框textarea输入字符监听文本框变化计算还可以输入多少字符,如果使用onkeyup的话是无法监听到输入法输入的文本变 ...
- 如何实现select组件的选择输入过滤作用
实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / (function ( $ ) { $. ...
- mysql函数操作(6)
<?php try{ $dbh = new PDO('mysql:dbname=testdb;host=localhost', 'mysql_user', 'mysql_pwd'); }catc ...
- latex列表
枚举.列举和描述 \begin{list_type} \item The first item \item The second item \item The third etc \ldots\end ...
- 安装solaris_11.2与windows双系统(VM10模拟实现)(一)
感慨:这周刚接触solaris,装solaris很蛋疼,一个字:慢! 在上面安装软件包依然很慢,无线网也很不稳定. 在上面搭建环境更蛋疼,一个字:惨! 什么环境之类的废话就不多说了,一般的电脑都可以. ...
- windbg 调试技巧
技巧一:在加载名卸载的时候下断点 1. 加载某个DLL 的时候下断点的WinDBG 命令: sxe ld:[dll name] 然后按F5,进行刷新,再使用lmf 查看装载的Dll名称. 2. 卸载 ...
- 18.java.lang.OutOfMemoryException
java.lang.OutOfMemoryException内存不足错误 当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误.
- POJ1961Period
POJ1961 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ...
- 面向对象程序设计-C++_课时30运算符重载——基本规则_课时31运算符重载——原型_课时32运算符重载——赋值_课时33运算符重载——类型转换
区分初始化,赋值 #include <iostream> using namespace std; class Fi { public: Fi() {}//1构造函数 }; class F ...
- javascript打乱数组顺序-----1
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...