目前中国区 Azure 也已经可以使用命令制作托管镜像了。但对于托管镜像和非托管镜像,就像托管磁盘和非托管磁盘一样,很多人可能一开始无法理解。这里就此进行了一个简单对比:

通过对比测试,这里总结了这两者的不同:

非托管镜像托管镜像

创建镜像Save-AzureRmVMImageNew-AzureRmImageConfig

New-AzureRmImage

查找镜像无,用户需要自己记录(注 1)Get-AzureRMImage

删除镜像无,直接删除存储账号中的 VHD 文件即可(注 1)Remove-AzureRMImage

更新镜像无Update-AzureRMImage

镜像位置虚拟机相同的存储账号,包括 OS 和数据磁盘(注 2)托管磁盘,包括 OS 和数据磁盘(注 7)

创建镜像的来源从虚拟机创建(注 3)虚拟机(注 6)

通用化后的 OS 磁盘

通用化后的 OS 磁盘的快照

使用镜像创建新虚拟机只能在同存储账号中创建为普通虚拟机(注 4)创建为托管磁盘虚拟机

数据磁盘需手动添加数据磁盘(注 5)部署时自动创建并挂载数据磁盘

Note

注 1:创建非托管镜像后,镜像会保存在虚拟机所在存在账号中名为 system 的容器下,但无法通过命令行或者门户查看了用户做了哪些镜像。由于对于非托管镜像的磁盘文件平台不会加锁,因此,可能造成误删的情况。

Note

注 2:对于包含数据盘的虚拟机,创建镜像时也会捕获数据磁盘。并且会同时在镜像保存位置生成一个 JSON 文件,用于演示如何使用模板使用镜像创建新的虚拟机。

Note

注 3:只能为非托管磁盘创建的虚拟机创建非托管镜像。

Note

注 4:如果要将新的虚拟机创建在不同存储账号,可以将镜像文件复制到目标存储账号,引用目标存储账号中的镜像文件 URI 进行创建。

Note

注 5:非托管镜像在创建新虚拟机时,如果原镜像包括数据磁盘,需要通过 JSON 模板或者 PowerShell 手动指定引用的数据磁盘镜像。否则默认不会附加数据磁盘。如果您 Linux 系统中指定了要挂载这些数据磁盘,在创建时会出现超时,无法启动的现象。

Note

注 6:虚拟机可以为托管磁盘虚拟机,也可以是非托管磁盘虚拟机。

Note

注 7:托管镜像在 Azure 门户中可以直接查看。其类型显示为 Image。

 

参考链接

从非托管镜像创建 Azure VM从托管镜像创建 Azure VM

立即访问http://market.azure.cn

Azure 托管镜像和非托管镜像对比的更多相关文章

  1. C# 托管资源与非托管资源

    在.net 编程环境中,系统的资源分为托管资源和非托管资源. 托管资源: Net平台中,CLR为程序员提供了一种很好的内存管理机制,使得程序员在编写代码时不要显式的去释放自己使用的内存资源(这些在先前 ...

  2. C# using 三种使用方式 C#中托管与非托管 C#托管资源和非托管资源区别

    1.using指令.using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到. ...

  3. C# 托管资源和非托管资源

    托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源.托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调用垃圾回收器进行回收. 非托管资源指的是.NET不知道如何回 ...

  4. C# 托管内存与非托管内存之间的转换

    c#有自己的内存回收机制,所以在c#中我们可以只new,不用关心怎样delete,c#使用gc来清理内存,这部分内存就是managed memory,大部分时候我们工作于c#环境中,都是在使用托管内存 ...

  5. .net 资源释放(托管资源和非托管资源)

    1.托管资源 像int.float.DateTime等都是托管资源:net中80%的资源都是托管资源: 托管资源的回收通过GC(垃圾回收器)自动释放分配给该对象的内存,但无法预测进行垃圾回收的时间,我 ...

  6. 托管DLL和非托管DLL的区别

    首先解释一下,托管DLL和非托管DLL的区别.狭义解释讲,托管DLL就在Dotnet环境生成的DLL文件.非托管DLL不是在Dotnet环 境生成的DLL文件. 托管DLL文件,可以在Dotnet环境 ...

  7. C# 托管资源 与 非托管资源

    C# 托管资源 与 非托管资源 托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,.NET可以自动进行回收,主要是指托管堆上分配的内存资源.例如程序中分配的对象,作用域内的变量 ...

  8. .net托管资源与非托管资源

    在项目当中用到的资源分为托管资源和非托管资源,托管资源无非就是什么int.string.datatime之类,托管资源不需要人为去管理,.net framework中有专门针对托管资源的管理机制(GC ...

  9. 编写高质量代码改善C#程序的157个建议——建议50:在Dispose模式中应区别对待托管资源和非托管资源

    建议50:在Dispose模式中应区别对待托管资源和非托管资源 真正资源释放代码的那个虚方法是带一个bool参数的,带这个参数,是因为我们在资源释放时要区别对待托管资源和非托管资源. 提供给调用者调用 ...

随机推荐

  1. Eclipse怎么样添加智能感知提示功能(含Windows版和Mac版)

    近日感兴趣于安卓,开始学习Android开发……第一次使用Eclipse,用久了VS,也习惯了他的智能提示,刚转到Eclipse下实在是不习惯…… 网上有人说按Alt + / 可以实现单词补全功能,实 ...

  2. Word在转PDF的过程中如何创建标签快速方便阅读(图文详解)

    不多说,直接上干货! 选择如下 成功! 欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑       同时,大家可以关注我的个人博客:    http://www.cnbl ...

  3. Python基础内容

    1.注释 #单行注释 ‘“多行注释”’ 2.变量 Python没有声明变量的过程(动态类型) 变量名=值,如果是浮点数就定义为浮点类型,如果是整型就定义为整型,如果是字符串就定义为字符串 3.输入和输 ...

  4. 轻量级web富文本框——wangEditor使用手册(5)——配置“插入代码”功能

    最新版wangEditor: demo.文档:http://www.wangEditor.github.io/ 下载地址:https://github.com/wangfupeng1988/wangE ...

  5. 神经网络优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam

    1. SGD Batch Gradient Descent 在每一轮的训练过程中,Batch Gradient Descent算法用整个训练集的数据计算cost fuction的梯度,并用该梯度对模型 ...

  6. SSO - 开篇引例

    进公司以来, 所做的产品中, 下面的子系统就没有少于10个的, 其中有的是.net做的, 有的是java做的, 还有安卓端, ios端. 那么这么多子系统, 我可能需要访问其中的多个(同一平台), 我 ...

  7. Percona XtraDB Cluster

    简介 Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster提供的特性如下: 1.同步复制,事务要么在所有节点提交或不提交. ...

  8. Ansible-安装-秘钥-部署-使用

    本文转自:https://www.cnblogs.com/ylqh/p/5902259.html ansiblemaster:192.168.74.146 ansibleslave1 :192.168 ...

  9. mongodb副本集数据同步的踩坑

    一.故事 最近随着搞活动比较频繁导致数据库出现了波动,后端日志总是报数据库连接和读取的问题.由于我设置的是读写分离(伪的,通过设置副本集的读取策略实现的,设置的db.getMongo().setRea ...

  10. (转)Spring常用注解

    使用注解来构造IOC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...