本指南說明如何建立單一 Compute Engine 用戶端,並將其連線至 Google Cloud Managed Lustre 執行個體。Managed Lustre 最多可支援 20,000 個用戶端連線。
如要提升效能,請在與 Managed Lustre 執行個體相同的區域中,建立用戶端 Compute Engine VM。
所需權限
您必須具備下列 IAM 角色:
Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1) 建立 Compute Engine VM。Compute 管理員 (
roles/compute.admin) 或 Compute 安全管理員 (roles/compute.securityAdmin) 建立防火牆規則。受 IAP 保護的通道使用者 (
roles/iap.tunnelResourceAccessor) 透過 Identity-Aware Proxy,以 SSH 連線至 Compute Engine VM。
如要查看各角色授予的完整權限清單,請參閱 IAM 角色參考資料。
限制
Managed Lustre 無法掛接至受防護的 VM。
建立 Compute Engine VM
請按照說明,使用下列其中一個 Google Cloud 映像檔系列建立 Compute Engine VM:
- Rocky Linux 8
- Rocky Linux 9
- Red Hat Enterprise Linux (RHEL) 9
- Ubuntu 20.04 LTS,版本 20250213 以上。請注意,Ubuntu 20.04 已終止支援 (EOS),因此無法從 Google Cloud 控制台選取。
- Ubuntu 22.04 LTS,v20250128 以上版本
- Ubuntu 24.04 LTS,僅適用於 Arm VM。
如果您執行的是自訂 Ubuntu 22.04 或 24.04 核心,系統支援 DKMS。
機器類型和網路
您可以選擇任何機型和開機磁碟。建議至少使用 c2-standard-4 機型。
網路處理量可能會受到所選機型影響。一般來說,如要獲得最佳處理量,請採取下列做法:
- 增加 vCPU 數量。每個執行個體的輸出頻寬上限通常為每個 vCPU 2 Gbps,最高可達機型上限。
- 選取支援較高輸入和輸出限制的機器系列。舉例來說,使用 Tier_1 網路的 C2 執行個體最多可支援 100 Gbps 的輸出頻寬。搭載 Tier_1 網路的 C3 執行個體最高支援 200 Gbps。
- 使用較大的機器類型,啟用各個 VM 的 Tier_1 網路效能。
- 選取具有多個實體網路介面卡 (NIC) 的機器系列,以匯總網路頻寬。實體 NIC 必須附加至一般 VPC,而非具有 RDMA 網路設定檔的 VPC,才能增加頻寬。詳情請參閱「網路和 GPU 機器」。
詳情請參閱「網路頻寬」。
建立 VM
Google Cloud 控制台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
選取您的專案並點選 [繼續]。
點選「建立執行個體」。
在「Name」(名稱) 中輸入 VM 名稱。詳情請參閱資源命名慣例。
從下拉式選單中,選取這個 VM 的「Region」(地區) 和「Zone」(區域)。 VM 應與 Managed Lustre 執行個體位於相同區域。
從清單中選取 VM 的「Machine configuration」(機器設定)。
點選左側導覽列中的「OS 和儲存空間」。
在「作業系統和儲存空間」下方,點選「變更」。
從「作業系統」下拉式選單中,選取下列其中一個選項:
- 適用於 Rocky 8 的 HPC VM 映像檔
- 適用於 Rocky 9 的 Rocky Linux
- RHEL 9 適用的 Red Hat Enterprise Linux
- Ubuntu (適用於 Ubuntu 22.04 LTS 或 24.04 LTS)
從「Version」(版本) 下拉式選單中,選取下列其中一個選項:
- HPC Rocky Linux 8
- Rocky Linux 9
- Red Hat Enterprise Linux 9
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS
請選取 x86/64 或 Arm64 版本,以符合機器類型。Ubuntu 24.04 LTS 僅支援 Arm VM。
如要確認開機磁碟選項,請按一下「Select」(選取)。
按一下左側導覽列中的「網路」。
(選用) 如果是多重網路介面卡,請按一下「新增網路介面」,然後選取相同的虛擬私有雲網路和不同的子網路 (例如
SUBNET_NAME_2)。(選用) 如要啟用 Tier 1 網路,請在「網路效能設定」下方,將「網路頻寬層級」設為「Tier 1」。
按一下左側導覽列中的「安全性」。
在 [Access scopes] (存取權範圍) 下,選取 [Allow full access to all Cloud APIs] (允許所有 Cloud API 的完整存取權)。
按一下左側導覽面板中的「進階」。
在「自動化」下方,於「開機指令碼」欄位中輸入以下內容:
#!/bin/bash sudo apt-get update sudo apt-get install -y lustre-client-modules-$(uname -r)如果 Ubuntu 核心升級,這個指令碼可確保 Lustre 用戶端套件更新。
如要建立並啟動 VM,請按一下 [Create] (建立)。
gcloud
使用 gcloud 指令列工具建立 VM:
HPC Rocky Linux 8
使用 gcloud compute instances create 指令建立 VM。執行指令前,您可以更新機型和任何磁碟規格。
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--scopes="https://www.googleapis.com/auth/cloud-platform" \
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=cloud-hpc-image-public,image-family=hpc-rocky-linux-8,\
mode=rw,size=100,type=pd-balanced
如果 Compute Engine 機型有多個實體網路介面卡 (NIC),請將每個 NIC 指派給子網路。這樣一來,您就能匯總多個網路介面之間的頻寬。
如要這麼做,請為每個額外的 NIC 新增 --network-interface 標記,並指定不同的子網路。詳情請參閱「為多重 NIC 建立額外的子網路」。
... --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \ --network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \ ...
Rocky Linux 9
使用 gcloud compute instances create 指令建立 VM。執行指令前,您可以更新機型和任何磁碟規格。
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--scopes="https://www.googleapis.com/auth/cloud-platform" \
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=rocky-linux-cloud,image-family=rocky-linux-9,\
mode=rw,size=100,type=pd-balanced
如果 Compute Engine 機型有多個實體網路介面卡 (NIC),請將每個 NIC 指派給子網路。這樣一來,您就能匯總多個網路介面之間的頻寬。
如要這麼做,請為每個額外的 NIC 新增 --network-interface 標記,並指定不同的子網路。詳情請參閱「為多重 NIC 建立額外的子網路」。
... --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \ --network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \ ...
RHEL 9
使用 gcloud compute instances create 指令建立 VM。執行指令前,您可以更新機型和任何磁碟規格。
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--scopes="https://www.googleapis.com/auth/cloud-platform" \
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=rhel-cloud,image-family=rhel-9,\
mode=rw,size=100,type=pd-balanced
如果 Compute Engine 機型有多個實體網路介面卡 (NIC),請將每個 NIC 指派給子網路。這樣一來,您就能匯總多個網路介面之間的頻寬。
如要這麼做,請為每個額外的 NIC 新增 --network-interface 標記,並指定不同的子網路。詳情請參閱「為多重 NIC 建立額外的子網路」。
... --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \ --network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \ ...
Ubuntu 20.04 LTS
使用 gcloud compute instances create 指令建立 VM。執行指令前,您可以更新機型和任何磁碟規格。
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--scopes="https://www.googleapis.com/auth/cloud-platform" \
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20250606,\
mode=rw,size=100,type=pd-balanced \
--metadata=startup-script='#!/bin/bash
sudo apt-get update
sudo apt-get install -y lustre-client-modules-$(uname -r)'
如果 Compute Engine 機型有多個實體網路介面卡 (NIC),請將每個 NIC 指派給子網路。這樣一來,您就能匯總多個網路介面之間的頻寬。
如要這麼做,請為每個額外的 NIC 新增 --network-interface 標記,並指定不同的子網路。詳情請參閱「為多重 NIC 建立額外的子網路」。
... --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \ --network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \ ...
Ubuntu 22.04 LTS
使用 gcloud compute instances create 指令建立 VM。執行指令前,您可以更新機型和任何磁碟規格。
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--scopes="https://www.googleapis.com/auth/cloud-platform" \
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=ubuntu-os-cloud,image-family=ubuntu-2204-lts,\
mode=rw,size=100,type=pd-balanced \
--metadata=startup-script='#!/bin/bash
sudo apt-get update
sudo apt-get install -y lustre-client-modules-$(uname -r)'
如果 Compute Engine 機型有多個實體網路介面卡 (NIC),請將每個 NIC 指派給子網路。這樣一來,您就能匯總多個網路介面之間的頻寬。
如要這麼做,請為每個額外的 NIC 新增 --network-interface 標記,並指定不同的子網路。詳情請參閱「為多重 NIC 建立額外的子網路」。
... --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \ --network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \ ...
Ubuntu 24.04 LTS
使用 gcloud compute instances create 指令建立 VM。
Managed Lustre 僅支援 Arm VM 上的 Ubuntu 24.04 LTS。
執行指令前,您可以更新機型和任何磁碟規格。
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c4a-standard-32 \
--scopes="https://www.googleapis.com/auth/cloud-platform" \
--network-interface=network-tier=PREMIUM,nic-type=GVNIC,stack-type=IPV4_ONLY,subnet=SUBNET_NAME \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=ubuntu-os-cloud,image-family=ubuntu-2404-lts-arm64,mode=rw,size=100,type=hyperdisk-balanced
如果 Compute Engine 機型有多個實體網路介面卡 (NIC),請將每個 NIC 指派給子網路。這樣一來,您就能匯總多個網路介面之間的頻寬。
如要這麼做,請為每個額外的 NIC 新增 --network-interface 標記,並指定不同的子網路。詳情請參閱「為多重 NIC 建立額外的子網路」。
... --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \ --network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \ ...
如要進一步瞭解可用選項,請參閱 Compute Engine 說明文件。
建立允許 SSH 的防火牆規則
如要透過 SSH 連線至 Compute Engine VM,您必須先建立防火牆規則,允許存取 VM 的 TCP 通訊埠 22。
沒有公開 IP 的 VM
透過 SSH 連線至沒有外部 IP 的 VM 時, Google Cloud 控制台的 SSH 按鈕gcloud compute ssh和 Identity-Aware Proxy (IAP) 都會用於連線。
如要建立這類連線,請按照「建立防火牆規則」一文的說明,建立只允許從 IAP 來源範圍 (一律為 35.235.240.0/20) 傳入流量的防火牆規則。這樣一來,通訊埠 22 不會暴露在網際網路上,安全性更高。
具備公開 IP 的 VM
如果您已將公開 IP 指派給 Compute Engine VM,Google Cloud 控制台的 SSH 按鈕可能會嘗試直接連線,略過 IAP。
這個直接連線的來源 IP 並非 IAP 範圍,而是 Google IP 位址集區中的其中一個。如要允許這項連線,需要較廣泛的來源位址範圍,例如 0.0.0.0/0 (任何來源)。
如果 VM 具有公開 IP,建議您設定防火牆規則,只允許來自 IAP 範圍 (35.235.240.0/20) 的 SSH 連線。然後使用 gcloud compute ssh 連線,並指定 --tunnel-through-iap 旗標。
如要指派公開 IP 並從 Google Cloud 控制台連線,請將來源 IPv4 範圍的值指定為 0.0.0.0/0。
建立防火牆規則
Google Cloud 控制台
建立允許 SSH 的防火牆規則。
前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。
點按「建立防火牆規則」。
輸入規則的「Name」(名稱)。
在「Network」(網路) 中,選取您先前建立的虛擬私有雲網路。
選取「Ingress」(輸入) 做為「Direction of traffic」(流量方向),並選取「Allow」(允許) 做為「Action on match」(相符時執行的動作)。
從「Targets」(目標) 下拉式選單中,選取「All instances in the network」(網路中的所有執行個體)。
在「Source IPv4 ranges」(來源 IPv4 範圍) 欄位中輸入
35.235.240.0/20。在「Protocols and ports」(通訊協定和通訊埠) 中,選取「Specified protocols and ports」(指定的通訊協定和通訊埠)。
選取「TCP」,然後在「Ports」欄位中輸入
22。點選「建立」。
gcloud
建立允許 SSH 的防火牆規則。
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--allow=tcp:22 \
--network=NETWORK_NAME \
--source-ranges=35.235.240.0/20 \
--project=PROJECT_ID
透過 SSH 連線至 Compute Engine VM
建立防火牆規則後,您就可以透過 SSH 連線至 VM:
Google Cloud 控制台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
在執行個體表格中找到執行個體的資料列,然後按一下「Connect」(連線) 欄中的「SSH」。
如果系統提示您授權,請點選「授權」,允許連線。
gcloud
gcloud compute ssh VM_NAME \
--zone=LOCATION \
--project=PROJECT_ID \
--tunnel-through-iap
安裝 Lustre 用戶端套件
Lustre 用戶端套件會託管在 Artifact Registry 的 lustre-client-binaries 專案中。
設定存放區的存取權
如要設定 VM 從 Artifact Registry 安裝,請按照這些操作說明進行。
HPC Rocky Linux 8
執行 gcloud beta artifacts print-settings,並將輸出內容透過管道傳送至 bash,以執行必要指令:
gcloud beta artifacts print-settings yum \
--repository=lustre-client-rocky-8 \
--location=us --project=lustre-client-binaries | sudo bash
Rocky Linux 9
執行 gcloud beta artifacts print-settings,並將輸出內容透過管道傳送至 bash,以執行必要指令:
gcloud beta artifacts print-settings yum \
--repository=lustre-client-rocky-9 \
--location=us --project=lustre-client-binaries | sudo bash
RHEL 9
執行 gcloud beta artifacts print-settings,並將輸出內容透過管道傳送至 bash,以執行必要指令:
gcloud beta artifacts print-settings yum \
--repository=lustre-client-rocky-9 \
--location=us --project=lustre-client-binaries | sudo bash
RHEL 9 使用與 Rocky Linux 9 相同的 lustre-client-rocky-9 存放區。
Ubuntu 20.04 LTS
安裝 Apt 存放區簽署金鑰:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg設定 VM 以存取 Artifact Registry 套件:
echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \ | sudo tee /etc/apt/sources.list.d/artifact-registry.list更新 Apt 並安裝
apt-transport-artifact-registry套件:sudo apt update && sudo apt install apt-transport-artifact-registry設定 Apt 從存放區擷取套件:
echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-binaries lustre-client-ubuntu-focal main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list更新存放區來源:
sudo apt update如果指令傳回錯誤,請確認您建立 Compute Engine VM 時使用的存取權範圍允許完整存取所有 Cloud API。詳情請參閱授予 Compute Engine 執行個體存取權。
如要進一步瞭解這些指令,請參閱 Artifact Registry 說明文件:設定 VM 以安裝 Debian 套件。
Ubuntu 22.04 LTS
安裝 Apt 存放區簽署金鑰:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg設定 VM 以存取 Artifact Registry 套件:
echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \ | sudo tee /etc/apt/sources.list.d/artifact-registry.list更新 Apt 並安裝
apt-transport-artifact-registry套件:sudo apt update && sudo apt install apt-transport-artifact-registry設定 Apt 從存放區擷取套件:
echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-binaries lustre-client-ubuntu-jammy main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list更新存放區來源:
sudo apt update如果指令傳回錯誤,請確認您建立 Compute Engine VM 時使用的存取權範圍允許完整存取所有 Cloud API。詳情請參閱授予 Compute Engine 執行個體存取權。
如要進一步瞭解這些指令,請參閱 Artifact Registry 說明文件:設定 VM 以安裝 Debian 套件。
Ubuntu 24.04 LTS
安裝 Apt 存放區簽署金鑰:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg設定 VM 以存取 Artifact Registry 套件:
echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \ | sudo tee /etc/apt/sources.list.d/artifact-registry.list更新 Apt 並安裝
apt-transport-artifact-registry套件:sudo apt update && sudo apt install apt-transport-artifact-registry設定 Apt 從存放區擷取套件:
echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-binaries lustre-client-ubuntu-noble main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list更新存放區來源:
sudo apt update如果指令傳回錯誤,請確認您建立 Compute Engine VM 時使用的存取權範圍允許完整存取所有 Cloud API。詳情請參閱授予 Compute Engine 執行個體存取權。
如要進一步瞭解這些指令,請參閱 Artifact Registry 說明文件:設定 VM 以安裝 Debian 套件。
安裝 Lustre 用戶端套件
按照操作說明安裝 Lustre 用戶端套件。
HPC Rocky Linux 8
sudo yum -y --enablerepo=lustre-client-rocky-8 install kmod-lustre-client
sudo yum -y --enablerepo=lustre-client-rocky-8 install lustre-client
Rocky Linux 9
sudo yum -y --enablerepo=lustre-client-rocky-9 install kmod-lustre-client
sudo yum -y --enablerepo=lustre-client-rocky-9 install lustre-client
RHEL 9
sudo yum -y --enablerepo=lustre-client-rocky-9 install kmod-lustre-client
sudo yum -y --enablerepo=lustre-client-rocky-9 install lustre-client
Ubuntu 20.04 LTS
執行下列指令。
sudo apt install lustre-client-modules-$(uname -r)/lustre-client-ubuntu-focal
sudo apt install lustre-client-utils/lustre-client-ubuntu-focal
Lustre 用戶端套件與核心版本相關。如果您在建立 Compute Engine 執行個體時未加入開機指令碼,且 Ubuntu 核心版本因自動更新而變更,則必須重新執行這些指令,才能下載適當的 Lustre 用戶端套件。
Ubuntu 22.04 LTS
執行下列指令。
sudo apt install lustre-client-modules-$(uname -r)/lustre-client-ubuntu-jammy
sudo apt install lustre-client-utils/lustre-client-ubuntu-jammy
Lustre 用戶端套件與核心版本相關。如果 Ubuntu 核心版本因自動核心更新而變更,您必須重新執行這些指令,才能下載適當的 Lustre 用戶端套件。
Ubuntu 24.04 LTS
執行下列指令。
sudo apt install lustre-client-modules-$(uname -r)/lustre-client-ubuntu-noble
sudo apt install lustre-client-utils/lustre-client-ubuntu-noble
Lustre 用戶端套件與核心版本相關。如果您在建立 Compute Engine 執行個體時未加入開機指令碼,且 Ubuntu 核心版本因自動更新而變更,則必須重新執行這些指令,才能下載適當的 Lustre 用戶端套件。
載入 Lustre 核心模組
安裝用戶端套件後,請按照下列操作說明載入 Lustre 核心模組。
標準設定
執行下列指令:
sudo modprobe lustre
多重 NIC 設定
如果 VM 有多個 NIC,且每個 NIC 都連線至不同的子網路,您必須先設定 LNet 使用這些 NIC,才能載入模組。
建立或修改
/etc/modprobe.d/lustre.conf檔案:options lnet networks="tcp0(eth0, eth1)"這個範例假設 VM 上的介面名為
eth0和eth1。請將這些名稱替換為正確的對應介面名稱。您可以執行ip address指令,查看介面名稱。載入模組:
sudo modprobe lustre(選用) 驗證 TCP 調整作業。執行下列指令:
sudo lctl list_nids輸出內容會顯示兩個 NIC。
(選用) 為 gke-support-enabled 執行個體設定 LNet
本節僅適用於連線至 Managed Lustre 執行個體,並指定 --gke-support-enabled 的 Compute Engine 用戶端。
如果您的 Managed Lustre 執行個體不是使用 GKE 支援選項建立,請略過本節。
將 LNet 設為使用 accept_port 6988
如果 Managed Lustre 執行個體的 --gke-support-enabled 設為 true,且您是從 Compute Engine VM 連線:
- 建立或編輯「
/etc/modprobe.d/lnet.conf」。 - 新增下列程式碼:
options lnet accept_port=6988
- 重新啟動 VM:
sudo reboot
掛接 Managed Lustre 執行個體
掛接 Managed Lustre 執行個體。
如要快速掛接,且不需要在重新啟動後保留掛接狀態,請使用
mount指令。如要在每次 VM 啟動時自動掛接,請使用
/etc/fstab選項。
無論是哪種情況,您都必須先建立要當做掛接點的目錄,才能執行指令。
如要擷取執行個體的 IP 位址和檔案系統名稱,請使用 gcloud lustre instances describe 指令,或前往 Google Cloud 控制台的「Instances」(執行個體) 頁面。
gcloud lustre instances describe INSTANCE_NAME \
--location=ZONE
mount
在 Compute Engine VM 的指令列中,使用 mount 指令手動掛接 Managed Lustre 執行個體:
sudo mkdir -p ~/MOUNT_DIR
sudo mount -t lustre IP_ADDRESS:/FILESYSTEM_NAME ~/MOUNT_DIR
其中:
IP_ADDRESS 是 Managed Lustre 執行個體的 IP 位址。
FILESYSTEM_NAME 是執行個體檔案系統的名稱。
~/MOUNT_DIR 是您建立的本機掛接點目錄。
/etc/fstab
在 Compute Engine VM 的指令列中:
為掛接點建立本機目錄:
sudo mkdir -p ~/MOUNT_DIR開啟
/etc/fstab檔案進行編輯,並新增下列程式碼:IP_ADDRESS@tcp:/FILESYSTEM_NAME ~/MOUNT_DIR lustre defaults,_netdev 0 0其中:
IP_ADDRESS 是 Managed Lustre 執行個體的 IP 位址。
FILESYSTEM_NAME 是執行個體檔案系統的名稱。
~/MOUNT_DIR 是您建立的本機掛接點目錄。
lustre defaults,_netdev 0 0是建議的掛接選項:lustre將檔案系統類型指定為 Lustre。defaults會使用預設的掛接選項集。_netdev會指示系統等待網路連線,再嘗試掛接檔案系統。0 0可控制傾印和檔案系統檢查順序。
儲存並結束
/etc/fstab檔案。執行下列指令,掛接
/etc/fstab中列出的所有檔案系統:sudo mount -a
Managed Lustre 執行個體現已掛接。每次 Compute Engine VM 啟動時,系統都會自動掛接該磁碟。
如果掛接指令失敗,請參閱疑難排解操作說明,診斷問題。
進階網路設定
以下各節說明進階網路設定。
使用次要 NIC
如果您使用具有多個 NIC 的 Compute Engine 執行個體次要 NIC,掛接 Managed Lustre 執行個體,請按照下列操作說明進行。
請注意,這與多重 NIC 不同。
設定 LNET,使用正確的 NIC。
將
/etc/lnet.conf的內容複製到 VM 上名為/etc/modprobe.d/lustre.conf的檔案。在檔案中附加下列這行文字,並將eth1替換為次要 NIC 的名稱:options lnet networks="tcp0(eth1)"重新載入 Lustre 核心模組:
lustre_rmmod modprobe lustre確認 LNET 已設定為使用第二個 NIC。下列指令的輸出內容應為第二個 NIC:
lctl list_nids透過次要 NIC 的閘道,將靜態路由新增至 Managed Lustre 執行個體的 CIDR 區塊。
如要找出次要 NIC 的閘道,請執行
route指令。如要找出 Managed Lustre 執行個體的 CIDR 區塊,請按照下列步驟操作:
- 執行
gcloud lustre instances describe指令,取得執行個體詳細資料。 - 取得
mountPoint欄位中提供的地址。 - 將 IP 位址轉換為包含該位址的 CIDR 區塊,大小為 23。
- 執行
舉例來說,如果 Managed Lustre 執行個體的 CIDR 區塊為
172.16.0.0/24,次要 NIC 為eth1,閘道為10.130.0.1,請執行下列指令:ip route add 172.16.0.0/24 via 10.130.0.1 dev eth1請注意,如果 Compute Engine 執行個體重新啟動,新增的路由將不會保留。如何讓該設定持續生效,取決於您使用的特定 OS 系列。
多 NIC 轉送
您必須手動設定路由,才能確保多 NIC Compute Engine 執行個體正確使用額外的介面。
下列步驟說明如何設定 eth1 介面。針對 VM 上的每個額外 NIC (例如 eth2、eth3 等),重複執行這些步驟。
設定網路介面名稱,然後取得其內部 IP 位址,並計算對應的閘道 IP。閘道是介面子網路的
.1位址。IFACE="eth1" IFACE_IP=$(ip -4 addr show ${IFACE} | grep -oP '(?<=inet\s)\d+(\.\d+){3}') GATEWAY_IP=$(echo ${IFACE_IP} | awk -F. '{print $1"."$2"."$3".1"}')取得 Managed Lustre 執行個體的 IP 範圍:
LUSTRE_CIDR=$(gcloud compute instances describe INSTANCE_NAME --zone=ZONE \ --format='value(networkInterfaces[0].networkIP)')/23為介面建立專屬的路由表,並套用流量規則:
sudo tee -a /etc/iproute2/rt_tables <<< "100 ${IFACE}_table" sudo ip route add ${LUSTRE_CIDR} via ${GATEWAY_IP} dev ${IFACE} table ${IFACE}_table sudo ip rule add from ${IFACE_IP} table ${IFACE}_table
存取 Managed Lustre 執行個體
您的 Managed Lustre 執行個體現在已掛接至 Compute Engine VM,並可使用標準 POSIX 語法讀取/寫入,但部分情況除外。
執行下列指令,檢查已掛接的目錄:
sudo lfs df -h ~/MOUNT_DIR
您可以使用下列指令測試檔案複製和寫入作業:
# sample file copy/file write
sudo dd if=/dev/zero of=~/MOUNT_DIR/bigfile1 bs=1M count=8000
sudo dd if=/dev/urandom of=~/MOUNT_DIR/bigfile1 bs=1M count=1000
如要確認磁碟空間用量,請按照下列步驟操作:
sudo lfs df -h ~/MOUNT_DIR
卸載執行個體
您可以使用下列指令解除掛接 Managed Lustre 執行個體:
sudo umount ~/MOUNT_DIR