2014-07-26 539 views
0

如何創建可在虛擬機中運行的Web服務器之間共享的文件共享,以直接訪問Azure中的blob存儲?Azure使用文件共享從IIS虛擬機共享照片?

我正在將以.net 1.1編寫的現有n層網站應用程序遷移到Azure虛擬機。

這是一個遺留的應用程序,我想移動在其目前的形式天青然後慢慢修改代碼在以後的時間採取的雲類型的服務優勢。

的應用程序當前正在跨越4臺服務器拆分:

1×SQL數據庫服務器

2×IIS Web服務器應用程序(負載經由循環DNS平衡)

1×IIS Web服務器的照片(主機百萬用戶上傳的照片)

照片服務器是一個怪物機與RAID 10陣列12的HDD。

用戶可以上傳其通過web服務器轉移到使用簡單文件共享相片服務器的照片。例如:

\\PhotoServer1\UserData\Photos\ 

文件共享可能會裝載在Z:\ 2臺Web服務器上的車程,他們沒有問題,閱讀和通過共享文件寫入到照片服務器。

該照片服務器還充當IIS網頁服務器並用於託管這些文件。例如:

http://photos.mysite.com/userdata/photos/234/234photo.jpeg 

我可以輕鬆地將SQL服務器和IIS Web服務器到Azure上的虛擬機。

但我努力理解我怎麼能實現在其目前形式的文件/網絡照片服務器。

我想設置網絡服務器上的文件共享,然後讀/寫/通過Web服務器的虛擬機刪除照片。

我可以簡單地爲文件/網絡服務器設置另一個虛擬機,但它是一臺繁忙的機器,我需要創建一個驅動器的RAID陣列,這似乎毫無意義,因爲Azure存儲已自行完成此操作。

我不能讓我周圍的Blob存儲的頭,我知道它不是一個硬盤驅動器,但它是很方便的把它看作對遺留應用程序,特別是在服務器之間共享。

問題:

  1. 我怎樣才能創建可在虛擬機中運行直接訪問Azure中Blob存儲網絡服務器共享的文件共享?

  2. 如果我將所有內容都存儲在blob存儲中,是否還需要IIS服務器來託管這些文件,如果是的話,是否也會通過文件共享將其掛載到IIS?

回答

0

有幾種方法可以實現文件共享,包括按照您的建議將其託管在VM上。但是,這不會給你一個耐用的解決方案,因爲如果虛擬機脫機,文件共享將會脫機。

Azure現在提供文件服務(仍在預覽中),它允許您設置SMB ​​2.1(由BLOB存儲支持)。這將允許您運行net use將該共享掛載爲驅動器盤符,然後關閉。

可能會找到更多的信息here

1

Azure存儲有兩種潛在的服務可供您考慮解決您的問題 - Azure Blob和Azure文件。正如David在他的回答中提到的那樣,只要您從雲中的虛擬機訪問它,Azure文件服務的設計看起來就像一個標準文件共享。您可以將共享掛載到一個或多個VM中,並像訪問本地文件共享一樣訪問它。 David發佈的鏈接是一個很好的起始地點,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 API訪問。有關blob存儲的基於代碼/示例的概述,我推薦使用http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/下的代碼示例。如果您使用blob存儲,則可以讓客戶端直接訪問blob,具體取決於您的身份驗證需求。 Blob存儲支持三種類型的身份驗證 - 匿名(任何人都可以訪問),共享密鑰(必須擁有您的存儲帳戶密鑰才能訪問,帳戶密鑰可以完全訪問存儲帳戶中的所有內容)以及SAS(共享訪問簽名) blob或容器級別)。 SAS通常是一個不錯的選擇,並且不需要擁有託管文件的服務器,儘管客戶端確實需要訪問SAS令牌的方式。有關認證概述,請參閱http://msdn.microsoft.com/en-us/library/azure/hh225339.aspx

請注意,blob和文件服務是分開的,您不能從另一個訪問數據。