3

我有运行 Linux 的虚拟机。我通过新的“资源管理器”创建了它。然后我向它添加了数据磁盘。

然后我创建了新的虚拟机。我希望它使用与第一个连接的相同数据磁盘(至少在只读模式下)。

当我尝试将现有磁盘“附加”到这台新机器时,我收到此错误: Failed to attach existing disk 'DISK-NAME.vhd' to the virtual machine 'MACHINE-NAME'. Error: Failed to acquire lease while creating disk 'DISK-NAME.vhd' using blob with URI https://BLOB-URI-disk1.vhd. Blob is already in use.

如何将另一台机器正在使用的现有数据磁盘附加到我当前的机器上?

4

3 回答 3

3

简单地说,你不能。

Azure 中的磁盘一次只能附加到单个 VM。为了将其附加到另一个 VM,您需要将其与第一个 VM 断开连接。

如果您需要在多台机器之间共享数据,您可以使用提供 SMB 2.1 和 SMB 3.0 的 Azure 文件共享。大多数现代 Linux 版本都可以非常无缝地连接到此。

如果您需要块存储,即共享一个实际磁盘,则需要启动一个单独的 VM 并使用诸如 iscsi(或 NFS)之类的协议在多台机器之间共享该磁盘。

于 2016-03-10T08:48:01.317 回答
0

也许微软 Azure 的“StorSimple”解决方案可能是一条可行的路?我将其描述为 Azure 上的 SAN。

我今天没有测试,但是应该可以连接几个虚拟机,并共享文件。

您可以在文档中找到更多信息: Azure StorSimple

于 2016-03-10T09:43:16.373 回答
0

根据您在他的回答下的评论,稍微扩展迈克尔的回答:

如果目标是在 VM 因某种原因停机时提供数据访问,并且数据位于附加的磁盘上,那么您可以将磁盘与停机的 VM 分离并将其重新附加到另一个 VM(分离会破坏租约,并且重新附加会创建一个新的租约)。但请注意:这是一个耗时的过程 - 每个操作可能需要一两分钟。但是你当然可以做到,而且你可以通过编程来做到这一点。

关于磁盘复制:是的,Azure 磁盘是三重复制的(或复制 6 次,如果您启用地理复制)。但从逻辑上讲,它是一个磁盘;它是为了持久性而复制的,而不是为了让您附加到不同的副本。

Michael 提到了 Azure 文件服务。也许不清楚那是什么,但是......文件服务不涉及虚拟机 - 它是一种持久存储 SMB服务,其自身的 SLA 与您的虚拟机无关。您可以从多个虚拟机附加到它并读取/写入文件,就像本地附加磁盘一样(这似乎是您要解决的问题)。

关于跨 VM 的数据复制:如果您选择走这条路,并自己制作物理副本,则完全取决于您如何操作 - 没有“最佳方式”。但这是为数据库引擎构建的类型(你可以想象它们是多么复杂,处理复制、日志、错误等)。

于 2016-03-10T14:44:52.160 回答