2013-10-27 50 views
19

我刚刚将我的网站移至Azure虚拟机,并且自上周末以来一直运行正常。到目前为止,我对结果非常满意,并期待在适当的时候进一步利用Azure。Azure虚拟机之间的共享驱动器

我的确有什么似乎是一个很常见的情况 - 而且,令我惊讶的是,我找不到明显的解决方案。我有几个虚拟机 - 一个是我的主服务器,另一个是暂停的,如果第一个虚拟机有问题,就可以开始使用(手动处理)。我将我的网站备份到Azure存储(我的备份实用程序支持保存到Azure blob)。这是个好消息。

我曾假设我可以以某种方式将存储blob安装为一个驱动器,因此可以有效地在两个虚拟机之间共享存储。但是,令我惊讶的是,我还没有找到一个明显的方法来做到这一点。我找到了第三方实用程序(Gladinet Cloud Desktop),但它看起来非常缓慢。正如我所说,我承认我只是认为这将是一件容易的事情。

因此,退后一步,从多个VM访问存储blob的最直接方法是什么?我真的不想建立一个私人网络,然后建立网络文件共享 - 这似乎很老派:)并且对特定的虚拟机具有特定的依赖关系。

有什么建议吗?

谢谢。

回答

5

可以从多个虚拟机访问blob。这是一种非常普遍的模式。你不能做的是同时在多个虚拟机上挂载一个驱动器(存储在一个blob中)。也就是说,如果您决定创建一个VHD磁盘并将其附加到虚拟机(无论是Linux还是Windows - 无关紧要),那么由blob支持的磁盘就会锁定到虚拟机,然后该虚拟机就可以像vhd一样工作它会是一个本地文件系统。

另一方面,如果您将块作为单个对象进行离散处理,则可以轻松处理任意数量的虚拟机中的这些blob。

如果您想要进行网络共享(例如SMB),您需要使用Azure文件服务或自己的SMB服务器虚拟机。

如果您绝对必须安装文件系统,但希望以主/备用方式使用文件系统,则可以通过API始终执行某些操作,以从一个VM卸载并重新安装到另一个VM。这可以通过PowerShell(仅限Windows)或通过Linux/Mac/Windows上的跨平台命令行界面执行。如果您的主虚拟机出于某种原因失败,您会这样做。

+0

谢谢大卫。非常感激。我想,经过反思,我不一定需要安装驱动器。我的目标是能够在虚拟机之间自由方便地复制文件。网络共享方法的问题是,如果我已经在VM 1上设置了该设置,那么即使我试图在VM 2和VM 3之间复制文件,也不得不离开该文件,这很不幸。你能澄清一下你的意思吗?“另一方面,如果你将斑点作为单个对象离散处理......”?我如何将这些设置为可以从每个虚拟机访问?再次感谢。 –

+0

我的意思是blob本身不需要被关联到虚拟机 - 它们只是您读取/写入的对象。您只需通过REST API或包装API的众多语言SDK调用内容进出blob。使用单独的blob访问,而不是安装驱动器/文件系统,您没有单个VM每个驱动器的限制。 –

+0

您能澄清是否现在支持在具有读/写功能的*多*虚拟机*上安装Azure存储文件(作为磁盘,使用SMB共享)? – haim770

11

这现在不仅仅是可能的,但很容易,它看起来就像一个文件系统。签出新的Azure文件服务(截至撰写本文时为止)。

http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/introducing-microsoft-azure-file-service.aspx

从公告引用:

“Azure的文件服务使用标准的SMB 2.1协议公开文件共享在Azure上运行的应用程序现在可以轻松的虚拟机之间共享文件使用标准和熟悉的。文件系统API,如ReadFile和WriteFile。“

这不仅仅是一个SMB驱动器更好,因为宣布继续提到:

”此外,该文件也可以在同一时间通过REST接口进行访问的打开了各种混合场景。最后,Azure文件基于与Blob,表和队列服务相同的技术构建,这意味着Azure文件能够利用我们平台内置的现有可用性,耐用性,可扩展性和地理冗余。“

5

在Azure的资源管理器“存储帐户”你可以创建一个网络文件共享可以作为驱动器到多个虚拟机或计算机和设备不能在Azure上为UNIX,Linux和Windows。

通常,转到您的存储帐户➡文件➡创建文件共享➡命名共享和磁盘空间配额➡单击“连接”以获取命令或Windows或Linux将共享挂载到相应设备。请注意,此只是作品本地冗余存储,而不是区域,而不是地理冗余。

https://www.youtube.com/watch?v=SGPJZMaSlis

视频教程你上面显示步步如何做到这一点。唯一的限制是Windows 8或更高版本以及Windows 2012或更高版本的SMB 3.0协议的操作系统支持。需要打开防火墙端口445

+1

这个工程,不明白-1 – cpsaez