阿里雲File Storage NAS是面向阿里雲ECS執行個體、E-HPC和ACK等計算節點的檔案儲存體服務。阿里雲NAS服務具有無縫整合、共用訪問、安全控制等特性,非常適合跨多個ECS、E-HPC或ACK執行個體部署的應用程式訪問相同資料來源的應用情境。本文介紹如何配置NAS共用儲存。
背景資訊
為了保護資料科學家的工作內容並方便讀取共用的訓練資料,建議在Arena提交作業的運行環境中配置共用儲存卷並掛載。確保資料科學家的工作內容(代碼、資料)得以保留,不會隨著容器刪除而丟失。在團隊開發中,建議分配一個共用的儲存池,讓資料和代碼能夠在團隊裡共用。
在Arena提交作業時,如果聲明了配置共用儲存及要掛載到運行環境的路徑,可以使用--data參數。共用儲存將會被掛載到指定的目錄中,提交作業可以複用這部分資料或者代碼。
在Kubernetes中,通過儲存卷(PV)和儲存聲明(PVC)描述儲存物件。作為叢集管理員,分配環境時需要為每個資料科學家建立屬於自己的儲存聲明。例如使用者A和使用者B,儲存聲明的後端可以掛載到相同的NAS或者CPFS,但是必須指定不同的子目錄,保證他們的工作環境隔離。
步驟一:建立NAS執行個體
有關建立NAS執行個體的具體操作步驟,請參見通過控制台建立通用型NAS檔案系統。
建立NAS執行個體的參數配置說明如下:
檔案系統類型設定為通用型。
地區設定為和ACK叢集相同的地區。
Virtual Private Cloud選擇和ACK叢集相同的VPC。
協議類型設定為NFS。
步驟二:掛載檔案系統
建立Apsara File Storage NAS執行個體後,需要將NFS檔案系統掛載至同一VPC內的ECS執行個體並驗證掛載,本文以控制台一鍵掛載為例。更多掛載方式請參見掛載檔案系統情境說明。
掛載NAS檔案系統
登入NAS控制台,執行以下操作:
在左側導覽列,選擇。
在頁面左側頂部,選擇目標檔案系統所在的資源群組和地區。
找到剛建立的檔案系統,然後單擊操作列的掛載。
說明首次使用NAS一鍵掛載功能,需要進行NAS一鍵掛載關聯角色授權,請根據對話方塊中的提示,完成NAS一鍵掛載服務關聯角色授權。更多資訊,請參見Apsara File Storage NAS服務關聯角色。
在掛載面板,完成掛載NAS檔案系統配置。
選擇掛載點,然後單擊下一步。
選擇目標ECS執行個體,然後單擊下一步。
請選擇與NAS在同一VPC下的ECS執行個體,當選擇不一致時,NAS會提示可能導致網路不通,請注意排查。
說明如果您在執行個體下拉式功能表中查詢不到建立的ECS執行個體,請您重新整理頁面後再次嘗試。
該配置僅支援選擇一台目標ECS執行個體,如果您需要多台ECS執行個體掛載同一檔案系統,請參見多台ECS執行個體批量掛載同一NFS協議檔案系統。
配置掛載到ECS。
配置項
說明
掛載路徑
目標ECS執行個體上待掛載檔案系統的本地路徑。
自動掛載
預設選中开机自动挂载,當您重啟ECS執行個體時,無需重複掛載操作。
協議類型
選擇檔案系統協議類型。
通用性NAS檔案系統支援NFSv3和NFSv4.0。如果您的業務情境不包含多台ECS執行個體同時編輯同一個NAS檔案,建議您選擇NFSv3,達到最優效能。
極速型NAS檔案系統支援NFSv3。
NAS目錄
NAS檔案系統目錄。
NAS的根目錄(/)或任意子目錄(例如:/abc)。
說明如果提示目錄不存在,您可以選中確認建立目錄,在檔案系統中建立該目錄。同時您還需要配置建立該目錄的UID和GID以及POSIX許可權,如果不配置,則使用預設值和預設許可權直接建立。
掛載參數
建議您使用預設掛載參數。更多參數說明,請參見參數說明。
單擊完成掛載。
掛載需要大約1~2分鐘。當掛載狀態為掛載成功時,則表示NAS檔案系統已成功掛載至ECS。

