Oracle Cloud Lustre File Storage を作成してみてみた #oracle

image.png
Lustre (ラスター) は、大規模のクラスターコンピューティング・スーパーコンピュータで使用されている並列分散ファイルシステムです。
Oracle Cloud Infrastructure (OCI) File Storage with Lustre は、Lustreのパフォーマンスとスケールメリット(ミリ秒単位のメタデータレイテンシ、ペタバイト規模の容量、テラバイト/秒の高スループットなど)を提供しながら、管理の複雑さを排除するフルマネージドサービスです。OCIはファイルシステムの導入、スケーリング、メンテナンスを完全に自動化・管理するため、お客様は高パフォーマンス・アプリケーションに集中できるフルマネージド型共有ストレージです。
Luster01.png

  • 大規模なパフォーマンス:
    数千のクライアントとGPUからファイルシステムに並列アクセスします。OCI File Storage with Lustreは、膨大なデータロードを効率的に処理します。このファイルシステムは最大20ペタバイト(PB)まで拡張可能で、トレーニングデータセット、研究モデル、チェックポイントなど、AI、ML、HPCデータを保存できます。プロビジョニングされた容量のテラバイト(TB)ごとに、高い持続的なパフォーマンスを実現します。OCI File Storage with Lustreは、以下のパフォーマンス層を提供します。
    プロビジョニングされた TB あたり 125 MBps
    プロビジョニングされた TB あたり 250 MBps
    プロビジョニングされた TB あたり 500 MBps
    プロビジョニングされた TB あたり 1000 MBps
  • フルマネージドサービス:
    ストレージサーバー、メタデータサーバー、データボリュームといったLustreインフラストラクチャコンポーネントのセットアップとメンテナンスを代行します。本番環境のアプリケーションを継続しながら、必要に応じて簡単に容量を拡張し、パフォーマンスを集約できます。

  • 高可用性アーキテクチャ:
    LustreファイルシステムをOCI Object Storageバケットにリンクすることで、オブジェクトストレージのデータをオンデマンドでコピーし、Lustreファイルシステムから直接アクセスできるようになります。これにより、オブジェクトストレージからファイルシステムへのデータのロードが可能になり、アクセス速度が向上します。

  • クォータ管理:
    OCI File Storage with Lustreを使用すると、ユーザー、グループ、プロジェクトごとに容量制限を設定できます。これにより、ストレージ消費量を予測し、ストレージコストを抑制できます。

ということで Luster File Storage を作成してマウントしてみてみます。

image.png

Lustreファイル・システムを使用したファイル・ストレージを作成します。

● 前提条件

Lustre ファイル・ストレージを作成する前に、次の前提条件が満たされていることを確認してください。

制限事項および考慮事項
VCNセキュリティ・ルール
必須IAMポリシー

● Service Limit 確認

Lustre ファイル・ストレージサービス制限を確認し不足している場合は、サービス制限の増加をリクエストします。

1) OCI コンソール
リストメニューから、[Governance & Administration] > [Limits, Quotas and Usage] をクリック
01_ServiceLimit01.png

2) Limits, Quotas and Usage 画面
[Service]へ “Luster File Storage” を選択し、Service Limit を確認
01_ServiceLimit02.png

● Lustre file storage 作成

1) OCI コンソール
リストメニューから、[Storage] > [Luster File Systems] をクリック
Luster作成01.png

2) Lustre file systems 画面
[Create] をクリック
Luster作成02.png

3) Create Lustre file system 画面
次の情報を入力し、[Create] をクリックして作成

・ ファイル・システム名: ファイル・システムの名前を入力
・ マウント名: ファイル・システムのマウント時に使用する名前を入力。 Lustreクライアントは、マウント時にこの名前を使用してファイル・システムを参照します。
・ ファイル・システムの説明: ファイル・システムの説明を入力
・ クラスタ配置グループ: レイテンシが低いように、ファイル・システムやその他のリソースを可用性ドメインに物理的に配置するクラスタ配置グループを選択することをお薦めします。
        クラスタ配置グループは、ファイル・システムの作成後に変更できません。
