Lustre File Systemのマウントおよびアクセス

Lustreファイル・システムを使用したファイル・ストレージにアクセスするには、コンピュート・インスタンスまたはOKEノードからマウントする必要があります。ファイル・システムのマウント元のインスタンスで、Lustreクライアントをインストールする必要があります。まず、Lustreクライアント・パッケージをシステムにビルドしてから、Lustreファイル・システムをマウントする必要があるすべてのインスタンスにクライアント・パッケージをインストールします。

クライアント数

Lustreファイル・システムにアクセスするには、コンピュート・インスタンスで実行されているLustreクライアントが必要です。ファイル・システムをマウントするインスタンスのOSと互換性のあるクライアントを構築およびインストールします。Lustreクライアントのサポートが必要な場合は、サポートに連絡してください

Oracle Linux 8または9用のLustreクライアントの構築

Lustreクライアントを1つのシステムに構築し、Lustreファイル・システムをマウントする各インスタンスにクライアント・パッケージをインストールします。

  1. Oracle LinuxでLustreクライアントを使用するには、カーネルをRed Hat Compatible Kernel (RHCK)に変更する必要があります。カーネル・バージョンの切替えについては、Oracle Linuxでのデフォルト・カーネルの変更を参照してください。
  2. リブート後にシステムがRHCKカーネルを実行していることを確認します。
  3. 次のコマンドを使用して、必要なパッケージをインストールします。

    release=$(cat /etc/os-release | grep ^VERSION= |cut -f2 -d\" |cut -f1 -d.)
    sudo dnf config-manager --set-enabled ol${release}_codeready_builder
    sudo dnf config-manager --enable ol${release}_developer_EPEL
    sudo yum-config-manager --enable ol${release}_developer
    sudo yum install git libtool patch pkgconfig libnl3-devel.x86_64 libblkid-devel libuuid-devel rpm-build kernel-rpm-macros kernel-devel kernel-abi-whitelists libmount libmount-devel libyaml-devel
  4. 次のコマンドを使用して、Lustreクライアント・ソース・リポジトリをクローニングし、クライアントをチェックアウトします。

    git clone git://git.whamcloud.com/fs/lustre-release.git lustre-client
    cd lustre-client/
    git checkout tags/2.15.5
  5. クライアントおよびRPMを構築します。現在のディレクトリ内のすべてのLustre RPMは、次のコマンドを使用して構築されます。

    sudo sh autogen.sh
    ./configure --enable-client
    sudo make
    sudo make rpms
    sudo make dkms-rpm
  6. RPMを調べます。

    ls -l *.rpm
  7. 構築した同じインスタンスにLustreクライアントをインストールする場合は、次のコマンドを実行します。

    sudo make install
    sudo depmod
    sudo modprobe lustre

Oracle Linux 8または9用のLustreクライアントのインストールに進みます。

Oracle Linux 8または9用のLustreクライアントのインストール

これらのステップは、Oracle Linux用のLustreクライアントをすでに構築していることを前提としています。

この例では、Lustre Dynamic Kernel Module Support (DKMS)クライアント・パッケージを使用して、異なるカーネル・バージョン間の柔軟性を確保しています。構築したDKMS RPMは、Oracle Linux 8とOracle Linux 9の両方で動作します。ただし、DKMSクライアントを使用している場合は、インストール時にLustreモジュールを構築するか、カーネルをアップグレードする必要があります。Linuxモジュール用の非DKMS kmod-lustre-clientパッケージなど、インストールするRPMを選択できます。

  1. Lustreクライアントをインストールするインスタンスにディレクトリを作成します。たとえば:

    mkdir lustre-rpms
  2. Lustre RPMをコピーします。この例では、次のようなDKMS RPMを使用します。

    lustre-client-2.15.5-1.el8.x86_64.rpm
    lustre-client-dkms-2.15.5-1.el8.noarch.rpm
  3. Oracle LinuxでLustreクライアントを使用するには、カーネルをRed Hat Compatible Kernel (RHCK)に変更する必要があります。カーネル・バージョンの切替えについては、Oracle Linuxでのデフォルト・カーネルの変更を参照してください。
  4. リブート後にシステムがRHCKカーネルを実行していることを確認します。
  5. 依存関係に必要な Linuxリポジトリを有効にし、次のコマンドを使用して依存関係をインストールします。

    release=$(cat /etc/os-release | grep ^VERSION= |cut -f2 -d\" |cut -f1 -d.)
    sudo dnf config-manager --set-enabled ol${release}_codeready_builder
    sudo dnf config-manager --enable ol${release}_developer_EPEL
    sudo yum install dkms libmount-devel libyaml-devel
  6. 次のコマンドを使用して、クライアントRPMをインストールします。

    sudo yum localinstall -y ./*.rpm
  7. 次のコマンドを使用してモジュールをテストします。

    sudo modprobe lustre
    sudo lsmod |grep lustre
  8. Lustreクライアントの準備ができました。システムを再起動してください。

Ubuntu 22.04用のLustreクライアントの構築

Lustreクライアントを1つのシステムに構築し、Lustreファイル・システムをマウントする各インスタンスにクライアント・パッケージをインストールします。

  1. Lustre 2.15.5は Linuxカーネル6と互換性がありません。クライアントには、5.15.xのカーネル・バージョンが必要です。次のコマンドを使用して、OSおよびカーネルのバージョンを確認します。

    cat /etc/os-release
    uname -r

    この例では、使用される互換性のあるカーネル・バージョンは5.15.0-1040-oracleです。

  2. 別のカーネル・バージョンがインストールされている場合は、5.15.0-1040-oracleのサンプル・バージョンを使用する次のコマンドを使用して、必要なカーネル・バージョンおよびカーネル・ヘッダーをインストールします。

    sudo apt-get install linux-image-5.15.0-1040-oracle
    sudo apt-get install linux-headers-5.15.0-1040-oracle
    sudo apt-get install linux-modules-5.15.0-1040-oracle
  3. 次のコマンドを使用してgrubを更新します:

    sudo update-grub
  4. /boot/grub/grub.cfgを調べてカーネル・バージョンのエントリを取得し、次のようにファイル/etc/default/grubのエントリGRUB_DEFAULTを更新します。

    GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1040-oracle'
  5. 次のコマンドを使用してgrubを更新します:

    sudo update-grub
  6. sudo rebootを使用してクライアントを再起動します。リブート後に、正しいカーネルバージョンが実行されていることを確認します。
  7. 次のコマンドを使用して、Lustreクライアント・ソース・リポジトリをクローニングし、クライアントをチェックアウトします。

    git clone git://git.whamcloud.com/fs/lustre-release.git lustre-client
    cd lustre-client/
    git checkout tags/2.15.5
  8. 次のコマンドを使用して、共通パッケージをインストールします。

    sudo apt-get install -y libreadline-dev libpython3-dev libkrb5-dev libkeyutils-dev flex bison libmount-dev quilt swig libtool make git libnl-3-dev libnl-genl-3-dev libnl-3-dev pkg-config libhwloc-dev libnl-genl-3-dev libyaml-dev libtool libyaml-dev ed libreadline-dev dpatch libsnmp-dev mpi-default-dev libncurses5-dev libncurses-dev bison flex gnupg libelf-dev gcc libssl-dev bc wget bzip2 build-essential udev kmod cpio module-assistant module-assistant debhelper dpatch libsnmp-dev mpi-default-dev libssl-dev
  9. クライアントを構成します。

    cd lustre-client
    sudo sh autogen.sh
    ./configure --enable-client
  10. Debian制御ファイルを編集して、最新の linux-imageおよび linux-headersパッケージとの依存関係を削除します。これらの依存関係を削除しないと、パッケージのビルドが失敗します。次のような制御ファイルを編集します。

    vi debian/control*

    次のような2つのファイル内のすべての参照を削除します。

    linux-headers-generic | linux-headers-amd64 | linux-headers-arm64 , linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64
  11. 次のコマンドを使用してパッケージを構築します。

    sudo make debs
    sudo make dkms-debs
  12. パッケージを調べます。

    ls -l debs/*.deb
  13. 構築した同じインスタンスにLustreクライアントをインストールする場合は、次のコマンドを実行します。

    sudo make install
    sudo depmod
    sudo modprobe lustre

Ubuntu 22.04のLustreクライアントのインストールに進みます。

Ubuntu 22.04用のLustreクライアントのインストール

これらのステップは、Ubuntu用のLustreクライアントをすでに構築していることを前提としています。

  1. Lustre 2.15.5は Linuxカーネル6と互換性がありません。クライアントには、5.15.xのカーネル・バージョンが必要です。次のコマンドを使用して、OSおよびカーネルのバージョンを確認します。

    cat /etc/os-release
    uname -r

    この例では、使用される互換性のあるカーネル・バージョンは5.15.0-1040-oracleです。

  2. 別のカーネル・バージョンがインストールされている場合は、5.15.0-1040-oracleのサンプル・バージョンを使用する次のコマンドを使用して、必要なカーネル・バージョンおよびカーネル・ヘッダーをインストールします。

    sudo apt-get install linux-image-5.15.0-1040-oracle
    sudo apt-get install linux-headers-5.15.0-1040-oracle
    sudo apt-get install linux-modules-5.15.0-1040-oracle
  3. 次のコマンドを使用してgrubを更新します:

    sudo update-grub
  4. ファイル/etc/default/grubのエントリGRUB_DEFAULTを次のように更新します。

    GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1040-oracle'
  5. 次のコマンドを使用してgrubを更新します:

    sudo update-grub
  6. sudo rebootを使用してクライアントを再起動します。リブート後に、正しいカーネルバージョンが実行されていることを確認します。
  7. ビルドしたパッケージ・ファイルを、Lustreクライアントをインストールするインスタンスにコピーします。次のdebsディレクトリの例では、DKMSカーネル・モジュール・パッケージが柔軟性のために選択されていますが、必要に応じて非DKMSモジュールRPMを選択できます。

    rw-r--r-- 1 ubuntu ubuntu 17058172 Apr  2 02:26 lustre-client-modules-dkms_2.15.5-1_amd64.deb
    -rw-r--r-- 1 ubuntu ubuntu   678790 Apr  2 02:26 lustre-client-utils_2.15.5-1_amd64.deb
  8. 次のコマンドを使用してパッケージをインストールします。

    sudo apt-get update
    sudo apt install --fix-broken ./*.deb
  9. 次のコマンドを使用してモジュールをテストします。

    sudo modprobe lustre
    sudo lsmod |grep lustre
  10. Lustreクライアントの準備ができました。システムを再起動してください。

マウント・コマンド

Lustreクライアント・モジュールがインストールされているインスタンスから、ファイル・システムをマウントできます。

mountコマンドの取得

特定のファイル・システムのmountコマンドを取得するには、次のステップを実行します。

  1. 「Lustre File Systems」リスト・ページで、使用するファイル・システムを選択します。リスト・ページの検索に関するヘルプが必要な場合は、ファイル・システムのリストを参照してください。
  2. ファイル・システムの詳細ページの「Lustre Properties」で、「Mount command」を見つけます。
  3. 「コピー」を選択して、マウント・コマンドをクリップボードにコピーします。

ファイルシステムのマウント

インスタンスから、前のステップでクリップボードにコピーしたmountコマンドを実行します。たとえば:

mount -t lustre 10.0.0.2@tcp:/lustrefs /mnt/mymountpoint