同一虚拟网络下的 Azure VM

同一虚拟网络下的 Azure VM

我在 Azure 中有两个虚拟机 (Linux)。两者都在同一个 Vnet 中。通过 Vm1 ( 10.0.0.4) 登录后,我可以轻松 ping Vm2( 10.0.0.5),这意味着两者都可以通信。现在我在 Vm2 中安装了一个外部驱动器,它称为/data。我的问题是:

  • 如何将目录从 Vm1 移动到 Vm2 挂载驱动器?
  • 我可以从 Vm1 中的目录添加到 Vm2 的符号链接吗?

注意:我可以在同一台 VM 中执行上述操作,即在 VM1 中安装外部驱动器,并将数据从 C 盘移动到已安装的磁盘。

答案1

目前,Azure 不支持在两个虚拟机上装载一个磁盘 (VHD),因此您无法将目录从 Vm1 移动到 Vm2 挂载驱动器。正如 David 所说,符号链接不支持跨虚拟机。

在您的场景中,Azure 文件共享是一个不错的选择。Azure 文件共享支持在多个 VM 上挂载。在 Azure 虚拟机或云服务中或从本地客户端运行的应用程序可以在云中挂载文件共享,就像桌面应用程序挂载典型的 SMB 共享一样。然后,任意数量的应用程序组件都可以同时挂载和访问文件存储共享。

有关更多信息如何在 Linux 中使用 Azure 文件存储请参考此关联

答案2

您无法添加跨机器(或虚拟机)边界的符号链接。要查看来自不同机器的磁盘,您要么需要共享其他机器可以在虚拟网络上连接的磁盘(例如 smb 共享),要么使用 Azure 文件存储(blob 存储中的 smb 共享)之类的东西。安装 Azure 文件存储共享后,您可以创建指向共享中特定文件夹的符号链接,就像对本地磁盘所做的那样。

至于在机器​​之间复制/移动,Linux 有一个内置scp实用程序(位于 ssh 之上,用于安全文件复制)。这与命令行不同cpmv因为它需要特定参数(例如凭据)。

相关内容