・ パフォーマンス層: ファイル・システムのパフォーマンス層を選択。パフォーマンス層は、ファイル・システムのスループットを制御します。スループットは、プロビジョニングされたストレージのテラバイト(TB)単位で指定されます。ファイル・システムの作成後は、パフォーマンス層を変更できません。
・ 容量: ファイルシステムのストレージ容量を選択。サービス制限を超える容量を選択した場合、増加のリクエストを求めるプロンプトが表示されることがあります。詳細は、Increasing File System Capacityを参照してください。
・ ネットワーキング: ファイル・システムをマウントするVCNおよびサブネットを選択。ワークロードが実行されているVCNおよびサブネットにファイル・システムをマウントすることをお薦めします。
・ ネットワーク・セキュリティ・グループ: このオプションを有効にし、ファイル・システムの仮想ファイアウォールとして機能するネットワーク・セキュリティ・グループ(NSG)を選択
・ ルート・スカッシュ: ファイル・システムにアクセスするクライアントに、「Squash UID」および「Squash GID」に再マップされたユーザーID (UID)およびグループID (GID)があるかどうかを制御
    Squash: 「None」または「Root」を選択。デフォルト値は「なし」であるため、デフォルトでは再マッピングは行われません。
    Squash UID: 「Squash」が「Root」に設定されている場合、ルート・ユーザー(UID 0)はこの値に再マップされます。デフォルト値は「65534」です。
    Squash GID: 「Squash」が「Root」に設定されている場合、ルート・グループ・ユーザー(GID 0)はこの値に再マップされます。デフォルト値は「65534」です。
    rootユーザーをスカッシュする場合、ルート・スカッシュ例外を指定して、特定のクライアントをスカッシュ構成から除外できます。有効なIPアドレスまたは範囲として除外するクライアント・アドレスを入力します。たとえば、10.0.2.4または10.0[2-10][1-255]です。「+別のクライアント・アドレス」を選択して、最大10個の例外を追加します。

Luster作成03.png

3) Lustre file system 作成中~
Luster作成04.jpg

3) Lustre file system 作成完了
Luster作成05.png

管理者は、ファイル・システムにアクセスする必要があるGPUホストまたは他のコンピュート・ホストにLustreクライアントをデプロイします。
Lustreを使用したファイル・ストレージでは、Lustreバージョン2.15.5が使用され、次のOSに2.15.5クライアントを使用できます。

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

● Red Hat Compatible Kernel (RHCK) へ変更

Oracle LinuxでLustreクライアントを使用するには、カーネルをRed Hat Compatible Kernel (RHCK)に変更する必要があります。カーネル・バージョンの切替えについては、Oracle Linuxでのデフォルト・カーネルの変更を参照してください。

1) 設定カーネル確認
起動時に使用するデフォルトカーネルとして既に設定されているカーネルを確認するには、 grubby –default-kernel コマンドを実行します。 さらに、システムで現在実行中のカーネルを確認するには、 una​​me -r コマンドを使用します。
以下に示すOracle Linux 8 インスタンスでは、起動時に使用するデフォルトカーネルとしてUEKが設定されており、現在システム上でUEKが実行されています。

[opc@client ~]$  sudo grubby --default-kernel
    /boot/vmlinuz-5.15.0-306.177.4.el8uek.x86_64

[opc@client ~]$ uname -r
    5.15.0-306.177.4.el8uek.x86_64

2) インストールおよび設定されているすべてのカーネルを表示
grubby –info=ALL | grep ^kernelコマンドを使用して、システムにインストールおよび設定されているすべてのカーネルを表示します。システムの/bootディレクトリにある各カーネルに関連付けられたブート構成に関する詳細情報を取得したい場合は、grepの出力のパイプ処理を削除し、grubby –info=ALL を実行するだけです。
以下の例では、el9サフィックスはRHCKを示し、el9uekはUEKを示します。

