【问题标题】:Proper setup for high-availability Azure VMs正确设置高可用性 Azure VM
【发布时间】:2012-12-11 03:08:15
【问题描述】:

我想在 Azure 中的两个 VM 上实现高可用性方案。 我了解并可以按照此处的说明进行操作: https://www.windowsazure.com/en-us/manage/windows/common-tasks/manage-vm-availability/

但是,我的问题是:这两个虚拟机是否应该是彼此的精确副本,以便当一个虚拟机出现故障时,另一个会接管?或者可用性集是否会处理这个问题,以便两个虚拟机可以拥有完全不同的内容并仍然利用彼此的免费资源?

【问题讨论】:

  • 我原以为它们需要相同。您提供的链接中的一个示例是 Microsoft 可能会离线升级主机操作系统。然后,另一台服务器将需要承担全部负载。如果它不是一个精确的副本并且他们关闭了您的主服务器,那么其他服务器如何知道该怎么做?我应该补充一点,这只是我的想法,不是基于微软的任何东西,我很高兴被证明是错误的。

标签: azure azure-virtual-machine


【解决方案1】:

如果您使用的是虚拟机(目前为预览版),那么每个虚拟机都存在于自己的 VHD 中。您可以通过从您构建的映像创建 VM 来创建其他实例,但此时,新 VM 存在于其自己的 VHD 中,并且随着时间的推移,实际磁盘映像将偏离任何其他实例。当然,如果每个 VM 都是从相同的映像创建的,具有相同的初始化任务等,那么它们也将具有相同的软件。您将负责升级所有虚拟机上的软件版本。如果您随后将这些多台虚拟机放在一个可用性集中,您可以确保您拥有的虚拟机的主机操作系统(机器级别的底层操作系统)不会同时更新.您还知道可用性集中的不同虚拟机将位于不同的机架、网段等中。

关于可用性集的更多信息:在可用性集中,您可能拥有任意种类的虚拟机 - Linux、Windows、不同的功能。而且...您可以定义多个可用性集。

在 PaaS 世界中,您可以设置具有 Web 和/或 Worker 角色的云服务,这些虚拟机的生成方式完全相同。因此,添加实例意味着添加更多等效的虚拟机。如果磁盘崩溃,将像其他虚拟机一样创建一个新的虚拟机。这些操作系统磁盘没有持久更改。在云服务的情况下,有故障域和升级域,它们与可用性集非常相似。

【讨论】:

  • 嗨,David - 因此必须复制 VM(带有网站)并将其添加到可用性集以确保高可用性?或者虚拟机可以有不同的内容,如果一个失败,另一个加载失败的映像并与其当前映像共享其资源?顺便感谢您的评论。 (如果你读到这里,也给你格雷格)
  • 没有加载失败的图片。两个 VM = 两个 VHD。将它们都设置为 Web 服务器(使用相同的设置脚本等)。然后运行它们,使用 80/443 的负载平衡端点,并有效。放。如果一个失败(或因主机操作系统更新而脱机),剩余的 VM 将接管负载,直到失败的 VM 重新联机(请记住,它位于耐用磁盘上,三重复制)。您负责维护所有实例上的软件版本/客户操作系统补丁。在 PaaS 中,您只需更改部署包,无需担心客户操作系统更新。
  • 谢谢 David - 当您说 Paas 时,您是指发布到 Azure 云实例而不是 VM 吗?谢谢你。 (请原谅我缺乏这方面的知识 - 因此我正在努力学习)
猜你喜欢
  • 2013-08-03
  • 1970-01-01
  • 2012-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 2014-04-18
  • 1970-01-01
相关资源
最近更新 更多