虚拟机最佳实践:单个 VM、临时存储和已上传磁盘

大家好!
我是 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
虚拟机最佳实践:单个 VM、临时存储和已上传磁盘的更多相关文章
- 超大文件上传到Azure Linux虚拟机最佳实践
客户在实际进行迁移的时候,往往碰到需要将本地数据中心的超大文件,比如单个200GB的文件,或者总共1TB的无数文件上传到Azure上的情况,尤其是传到Azure的Linux虚拟机的场景,这种场景包括: ...
- 微信小程序基于腾讯云对象存储的图片上传
在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢.2.时常有上传其他文件来攻击服务器,安全上得不到 ...
- 阿里云存储oss+怎么上传找文件夹
最近公司做工程项目,实现文件夹云存储上传. 网上找了很久,发现网上很多项目都存在相似问题,最后终于找到了一个符合我要求的项目. 工程如下: 这里对项目的文件夹云存储上传进行分析,实现文件夹上传,如何进 ...
- Android开发中使用七牛云存储进行图片上传下载
Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...
- php利用七牛云的对象存储完成图片上传-高效管理图片
在搭建个人博客时,大家都会买一台云服务器.可是图片的存放一直是一个问题,冷月帮大家找到一个免费的第三方平台对象存储-七牛云.大家可以把图片上传到七牛云的对象存储,大大节约服务器的压力. 首先,大家在使 ...
- SpringBoot整合阿里云OSS对象存储实现文件上传
1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文 ...
- kvm虚拟机最佳实践系列3-kvm克隆和静态迁移
KVM克隆和KVM静态迁移 KVM克隆 上一章我们已经有了一个合用的虚拟机镜像,现在我们需要用这个KVM镜像大量的创建和部署 virt-clone就是做这个用的.它简化了我们克隆KVM的步骤. 首先停 ...
- kvm虚拟机最佳实践系列2-创建KVM及KVM优化
创建KVM及KVM优化 把KVM优化与KVM创建放在一起,是因为我们创建的KVM是要用在生产环境中,所以基础优化工作是必备的. 创建KVM 创建系统盘, 大小: 操作系统通常都不到10G,所以系统盘2 ...
- kvm虚拟机最佳实践系列1-kvm宿主机准备
KVM宿主机配置 系统环境:ubuntu16, bond0 业务网口 bond1 管理网口+存储网口 安装KVM环境支持 sudo apt-get install qemu-kvm sudo apt- ...
随机推荐
- Geeks Interview Question: Ugly Numbers
Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, ...
- 《图解HTTP》 第11章 web的攻击技术
11.1 针对Web的攻击技术 简单的HTTP协议本身并不存在安全性问题,所以协议本身几乎不会成为攻击的对象. 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 在HTT ...
- Oracle_Q&A_04
2014-12-19作业 [JSU]LJDragon's Oracle course tasks In the first semester, junior year --1.在管理员权限下创建一个新 ...
- ios开发中各种版本、设备的区分
设备类型的区分-iphone ,ipad-itouch..... 可以从 UIDevice 的属性 model 得到在现在执行的环境.例子如下: [cpp] view plaincopyprint? ...
- acd LCM Challenge(求1~n的随意三个数的最大公倍数)
Problem Description Some days ago, I learned the concept of LCM (least common multiple). I've played ...
- [置顶] Android访问控制系统测试与评估
5.1实验方案 通过以上章节,本文阐述了目前Android平台上的恶意软件以“隐私窃取”和“恶意扣费”类为主,本研究课题访问控制的目标也正是阻止恶意软件“隐私窃取”和“恶意扣费”的行为,因此,本实验方 ...
- Ubuntu 14.04 下手动安装Firefox的Flash插件
有时候我们不得不採用手动安装一些软件. Ubuntu 14.04 下手动安装Firefox的Flash插件有下面几步 1. 下载Flash插件 下载地址为http://get.adobe.com/cn ...
- Unity用户自定义圆角头像
前天朋友遇到一个这样的需求,而且比较棘手让我帮忙解决.需求就是棋牌类的游戏,玩家的个人资料中包括自己的头像而且可以浏览相册中的图片或者使用相机拍照设置.关于这个问题我也查阅一些资料,由于涉及安卓部分知 ...
- linux wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
- oracle 配置服务端
oracle 配置服务端,类似我们配置java环境一样 防止乱码的配置: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 选择数据库的配置(重要) ...