Azure上的几个坑
此文用于记录在使用Azure中国版时遇到的一些“坑”。
1、虚拟机备份/还原
在某些场景中,使用备份/还原功能来创建(克隆)虚拟机比使用capture的image要方便很多。虚拟机备份后,执行还原操作实质上是创建一个新的虚拟机,原虚拟机仍然保留。其效果和使用capture的image创建虚拟机基本是一样的,唯一的区别就是:在通过还原功能创建虚拟机时,虚拟机大小是不能选择的。如果要更改虚拟机的大小,只能在虚拟机还原完成后执行resize操作。还原出来的虚拟机其endpoint也被原样保留下来了。
这里的坑有两个:
- 中国版Azure的虚拟机备份功能与Ubuntu操作系统之间存在兼容性问题。运行Ubuntu操作系统的虚拟机可以正常备份,但还原出来的虚拟机的所有endpoint端口都变成了随机的数值(包括SSH端口)。而且无法使用SSH登录,提示用户名和密码错误。处理方法为:首先手工将endpoint端口修改正确,然后登录到预览版的Azure管理控制台重置管理员密码。
- 对于DS系列使用高级存储的虚拟机,执行备份是没有问题的,但还原时只能选择还原到普通存储上。处理方法为:使用脚本将还原出来的虚拟机复制到高级存储中。
2、创建DS系列(高级存储)虚拟机
在经典管理控制台中是无法创建DS系列虚拟机的,只能通过PowerShell脚本创建DS系列虚拟机,但是官方的文档中(包括中文和英文)都漏掉了一个步骤:
Set-AzureSubscription -CurrentStorageAccountName [高级存储账号名称] -SubscriptionId [订阅ID]
如果不指定当前订阅的默认存储账号,创建虚拟机的过程是无法执行成功的。
创建虚拟机的命令是这样的:
New-AzureVM -ServiceName [云服务名称] -VMs [虚拟机配置] -VNetName [虚拟网络名称]
是不是感觉少了点什么?没错这个命令没有指定subnet的参数!如果虚拟机所在的虚拟网络划分了多个子网,那么新创建出来的虚拟机就会被放到子网之外去,即:新创建出来的虚拟机不在任何子网中!所以创建好DS系列的虚拟机之后,一定要为新创建出来的虚拟机设置子网:
Get-AzureVM -ServiceName [云服务名称] -Name [虚拟机名称] | Set-AzureSubnet -SubnetNames [子网名称] | Update-AzureVM
等新版的Azure管理控制台正式上线后,就可以在通过web界面愉快的创建DS系列虚拟机了。
3、azcopy是可以指定blob类型的
上传自定义镜像除了使用PowerShell命令之外,azcopy也是可以的。只不过默认情况下,用azcopy上传的vhd镜像是block类型的,而block类型是无法作为虚拟机镜像使用的。其实azcopy有一个参数是可以指定上传类型的:“/BlobType: page”。记住这个参数吧,否则几十GB的文件上传完成后才发现类型不对肯定是令人抓狂的。:)
Azure上的几个坑的更多相关文章
- 微软.NET年芳15:我在Azure上搭建Photon服务器(C#.NET)
网上火热的“微软.NET年芳15”文章,我也得写点什么嘛,毕竟我还是现任的微软MVP. 摘录网上的“.NET 15周年”信息如下: 微软的 .NET 框架本周迎来了 15 岁生日..NET 的第一个版 ...
- 在Azure上部署IPv6的App通过IOS App Store审核
随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...
- Azure 上通过 SendGrid 发送邮件
SendGrid 是什么? SendGrid 是架构在云端的电子邮件服务,它能提供基于事务的可靠的电子邮件传递. 并且具有可扩充性和实时分析的能力.常见的用例有: 自动回复用户的邮件 定期发送信息给用 ...
- 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)
前言 (二)建立虚拟网络环境,以及域控和DNS服务器 1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...
- 在Azure上的VM镜像库中找到想要的镜像
Azure上的虚机镜像库中, 有很多的镜像,其中当然也包括了用户自定义上传的镜像. 在Powershell中如果想使用这些镜像的话, 则需要知道其名称 下面这条命令,可以获得所有的镜像信息 $imag ...
- 在Azure上部署Windows Server Core
作为服务器操作系统,图形界面真心有些多余了,这也是很多人喜欢Linux服务器的原因之一.从Windows Server 2008开始,微软提供了Server Core版本,其实就是一个没有图形界面的服 ...
- 在 Azure 上使用 Docker运行 Mono
Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...
- 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)
(一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解. Azure Pack是微软的私有云方案,具有弹性. ...
- 在Azure上实现Linux Server故障转移
要充分利用公有云的弹性扩展和高可用, 首先要在应用系统层面支持横向扩展(scale out),这个说起来很容易,或者说对新开发的应用系统而言已经成为标配.但是对已有的.老旧的应用系统来说,这就比较困难 ...
随机推荐
- 搭建LNAMP环境(一)- 源码安装MySQL5.6
1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...
- 总结一下CSS中的定位 Position 属性
在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...
- 设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)
说到状态模式,如果你看过之前发布的重构系列的文章中的<代码重构(六):代码重构完整案例>这篇博客的话,那么你应该对“状态模式”并不陌生,因为我们之前使用到了状态模式进行重构.上一篇博客我们 ...
- 禁止页面后退JS(兼容各浏览器)
<script src="${ctxPath}/media/lib/jquery.history.js"></script> <script> ...
- 实践 HTML5 的 CSS3 Media Queries
先来介绍下 media,确切的说应该是 CSS media queries(CSS 媒体查询),媒体查询包含了一个媒体类型和至少一个使用如宽度.高度和颜色等媒体属性来限制样式表范围的表达式.CSS3 ...
- Zip 压缩和解压技术在 HTML5 中的应用
JSZip 是一款可以创建.读取.修改 .zip 文件的 javaScript 工具.在 web 应用中,免不了需要从 web 服务器中获取资源,如果可以将所有的资源都合并到一个 .zip 文件中,这 ...
- 利用js取到下拉框中选择的值
现在的需求是:下拉框中要是选择加盟商让其继续选择学校,要是选择平台管理员则不需要选择学校.隐藏选择下拉列表. 选择枚举值: /// <summary> /// 平台角色 /// </ ...
- Java中的多线程你只要看这一篇就够了
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:279558494 我们一起学Java! 引 如果对什么是线程.什么是进程仍存有疑惑, ...
- 使用 GitHub 和 Hexo 搭建个人独立博客
Wordpress这类博客系统功能强大,可对与我只想划拉的写点东西的人,感觉大材小用了.而且wp需要部署,网站的服务器也会带来问题,国内的服务器首先需要备案,费用不低:国外服务器访问速度受影响.近 ...
- Eclipse Meaven Spring SpringMVC Mybaits整合
本示例是在:Ubuntu15上实现的:Windows上安装Maven将不太相同. Maven Install Run command sudo apt-get install maven, to in ...