文件存儲NAS是一種分布式的網(wǎng)絡(luò)文件存儲系統(tǒng),為ECS、HPC、Docker、BatchCompute等提供安全、高性能、高可靠、簡單易用的文件存儲服務(wù)。本文介紹如何通過函數(shù)計算控制臺配置NAS文件系統(tǒng)。
背景信息
阿里云函數(shù)計算支持與文件存儲NAS無縫集成。您可以在函數(shù)計算的服務(wù)上配置NAS,包括NAS的地域、掛載點、分組等信息。配置成功后,該服務(wù)下的函數(shù)就可以像訪問本地文件系統(tǒng)一樣訪問指定的NAS文件系統(tǒng)。
- 可以將臨時文件存儲到NAS中,臨時文件大小不受實例本地磁盤空間限制。
- 多個函數(shù)可以共用一個NAS,實現(xiàn)文件共享。
前提條件
- 函數(shù)計算
- 配置網(wǎng)絡(luò)
NAS目前只支持在私有的VPC環(huán)境添加掛載點,確保配置正確的VPC,才能訪問指定的NAS文件系統(tǒng)。
- 配置網(wǎng)絡(luò)
- 文件存儲NAS
配置NAS
函數(shù)計算的NAS配置為服務(wù)級別,為一個服務(wù)配置NAS掛載點后,此服務(wù)下的所有函數(shù)都可以訪問指定NAS文件系統(tǒng)上的文件。
- 登錄函數(shù)計算控制臺,在左側(cè)導(dǎo)航欄,單擊服務(wù)及函數(shù)。
- 在頂部菜單欄,選擇地域,然后在服務(wù)列表頁面,單擊目標(biāo)服務(wù)操作列的配置。
- 在編輯服務(wù)頁面的存儲配置區(qū)域,配置以下參數(shù),然后單擊保存。
- 掛載 NAS 文件系統(tǒng):是否啟用NAS文件系統(tǒng)。取值說明如下。
- 啟用:啟用NAS文件系統(tǒng)。
- 禁用:不啟用NAS文件系統(tǒng)。
- NAS 配置方式:NAS文件系統(tǒng)的配置方式。取值說明如下。
- 自動配置:系統(tǒng)自動為您配置NAS文件系統(tǒng)。說明
- 選擇自動配置前,需先允許函數(shù)訪問VPC內(nèi)資源,并選擇一個專有網(wǎng)絡(luò)、交換機和安全組。如未選擇,系統(tǒng)將會為您自動創(chuàng)建以上資源并綁定到當(dāng)前服務(wù)。關(guān)于費用詳情,請參見VPC產(chǎn)品計費。
- 選擇自動配置,系統(tǒng)將為您創(chuàng)建一個新的通用型NAS文件系統(tǒng)。如您再次選擇自動配置,系統(tǒng)查詢到前一次選擇自動配置時創(chuàng)建的通用型NAS文件系統(tǒng)后,將不會再重新創(chuàng)建。關(guān)于費用詳情,請參見通用型NAS計費。
- 自定義配置:您需要手動配置如下參數(shù)才能配置NAS文件系統(tǒng)。
- NAS 文件系統(tǒng):選擇已創(chuàng)建的NAS文件系統(tǒng)。如需創(chuàng)建新的NAS文件系統(tǒng),單擊下方的創(chuàng)建新的 NAS 文件系統(tǒng),跳轉(zhuǎn)到文件存儲控制臺手動創(chuàng)建。僅支持NFS協(xié)議類型的NAS文件系統(tǒng),不支持SMB協(xié)議類型。
- (可選)用戶:在文本框中填寫自定義的用戶ID。如您不輸入任何值,系統(tǒng)將使用root用戶ID,即
UID=0
。更多信息,請參見NAS用戶和用戶組。 - (可選)用戶組:在文本框中填寫自定義的用戶組ID。如您不輸入任何值,系統(tǒng)將使用root用戶組ID,即
GID=0
。更多信息,請參見NAS用戶和用戶組。 - NAS 掛載點:選擇NAS掛載相關(guān)配置和設(shè)置相關(guān)目錄。關(guān)于目錄設(shè)置的更多信息,請參見地址配置。
- 掛載點:選擇與當(dāng)前服務(wù)配置的專有網(wǎng)絡(luò)和交換機匹配的NAS掛載點。
- 數(shù)據(jù)傳輸方式:選擇普通傳輸方式或加密傳輸方式。僅通用型NAS支持加密傳輸,加密傳輸會對數(shù)據(jù)傳輸路徑進(jìn)行加密,但是存在一定的資源消耗。更多信息,請參見NFS文件系統(tǒng)傳輸加密。
- 遠(yuǎn)端 NAS 中的目錄:通用型NAS的該目錄必須以/開頭,極速型NAS的該目錄必須以/share開頭。若您配置的目錄在遠(yuǎn)端NAS中不存在,函數(shù)計算將會為您自動創(chuàng)建該目錄。目錄所有者為上述配置的用戶和用戶組,權(quán)限等級為
777
。 - 函數(shù)運行環(huán)境中的本地目錄:必須為/home、/mnt或/data的子目錄。
- 自動配置:系統(tǒng)自動為您配置NAS文件系統(tǒng)。
說明- 配置NAS 掛載點之前,需先允許函數(shù)訪問VPC內(nèi)資源,并選擇同一地域下的一個專有網(wǎng)絡(luò)和交換機。具體操作,請參見配置網(wǎng)絡(luò)。
- 一個服務(wù)最多可以掛載5個NAS掛載點。
- 掛載 NAS 文件系統(tǒng):是否啟用NAS文件系統(tǒng)。取值說明如下。
NAS用戶和用戶組
在配置函數(shù)的NAS掛載時,首先需要配置UserID(用戶ID)和GroupID(用戶組ID),這兩個值等同于文件系統(tǒng)中的用戶和組的概念。請根據(jù)需求設(shè)置文件的擁有者和相應(yīng)的組權(quán)限,確保文件讀寫權(quán)限一致。
UserID和GroupID取值范圍為[0, 65534]。UserID和GroupID值配置可選,如果不填寫UserID,系統(tǒng)會使用root用戶ID,即0
UserID值為0
;如果不填寫GroupID,系統(tǒng)會使用root用戶組ID,即GroupID值為0
。
- 使用NAS實例掛載遠(yuǎn)端NAS的根目錄。具體操作,請參見配置NAS。
掛載成功后使用以下示例創(chuàng)建子目錄,例如fc-1。然后將NAS掛載點中的遠(yuǎn)端 NAS 中的目錄由根目錄修改為創(chuàng)建的子目錄(由/修改為/fc-1),實現(xiàn)遠(yuǎn)端掛載子目錄。
#!/usr/bin/env python # -*- coding: utf-8 -*- import os def handler(event, context): print('uid : ' + str(os.geteuid())) print('gid : ' + str(os.getgid())) # 請手動更改為 NAS 掛載的本地目錄 local_nas_dir = "/home/app" # 請手動更改為目標(biāo)子目錄名 target_sub_dir = "fc-1" # 在 FC 中利用當(dāng)前實例執(zhí)行用戶權(quán)限創(chuàng)建目標(biāo)目錄 new_dir = local_nas_dir + '/' + target_sub_dir + '/' print('new_dir : ' + str(new_dir)) os.mkdir(new_dir) return 'success'
- 使用云服務(wù)器ECS掛載NAS。具體操作,請參見使用ECS掛載NAS文件系統(tǒng)。
掛載成功后創(chuàng)建子目錄,然后執(zhí)行
chmod 777
為子目錄授權(quán)。
- 系統(tǒng)默認(rèn)的用戶和用戶組無文件的讀寫權(quán)限,因此建議您將UserId和GroupId設(shè)置為具體的值,即1~65534的任意數(shù)字。此時,該服務(wù)下不同函數(shù)可以共享這些文件資源。
- 上傳至NAS的文件權(quán)限與本地文件權(quán)限完全相同。
地址配置
每個NAS 掛載點地址由遠(yuǎn)端 NAS 中的目錄和函數(shù)運行環(huán)境中的本地目錄組成。遠(yuǎn)端目錄與本地目錄結(jié)合,實現(xiàn)從NAS文件系統(tǒng)中的某個目錄到本地文件系統(tǒng)中的某個目錄的映射。
- 遠(yuǎn)端 NAS 中的目錄
遠(yuǎn)端NAS中的目錄是指服務(wù)需要訪問的NAS文件系統(tǒng)的目錄,由掛載點和絕對目錄兩部分組成。掛載點可以通過NAS控制臺來添加。將掛載點和絕對目錄拼接得到遠(yuǎn)端目錄。例如,如果NAS文件系統(tǒng)的掛載點是xxxx-nas.aliyuncs.com,您希望被訪問的絕對目錄是/workspace/document,對應(yīng)完整的遠(yuǎn)端目錄就是xxxx-nas.aliyuncs.com:/workspace/document。
您可以登錄NAS控制臺,在文件系統(tǒng)列表中,單擊目標(biāo)文件系統(tǒng),然后單擊掛載使用,在掛載點列表中獲取掛載點。
- 函數(shù)運行環(huán)境中的本地目錄
函數(shù)運行環(huán)境中的本地目錄是指本地文件系統(tǒng)的掛載點。不能使用通用的Linux和Unix系統(tǒng)目錄,例如bin、opt、var或dev等掛載NAS,函數(shù)計算允許您使用非系統(tǒng)目錄mnt、home或data掛載NAS。
更多信息
您還可以使用Serverless Devs為服務(wù)掛載NAS系統(tǒng)。具體操作,請參見使用s nas相關(guān)命令掛載硬盤。