このガイドでは、単一の Compute Engine クライアントを作成して Google Cloud Managed Lustre インスタンスに接続する手順について説明します。Managed Lustre は、最大 20,000 台のクライアントからの接続をサポートします。
パフォーマンスを向上させるには、クライアントの Compute Engine VM を Managed Lustre インスタンスと同じゾーンに作成する必要があります。
必要な権限
次の IAM ロールが必要です。
Compute Engine VM を作成する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1)。ファイアウォール ルールを作成する Compute 管理者(
roles/compute.admin)または Compute セキュリティ管理者(roles/compute.securityAdmin)。Identity-Aware Proxy を使用して Compute Engine VM に SSH 接続する IAP で保護されたトンネル ユーザー(
roles/iap.tunnelResourceAccessor)。
各ロールによって付与される権限の一覧については、IAM ロールのリファレンスをご覧ください。
制限事項
Managed Lustre は Shielded 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、v20250213 以降。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 を RDMA ネットワーク プロファイルを持つ VPC ではなく、通常の VPC に接続する必要があります。詳細については、ネットワーキングと GPU マシンをご覧ください。
詳細については、ネットワーク帯域幅をご覧ください。
VM を作成する
Google Cloud コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
[名前] に VM の名前を入力します。詳細については、リソースの命名規則をご覧ください。
この VM のプルダウン メニューから [リージョン] と [ゾーン] を選択します。VM は、Managed Lustre インスタンスと同じゾーンに存在する必要があります。
リストから VM のマシン構成を選択します。
左側のナビゲーションで [OS とストレージ] をクリックします。
[オペレーティング システムとストレージ] で、[変更] をクリックします。
[オペレーティング システム] プルダウンから、次のいずれかを選択します。
- Rocky 8 用の HPC VM イメージ
- Rocky 9 用の Rocky Linux
- RHEL 9 の Red Hat Enterprise Linux
- Ubuntu 22.04 LTS または 24.04 LTS の Ubuntu
[バージョン] プルダウンから、次のいずれかを選択します。
- 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 でのみサポートされています。
ブートディスクのオプションを確認するには、[選択] をクリックします。
左側のナビゲーションで、[ネットワーキング] をクリックします。
VPC ネットワークを構成するで作成した VPC ネットワークと、プライマリ サブネット(
SUBNET_NAME)をプライマリ インターフェースとして選択します。(省略可)マルチ NIC の場合は、[ネットワーク インターフェースを追加] をクリックし、同じ VPC ネットワークと別のサブネット(
SUBNET_NAME_2など)を選択します。(省略可)Tier 1 ネットワーキングを有効にするには、[ネットワーク パフォーマンス構成] で [ネットワーク帯域幅階層] を [Tier 1] に設定します。
左側のナビゲーションで [セキュリティ] をクリックします。
[アクセス スコープ] で [すべての Cloud API に完全アクセス権を許可] を選択します。
左側のナビゲーションで [詳細設定] をクリックします。
[自動化] の [起動スクリプト] フィールドに、次を入力します。
#!/bin/bash sudo apt-get update sudo apt-get install -y lustre-client-modules-$(uname -r)このスクリプトにより、Ubuntu カーネルがアップグレードされた場合に Lustre クライアント パッケージが更新されます。
VM を作成して起動するには、[作成] をクリックします。
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 を許可するファイアウォール ルールを作成する
Compute Engine VM に SSH 接続するには、まず VM の TCP ポート 22 へのアクセスを許可するファイアウォール ルールを作成する必要があります。
パブリック IP のない VM
外部 IP のない VM に SSH 接続する場合、 Google Cloud コンソールの [SSH] ボタンと gcloud compute ssh の両方で Identity-Aware Proxy(IAP)を使用して接続します。
これらの接続については、ファイアウォール ルールを作成するの手順に沿って、IAP 送信元範囲(常に 35.235.240.0/20)からの上り(内向き)のみを許可するファイアウォール ルールを作成します。これにより、ポート 22 が広範なインターネットに公開されないため、セキュリティが強化されます。
パブリック IP を持つ VM
Compute Engine VM にパブリック IP を割り当てている場合、Google Cloud コンソールの SSH ボタンは、IAP をバイパスして直接接続を試みる可能性があります。
この直接接続の送信元 IP は IAP 範囲ではなく、Google IP アドレスの大きなプールの一つです。この接続を許可するには、より広範な送信元アドレス範囲(0.0.0.0/0(任意の送信元)など)が必要です。
VM にパブリック IP がある場合は、IAP 範囲(35.235.240.0/20)からの SSH のみを許可するようにファイアウォール ルールを構成することをおすすめします。次に、--tunnel-through-iap フラグを指定して gcloud compute ssh を使用して接続します。
パブリック IP を割り当て、 Google Cloud コンソールから接続する必要がある場合は、送信元 IPv4 範囲の値として 0.0.0.0/0 を指定します。
ファイアウォール ルールを作成する
Google Cloud コンソール
SSH を許可するファイアウォール ルールを作成します。
Google Cloud コンソールで、[ファイアウォール ポリシー] ページに移動します。
[ファイアウォール ルールを作成] をクリックします。
ルールの名前を入力します。
[ネットワーク] で、先ほど作成した VPC ネットワークを選択します。
[トラフィックの方向] に [上り] を選択し、[一致したときのアクション] に [許可] を選択します。
[ターゲット] プルダウンで、[ネットワーク上のすべてのインスタンス] を選択します。
[送信元 IPv4 範囲] フィールドに「
35.235.240.0/20」と入力します。[プロトコルとポート] で [指定したプロトコルとポート] を選択します。
[TCP] を選択し、[ポート] フィールドに「
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
Compute Engine VM に SSH 接続する
ファイアウォール ルールを作成したら、VM に SSH 接続できます。
Google Cloud コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
インスタンスの表で、インスタンスの行を見つけて、[接続] というタイトルの列の [SSH] をクリックします。
承認を求められたら、[承認] をクリックして接続を許可します。
gcloud
gcloud compute ssh VM_NAME \
--zone=LOCATION \
--project=PROJECT_ID \
--tunnel-through-iap
Lustre クライアント パッケージをインストールする
Lustre クライアント パッケージは、Artifact Registry の lustre-client-binaries プロジェクトでホストされています。
リポジトリへのアクセスを構成する
Artifact Registry からインストールするように VM を構成する手順は次のとおりです。
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.gpgArtifact Registry パッケージにアクセスするように VM を構成します。
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.listApt を更新して
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コマンドがエラーを返す場合は、すべての Cloud API への完全アクセスを許可するアクセス スコープで Compute Engine VM が作成されていることを確認します。詳細については、Compute Engine インスタンスへのアクセス権の付与をご覧ください。
これらのコマンドの詳細については、Artifact Registry のドキュメントの Debian パッケージをインストールするように VM を構成するをご覧ください。
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.gpgArtifact Registry パッケージにアクセスするように VM を構成します。
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.listApt を更新して
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コマンドがエラーを返す場合は、すべての Cloud API への完全アクセスを許可するアクセス スコープで Compute Engine VM が作成されていることを確認します。詳細については、Compute Engine インスタンスへのアクセス権の付与をご覧ください。
これらのコマンドの詳細については、Artifact Registry のドキュメントの Debian パッケージをインストールするように VM を構成するをご覧ください。
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.gpgArtifact Registry パッケージにアクセスするように VM を構成します。
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.listApt を更新して
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コマンドがエラーを返す場合は、すべての Cloud API への完全アクセスを許可するアクセス スコープで Compute Engine VM が作成されていることを確認します。詳細については、Compute Engine インスタンスへのアクセス権の付与をご覧ください。
これらのコマンドの詳細については、Artifact Registry のドキュメントの Debian パッケージをインストールするように VM を構成するをご覧ください。
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 があり、それぞれが異なるサブネットに接続されている場合は、モジュールを読み込む前に、それらを使用するように LNet を構成する必要があります。
/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 を構成する
このセクションは、--gke-support-enabled が指定された Managed Lustre インスタンスに接続する Compute Engine クライアントにのみ適用されます。
Managed Lustre インスタンスが GKE サポート オプションで作成されていない場合は、このセクションをスキップしてください。
accept_port 6988 を使用するように LNet を構成する
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 コンソールの [インスタンス] ページにアクセスします。
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 を構成します。
/etc/lnet.confの内容を VM の/etc/modprobe.d/lustre.confという名前のファイルにコピーします。次の行をファイルに追加します。eth1はセカンダリ NIC の名前に置き換えます。options lnet networks="tcp0(eth1)"Lustre カーネル モジュールを再読み込みします。
lustre_rmmod modprobe lustreLNET が 2 番目の NIC を使用するように構成されていることを確認します。次のコマンドの出力は、2 番目の NIC になります。
lctl list_nidsセカンダリ NIC のゲートウェイを介して、Managed Lustre インスタンスの CIDR ブロックに静的ルートを追加します。
セカンダリ NIC のゲートウェイを確認するには、
routeコマンドを実行します。Managed Lustre インスタンスの CIDR ブロックを見つけるには:
gcloud lustre instances describeコマンドを実行して、インスタンスの詳細を取得します。mountPointフィールドに指定されたアドレスを取得します。- IP アドレスを、サイズが 23 の IP アドレスを含む CIDR ブロックに変換します。
たとえば、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