[opc@client ~]$ sudo grubby --info=ALL | grep ^kernel
	kernel="/boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64"
	kernel="/boot/vmlinuz-5.15.0-306.177.4.el8uek.x86_64"
	kernel="/boot/vmlinuz-0-rescue-c6ba8a0f7826174140463c4a8bdad37a"

3) 起動カーネル変更
再起動後に実行するカーネルを指定してgrubby –set-defaultコマンドを実行することで、デフォルトのカーネルを変更できます。以下では、デフォルトのカーネルを 上記で確認した RHCK (5.14.0-503.26.1.el9_5.x86_64) に変更しています。
変更はすぐに反映されるため、あとはシステムを再起動するだけです。

[opc@client ~]$ sudo grubby --set-default /boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64
    The default is /boot/loader/entries/7063910fe2979258f8fd66f2fb8b8567-4.18.0-553.40.1.el8_10.x86_64.conf with index 0 and kernel /boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64

4) 再起動

[opc@client ~]$  sudo reboot
	Connection to 10.0.0.2 closed by remote host.
	Connection to 10.0.0.2 closed.

5) 起動カーネル変更確認

[opc@client ~]$ sudo grubby --default-kernel
/boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64

[opc@client ~]$ uname -r
4.18.0-553.40.1.el8_10.x86_64

● Luster用 クライアント・パッケージ インストール

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

1) 必要パッケージ インストール
次のコマンドを使用して、必要なパッケージをインストールします。

[opc@client ~]$ release=$(cat /etc/os-release | grep ^VERSION= |cut -f2 -d" |cut -f1 -d.)
[opc@client ~]$ sudo dnf config-manager --set-enabled ol${release}_codeready_builder
[opc@client ~]$ sudo dnf config-manager --enable ol${release}_developer_EPEL
[opc@client ~]$ sudo yum-config-manager --enable ol${release}_developer
[opc@client ~]$ 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
Ksplice for Oracle Linux 8 (x86_64)                                             50 MB/s |  19 MB     00:00
MySQL 8.4 Server Community for Oracle Linux 8 (x86_64)                          19 MB/s | 846 kB     00:00
MySQL 8.4 Tools Community for Oracle Linux 8 (x86_64)                          2.7 MB/s | 305 kB     00:00
・・・
省略
・・・
  python3-rpm-macros-3-45.el8.noarch                 qt5-srpm-macros-5.15.3-1.el8.noarch
  redhat-rpm-config-131-1.0.1.el8.noarch             rpm-build-4.14.3-32.0.1.el8_10.x86_64
  rust-srpm-macros-5-2.el8.noarch                    zstd-1.4.4-1.0.1.el8.x86_64

Complete!

2) クライアント チェックアウト
次のコマンドを使用して、Lustreクライアント・ソース・リポジトリをクローニングし、クライアントをチェックアウトします。

[opc@client ~]$  git clone git://git.whamcloud.com/fs/lustre-release.git lustre-client
	Cloning into 'lustre-client'...
	remote: Counting objects: 399611, done.
	remote: Compressing objects: 100% (86956/86956), done.
	remote: Total 399611 (delta 293903), reused 398206 (delta 292500)
	Receiving objects: 100% (399611/399611), 230.64 MiB | 7.67 MiB/s, done.
	Resolving deltas: 100% (293903/293903), done.
[opc@client ~]$ cd lustre-client/
[opc@client lustre-client]$ git checkout tags/2.15.5
Note: switching to 'tags/2.15.5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c 

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 21921fb111 New release 2.15.5

3) RPM構築
クライアントおよびRPMを構築します。現在のディレクトリ内のすべてのLustre RPMは、次のコマンドを使用して構築されます。

実行コマンド

sudo sh autogen.sh
./configure --enable-client
sudo make
sudo make rpms
sudo make dkms-rpm

実行例

