EAS服務支援多種儲存掛載方式,可將模型檔案、代碼檔案或其他設定檔掛載至服務執行個體中。通過掛載功能,實現多執行個體間的資料共用,並在模型迭代或代碼更新時直接修改掛載檔案,無需重新構建鏡像,降低開發和營運成本。本文介紹EAS服務支援的掛載類型及其配置方法。
掛載不同類型的儲存
如果是模型、圖片、視頻等非結構化資料,且主要是讀取操作,請優先選擇 OSS。
如果會頻繁讀寫小檔案,或多個服務執行個體需要共用一個讀寫目錄,請選擇通用型NAS。
如果涉及高效能運算或AI訓練,並且需要極低時延和高吞吐,選擇極速型NAS或智算CPFS。
如果需要對接大規模並行計算架構或AI訓練架構,優先選擇智算CPFS。
僅使用靈駿智算資源配額部署EAS服務時,支援掛載智算CPFS檔案系統。
NAS僅支援同地區內網地址掛載,且需要打通到NAS所在vSwitch的直連網路,網路打通方法請參見網路設定。
OSS掛載
這是最常用的儲存掛載。控制台配置介面如下:

JSON配置樣本:
{
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}參數說明:
參數(控制台) | 參數(JSON配置) | 描述 |
Uri | oss.path | 配置為OSS源地址路徑,即Object Storage Service儲存空間路徑。如何建立儲存空間,請參見控制台快速入門。 |
掛載路徑 | mount_path | 表示掛載到服務執行個體中的目標路徑,用來讀取源檔案或資料。例如 |
是否唯讀 | oss.readOnly | 支援通過開啟或關閉是否唯讀開關,來設定讀寫權限。 |
NAS掛載
NAS掛載(包括通用型NAS、極速型NAS和智算CPFS)僅支援同地區內網地址掛載,可以使用內網NAS地址,且需要打通到NAS所在vSwitch的直連網路,網路打通方法請參見網路設定。
控制台配置介面如下:
JSON配置樣本:
{
"storage": [
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}參數說明:
參數(控制台) | 參數(JSON配置) | 描述 |
儲存許可權資源群組 | nfs.resourceGroup | 檔案系統資源群組,通過資源群組過濾相應的檔案系統。更多關於資源群組介紹資訊,請參見資源群組設計最佳實務。 當選擇全部儲存許可權資源群組時,JSON中無需配置。 |
選擇檔案系統 | 無 | 已建立的NAS檔案系統的ID。您可以登入NAS控制台,在對應的地區,查看NAS檔案系統ID。 |
檔案系統掛載點 | nfs.server | NAS掛載點的地址,EAS服務將通過掛載點來訪問NAS檔案系統。如何查看,請參見查看掛載點地址。 說明 通過控制台選擇掛載點後,系統會自動選擇與掛載點一致的專用網路。 |
檔案系統路徑 | nfs.path | 需要掛載的NAS中的源路徑。即NAS執行個體內部的檔案系統路徑,例如 |
掛載路徑 | mount_path | 掛載到服務執行個體中的目標路徑,用來讀取源檔案或資料。例如 |
是否唯讀 | nfs.readOnly | 是否以唯讀方式進行掛載。 |
掛載自訂資料集
支援將相關資料或設定檔建立為PAI的資料集,註冊為公用AI資產,方便在部署服務時掛載引用。
僅支援掛載Object Storage Service類型的自訂資料集。
控制台配置介面如下:
JSON配置樣本:
"storage": [
{
"dataset": {
"id": "d-pcsah1t86bm8******",
"version": "v1",
"read_only": false
},
"mount_path": "/mnt/data/"
}
]參數說明:
參數(控制台) | 參數(JSON配置) | 描述 |
自訂資料集 | dataset.id | 登入的Object Storage Service類型的自訂資料集。如何建立自訂資料集、擷取資料集ID,請參見建立及管理資料集。 |
版本 | version | 資料集版本,例如v1。 |
是否唯讀 | dataset.read_only | 是否以唯讀方式進行掛載。 |
掛載路徑 | mount_path | 掛載到服務執行個體中的目標路徑。例如 |
掛載代碼
Git掛載:支援將Git倉庫中的代碼以唯讀方式掛載到服務執行個體中,執行個體啟動時拉取代碼。代碼變更後,需重啟服務執行個體才會生效。
代碼配置:支援將Git代碼倉庫建立為PAI的代碼集,註冊為公用AI資產,方便在部署服務時掛載引用。
Git掛載
控制台配置介面如下:
JSON配置樣本:
{
"storage": [
{
"git": {
"repo": "https://codeup.aliyun.com/xxx/eas/aitest.git",
"branch": "master",
"commit": "xxx",
"username": "username",
"password": "password or access token"
},
"mount_path": "/mnt/data/"
}
]
}參數說明:
參數(控制台) | 參數(JSON配置) | 描述 |
Git地址 | git.repo | 需要掛載的Git代碼倉庫的HTTPS地址。暫不支援Git協議。 |
代碼分支 | git.branch | 需要拉取的Git代碼倉庫的分支,預設為master。 |
代碼Commit | git.commit | 需要拉取的Git代碼倉庫的commit ID。 |
Git使用者名稱 | git.username | 私人Git代碼倉庫的登入使用者名稱。 |
訪問Token | git.password | 私人Git代碼倉庫的登入密碼。擷取方法,請參見附錄:擷取GitHub帳號的Token。 |
掛載路徑 | mount_path | 掛載到服務執行個體中的目標路徑。例如 |
代碼配置
以唯讀方式掛載到服務執行個體中。
控制台配置介面如下:
JSON配置樣本:
"storage": [
{
"code": {
"id": "code-4d3b42a1152****"
},
"mount_path": "/mnt/data/"
}
]參數說明:
參數(控制台) | 參數(JSON配置) | 描述 |
代碼配置 | code.id | 登入的代碼集。如何建立代碼集、擷取代碼集ID,請參見代碼配置。 |
掛載路徑 | mount_path | 掛載到服務執行個體中的目標路徑。例如 |
掛載PAI模型
將服務所需的模型註冊為PAI公用的AI資產,方便在PAI中統一管理模型,詳情請參見註冊及管理模型。後續在部署服務時以唯讀方式掛載到服務執行個體中。
控制台配置介面如下:

參數說明:
參數(控制台) | 描述 |
PAI模型 | 登入的PAI模型。如何建立模型,請參見註冊及管理模型。 |
掛載路徑 | 掛載到服務執行個體中的目標路徑。例如 |
其他掛載
鏡像掛載:Docker Image的掛載方式並非直接將鏡像中的目錄掛載到服務執行個體中,而是通過Shared Volume先將要掛載的鏡像中的指定目錄中的檔案拷貝至本地Shared Volume中,在服務運行時掛載本地的Shared Volume,因此當要掛載的目錄中資料量較大時,會消耗較多的本機存放區,並延長服務執行個體啟動時間。請根據需要使用該功能。
EmptyDir掛載:如果您希望執行個體運行時讀寫本地磁碟目錄,且執行個體異常重啟後寫入的內容不會丟失,則可以使用EmptyDir的儲存掛載方式。
鏡像掛載
配置方法
{ "storage": [ { "image": { "image": "registry-vpc.cn-xxxx.aliyuncs.com/eas/image_name:v1", "path": "/path/to/mount/" }, "mount_path": "/data_image" } ] }說明僅支援同地區內網地址掛載,如要掛載的鏡像是private,需通過dockerAuth參數來指定鏡像倉庫的鑒權資訊。關於dockerAuth參數的使用說明,請參見自訂鏡像。
參數說明
參數(JSON配置)
描述
image.image
需要掛載的內網鏡像倉庫地址。
image.path
需要掛載到服務執行個體中的鏡像中的路徑。
mount_path
掛載到服務執行個體中的目標路徑。例如
/data_image。
EmptyDir掛載
配置方法
{ "name": "service_name", "storage": [ { "empty_dir": {}, "mount_path": "/data_image" } ] }參數說明
參數名(JSON配置)
含義
mount_path
掛載到服務執行個體中的目標路徑。
empty_dir
表示類型為EmptyDir、值為空白的Map,表示將資料存放區在本地磁碟上。暫不支援其他屬性的配置。
配置共用記憶體
當對儲存效能要求較高時,您可以使用以下設定檔來配置共用記憶體。
{
"storage": [
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
}
]
}其中:
參數(JSON配置) | 描述 |
medium | 指定為memory。 |
mount_path | 指定為 |
size_limit | 用來限制記憶體上限,單位為GB。 |
JSON配置完整樣本
完整的配置樣本如下,更多配置詳情,請參見JSON部署。
{
"name": "service_name",
"model_path": "http://path/to/model",
"processor": "pmml",
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/data/"
},
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/data/"
},
{
"image": {
"image": "registry-vpc.cn-shanghai.aliyuncs.com/eas/test_image:v1",
"path": "/path/to/mount/"
},
"mount_path": "/data_image"
},
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
},
{
"git": {
"repo": "https://codeup.aliyun.com/xxx/eas/aitest.git",
"branch": "master",
"commit": "xxx",
"username": "username",
"password": "password or access token"
},
"mount_path": "/mnt/data/"
}
],
"metadata": {
"cpu": 1,
"instance": 1,
"resource": "eas-r-xxx"
}
}常見問題
掛載了OSS,為何報錯找不到檔案?
通常是路徑錯誤,請檢查掛載配置以及訪問路徑。
例如,將
oss://my-bucket/掛載到/mnt/data,OSS中檔案oss://my-bucket/subfolder/myfile.txt在容器中需通過/mnt/data/subfolder/myfile.txt訪問,而不是/mnt/data/myfile.txt。可以直接用FTP或SSH工具串連到執行個體上傳/下載檔案嗎?
不可以。EAS執行個體不提供FTP或SSH訪問。
EAS和OSS不在同一地區,可以掛載嗎?
不可以。EAS無法跨地區掛載OSS。請使用 OSS的跨地區複製將資料同步到與EAS服務相同地區的OSS Bucket中。
未掛載儲存時,下載到執行個體中的檔案去哪了? 檔案儲存在執行個體的系統硬碟中,會在執行個體重啟或更新後被清空,導致資料丟失。建議掛載儲存以持久化資料。