簡介
阿裡雲雲存儲網關支援以傳統檔案通路協定(NFS/SMB)來通路阿裡雲對象存儲服務,網關通過暴露一個檔案共享目錄來和後端的OSS Bucket對應。使用者操作對應的檔案共享也就相當于在相應的OSS Bucket上進行操作,大大的便利了習慣于傳統檔案協定的使用者。雲存儲網關還通過緩存技術,将一部分熱資料緩存在共享對應的緩存盤裡,不用每次讀請求都到OSS Bucket裡擷取資料,而是直接傳回網關已經緩存的資料,不用每次寫請求都寫入到OSS Bucket,而是緩存資料在網關裡,最後一次性寫入到OSS Bucket裡,大大提高了效率。
檔案共享伺服器
檔案共享伺服器是使用傳統檔案通路協定(NFS/SMB)的一個典型場景。本文接下來的篇章主要探讨如何利用雲存儲網關來搭建一個Windows的檔案共享伺服器。因為Windows一般使用SMB協定,是以這裡也就是主要讨論的是雲存儲網關SMB共享相應的功能。我們都知道阿裡雲對象存儲服務是一個支援海量存儲空間同時穩定可靠的存儲服務,雲存儲網關共享的實際存儲空間是OSS Bucket。因而使用者在感受到檔案通路協定便捷的同時也能夠享受到阿裡雲對象存儲服務的諸多便利,比如海量的存儲空間,高達12個9的資料可靠性等。Active Directory(活動目錄)是Windows Server提供的一種服務,可以用來集中管理使用者和計算機賬号,并提供單一登入的功能,是應用非常廣泛的一種企業服務。檔案共享伺服器一般也會和Active Directory做內建,進而提供統一的使用者鑒權功能。
實踐
要能夠使用AD域裡的賬号資訊來通路SMB共享,首先需要在檔案網關側配置AD域的相關資訊。主要有兩個步驟,第一個步驟是設定DNS伺服器,這個主要是用來解析AD服務相關的一些域名位址。一般來說,AD域控制器同時也是DNS伺服器。第二個步驟就是配置具體的AD域的相關管理者賬号密碼等資訊了。
首先是設定DNS伺服器,這裡我們的網關是線上版本的檔案網關,預設阿裡雲會提供兩個DNS伺服器位址,根據網關幫助文檔将第一個DNS伺服器位址替換為AD域所需的DNS伺服器位址。DNS位址設定成功之後,再填入AD域控制器IP以及管理者賬号和密碼就可以連接配接AD域伺服器了。下圖是成功連接配接AD域控制器之後的截圖。

當連接配接成功AD域之後,SMB使用者菜單頁裡面顯示的就是存在于AD域伺服器裡面的使用者賬号資訊了。檔案網關會定期去重新整理AD域伺服器裡面的賬号資訊,是以新增删除賬号等資訊就可以集中在域控制器裡面操作了。接下來我們後面就可以針對不同的使用者配置權限了。
通過網關控制台建立一個SMB共享并進行挂載非常的友善,這裡不做贅述,具體可見
利用雲存儲網關在Windows上挂載OSS。下圖是筆者已經建立好的一個SMB共享。
當網關AD設定成功之後,就可以利用AD域伺服器裡面已經存在的使用者名密碼來對SMB共享進行鑒權了。如果隻需要在共享級别設定權限控制,在共享的設定菜單裡就能夠做到。如果需要配置的通路權限比較複雜,想對不同的檔案夾或者檔案配置不同的權限,那就需要用到更精細的Windows ACL相關功能,這個會有後續文章做進一步的介紹。這裡我們為Administrator使用者設定了讀寫權限,user1隻讀權限,其他使用者則沒有被賦予任何權限。
一切就緒,我們可以用Windows用戶端來通路這個檔案共享了。用戶端是存在AD域裡的一台機器,我們首先以域賬号Administrator登入這台機器。以域賬号登入機器的好處是,後續在用戶端裡面通路檔案共享的時候,Windows會自動幫我們以登入的賬号密碼去通路檔案共享,而不再需要提示使用者輸入使用者名密碼。因為登入的賬号是Administrator,在前面我們已經賦予了它讀寫權限,是以試着建立了一個檔案夾完全沒有問題。
接着我們切換到隻讀使用者user1,同樣以域賬号登入。通路共享沒有問題,但是嘗試建立一個新檔案夾不被允許。
最後我們以完全沒有權限的使用者user2登入Windows用戶端并通路共享。彈出對話框要求輸入使用者名密碼,但是即使輸入正确的user2的密碼之後,也無法通路共享。
至此我們就完成了搭建一個檔案共享伺服器的完整過程。我們展示了如何建立一個SMB共享,如何和Active Directory服務進行內建,如何對使用者進行權限配置的完整過程以及最後使用者權限的驗證。
小結
本文通過具體的實踐展示了如何利用雲存儲網關搭建一個和Active Directory內建的檔案共享伺服器。讓使用者在感受到傳統檔案協定的便利的同時可以享受阿裡雲對象存儲服務所帶來的海量存儲空間以及高可靠等獨特優勢。并且整個搭建過程操作便捷,隻需要簡單的幾個步驟就可以完成。文中具體介紹了如何在共享級别針對不同的域使用者設定權限,如果需要對不同的檔案夾設定不同的權限,則需要用到雲存儲網關的Windows ACL相關的功能,這個後面會有進一步的介紹。