[opc@client lustre-client]$ sudo sh autogen.sh
	configure.ac:15: installing 'config/compile'
	configure.ac:10: installing 'config/config.guess'
	configure.ac:10: installing 'config/config.sub'
    ・・・
    省略
    ・・・
	config.status: creating config.h
	config.status: executing depfiles commands
	config.status: executing libtool commands
	
	CC:            gcc
	LD:            /usr/bin/ld -m elf_x86_64
	CPPFLAGS:      -include /home/opc/lustre-client/undef.h -include /home/opc/lustre-client/config.h -I/home/opc/lustre-client/lnet/include/uapi -I/home/opc/lustre-client/lustre/include/uapi -I/home/opc/lustre-client/libcfs/include -I/home/opc/lustre-client/lnet/utils/ -I/home/opc/lustre-client/lustre/include
	CFLAGS:        -g -O2 -Wall -Werror
	EXTRA_KCFLAGS: -include /home/opc/lustre-client/undef.h -include /home/opc/lustre-client/config.h  -g -I/home/opc/lustre-client/libcfs/include -I/home/opc/lustre-client/libcfs/include/libcfs -I/home/opc/lustre-client/lnet/include/uapi -I/home/opc/lustre-client/lnet/include -I/home/opc/lustre-client/lustre/include/uapi -I/home/opc/lustre-client/lustre/include -Wno-format-truncation -Wno-stringop-truncation -Wno-stringop-overflow
	
	Type 'make' to build Lustre.


[opc@client lustre-client]$ sudo make
	grep -v config.h.in config.h.in > undef.h
	make  all-recursive
	make[1]: Entering directory '/home/opc/lustre-client'
	Making all in .
	make[2]: Entering directory '/home/opc/lustre-client'
    ・・・
    省略
    ・・・
	make[3]: Leaving directory '/home/opc/lustre-client/lustre'
	make[2]: Leaving directory '/home/opc/lustre-client/lustre'
	make[1]: Leaving directory '/home/opc/lustre-client'


[opc@client lustre-client]$ sudo make rpms
	make  dist-gzip am__post_remove_distdir="@:"
	make[1]: Entering directory '/home/opc/lustre-client'
	make  distdir-am
	make[2]: Entering directory '/home/opc/lustre-client'
    ・・・
    省略
    ・・・
	+ cd /tmp/rpmbuild-lustre-root-jUEFXMcI/BUILD
	+ rm -rf lustre-2.15.5
	+ exit 0


[opc@client lustre-client]$ sudo make dkms-rpm
	make  dist-gzip am__post_remove_distdir="@:"
	make[1]: Entering directory '/home/opc/lustre-client'
	make  distdir-am
    ・・・
    省略
    ・・・
	+ cd /tmp/rpmbuild-lustre-root-YO2NcifH/BUILD
	+ rm -rf lustre-2.15.5
	+ exit 0

4) RPM 確認
RPMを調べます。

[opc@client lustre-client]$ ls -l *.rpm
	-rw-r--r--. 1 root root  2618112 Apr 15 02:08 kmod-lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root 24856240 Apr 15 02:08 kmod-lustre-client-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root    51232 Apr 15 02:08 kmod-lustre-client-tests-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root   308968 Apr 15 02:08 kmod-lustre-client-tests-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root 20313002 Apr 15 02:06 lustre-2.15.5-1.src.rpm
	-rw-r--r--. 1 root root   682464 Apr 15 02:08 lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root  1189124 Apr 15 02:08 lustre-client-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root  2414888 Apr 15 02:08 lustre-client-debugsource-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root   211328 Apr 15 02:08 lustre-client-devel-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root 17856948 Apr 15 02:17 lustre-client-dkms-2.15.5-1.el8.noarch.rpm
	-rw-r--r--. 1 root root 20304529 Apr 15 02:17 lustre-client-dkms-2.15.5-1.el8.src.rpm
	-rw-r--r--. 1 root root 12671564 Apr 15 02:08 lustre-client-tests-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root   517556 Apr 15 02:08 lustre-client-tests-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 root root    46280 Apr 15 02:08 lustre-iokit-2.15.5-1.el8.x86_64.rpm

5) Lustre クライアント インストール
構築した同じインスタンスに Lustreクライアントをインストールする場合は、次のコマンドを実行します。

