如何创建可以在VM中运行的web服务器上共享的文件共享,从而直接访问Azure中的blob存储?
我正在移动一个现有的n层网站应用程序,用.net 1.1编写到Azure虚拟机。
这是一个遗留应用程序,我想将它移到当前形式的蔚蓝中,然后慢慢地对代码进行更改,以便以后利用云类型的服务。
该应用程序目前分为4台服务器:
1x SQL数据库服务器
2台IIS Web服务器,用于应用程序(通过循环循环dns均衡负载)
1xIISWeb服务器用于照片(托管数百万用户上传的照片)
照片服务器是一台带有RAID 10阵列的12硬盘的怪物机器。
用户可以使用简单的文件共享将通过web服务器传输到照片服务器的照片上传到照片服务器。例:
\\PhotoServer1\UserData\Photos\文件共享以Z:\驱动器的形式挂载在2台web服务器上,它们通过共享将文件读写到照片服务器上没有问题。
照片服务器还充当IIS web服务器,用于承载文件。例:
http://photos.mysite.com/userdata/photos/234/234photo.jpeg我可以轻松地将SQL服务器和IIS web服务器移动到Azure上的虚拟机。
但是,我很难理解如何以当前的形式实现文件/web照片服务器。
我想在web服务器上设置一个文件共享,然后通过web服务器VM读取/写入/删除照片。
我可以简单地为文件/web服务器设置另一个VM,但是它是一台繁忙的机器,我需要创建一个RAID驱动器数组,这似乎毫无意义,因为Azure存储已经自动完成了这一任务。
我无法理解blob存储,我知道它不是硬盘,但是如果将它作为遗留应用程序来处理,特别是在服务器之间共享它,将会非常方便。
问题:
发布于 2014-07-29 17:39:20
Azure存储有两种潜在的服务可以解决您的问题-- Azure Blobs和Azure Files。正如David在回答中提到的那样,Azure文件服务的设计看起来与标准文件共享完全一样,只要您在云中从VM中访问它。您可以在一个或多个VM中挂载共享并访问它,就像本地文件共享一样。大卫发布的链接是一个很好的起点,http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/introducing-microsoft-azure-file-service.aspx,在这里也可以看到:http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/27/persisting-connections-to-microsoft-azure-files.aspx。
Blob存储有点像文件系统,但存储在云中并通过REST进行访问。对于基于代码/示例的blob存储概述,我建议您使用http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/. 下的代码示例,如果您使用blob存储,您可以让客户直接访问Blob,这取决于您的身份验证需求。blobs存储支持三种类型的身份验证--匿名(任何人都可以访问)、共享密钥(必须拥有存储帐户密钥以访问存储帐户中的所有内容)和(共享访问签名,允许在blob或容器级别进行访问). SAS通常是一个很好的选择,并且消除了拥有承载文件的服务器的需要,尽管客户端确实需要一种访问SAS令牌的方法。请参阅http://msdn.microsoft.com/en-us/library/azure/hh225339.aspx获取身份验证概述。
注意,blob和文件服务是分开的,您不能从另一个单独访问数据。
发布于 2014-07-26 12:52:08
有几种实现文件共享的方法,包括像您建议的那样在VM上托管它。但是,这不会给您提供一个持久的解决方案,因为如果VM脱机,文件共享就会脱机。
Azure现在提供文件服务(仍在预览中),它允许您设置SMB2.1(由blob存储支持)。这将允许您运行net use,将共享挂载为驱动器号,然后离开。
更多信息可以找到这里。
https://stackoverflow.com/questions/24969336
复制相似问题