Skip to content

s3fs-fuseの利用

ABCIではs3fs-fuseモジュールを提供しており、ABCIクラウドストレージのバケットをローカルのファイルシステムとしてマウントできます。 ここではs3fs-fuseモジュールの使用方法を説明します。

アクセスキー

s3fs-fuseを使うにあたり、アクセスキーが必要です。 アクセスキーの発行方法については ABCI利用者ポータルガイドを参照してください。 アクセスキーを発行したあとAWS CLIを使用しアクセスキーを設定します。アクセスキーの設定方法についてはABCIクラウドストレージの使い方を参照してください。

ここではアクセスキーをdefaultプロファイルで設定しているものとします。

モジュールのロード

インタラクティブノードにログイン後、s3fs-fuseモジュールをロードします。

[username@login1 ~]$ module load s3fs-fuse

バケットの作成

マウントするためのバケットを作成します。

[username@login1 ~]$ aws --endpoint-url https://s3.v3.abci.ai s3 mb s3://s3fs-bucket
make_bucket: s3fs-bucket

バケットをマウントする

インタラクティブノードの/tmp、計算ノードの/tmpおよび、ジョブに割り当てられたローカルストレージ($PBS_LOCALDIR)がs3fs-fuseのマウントポイントとして利用できます。 マウントポイントは/tmpまたはジョブに割り当てられたローカルストレージ($PBS_LOCALDIR)を使用してください。

以下ではインタラクティブノードの/tmpを利用したバケットのマウント方法を説明します。

マウントポイントをTMPディレクトリ上に作成し、先ほど作成したs3fs-bucketバケットをs3fsコマンドでマウントします。

[username@login1 ~]$ mkdir /tmp/s3fs_dir
[username@login1 ~]$ s3fs s3fs-bucket /tmp/s3fs_dir -o url=https://s3.v3.abci.ai/ -o use_path_request_style

defaultプロファイル以外のアクセスキーを使いたい場合は-o profile=プロファイル名オプションを指定します。

[username@login1 ~]$ s3fs s3fs-bucket /tmp/s3fs_dir -o url=https://s3.v3.abci.ai/ -o profile=aaa00000.2 -o use_path_request_style

マウントの確認

マウントが成功したことを確認するには、dfコマンドを使用します。 先頭に「s3fs」が表示されている行が、s3fsでマウントされているファイルシステムです。

[username@login1 ~]$ df -hT | grep "^s3fs"
s3fs                    fuse.s3fs    64P     0   64P   0% /tmp/s3fs_dir

ファイル操作

バケットをマウントした後は、ファイル操作と同じ方法でバケットへオブジェクトの追加、削除が行えます。

[username@login1 ~]$ cp ~/my-file /tmp/s3fs_dir/
[username@login1 ~]$ ls /tmp/s3fs_dir/my-file
[username@login1 ~]$ rm /tmp/s3fs_dir/my-file

バケットをアンマウントする

バケットをアンマウントするにはfusermountコマンドを使用します。

[username@login1 ~]$ fusermount -u /tmp/s3fs_dir

アンマウントの確認

アンマウントが成功したことを確認するには、dfコマンドを使用します。 s3fsで表示されていた行が消えていれば、アンマウントが成功しています。

[username@login1 ~]$ df -hT | grep "^s3fs"
[username@login1 ~]$

s3fs-fuseを利用してバケットをマウントした場合は、自動でアンマウントされないため、不要になったらアンマウントしてください。

s3fsコマンドオプション

s3fsコマンドのオプションを以下に示します。詳細についてはman s3fsまたはs3fs-fuseのWebサイトを参照してください。

オプション 説明
url 接続するエンドポイントURL。 -o url=https://s3.v3.abci.ai
profile 認証に使用するプロファイル名。 -o profile=aaa00000.2
dbglevel デバッグメッセージレベル。 -o dbglevel=info
curldb libcurlデバッグメッセージの有効化 -o curldb