実行コマンド

sudo make install
sudo depmod
sudo modprobe lustre

実行例

[opc@client lustre-client]$ sudo make install
	Making install in .
	make[1]: Entering directory '/home/opc/lustre-client'
	make DEQUOTE_CC_VERSION_TEXT=yes 
    ・・・
    省略
    ・・・
	make[3]: Leaving directory '/home/opc/lustre-client/lustre'
	make[2]: Leaving directory '/home/opc/lustre-client/lustre'
	make[1]: Leaving directory '/home/opc/lustre-client/lustre'

[opc@client lustre-client]$ sudo depmod

[opc@client lustre-client]$ sudo modprobe lustre

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

● Lustreクライアント ディレクトリ作成

Lustreクライアントをインストールするインスタンスにディレクトリを作成

[opc@client lustre-client]$ pwd
    /home/opc/lustre-client

[opc@client lustre-client]$ ls -l | grep lustre-client-
	-rw-r--r--.  1 root root  2618112 Apr 15 02:08 kmod-lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root 24856240 Apr 15 02:08 kmod-lustre-client-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root    51232 Apr 15 02:08 kmod-lustre-client-tests-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root   308968 Apr 15 02:08 kmod-lustre-client-tests-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root   682464 Apr 15 02:08 lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root  1189124 Apr 15 02:08 lustre-client-debuginfo-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root  2414888 Apr 15 02:08 lustre-client-debugsource-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root   211328 Apr 15 02:08 lustre-client-devel-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root 17856948 Apr 15 02:17 lustre-client-dkms-2.15.5-1.el8.noarch.rpm
	-rw-r--r--.  1 root root 20304529 Apr 15 02:17 lustre-client-dkms-2.15.5-1.el8.src.rpm
	-rw-r--r--.  1 root root 12671564 Apr 15 02:08 lustre-client-tests-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--.  1 root root   517556 Apr 15 02:08 lustre-client-tests-debuginfo-2.15.5-1.el8.x86_64.rpm

[opc@client lustre-client]$ mkdir lustre-rpms
[opc@client lustre-client]$ cp lustre-client-2.15.5-1.el8.x86_64.rpm lustre-client-dkms-2.15.5-1.el8.noarch.rpm ./lustre-rpms/
[opc@client lustre-client]$ ls -l ./lustre-rpms/
	total 18108
	-rw-r--r--. 1 opc opc   682464 Apr 15 03:05 lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 opc opc 17856948 Apr 15 03:05 lustre-client-dkms-2.15.5-1.el8.noarch.rpm

● RHCKカーネルを実行していることを確認

Oracle LinuxでLustreクライアントを使用するには、カーネルをRed Hat Compatible Kernel (RHCK)に変更する必要があります。

[opc@client lustre-client]$ uname -r
    4.18.0-553.40.1.el8_10.x86_64

● 依存関係インストール

依存関係に必要な Linuxリポジトリを有効にし、次のコマンドを使用して依存関係をインストールします。

