大家好!

我是 Drew McDaniel,来自
Microsoft Azure虚拟机功能研发团队,我从团队成立之初就已加入。

在本博客文章中,我将分享一些最佳实践指南,帮助您充分利用您的Azure虚拟机。这些指南均来自客户反馈,涵盖了客户遇到的一些常见问题。

避免在可用性集中配置单个
VM

当单个虚拟机部署在 Azure
中时,可以将其配置为可用性集的一部分,或者将可用性集配置为“无”“无”这一选项有可能稍微有些误导性,毕竟人人都希望他们的
VM 高度可用,是不是?但是,仅当部署 2个或更多提供相同功能的虚拟机时,我才建议选择可用性集。如果您部署的VM不属于提供相同功能的
VM集(即 2个或更多),例如在公用负载平衡器下的多个
Web服务器或复制数据的两个 SQL Server等,那么您应该选择“无”。

您可能会问:“为什么在可用性集中部署单个VM不好?”简单地说,如果您在可用性集中部署单个VM实例,您将收不到平台维护的事先警告或通知。在此配置下,当执行平台维护时,您的单个VM实例将会重启,且无法收到事先警告。

而如果您部署单个 VM实例时将可用性集选项设置为“无”,您会在
VM 因为平台维护操作被重启之前收到通知,确保在您尚未了解何时以及为何重启时,不重启您的单个VM实例。

事实上,在将 VM部署到可用性集时,Azure平台会确保可用性集中在任何时候都只有一部分
VM停机进行平台维护。所以如果您的可用性集中有多个 VM,那么总会至少有一部分
VM 处于运行状态。配置单个 VM实例不是可用性集的一部分,相当于您是在告诉
Azure平台此虚拟机并非高可用性集的一部分,针对这种情况,我们具有专门的程序,会在VM因平台维护操作需要重启之前,通过电子邮件通知您。

不论何时,如果您的可用性集中只有一个虚拟机,Azure将在您的虚拟机仪表板中发出警告,提醒您这不是最佳实践配置。此配置不在现有服务级别协议(SLA)的高可用性保证范围内。

注意:将虚拟机移入或移出可用性集都将导致该虚拟机重启。

要了解有关虚拟机服务级别协议 (SLA)保证的更多信息,请单击此处

临时存储

客户使用 Microsoft Azure
虚拟机的一个主要原因就是,虚拟机支持持久性磁盘。持久性是指写入这些持久性磁盘的数据在发生重启、启动/停止或其他生命周期事件时仍然可用。但是每个虚拟机上都包含一个临时磁盘。发生常规VM生命周期事件后,这些临时磁盘上的数据可能将不复存在。这是因为临时磁盘数据存储在运行虚拟化管理程序的主机操作系统中,而持久性磁盘数据则存储在Microsoft
Azure Storage 中。

对于本质上只是暂时的数据而言,临时磁盘非常有用。Windows的页面临时文件是此类数据的一个典型例子。事实上,在通过Azure映像配置新的Windows
VM时,我们将页面文件配置在此临时磁盘中。客户不得使用临时磁盘存储应保持持久性的数据。我们常见的错误配置情况是,客户将SQL数据库文件或者
Windows Active Directory域控制器数据库文件放置在临时磁盘中。

对于大多数 Windows VM
而言,临时磁盘卷都使用 D:\驱动器,而且还会有“临时存储”的驱动器标签。您可以从以下
Azure 虚拟机的屏幕截图中看到这一点。

为确保您没有错误地使用临时磁盘,我们建议您在测试程序时,采取行动将临时磁盘重置。引发临时磁盘重置最简单的办法就是更改虚拟机的规模。您应该首先按照要求配置好虚拟机,然后更改虚拟机规模,之后再返回虚拟机,确保一切按预期正常运行。

操作系统磁盘上传

MicrosoftAzure最大的优势之一就是,您可以轻松上传要在Azure虚拟机中使用的VHD格式文件。在上传的
VHD文件中包含 Windows操作系统时,VHD可以是以下两个类别之一:(1)在上传文件之前,Sysprep在来宾操作系统中运行,实现操作系统通用化;(2)
Sysprep未运行在来宾操作系统中。如果属于第 (2)种情况,来宾操作系统注册为一个具有操作系统的磁盘。如果使用该磁盘创建VM,部署时则无法享受配置代理优化以便利用
Microsoft Azure 的优势。因此应该在 Azure中启动
VM之后采取以下最佳实践:

1. 将页面文件移至临时磁盘中-如上所述,临时磁盘通常是驱动器D:\。建议您将页面文件移至临时磁盘中。这将消除与页面文件相关的存储事物开支,并将为Microsoft
Azure释放更多带宽,以存储必须存储在持久性磁盘上的数据。

2. 配置激活服务器-此步骤适用于
Windows 零售版或 Windows批量许可版的上传磁盘,不能用于激活
Windows测试版。要将虚拟机配置为使用 Microsoft Azure提供的激活服务器进行激活,请通过管理员命令提示执行以下步骤:

a.如果
VM 运行的是 Windows零售版,使用如下步骤配置
VM,使其成为 Windows
批量许可版:

i. 从下页中找到适合您的
Windows 版本的 KMS客户端安装密钥(通用批量许可密钥):KMS客户端安装密钥

ii. 安装客户端安装密钥,方法是输入:slmgr
/ipk
<setupkey><ENTER>

b.设置
KMS Server DNS地址,方法是输入:slmgr /skmskms.core.windows.net
<ENTER>

i.对于由世纪互联运营的
Microsoft Azure,请将 kms.core.windows.net替换为
kms.core.chinacloudapi.cn。

