【问题标题】:Possible to keep two vhd's in sync on azure vm's可以在 azure vm 上保持两个 vhd 同步
【发布时间】:2014-10-21 09:16:18
【问题描述】:

这是一个场景,而不是一个特定的技术问题。 我有两个在负载平衡模式下运行 Web 应用程序的 azure vm。 根据这篇文章http://asheej.blogspot.in/2014/03/load-balancing-using-windows-azure.html

两个虚拟机都附加了一个额外的磁盘,该磁盘存储从托管在 vm 的 IIS 中的 Web 应用程序引用的图像。

现在让两个虚拟机硬盘上的内容保持同步的最佳方法是什么。 例如,如果我删除,从第一个 vm 的 vhd 添加一个数据,那么这也应该在第二个 vm 上受到影响。

有什么可能的吗,可能为两台机器使用一个共同的 vhd,这将使同步毫无问题。

【问题讨论】:

    标签: azure azure-storage azure-virtual-machine


    【解决方案1】:

    在进入解决方案之前,让我简要介绍一下虚拟机和磁盘的关系。

    通常,VM 包含 3 个附加到它们的磁盘 1. OS 磁盘 2. 临时磁盘和 3.Data 磁盘。虚拟机将租用所有这些磁盘,写入数据磁盘的唯一方法是通过虚拟机。

    C: 磁盘是持久的,这意味着当 VM 重新启动时,磁盘中的数据会保留。但是 D:\ 是非持久性的,当您重新启动磁盘时,磁盘将被完全擦除干净。所以在任何时候都不应使用 D:\ 来存储任何用户数据。

    所以编写一个在两个虚拟机之间同步的进程只是为了保持图片同步并不是很理想。您可能已经知道这一点,但想为下面提供的选项选择设置上下文。

    您的潜在选择如下

    1. 您可以使用新的 Azure 文件服务(预览版)http://blogs.technet.com/b/uspartner_ts2team/archive/2014/06/09/setting-up-a-file-share-for-the-new-azure-file-service.aspx 设置文件共享。这将是您所有图像的单一来源,您无需担心文件同步。

    2.将图像存储在 Azure Blob 中,并从运行在 VM http://blogs.msdn.com/b/yaohuang1/archive/2012/07/02/asp-net-web-api-and-azure-blob-storage.aspxhttp://www.nickharris.net/2012/11/how-to-upload-an-image-to-windows-azure-storage-using-mobile-services/ 中的应用程序访问它们

    3. 托管另一个 VM 作为 Web 服务器并从那里托管您的图像。然后两个虚拟机可以引用该图像。这里的成本将是托管 VM。

    所有 3 个潜在选项的关键点是无需在两个不同的地方同步文件,一切都在一个地方。

    根据新信息编辑:-

    在您的场景中,将文件托管到 VM 中并不是正确的方法。如果您使用的是 Azure LB,即使是短期解决方案也应考虑以下因素。

    Azure 负载均衡器使用 5 个元组(源 IP、源端口、目标 IP、目标端口、协议类型)来计算哈希并将流量映射到可用服务器,并且分布是相当随机的。因此,如果您对 VM 进行负载平衡,则无法控制访问映像的 VM。

    在这种情况下无法手动更新。

    【讨论】:

    • 这是一个公平的答案。正如 OP 所指出的,不可能在两个 VM 之间共享一个 VHD,就像不可能让两台物理计算机在同一个直接连接的物理硬盘驱动器上运行一样。必须存在某种中介(la 文件共享)。不过,我认为您理想的解决方案可能是#2。如果设置正确,存储在 Blob 存储中的二进制文件也可以通过 URI 直接引用,我希望这比 #3 便宜得多。 (我会避免今天的生产工作量排名第一,只是因为它是预览版。)
    • 准确来说,在托管 Web 应用程序的虚拟机上,已部署应用程序中的 IIS 中的图像文件夹映射到同一虚拟机中的磁盘,该磁盘在 gb 中具有图像,应用程序使用 url 引用它像'/图像/。我同意转换为 blob 最终可能是最好的解决方案。但在短期内,如果这个 vm 与另一个负载平衡的 vm 一起使用,除了手动确保两个 vm 上的图像文件夹内容相同和生产应用程序之外,还有什么更好的选择不会破坏..
    【解决方案2】:

    您需要设置一个虚拟网络以允许您创建和共享 Windows 文件共享,或者您应该调查使用 Azure 文件服务创建两个 VM 都连接到的共享(请参阅:http://blogs.technet.com/b/uspartner_ts2team/archive/2014/06/09/setting-up-a-file-share-for-the-new-azure-file-service.aspx)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-10
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多