[opc@client lustre-client]$ release=$(cat /etc/os-release | grep ^VERSION= |cut -f2 -d" |cut -f1 -d.)
[opc@client lustre-client]$ sudo dnf config-manager --set-enabled ol${release}_codeready_builder
[opc@client lustre-client]$ sudo dnf config-manager --enable ol${release}_developer_EPEL
[opc@client lustre-client]$ sudo yum install dkms libmount-devel libyaml-devel
Oracle Linux 8 EPEL Packages for Development (x86_64)                          380 kB/s | 4.3 kB     00:00
Oracle Linux 8 BaseOS Latest (x86_64)                                          102 kB/s | 4.3 kB     00:00
Oracle Linux 8 Application Stream (x86_64)                                     343 kB/s | 4.5 kB     00:00
Oracle Linux 8 CodeReady Builder (x86_64) - Unsupported                        184 kB/s | 3.8 kB     00:00
Oracle Linux 8 Addons (x86_64)                                                 185 kB/s | 3.5 kB     00:00
Package libmount-devel-2.32.1-46.0.1.el8.x86_64 is already installed.
Package libyaml-devel-0.1.7-5.el8.x86_64 is already installed.
Dependencies resolved.
===============================================================================================================
 Package             Architecture          Version                     Repository                         Size
===============================================================================================================
Installing:
 dkms                noarch                3.1.6-1.el8                 ol8_developer_EPEL                 86 k

Transaction Summary
===============================================================================================================
Install  1 Package

Total download size: 86 k
Installed size: 196 k
Is this ok [y/N]: y
Downloading Packages:
dkms-3.1.6-1.el8.noarch.rpm                                                    1.1 MB/s |  86 kB     00:00
---------------------------------------------------------------------------------------------------------------
Total                                                                          1.1 MB/s |  86 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                       1/1
  Installing       : dkms-3.1.6-1.el8.noarch                                                               1/1
  Running scriptlet: dkms-3.1.6-1.el8.noarch                                                               1/1
  Verifying        : dkms-3.1.6-1.el8.noarch                                                               1/1

Installed:
  dkms-3.1.6-1.el8.noarch

Complete!

● クライアントRPM インストール

次のコマンドを使用して、クライアントRPMをインストールします。

[opc@client lustre-client]$ cd lustre-rpms
[opc@client lustre-rpms]$ ls -l
	total 18108
	-rw-r--r--. 1 opc opc   682464 Apr 15 03:05 lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 opc opc 17856948 Apr 15 03:05 lustre-client-dkms-2.15.5-1.el8.noarch.rpm

[opc@client lustre-rpms]$ sudo yum localinstall -y ./*.rpm
	Last metadata expiration check: 0:00:48 ago on Tue 15 Apr 2025 03:08:41 AM GMT.
	Error: Will not install a source rpm package (lustre-2.15.5-1.src).

[opc@client lustre-client]$ cd lustre-rpms
[opc@client lustre-rpms]$ ls -l
	total 18108
	-rw-r--r--. 1 opc opc   682464 Apr 15 03:05 lustre-client-2.15.5-1.el8.x86_64.rpm
	-rw-r--r--. 1 opc opc 17856948 Apr 15 03:05 lustre-client-dkms-2.15.5-1.el8.noarch.rpm
    
[opc@client lustre-rpms]$ sudo yum localinstall -y ./*.rpm
	Last metadata expiration check: 0:03:46 ago on Tue 15 Apr 2025 03:08:41 AM GMT.
	Dependencies resolved.
	===============================================================================================================
	 Package                        Arch     Version                                     Repository           Size
	===============================================================================================================
    ・・・
    省略
    ・・・
	  perl-perlfaq-5.20180605-1.el8.noarch
	  perl-utils-5.26.3-422.el8.noarch
	  perl-version-6:0.99.24-1.el8.x86_64
	
	Complete!

● モジュール テスト

次のコマンドを使用してモジュールをテストします。

[opc@client lustre-rpms]$ sudo modprobe lustre
[opc@client lustre-rpms]$ sudo lsmod |grep lustre
    lustre               1052672  0
    lmv                   208896  1 lustre
    mdc                   286720  1 lustre
    lov                   348160  2 mdc,lustre
    ptlrpc               1441792  7 fld,osc,fid,lov,mdc,lmv,lustre
    obdclass             3371008  8 fld,osc,fid,ptlrpc,lov,mdc,lmv,lustre
    lnet                  720896  6 osc,obdclass,ptlrpc,ksocklnd,lmv,lustre
    libcfs                266240  11 fld,lnet,osc,fid,obdclass,ptlrpc,ksocklnd,lov,mdc,lmv,lustre

● 設定反映再起動

Lustreクライアントの準備ができました。システムを再起動してください。

[opc@client lustre-rpms]$ sudo reboot
	Connection to 10.0.0.2 closed by remote host.
	Connection to 10.0.0.2 closed.

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

● mountコマンドの取得

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

  1. Luter 画面
    「Lustre File Systems」リスト・ページで、使用するファイル・システムを選択し、ファイル・システムの詳細ページの「Lustre Properties」で、「Mount command」を見つけます。
    「コピー」を選択して、マウント・コマンドをクリップボードにコピーします。

コピー内容

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

● Firewalld 設定

OCI コンピュートはデフォルト Firewalld がONです。
mount前にFirewallの設定を確認し、TCP 988 Port が通るよう設定します。

1) firewalld 設定
TCP 988 Portを登録

[root@client ~]# firewall-cmd --permanent --add-port=988/tcp
    success

2) firewalld 設定確認

[root@client ~]# firewall-cmd --list-all --permanent | grep 988
  ports: 988/tcp

3) firewalld 設定チェック

[root@client ~]# firewall-cmd --check-config
success

4) firewalld 設定反映

[root@client ~]# firewall-cmd --reload
    success

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

1) Mount ディレクトリ作成

[root@client ~]# sudo mkdir /mnt/lustre
[root@client ~]# ls -ld /mnt/lustre/
	drwxr-xr-x. 2 root root 6 Apr 15 03:24 /mnt/lustre/

2) Mount実行

[root@client ~]# mount -t lustre 10.0.2.6@tcp:/lustrefs /mnt/lustre

3) Mount確認

[root@client ~]# mount | grep lustre
	10.0.2.6@tcp:/lustrefs on /mnt/lustre type lustre (rw,seclabel,checksum,flock,nouser_xattr,lruresize,lazystatfs,nouser_fid2path,verbose,encrypt)

[root@client ~]# df -hT | grep lustre
	10.0.2.6@tcp:/lustrefs    lustre     30T  102G   28T   1% /mnt/lustre

[root@client ~]# df -hT
	Filesystem                 Type      Size  Used Avail Use% Mounted on
	devtmpfs                   devtmpfs   40G     0   40G   0% /dev
	tmpfs                      tmpfs      40G     0   40G   0% /dev/shm
	tmpfs                      tmpfs      40G  8.8M   40G   1% /run
	tmpfs                      tmpfs      40G     0   40G   0% /sys/fs/cgroup
	/dev/mapper/ocivolume-root xfs        36G   14G   22G  39% /
	/dev/mapper/ocivolume-oled xfs        10G  351M  9.7G   4% /var/oled
	/dev/sda2                  xfs      1014M  394M  621M  39% /boot
	/dev/sda1                  vfat      100M  6.0M   94M   6% /boot/efi
	tmpfs                      tmpfs     7.9G     0  7.9G   0% /run/user/986
	tmpfs                      tmpfs     7.9G     0  7.9G   0% /run/user/1000
	10.0.2.6@tcp:/lustrefs    lustre     30T  102G   28T   1% /mnt/lustre

● Lustre 概要

 ・ Lustre によるファイル ストレージ
 ・ lustre.org

● Oracle Cloud Infrastructureドキュメント

 ・ Lustreを使用したファイル・ストレージ
 ・ 必要なIAMポリシー
 ・ 制限事項および考慮事項
 ・ Lustreリソースを使用したファイル・ストレージの制限
 ・ Service Limit: Lustre制限のあるファイル・ストレージ
 ・ Lustreポリシーを使用したファイル・ストレージ
 ・ Lusterに必要なVCNセキュリティ・ルール
 ・ Lustreファイル・システムを使用したファイル・ストレージの管理
 ・ Lustreファイル・システムの作成
 ・ Lustre File Systemのマウントおよびアクセス
 ・ Changing the default kernel in Oracle Linux | It’s as simple as 1-2-3
 ・ Red Hat: firewalld の使用および設定

● アーキテクチャ

 ・ Lustreを使用したスケーラブルな分散ファイル・システムの導入
 ・ Lustreファイル・システムのデプロイについて

● Oracle Cloud Infrastructure Blog

 ・ Generally Available: Fully Managed Lustre File Storage in the Cloud
 ・ Lustre File System Performance on Oracle Cloud Infrastructure
 ・ Building storage systems for the future: The OCI roadmap



フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link