如何在Azure的多VM设置中处理VHD以进行数据库存储

我了解到要获得最多的Windows Azure虚拟机设置,最好创build可用性集。

我的设置将有一个可用性设置为2个Web-VM和一个2-sql-VM的设置

SQL服务器虚拟机的数据库存储在高级存储磁盘上,但是显然我只想为我的数据库提供一个数据源。 我如何在我的2个SQL服务器虚拟机上共享这个包含磁盘的数据库?

我在web-VM上有同样的问题,用户可以上传图片到网站,然后存储在一个存储帐户。 但是,networking可用性集合中的这两个虚拟机都可以访问这些映像。 所有VHD都存储在Azure blob中。

这不是一个真正的Azure问题,它是一个“我如何做SQL集群问题”。

你不能只在两个虚拟机之间共享一个SQL数据库,并且它奇迹般的工作,你需要在集群中设置你的虚拟机来共享它们之间的SQL工作负载。 因为您不能使用共享磁盘存储进行集群(您可以将Azure文件用于共享SMB存储),所以Azure中的集群与本地环境中的集群略有不同,请参阅Microsoft关于Azure中HA和DR的SQL的文章。 我也build议你可能想看看为你的web应用程序使用Azure Web Apps,而不是VM。 使用这些PaaS服务意味着您显着减lesspipe理开销。

这就是说,我会问这个问题,你需要SQL VM吗? 你可以使用SQL Azure吗? 如果您可以在虚拟机上使用SQL Azure而不是完整的SQL,那么Microsoft将为您处理所有的集群和可用性,您不必担心这些。 SQL Azure和真正的SQL有一些区别,看看这个文档是否会影响到你。

在您的Web数据存储上,这是不同的,在这里您可以让两台服务器都与一些共享blob存储进行对话以获取图像,您只需要configuration您的应用程序即可。 但是请记住,如果Azure存储出现故障,则确实存在单点故障(不太可能,但确实发生),因此如果HA对您来说是一件大事,您可能希望将应用configuration为使用2个帐户。