扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZDNet至顶网服务器频道 10月31日 编译:在早先的一篇文章中,我们曾讨论过如何在Windows Azure中确定一个虚拟机角色应用架构。简而言之,可利用Azure应用程序的弹性使服务达到高可用性。您的设计必须在VM实例丢失时仍能正常工作,而不是要某个特定VM role实例(或Azure Web或Worker role实例)一直存在才行。你的Azure VM role实例将还原到你所上载的初始基本映像(base image)——并且,在实例重映像(reimage)的情况下,丢失在VM生命期内所作的全部改变。VM role实例重映像通常发生在运行VM role的Azure主机有故障时。
实例重映像后,要求对Azure VM role实例进行配置。Azure Web和Worker role会在本地自动使用你在Azure 应用程序中定义的“启动任务”来配置自己;但是,VM role中没有提供启动任务。如果你不在Azure VM role实例中授权加入自己的自动重配置例程(起到与Azure Web和Worker role启动任务相同的作用),则需要在每个VM role实例重启后,对实例进行一个或多个手动配置步骤。
每个Azure VM role都有启用体验
必须用微软Sysprep工具来准备Azure虚拟机基本映像。Sysprep去除了Windows计算机中很多个人化特性。当上载Azure role VM基本映像或实例重映像后,基本映像“被唤醒”,VM将按默认进行Sysprep后的启用体验(Out Of the Box Experience,OOBE)过程。VM role实例将被赋予一个随机的名称和通用的工作组配置。在此基本设置中,可能VM还不能做任何事情。
通常,需要通过远程桌面协议(Remote Desktop Protocol, RDP)访问VM role实例,以完成一个或多个手动配置步骤,让VM开始工作。由于Azure主机故障很少见,可能这样的工作还不是很繁重。一旦你在经过Sysprep后重命名了VM,并对映像中预安装的软件进行了一些最终配置,则可能在很长一段时间内,都不需要重复这些手动工作。但是,这种方法不太好扩展,因为这样每次部署VM role和重映像后都需要进行人工操作。
权衡Server role以及Azure VM role兼容性问题
为了适应Windows Azure 平台的编程模型和局限性,在VM role实例上运行的程序必须是无状态的,从而让role实例在有故障时不会丢失数据。诸如SharePoint、SQL Server、Small Business Server、Active Directory Domain Controller和Terminal Server这样的应用程序都是有状态的,在VM Role中不支持。
Microsoft 建议在以下情况下使用VM role:
• 长期运行的应用程序安装
• 容易出错的应用程序安装
• 需要人工交互的应用程序安装
建立Azure VM role自动配置过程映像
为了让Azure VM在大规模和少人工干预的情况下有吸引力,必须使用自动配置过程。迄今,Microsoft尚未提供最佳实践或工具专门用于Azure VM role自动配置。实际上,Microsoft很想知道架构师如何使用VM role,因为需要在应用程序设计的一个或多个方面有创造性才能在公共云市场发挥除这个产品的效力。
企业环境中Windows服务器和客户机映像无人干预设置的一些方法也适用于用Sysprep准备的Azure 基本VHD映像。例如,你可以编写并推出一个“打电话给家里”小应用程序(mini-app),在你的映像中作为Windows服务运行。假设你给这个Azure VM role实例提供了到因特网的网络连接,你的mini-app可以向外连接到预定义的因特网URL,从那里的一个web服务,mini-app可以下拉所需的信息,完成重映像VM实例的设置。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者