申請 Azure Files 並透過 NFS 在 Ubuntu Linux 上掛載儲存體

Azure Files Preview

目前 Azure 的儲存體只能透過指定的 Blobs、Tables 或 Queues 方式存取,但是這些方式在 Linux 上無法以慣用的掛載(mount)方式將儲存體拿來使用,只能在虛擬機器上,透過連接磁碟的方式,建立一個虛擬硬碟,接著再自行分割、格式化,缺點就是這個虛擬硬碟是跟著某一台虛擬機器上,如果要跟虛擬機器共用,需要自己架設 NFS 等方式共用,而且單一虛擬硬碟的最大空間限制在 1TB 以下,稍嫌不足。

Attach an empty disk to the virtual machine

因此 Microsoft 推出了 Azure Files 功能(至 2015 年 07 月仍為預覽功能),讓虛擬機器可以透過 SMB 或 NFS 的方式直接掛載儲存體,而不需要透過 Azure 的 API 來讀寫儲存體。

Azure Files 目前為預覽功能,需要申請才能使用,先到 https://account.windowsazure.com/PreviewFeatures 網站登入 Azure 管理帳號(若無法登入,請使用瀏覽器的無痕模式開啟網站,並重新登入),接著找到「Windows Azure Files」,按下下方的「try it now」按鈕,過一陣子等系統更新,完成後會出現「YOU ARE ACTIVE」字樣,即完成了申請。

Azure Files Preview

回到 Azure Portal,此時已經存在的舊儲存體是不會有 Azure Files 功能,需要重新建立新的儲存體,才能支援 Azure Files 的功能。

Create Azure Storage

建立完成後,下方就會額為出現「檔案」這個預覽功能。

Azure Files

接著需要啟動儲存體的共用功能,此步驟需要透過 Azure PowerShell 或 Azure CLI 來完成。可以先參考如何安裝和設定 Azure PowerShell這篇文章,從這裡來下載安裝 Azure PoserShell。

Microsoft Azure PowerShell

安裝完成後開啟 Microsoft Azure PowerShell,分別輸入

$ctx=New-AzureStorageContext [[storage-account-name]] [[storage-account-key]]

$s = New-AzureStorageShare [[share_name]] -Context $ctx

其中 [[storage-account-name]] 及 [[storage-account-key]] 分別代換成 Azure Portal 上提供的「STORAGE ACCOUNT NAME」及「PRIMARY ACCESS KEY」,[[share_name]] 為自訂的共用名稱,即可建立共用。

Microsoft Azure PowerShell

完成後轉到同區域的 Ubuntu Linux 虛擬機器上(目前透過 CIFS 掛載的方式無法跨區),輸入

mount.cifs -o vers=2.1,username=[[storage-account-name]],password=[[storage-account-key]] //[[endpoint]]/[[share_name]] [[mount-point]]

例如

mount.cifs -o vers=2.1,username=teststorage,password=[[storage-account-key]] //teststorage.file.core.windows.net/share1 /mnt/share1

即可透過 Ubuntu 掛載 Azure 儲存體了!預設會有 5TB 的空間可以使用。

另外可以透過 Azure PowerShell 進行測試,驗證是否真的成功,同樣先啟動 Azure PowerShell,接著輸入

$ctx=New-AzureStorageContext [[storage-account-name]] [[storage-account-key]]

$s = AzureStorageShare file -Context $ctx

New-AzureStorageDirectory -Share $s -Path TestFolder

Microsoft Azure Files PowerShell Create Folder

這樣即可從 Azure PowerShell 建立一個名為 TestFolder 的資料夾,然後回到 Ubuntu Linux 上,看一下目錄有沒有出現,有出現的話代表已經成功掛載儲存體了!

最後,Azure Files 的價格可從 http://azure.microsoft.com/en-us/pricing/details/storage/ 查詢。

參考:

Leave a Reply

Your email address will not be published. Required fields are marked *