初めに
Lustreの覚え書きとして書いておく。公式ドキュメントのリンクはこちら。
https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html
EC2
環境はEC2 Amazon Linux2を使う。公式ドキュメントにLustreをサポートしているインスタンスが書いてある。
このEC2インスタンスにLustreクライアントをインストールし、Amazon FSx for LustreファイルシステムをEC2インスタンスにマウントします。Lustreクライアントは、Amazon Linux、Amazon Linux 2、CentOSおよびRed Hat Enterprise Linux 7.5、7.6、7.7、7.8、7.9、8.2、8.3、SUSE Linux Enterprise Server 12 SP3、SP4、SP5、Ubuntu 16.04、18.04、20.04をサポートしています。この入門演習では、Amazon Linux 2を使用することをお勧めします。
ファイルシステム作成
公式の通り進める。
以下のようにインポート・エクスポートを設定する。
なおファイルをエクスポートした後、以下のように一意のプレフィックスに応じてバケット内にフォルダが作成される。後ほどエクスポートのコマンドを述べるが、エクスポート先はこのフォルダ内となる。
Lustreインストール
$ sudo amazon-linux-extras install -y lustre2.10
マウント
インストールできたか確認するにはdf
コマンドを叩く。
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 492680 0 492680 0% /dev
tmpfs 503448 0 503448 0% /dev/shm
tmpfs 503448 456 502992 1% /run
tmpfs 503448 0 503448 0% /sys/fs/cgroup
/dev/xvda1 8376300 1437104 6939196 18% /
tmpfs 100692 0 100692 0% /run/user/1000
xxx.xxx.xxx.xxx@tcp:/yyyyyy 6031104896 18432 6031078272 1% /mnt/fsx
tmpfs 100692 0 100692 0% /run/user/0
なおxxx.xxx.xxx.xxx
はファイルシステムのプライベートIP、yyyyyy
はファイルシステムのマウント名である。
ファイルシステムをマウント
アタッチを押すとマウントコマンドが表示される。マウントポイントとなるディレクトリを作成し、マウント実行する。
fs-xxxxxx
にはファイルシステムのID、yyyyyy
にはマウント名を記載する。
$ sudo mkdir -p /mnt/fsx
$ sudo mount -t lustre -o noatime,flock fs-xxxxxx.fsx.ap-northeast-1.amazonaws.com@tcp:/yyyyyy /mnt/fsx
エクスポート
ファイルをエクスポート
$ sudo lfs hsm_archive /mnt/fsx/test.txt
ディレクトリをエクスポート
$ nohup find /mnt/fsx/my_dir/ -type f -print0 | xargs -0 -n 1 sudo lfs hsm_archive &
インポート
インポートの設定は、ファイルシステム作成時や作成後に可能である。つまりいつでも設定できる。作成後に設定を更新する場合は少し時間がかかる(といっても体感で少し時間がかかるな、と思うくらいで割と早いと思う)
以下の設定では指定したバケットにファイルを新規アップロードしたときインポートされ、ターミナルから閲覧可能となる。
以下の設定では指定したバケットにファイルを新規アップロードしたときと、バケット内既存ファイルをアップロードしたときにインポートされる。
アンマウント
$ umount /mnt/fsx
料金
こちらが料金表のリンクである。
AWS Pricing Calculatorで見積もりをしてみた。
参考記事
Amazon FSx for Lustre とは(公式)
https://docs.aws.amazon.com/ja_jp/fsx/latest/LustreGuide/what-is.html