c.启动激活,方法是输入:slmgr
/ato
<ENTER>

3.配置
SAN 策略-要将 SAN策略配置到自动联机批量许可证验证,请通过管理员命令提示执行以下命令:

1.    Diskpart

2.    SAN
POLICY=OnlineAll

3.    Exit

4.配置保持连接-为避免
RDP会话超时,应通过管理员命令提示执行以下命令:

a. reg add“HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /t REG_DWORD/vKeepAliveEnable /d

b.reg add“HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /t REG_DWORD/vKeepAliveInterval /d

如果您认为这些最佳实践有用,请在评论中告诉我们。如果您还遇到过其他常见挑战,也请在评论部分中指出。我会尽量在以后的文章中提供相应的最佳实践。

-Drew McDaniel

本文翻译自:http://azure.microsoft.com/blog/2014/05/08/virtual-machines-best-practices-single-vms-temporary-storage-and-uploaded-disks/



虚拟机最佳实践:单个 VM、临时存储和已上传磁盘的更多相关文章

  1. 超大文件上传到Azure Linux虚拟机最佳实践

    客户在实际进行迁移的时候,往往碰到需要将本地数据中心的超大文件,比如单个200GB的文件,或者总共1TB的无数文件上传到Azure上的情况,尤其是传到Azure的Linux虚拟机的场景,这种场景包括: ...

  2. 微信小程序基于腾讯云对象存储的图片上传

    在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢.2.时常有上传其他文件来攻击服务器,安全上得不到 ...

  3. 阿里云存储oss+怎么上传找文件夹

    最近公司做工程项目,实现文件夹云存储上传. 网上找了很久,发现网上很多项目都存在相似问题,最后终于找到了一个符合我要求的项目. 工程如下: 这里对项目的文件夹云存储上传进行分析,实现文件夹上传,如何进 ...

  4. Android开发中使用七牛云存储进行图片上传下载

    Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...

  5. php利用七牛云的对象存储完成图片上传-高效管理图片

    在搭建个人博客时,大家都会买一台云服务器.可是图片的存放一直是一个问题,冷月帮大家找到一个免费的第三方平台对象存储-七牛云.大家可以把图片上传到七牛云的对象存储,大大节约服务器的压力. 首先,大家在使 ...

  6. SpringBoot整合阿里云OSS对象存储实现文件上传

    1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文 ...

  7. kvm虚拟机最佳实践系列3-kvm克隆和静态迁移

    KVM克隆和KVM静态迁移 KVM克隆 上一章我们已经有了一个合用的虚拟机镜像,现在我们需要用这个KVM镜像大量的创建和部署 virt-clone就是做这个用的.它简化了我们克隆KVM的步骤. 首先停 ...

  8. kvm虚拟机最佳实践系列2-创建KVM及KVM优化

    创建KVM及KVM优化 把KVM优化与KVM创建放在一起,是因为我们创建的KVM是要用在生产环境中,所以基础优化工作是必备的. 创建KVM 创建系统盘, 大小: 操作系统通常都不到10G,所以系统盘2 ...

  9. kvm虚拟机最佳实践系列1-kvm宿主机准备

    KVM宿主机配置 系统环境:ubuntu16, bond0 业务网口 bond1 管理网口+存储网口 安装KVM环境支持 sudo apt-get install qemu-kvm sudo apt- ...

随机推荐

  1. JDK、JRE和JVM的区别与联系

    首先来说一下JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK). JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime E ...

  2. Google Code Jam 2012 round 2 problem A: Swinging Wild

    题目连接 题意:你要从起点经过绳子荡到终点,每次你必须抓住另一个绳子,在空中不能向下爬.问是否有合理的方案 做法: 直接模拟 #include <iostream> #include &l ...

  3. React Native 初识

    Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架 React Native,本中文教程翻译自 React Native 官方文档. Rea ...

  4. iOS 时区问题总结 NSTimeZone

    基本概念 GMT 0:00 格林威治标准时间; UTC +00:00 校准的全球时间; CCD +08:00 中国标准时间 [来自百度百科] 夏时制,英文"DaylightSavingTim ...

  5. js判断上传文件大小

    下面提供三款网页特效判断上传文件大小哦,这三种方法是现在限制文件上传大小比较好的方法,可以在客户上传文件时限制上传文件大小判断处理<!doctype html public "-//w ...

  6. VB.NET入门基础

    众所周知,Visual Basic.NET是由Visual Basic发展而来,这两者之间的升级使得Visual Basic语言发生了革命性的变革,使得由基于对象编程的Visual Basic过渡到了 ...

  7. 在VM中安装Android4.4连接小米手环 之 在VM中安装Android4.4

    今天刚买了个小米手环,系统须要4.4及以上,但自己手机系统版本号不匹配.故打算在VM中安装Android4.4连接小米手环. 这一节先介绍在VM中安装Android4.4(怎么安装VM就不介绍了) 1 ...

  8. hdu4893Wow! Such Sequence! (线段树)

    Problem Description Recently, Doge got a funny birthday present from his new friend, Protein Tiger f ...

  9. cocos2d-x 2.x 图层特效Effect(转)

    CCSprite* sp = CCSprite::create("Default.png"); sp->setPosition(ccp(, )); addChild(sp); ...

  10. css伪类选择器详细解析及案例使用-----伪类选择器(1)

    动态伪类选择器:E:link :选择匹配的E元素,并且匹配元素被定义了超链接并未被访问过.E:visited :选择匹配的E元素,而且匹配的元素被定义了连接并已被访问过.E:active :选择匹配的 ...