本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 AWS PCS 使用網路檔案系統
您可以將網路檔案系統連接到 AWS 平行運算服務 (AWS PCS) 運算節點群組中啟動的節點,以提供可寫入和存取資料和檔案的持久性位置。您可以使用 AWS 服務提供的檔案系統,包括 Amazon Elastic File System (Amazon EFS)、Amazon FSx for OpenZFS、Amazon FSx for Lustre 和 Amazon File Cache。您也可以使用自我管理的檔案系統,例如 NFS 伺服器。
本主題涵蓋將網路檔案系統與 AWS PCS 搭配使用的考量和範例。
使用網路檔案系統的考量事項
各種檔案系統的實作詳細資訊不同,但有一些常見的考量。
-
相關檔案系統軟體必須安裝在執行個體上。例如,若要使用 Amazon FSx for Lustre,Lustre 套件應該存在。這可以透過在運算節點群組 AMI 中或使用執行個體開機時執行的指令碼來完成。
-
共用網路檔案系統和運算節點群組執行個體之間必須有一個網路路由。
-
共用網路檔案系統和運算節點群組執行個體的安全群組規則都必須允許連線至相關連接埠。
-
您必須維持一致的 POSIX 使用者和群組命名空間,跨存取檔案系統的資源。否則,在 PCS 叢集上執行的任務和互動式程序可能會遇到許可錯誤。
-
檔案系統掛載使用 完成 EC2 啟動範本。安裝網路檔案系統的錯誤或逾時可能會阻止執行個體能夠執行任務。這反過來可能會導致意外的成本。如需有關偵錯啟動範本的詳細資訊,請參閱 將 Amazon EC2 啟動範本與 AWS PCS 搭配使用。
網路掛載範例
您可以使用 Amazon EFS、Amazon FSx for Lustre、Amazon FSx for OpenZFS 和 Amazon File Cache 建立檔案系統。展開下面的相關區段,以查看每個網路掛載的範例。
檔案系統設定
建立 Amazon EFS 檔案系統。請確定在每個您要啟動 PCS 運算節點群組執行個體的可用區域中,都有掛載目標。同時確保每個掛載目標都與允許來自 PCS 運算節點群組執行個體的傳入和傳出存取的安全群組相關聯。如需詳細資訊,請參閱 Amazon Elastic File System 使用者指南中的掛載目標和安全群組。
啟動範本
將安全群組 (從您的檔案系統設定) 新增至您將用於運算節點群組的啟動範本。
包含使用 cloud-config
機制掛載 Amazon EFS 檔案系統的使用者資料。使用您自己的詳細資訊取代此指令碼中的下列值:
-
– 您要掛載 Amazon EFS 的每個執行個體上的路徑mount-point-directory
-
– EFS 檔案系統的檔案系統 IDfilesystem-id
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-efs-utils runcmd: - mkdir -p /
mount-point-directory
- echo "filesystem-id
:/ /mount-point-directory
efs tls,_netdev" >> /etc/fstab - mount -a -t efs defaults --==MYBOUNDARY==--
檔案系統設定
在您將使用 FSx 的 VPC 中建立 AWS PCS for Lustre 檔案系統。若要將區域間傳輸降至最低,請在相同可用區域中的子網路中部署,在該區域中,您將啟動大部分的 PCS 運算節點群組執行個體。確保檔案系統與允許來自 PCS 運算節點群組執行個體的傳入和傳出存取的安全群組相關聯。如需安全群組的詳細資訊,請參閱 Amazon VPC for Lustre 使用者指南中的使用 Amazon Word 檔案系統存取控制。 FSx
啟動範本
包含用於cloud-config
掛載 FSx for Lustre 檔案系統的使用者資料。使用您自己的詳細資訊取代此指令碼中的下列值:
-
– 您想要掛載 FSx for Lustre 之執行個體的路徑mount-point-directory
-
– FSx for Lustre 檔案系統的檔案系統 IDfilesystem-id
-
– FSx for Lustre 檔案系統的掛載名稱mount-name
-
– 部署 FSx for Lustre 檔案系統的 AWS 區域 (必須與 AWS PCS 系統相同)region-code
-
(選用)
– 任何版本的 Lustre FSx for Lustre 支援latest
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" runcmd: - amazon-linux-extras install -y lustre=
latest
- mkdir -p /mount-point-directory
- mount -t lustrefilesystem-id
.fsx.region-code
.amazonaws.com@tcp:/mount-name
/mount-point-directory
--==MYBOUNDARY==
檔案系統設定
在您將使用 FSx 的 VPC 中建立 Word for Open AWS PCSZFS 檔案系統。若要將跨區域傳輸降至最低,請在相同可用區域中的子網路中部署,在該子網路中您將啟動大部分的 AWS PCS 運算節點群組執行個體。確保檔案系統與允許來自 AWS PCS 運算節點群組執行個體的傳入和傳出存取的安全群組相關聯。如需安全群組的詳細資訊,請參閱 Word for OpenVPC 使用者指南中的使用 Amazon Word 管理檔案系統存取。 FSx ZFS
啟動範本
包含用於cloud-config
掛載 FSx for OpenZFS 檔案系統根磁碟區的使用者資料。使用您自己的詳細資訊取代此指令碼中的下列值:
-
– 您想要掛載 FSx for OpenZFS 共用的執行個體路徑mount-point-directory
-
– FSx for OpenZFS 檔案系統的檔案系統 IDfilesystem-id
-
– 部署 FSx for OpenZFS 檔案系統的 AWS 區域 (必須與 AWS PCS 系統相同)region-code
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" runcmd: - mkdir -p /
mount-point-directory
- mount -t nfs -o noatime,nfsvers=4.2,sync,rsize=1048576,wsize=1048576filesystem-id
.fsx.region-code
.amazonaws.com:/fsx/ /mount-point-directory
--==MYBOUNDARY==
檔案系統設定
在您將使用Word的 VPC 中建立 Amazon File Cache AWS PCS。若要將區域間傳輸降至最低,請在相同的可用區域中選擇子網路,在該區域中,您將啟動大部分的 PCS 運算節點群組執行個體。確保 File Cache 與安全群組相關聯,該安全群組允許 PCS 執行個體和 File Cache 之間連接埠 988 上的傳入和傳出流量。如需安全群組的詳細資訊,請參閱 Amazon File Cache 使用者指南中的使用 Amazon VPC 快取存取控制。
啟動範本
將安全群組 (從您的檔案系統設定) 新增至您將用於運算節點群組的啟動範本。
包含cloud-config
用於掛載 Amazon File Cache 的使用者資料。使用您自己的詳細資訊取代此指令碼中的下列值:
-
– 您想要掛載 FSx for Lustre 之執行個體的路徑mount-point-directory
-
– 檔案快取的網域名稱系統 (DNS) 名稱cache-dns-name
-
– 檔案快取的掛載名稱mount-name
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" runcmd: - amazon-linux-extras install -y lustre=2.12 - mkdir -p /
mount-point-directory
- mount -t lustre -o relatime,flockcache-dns-name
@tcp:/mount-name
/mount-point-directory
--==MYBOUNDARY==