高可用性VM Azure

时间:2016-01-25 15:59:44

标签: azure azure-sql-database high-availability azure-virtual-machine iaas

我目前正致力于实现驻留在Azure 虚拟机上的应用程序的 99.95%可用性

我想要实现的是,每当由于Windows更新或故障重启而重新启动机器时,另一台“更新域”/“故障域”中的另一台机器应该接管。我遇到了以下问题:

  • 存储高可用性:我的应用程序驻留在 wwwroot 文件夹中,并且包含包含文档数据库(CSV,PDF,Txt ...)的动态文件夹应用程序用户。我无法转到“Azure Web应用程序”,因为文件是通过虚拟路径“〜/ Users / CSVs / 4.csv”访问的。迁移到 BLOB 存储是一种解决方案,需要对我的基础架构和Web应用程序代码进行大量更改,因为涉及多个其他组件(Windows服务和计划任务可执行文件也通过绝对路径:“C:/inetput/wwwroot/ApplicationFolder/Users/CSVs/4.csv”)。我将整个应用程序移动到与OS磁盘不同的数据磁盘(VHD),并将其作为新的简单卷附加,希望将相同的VHD重新附加到另一个实例。这在MS Azure中是。任何建议远离使用BLOB并远离 SMB 协议? :)

  • SQL高可用性:我使用SQL依赖关系查询从SQL Server到应用程序级别的通知,并使用SignalR自动更新UI。这需要在数据库上启用Service Broker。 SQL Azure中无法访问服务代理。是否有其他推荐的方法来查询特定查询的更改而不使用SQL Service Broker,并且通过Ajax超时查询新通知而不会使服务器负担过重?

我对我的IaaS解决方案的任何混合高可用性架构建议持开放态度,而不是完整的PaaS。

任何建议建筑师?

由于

1 个答案:

答案 0 :(得分:0)

我自己尝试过它并且有效;特别是,我:

  • 分拆两个Ubuntu VM
  • 使用XPlat CLI将空磁盘附加到VM1('azure vm disk attach ...')
  • 挂载磁盘并在其上放置一个名为“hi.txt”的文件
  • 分离磁盘('azure vm disk detach ...')
  • 将同一磁盘连接到VM2('azure vm disk attach ...')
  • 在VM2上安装磁盘并找到文件'hi.txt'

这一切都在Linux中,关注特定于linux的命令的博文:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-how-to-attach-disk/

以下链接有望为Windows提供帮助:https://azure.microsoft.com/en-us/documentation/articles/storage-windows-attach-disk/

有一点需要注意的是,我在ARM模式下做了一切;上面的教程假设经典/ ASM模式,但这不是必需的。

希望这有帮助! :)