[Azure]_使用Azure上的File Service當作私有雲端空間

結束微軟實習後,對Azure的使用就沒有這麼頻繁啦,大多都是使用家中on-premiese Server居多,

導致每個月的AZURE QUOTA都燒不完…

 

加上家中on-premiese的Server們的硬碟冷資料開始越堆越多,平常不太用到

一開始有持續加硬碟舒緩,但後來io數量開始不夠啦…想到今年9月初AzureCon有發表Azure File Service(類似原先的Blob)開始支援smb 3.0

 

也就是說對跨出LAN以外的WAN情況,讓Azure內原先只能在Azure網路內將Azure File Service當作smb空間使用的情況一舉突破。

讓Azure以外的外部網路也能夠透過smb存取Azure File Service來當作雲端儲存空間使用。

 

當然,這樣子做再傳輸跟放置資料的部分是會產生費用的,不過Quota用不完的時候拿來存放冷資料好像也不錯…

 

作法記錄一下,還有在Windows 8, 8.1, 10底下連線的字串需要注意的,在下文中也會一併提及。

 

整理引用至官方文件:https://azure.microsoft.com/zh-tw/documentation/articles/storage-dotnet-how-to-use-files/

 


 

1.在Azure上新建或者使用現有儲存體資源,基本上模型要用”傳統”或者”資源管理員”都沒有關係,接下來的規模跟資源群組依照你的需求做調整後,建立起來

2015-10-29_23-25-16

 

2.取得儲存體帳戶名稱與KEY1

2015-10-29_23-28-07

 

接下來需要在儲存體內建立可供SMB使用分享的空間,但這個步驟必須透過AzurePowerShell完成,如果你沒有安裝,請下載套件進行安裝:http://go.microsoft.com/fwlink/p/?linkid=320376&clcid=0x409

 

接著就跟官方文件一樣了,這邊照抄做點註解

 

而下面範例的儲存體帳號名稱使用:ntexst01

key為:FFFF

 

*這裡用[儲存體帳號名稱]與[儲存體key]當作暫時的示範,而實際上你必須要代換成你自己的帳號名稱與key,並且去除[]括號,指令間的空格須注意

 

3.打開AzurePowerShell,將你要準備處理的儲存體名稱與key做輸入並暫存至變數ctx

$ctx=New-AzureStorageContext [儲存體帳號名稱] [儲存體key]

 

4.建立檔案共用目錄smbsharetest

$s = New-AzureStorageShare smbsharetest -Context $ctx

 

5.在剛剛建立的smbsharetest分享目錄底下在建立一個名為hello的資料夾(也可以透過稍後用檔案總管使用smb連線之後透過gui建立新資料夾)

New-AzureStorageDirectory -Share $s -Path hello

 

 

到這個段落基本上已經在該Azure File Service上頭建立一個共享目錄,底下有一個hello的資料夾接著就可以直接透過外網機器掛載

 

另需要注意的是SMB3.0目前只支援Windows 8(含)以後的Windows版本。

且須確認ISP或Firewall沒有阻擋445 TCP的輸出要求(Out bound)

可透過http://powershell.com/cs/media/p/4063.aspx內的腳本搭配PortQry.exe來檢查是否有被ISP阻擋445到外網的情況。

 

在Client端,可以不需要安裝Azure PowerShell就可連線,在Client端我是直接透過PowerShell去下指令。

這邊要注意的是官方給予的範例有兩種做法。

 

第一種,透過cmdkey /add的方式保留儲存體帳戶認證再直接掛載使用:

cmdkey /add:ntlhive.file.core.windows.net /user:[儲存體帳號名稱] /pass:[儲存體key]

net use [要掛載至本機的磁碟編號]: \[儲存體帳號名稱].file.core.windows.net[第四個步驟的共享目錄名稱,這裡是smbsharetest]

 

第二種,直接帶連線名稱與key做連線:

net use [要掛載至本機的磁碟編號]: \[儲存體帳號名稱].file.core.windows.net[第四個步驟的共享目錄名稱,這裡是smbsharetest] /u:[儲存體帳號名稱] [儲存體key]

 

但不知道是不是不同作業系統版本的機制,再Windows 8,8.1,10做第一種方式時,於net use掛載磁碟時總是會出錯,說找不到該位置…

 

但如果透過第二種,則可以順利正常的連線,但每次登出或者重開機後,都得重新輸入一次

目前還沒找到合適的解法,除非寫script自動跑,否則每次都得重新輸入進行掛載,算是有點小麻煩!

 

基本上Azure的Download速度當然是無庸置疑的…透過學術網路上傳,可以到線路100Mbps的線路傳輸極限!(不過上上下下應該是學校QoS作祟…)

2015-10-30_0-18-39

 

而家中的中華電信100M/40M則可穩定到達上傳極限

2015-10-30_0-21-43

 

以上!

 

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料