組織でカスタム カーネルを使用している場合や、特定の環境構成が必要な場合は、標準の Lustre パッケージが互換性がない可能性があります。
このような場合、Managed Lustre は Dynamic Kernel Module Support(DKMS)をサポートします。DKMS は、ソースコードがメインのカーネルツリーの外にある Linux カーネル モジュールを管理するために使用されるフレームワークです。このコア機能は、新しいカーネルがインストールされたときにこれらのモジュールを自動的に再構築してインストールし、手動で介入しなくても互換性を確保します。
ビルド済みのカーネル モジュールはほとんどのユーザーに推奨されるインストール パスですが、DKMS はカスタム Linux カーネルを使用するユーザー向けの代替手段を提供します。
考慮事項
マネージド Lustre クライアントに Dynamic Kernel Module Support(DKMS)を使用することは、カスタム カーネルとの互換性を必要とし、クライアント側の問題を独自に管理する準備ができている上級ユーザーを対象としています。ビルド済みモジュールとは異なり、DKMS では完全なコンパイラ ツールチェーンと特定のカーネル ヘッダーのインストールが必要になるため、システムのセキュリティ攻撃対象領域とディスク フットプリントが増加します。また、モジュールはオンデマンドでコンパイルされるため、クライアント VM の起動時間が大幅に長くなることや、カーネルの更新中にコンパイルが失敗する可能性があることを考慮する必要があります。
対応プラットフォーム
Managed Lustre は、次の DKMS クライアント パッケージをサポートしています。
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS(Arm VM のみ)。
要件
DKMS を使用するには、システムに次のものが含まれている必要があります。
カーネル モジュールのコンパイルに必要なコンパイラ パッケージがすべて含まれています。これはディストリビューション固有です。
特定のカーネルのヘッダー。カスタム カーネルの場合は、DKMS サービスを手動でヘッダーの場所に指定する必要があります。
DKMS は Shielded VM ではサポートされていません。
DKMS とヘッダーをインストールする
Managed Lustre DKMS パッケージをインストールする前に、dkms パッケージとシステムに適した Linux カーネル ヘッダーをインストールする必要があります。カーネル ヘッダーのバージョンは、実行しているカーネルのバージョンと完全に一致している必要があります。
標準の Ubuntu カーネルの場合
Ubuntu が提供する標準カーネルを使用している場合は、通常、次のコマンドを実行して必要なパッケージをインストールできます。
sudo apt update
sudo apt install dkms linux-headers-$(uname -r)
非標準またはカスタムのカーネルの場合
カスタム カーネルを使用している場合は、正しいカーネル ヘッダーを取得してインストールする必要があります。
カスタム カーネルのヘッダーをインストールするプロセスは、そのソースによって異なります。次を行う必要があります。
- OS ベンダーのドキュメントを確認する: ベンダーがカーネル ヘッダー用の特定のパッケージまたはリポジトリを提供している場合があります。
- ソースからビルド: カーネルを自分でコンパイルした場合は、カーネル ソースツリーからヘッダーをビルドしてインストールする必要があるかもしれません。
カスタム ヘッダーの場所
DKMS は、/usr/src/linux-headers-$(uname -r) ディレクトリにカーネル ヘッダーがあることを想定しています。uname -r コマンドを実行してカーネル バージョン文字列を取得し、パスを構築します。例: /usr/src/linux-headers-5.15.0-101-generic。
カーネル ヘッダーが想定される場所にインストールされていない場合は、カスタム ヘッダー ディレクトリから DKMS が想定する場所へのシンボリック リンクを作成して、DKMS サービスを手動でその場所に指定する必要があります。
たとえば、ヘッダーが /opt/custom-kernel/headers/ にある場合は、次のコマンドを実行します。
sudo ln -s /opt/custom-kernel/headers/ /usr/src/linux-headers-$(uname -r)
正しいカーネル ヘッダーが適切にインストールされ、DKMS からアクセスできることを確認するのは、ユーザーの責任です。ヘッダーが見つからない場合、DKMS パッケージは Lustre カーネル モジュールのビルドに失敗します。
Managed Lustre DKMS パッケージをインストールする
Managed Lustre DKMS パッケージをインストールする手順は次のとおりです。
リポジトリへのアクセスを構成する
DKMS クライアント パッケージは、Artifact Registry の lustre-client-modules-dkms プロジェクトでホストされています。
Artifact Registry からインストールするように 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-modules-dkms 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-modules-dkms 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 クライアント パッケージをインストールします。
Ubuntu 22.04 LTS
次のコマンドを実行します。
sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-jammy
sudo apt install lustre-client-utils/lustre-client-ubuntu-jammy
Ubuntu 24.04 LTS
次のコマンドを実行します。
sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-noble
sudo apt install lustre-client-utils/lustre-client-ubuntu-noble
このステップではクライアント パッケージがコンパイルされるため、時間がかかることがあります。
Managed Lustre インスタンスをマウントしてアクセスする
Managed Lustre インスタンスをマウントするの手順に沿って操作します。