我想制作20台虚拟计算机并且我想在它们上面下载相同的文件,但是它们需要很长时间才能上载每个虚拟计算机并下载相同的文件。无论如何,我可以将已经下载的文件下载到我将创建的其他虚拟机上,这样我就不必在每个虚拟机上重新下载了吗?
答案 0 :(得分:1)
我不确定我是否理解你要做的事情。
如果要创建所有虚拟机将共享的软件的基本映像,您应该能够设置单个虚拟机,然后对映像进行sysprep,捕获它,并使用它来启动新的虚拟机相同的配置。
如果需要共享数据存储,那就是Table,Blob和SQL存储帐户的用途。 :)
但是,我不认为你可以让多个虚拟机同时读/写同一个磁盘。这没有意义。虚拟机是机器,想象如果你同时在同一个硬盘驱动器和相同的操作系统上运行10台机器会发生什么 - 机器没有实际的方法来同步它们对资源的使用,以避免彼此踩踏。修改强>
如果您要做的只是共享一些数据并且您没有使用应用程序(使用Azure存储,如表格或blob将是可行的方式),但只是下载一些基础设施或诸如此类的东西,我有几个想法。有意义取决于您的具体情况。
netsh firewall set service type=fileandprint mode=enable profile=current
。此时,您的所有其他虚拟机应该能够通过共享虚拟机DNS名称或VIP地址(可在门户中的VM仪表板上找到)访问相关共享。访问速度应该非常快,因为您在数据中心内共享大型数据集。
我自己实际上并没有这样做,所以需要一些独立的工作。概括地说:
您可以将任意.vhd上传到云端并从中创建数据磁盘,因此在本地VM上添加新的静态磁盘(Azure最后不检查导入动态vhds )并下载您想要的所有VHD。然后将该VHD上载到存储中,并从您上载的磁盘映像中打印出每个VM的数据磁盘。完成!
如果我们谈论想要安装在每个VM上的十几个不同的应用程序(而不是某种形式的专用数据),我仍然认为sysprep的图像是要走的路。现在看起来有一个错误,所以the howto of record暂时取消了a forum post describing the workaround。看起来关键的一点就是在系统预编译后从门户关闭VM,而不是从虚拟机内部关闭。
希望这有帮助,祝你好运!