如果掛載狀態為掛載失敗時,您可以通過排查工具進行排查,詳情請參見Linux掛載NFS協議檔案系統失敗自動檢查指令碼。
掛載完成後,您還可以串連ECS執行個體,執行
mount -l或者df -h命令,查看掛載參數資訊或檔案系統容量資訊。
驗證掛載
掛載成功後,可以在ECS上把NAS檔案系統當作一個普通的目錄來訪問和使用,樣本如下。
遠程串連ECS執行個體,執行以下命令,在ECS執行個體上訪問NAS檔案系統。
mkdir /mnt/dir1 mkdir /mnt/dir2 touch /mnt/file1 echo 'some file content' > /mnt/file2 ls /mnt返回如圖所示資訊,說明成功訪問通用容量型NAS NFS檔案系統。

在Apsara File Storage NAS中,需要通過掛載點將檔案系統掛載至Elastic Compute Service。添加更多掛載點、查看掛載點地址的具體操作,請參見管理掛載點。
添加掛載點需注意:
掛載點類型設定為專用網路。
VPC網路和交換器設定為和ACK叢集一致的VPC和交換器。
步驟三:配置ACK叢集的儲存卷(PV)和儲存聲明(PVC)
建立PV
建立PV,在叢集中“註冊”已有的NAS檔案系統。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在儲存卷頁面,單擊建立,在彈出的對話方塊完成參數配置,然後單擊建立。
配置項
說明
樣本值
儲存卷類型
選擇NAS。
NAS
名稱
PV名稱,在叢集內保持唯一。
pv-nas
總量
PV容量聲明。此聲明僅為PVC匹配依據,不限制實際可用容量。應用實際可用儲存上限為NAS檔案系統總容量。
NAS實際容量上限由其規格決定,請參見通用型NAS和極速型NAS。
5Gi
訪問模式
配置訪問模式。可取值:
ReadWriteMany:多節點讀寫。
ReadWriteOnce:單節點讀寫。
ReadWriteMany
是否使用CNFS
是否使用容器網路檔案系統CNFS,使用其在自動化營運、緩衝加速、效能監控等方面提供的增強能力。
如需使用CNFS管理已有NAS,請參見建立CNFS管理NAS檔案系統(推薦)。
不開啟
掛載點網域名稱
未開啟CNFS時可配置
NAS掛載點地址。
如需擷取地址,請參見管理掛載點。
選擇掛載點:選擇此前添加的掛載點地址。
自訂:使用自訂網域名作為掛載地址。請確保已完成自訂網域名到目標NAS掛載點的解析配置。
0c47****-mpk25.cn-shenzhen.nas.aliyuncs.co
進階選項(選填)
掛載路徑
待掛載的NAS子目錄。如果未設定,則預設掛載到根目錄。
如果NAS中沒有該目錄,系統會自動建立並進行掛載。
通用型NAS:根目錄為
/。極速型NAS:根目錄為
/share。掛載子目錄時,path需以/share開頭(如/share/data)。
/data
回收策略
Retain(預設):刪除PVC時,PV和NAS檔案不會被刪除,需手動刪除。
Delete:需配合
archiveOnDelete一起使用。靜態PV不支援archiveOnDelete,即使配置為Delete,刪除PVC時也不會真正刪除PV和NAS檔案。如需配置
archiveOnDelete,請參見使用NAS動態儲存裝置卷。
Retain
掛載選項
NAS的掛載參數,包括NFS協議版本等。推薦使用NFS v3。
nolock,tcp,noresvport
vers=3
標籤
PV的標籤。
pv-nas
建立完成後,可在儲存卷頁面查看新建立的PV。
建立PVC
建立PVC,為應用聲明其所需的持久化儲存容量。
步驟四:給PVC填充資料
因為Kubernetes叢集通過PVC訪問各種共用資料(也就是本文在步驟一中建立的NAS執行個體),所以僅需要給PVC執行個體對應的NAS執行個體填充資料即可。
使用Workbench登入ACK叢集任意一台ECS節點,具體操作請參見登入Linux執行個體。更多串連ECS執行個體的方式,請參見選擇ECS遠端連線方式。
在步驟二中,已將NFS檔案系統掛載到ECS執行個體的
/mnt目錄中。執行以下命令,通過掛載的這個目錄為NAS執行個體建立兩個目錄tf_data/和pytorch_data/,分別存放TF mnist和Pytorch mnist的訓練資料。cd /mnt/ mkdir tf_data/ mkdir pytorch_data/執行以下命令下載
TF mnist的資料集。cd tf_data git clone https://code.aliyun.com/xiaozhou/tensorflow-sample-code.git mv tensorflow-sample-code/data/* ./ && rm -rf tensorflow-sample-code執行以下命令下載
Pytorch mnist的資料集。cd pytorch_data git clone https://code.aliyun.com/370272561/mnist-pytorch.git mv mnist-pytorch/MNIST ./ && rm -rf mnist-pytorch