VM上的Azure Same Storage

时间:2013-11-24 09:02:36

标签: azure storage virtual

我想制作20台虚拟计算机并且我想在它们上面下载相同的文件,但是它们需要很长时间才能上载每个虚拟计算机并下载相同的文件。无论如何,我可以将已经下载的文件下载到我将创建的其他虚拟机上,这样我就不必在每个虚拟机上重新下载了吗?

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你要做的事情。

如果要创建所有虚拟机将共享的软件的基本映像,您应该能够设置单个虚拟机,然后对映像进行sysprep,捕获它,并使用它来启动新的虚拟机相同的配置。

如果需要共享数据存储,那就是Table,Blob和SQL存储帐户的用途。 :)

但是,我不认为你可以让多个虚拟机同时读/写同一个磁盘。这没有意义。虚拟机是机器,想象如果你同时在同一个硬盘驱动器和相同的操作系统上运行10台机器会发生什么 - 机器没有实际的方法来同步它们对资源的使用,以避免彼此踩踏。


修改

如果您要做的只是共享一些数据并且您没有使用应用程序(使用Azure存储,如表格或blob将是可行的方式),但只是下载一些基础设施或诸如此类的东西,我有几个想法。有意义取决于您的具体情况。

网络共享

    您的某个虚拟机上的
  1. Create an empty data disk。不要忘记initialize the disk first,就像使用真正的空白硬盘一样。
  2. 将您的内容下载到该数据磁盘。 (我分配了驱动器号S:共享)
  3. 下载时,在要下载的文件夹上启用共享。假设Windows 2012:
    1. 我创建了文件夹“S:\ Downloads \”。
    2. 我在Windows资源管理器中单击了S:\ Downloads,转到“与...共享”菜单,并选择“特定人......”。
    3. 我在对话框中输入“Everyone”并与“只读”访问共享。 <<这不是特别安全。作为OP的练习,我留下了更好的ACL分享经验。
    4. 我点击了“分享”并确认了UAC提示。
  4. Azure默认是安全的,因此共享将无法正常工作尚未打开b / c端口。在防火墙中戳一个洞以便共享。从管理员控制台提示符:netsh firewall set service type=fileandprint mode=enable profile=current
  5. Azure还可以在网络环境中保护您的VM。您必须create endpoints to enable network access,您可以从打开共享的VM上的门户网站执行此操作。创建以下两个端点:
    1. NetBIOSSession,tcp,port 139(内部和外部)
    2. SMB,tcp,端口445(内部和外部)
  6. 此时,您的所有其他虚拟机应该能够通过共享虚拟机DNS名称或VIP地址(可在门户中的VM仪表板上找到)访问相关共享。访问速度应该非常快,因为您在数据中心内共享大型数据集。

    数据磁盘

    我自己实际上并没有这样做,所以需要一些独立的工作。概括地说:

    您可以将任意.vhd上传到云端并从中创建数据磁盘,因此在本地VM上添加新的静态磁盘(Azure最后不检查导入动态vhds )并下载您想要的所有VHD。然后将该VHD上载到存储中,并从您上载的磁盘映像中打印出每个VM的数据磁盘。完成!

    Sysprep'd Image

    如果我们谈论想要安装在每个VM上的十几个不同的应用程序(而不是某种形式的专用数据),我仍然认为sysprep的图像是要走的路。现在看起来有一个错误,所以the howto of record暂时取消了a forum post describing the workaround。看起来关键的一点就是在系统预编译后从门户关闭VM,而不是从虚拟机内部关闭。

    希望这有帮助,祝你好运!