在 Azure 中创建通用 VM 的托管映像
可以从在存储帐户中存储为托管磁盘或非托管磁盘的通用 VM 中创建托管映像资源。 然后可以使用该映像创建多个 VM。
使用 Sysprep 通用化 Windows VM
Sysprep 将删除所有个人帐户信息及其他某些数据,并准备好要用作映像的计算机。 有关 Sysprep 的详细信息,请参阅如何使用 Sysprep:简介。
确保 Sysprep 支持计算机上运行的服务器角色。 有关详细信息,请参阅 Sysprep Support for Server Roles
Important
如果在首次将 VHD 上传到 Azure 之前运行 Sysprep,请确保先准备好 VM,然后再运行 Sysprep。
- 登录到 Windows 虚拟机。
- 以管理员身份打开“命令提示符”窗口。 将目录切换到 %windir%\system32\sysprep,然后运行
sysprep.exe
。 - 在“系统准备工具”对话框中,选择“进入系统全新体验(OOBE)”,确保已选中“通用化”复选框。
- 在“关机选项”中选择“关机”。
单击 “确定”。
- 在 Sysprep 完成时,它会关闭虚拟机。 请勿重启 VM。
在门户中创建托管映像
- 打开 门户。
- 在左侧菜单中,单击“虚拟机”,然后从列表中选择 VM。
- 在 VM 页的上部菜单中,单击“捕获”。
- 在“名称”中,键入想要用于映像的名称。
- 在“资源组”中,选择“新建”或键入名称,或选择“使用现有”并从下拉列表中选择要使用的资源组。
- 如果想要在创建映像后删除源 VM,选择“创建映像后自动删除此虚拟机”。
- 完成后,单击“创建”。
- 创建映像后,在资源组的资源列表中,你会看到它作为“映像”资源而出现。
使用 PowerShell 创建 VM 映像
直接从 VM 创建映像可确保映像中包含与 VM 关联的所有磁盘,包括 OS 磁盘和任何数据磁盘。 本示例演示如何从使用托管磁盘的 VM 创建托管映像。
在开始之前,请确保有最新版本的 AzureRM.Compute PowerShell 模块。 运行以下命令来安装该模块。
Install-Module AzureRM.Compute -RequiredVersion 2.6.0
有关详细信息,请参阅 Azure PowerShell 版本控制。
- 创建一些变量。
powershell $vmName = "myVM" $rgName = "myResourceGroup" $location = "ChinaEast" $imageName = "myImage"
确保 VM 已解除分配。
PowerShell复制Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
将虚拟机的状态设置为“通用化”。
PowerShell复制Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized
获取虚拟机。
PowerShell复制$vm = Get-AzureRmVM -Name $vmName -ResourceGroupName $rgName
创建映像配置。
PowerShell复制$image = New-AzureRmImageConfig -Location $location -SourceVirtualMachineId $vm.ID
创建映像。
PowerShell复制New-AzureRmImage -Image $image -ImageName $imageName -ResourceGroupName $rgName
使用 PowerShell 从托管磁盘创建映像
如果你只想创建 OS 磁盘的映像,还可通过将托管磁盘 ID 指定为 OS 磁盘来创建映像。
创建一些变量。
PowerShell复制$vmName = "myVM"
$rgName = "myResourceGroup"
$location = "ChinaEast"
$snapshotName = "mySnapshot"
$imageName = "myImage"
获取 VM。
PowerShell复制$vm = Get-AzureRmVm -Name myVM -ResourceGroupName $rgName
获取托管磁盘的 ID。
PowerShell复制$diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
创建映像配置。
Azure PowerShell复制试用$imageConfig = New-AzureRmImageConfig -Location $location
$imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
创建映像。
PowerShell复制New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
使用 PowerShell 从快照创建映像
可以从通用 VM 的快照创建托管映像。
创建一些变量。
PowerShell复制$rgName = "myResourceGroup"
$location = "ChinaEast"
$snapshotName = "mySnapshot"
$imageName = "myImage"
获取快照。
PowerShell复制$snapshot = Get-AzureRmSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
创建映像配置。
PowerShell复制$imageConfig = New-AzureRmImageConfig -Location $location
$imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
创建映像。
PowerShell复制New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
从存储帐户中的 VHD 创建映像
从存储帐户中的通用 OS VHD 创建托管映像。 需要存储帐户中 VHD 的 URI,其格式为 https://mystorageaccount.blob.core.chinacloudapi.cn/container/vhd_filename.vhd。 在本示例中,使用的 VHD 位于名为 vhdcontainer 的容器中的 mystorageaccount 中,且 VHD 文件名为 osdisk.vhd。
首先,设置公共参数:
PowerShell复制$vmName = "myVM"
$rgName = "myResourceGroup"
$location = "ChinaEast"
$imageName = "myImage"
$osVhdUri = "https://mystorageaccount.blob.core.chinacloudapi.cn/vhdcontainer/osdisk.vhd"
停止\解除分配 VM。
PowerShell复制Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
将 VM 标记为通用。
PowerShell复制Set-AzureRmVm -ResourceGroupName $rgName -Name $vmName -Generalized
使用通用 OS VHD 创建映像。
PowerShell复制$imageConfig = New-AzureRmImageConfig -Location $location
$imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
$image = New-AzureRmImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
后续步骤
- 现在,可以从通用托管映像创建 VM。
立即访问http://market.azure.cn
在 Azure 中创建通用 VM 的托管映像的更多相关文章
- 上传通用化 VHD 并使用它在 Azure 中创建新 VM
本主题逐步讲解如何使用 PowerShell 将通用化 VM 的 VHD 上传到 Azure.从该 VHD 创建映像,然后从该映像创建新 VM. 可以上传从本地虚拟化工具或其他云导出的 VHD. 对新 ...
- 排查在 Azure 中创建、重启 Windows VM 或调整其大小时发生的分配失败
创建 VM.重新启动已停止(解除分配)的 VM 和重设 VM 大小时,Azure 会为订阅分配计算资源. 执行这些操作时,即使尚未达到 Azure 订阅限制,也可能偶尔收到错误. 本文说明一些常见分配 ...
- 排查在 Azure 中创建、重启 Linux VM 或调整其大小时发生的分配故障
创建 VM.重启已停止(解除分配)的 VM 和重设 VM 大小时,Azure 会为订阅分配计算资源. 执行这些操作时,即使尚未达到 Azure 订阅限制,也可能偶尔收到错误. 本文说明一些常见分配故障 ...
- 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈
本教程介绍如何在 Azure 中的 Linux VM 上实现 MongoDB.Express.AngularJS 和 Node.js (MEAN) 堆栈. 通过创建的 MEAN 堆栈,可以在数据库中添 ...
- 排查在 Azure 中新建 Windows VM 时遇到的部署问题
尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. 当由于准备步骤不当,或者在从门户捕获映像期间选择了错误的设置而导致 OS 映像无法加载时,将发生预配失败. 当群集 ...
- 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题
本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...
- 排查在 Azure 中创建新 Linux 虚拟机时遇到的 Resource Manager 部署问题
本文内容 常见问题 收集活动日志 问题:自定义映像:预配错误 问题:自定义/库/应用商店映像:分配失败 后续步骤 尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. ...
- 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构
若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...
- 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像
Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...
随机推荐
- 为什么要设置Java环境变量(windows)
在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...
- 自我总结 (三) --(Java Web学习)
自我完善的过程就是在不断的自我总结不断的改进. 在前的近半个月里,我们经过了考试,也开始了java web的项目. 先看看这次的考试.考完之后我就觉得有点不对劲的,结果 结果真的是一塌糊涂.上周五的时 ...
- 压测:celey backend为rabbitmq pk redis
使用celery的backend异步获取结果,本文使用rabbitmq 和 redis分别作为backend,代码对比如下 from celery import Celery, platforms i ...
- niftynet Demo分析 -- brain_parcellation
brain_parcellation 论文详细介绍 通过从脑部MR图像中分割155个神经结构来验证该网络学习3D表示的效率 目标:设计一个高分辨率和紧凑的网络架构来分割体积图像中的精细结构 特点:大多 ...
- 多表关联解决数据在MVC显示
由于子表的某些字段是父表的外键,正常情况之下,显示的只是一个键值.如下图的Highlight列,如果这样显示,确实不友好. 如果是在创建或是编辑的模式之下,我们可以使用下拉菜单来解决,如<Htm ...
- Linux下的压缩文件剖析 (tar/gzip的区别)
Linux下的压缩文件剖析 对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是, ...
- SQL Server T—SQL 语句【建 增 删 改】(建外键)
一 创建数据库 如果多条语句要一起执行,那么在每条语句之后需要加 go 关键字 建库 : create database 数据库名 create database Dat ...
- 使用eclipse上Tomcat插件配置域名、端口号、启动时间详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7856284.html 邮箱:moyi@moyib ...
- MYSQL一次千万级连表查询优化
概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上. 这个S ...
- 伯克利开源 Confluo,吞吐量是 Kafka 的 4 到 10 倍
近日伯克利 RISE Lab 开源了一个多数据流实时分布式分析系统 Confluo,它既是一个网络监控和诊断框架,也可以作为时序数据库和发布订阅消息系统. 源码地址:https://github.co ...