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),这个说起来很容易,或者说对新开发的应用系统而言已经成为标配.但是对已有的.老旧的应用系统来说,这就比较困难 ...
随机推荐
- javascript中的浮点数运算
解释一下下面代码的输出 console.log(0.1 + 0.2); //0.30000000000000004 console.log(0.1 + 0.2 == 0.3); //false Jav ...
- SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统模块部分图
系统日志,系统异常,组织架构等
- 在C#里面给PPT添加注释
平常开会或者做总结报告的时候我们通常都会用到PowerPoint演示文稿,我们可以在单个幻灯片或者全部幻灯片里面添加注释,这样观众可以从注释内容里面获取更多的相关信息. 有些朋友不清楚如何在幻灯片里面 ...
- miniui中的相关问题
miniui中的datagrid,若需要为其中表格设置值,则: 必须保证查出来的json中字段对应field,且json的格式必须为: {“data”:[{"id":"0 ...
- CSS教程:div垂直居中的N种方法以及多行文本垂直居中的方法
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- IDEA上安装和使用checkstyle,findbugs,visualVM,PMD插件
##安装插件步骤: 1.打开settings 2.选择plugins 3.点击"Browse repositories" 4.搜索对应内插件,点击"install&quo ...
- 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Tools Telemetry 翻译:.NET Core 工具遥测(应用信息收集) .NET Cor ...
- java多线程实现方式
一.什么是线程? 线程:程序中一个单一的顺序控制流程.进程内一个相对独立的.可调度的执行单元,是系统独立调度和分派CPU的基本单位. 多线程:单个程序中同时运行多个线程完成不同的工作,称为多线程. 特 ...
- app端上传文件至服务器后台,web端上传文件存储到服务器
1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...