s3fs-fuseの利用
ABCIではs3fs-fuse
モジュールを提供しており、ABCIクラウドストレージのバケットをローカルのファイルシステムとしてマウントできます。
ここではs3fs-fuse
モジュールの使用方法を説明します。
アクセスキー
s3fs-fuseを使うにあたり、アクセスキーが必要です。 アクセスキーの発行方法については ABCI利用者ポータルガイドを参照してください。 アクセスキーを発行したあとAWS CLIを使用しアクセスキーを設定します。アクセスキーの設定方法についてはABCIクラウドストレージの使い方を参照してください。
ここではアクセスキーをdefault
プロファイルで設定しているものとします。
モジュールのロード
インタラクティブノードにログイン後、s3fs-fuse
モジュールをロードします。
バケットの作成などを行うため、aws-cli
のモジュールも合わせてロードします。
[username@es1 ~]$ module load aws-cli s3fs-fuse
バケットの作成
マウントするためのバケットを作成します。
[username@es1 ~]$ aws --endpoint-url https://s3.abci.ai s3 mb s3://s3fs-bucket
make_bucket: s3fs-bucket
バケットをマウントする
マウントポイントをHOMEディレクトリ上に作成し、先ほど作成したs3fs-bucket
バケットをs3fs
コマンドでマウントします。
[username@es1 ~]$ mkdir s3fs_dir
[username@es1 ~]$ s3fs s3fs-bucket ~/s3fs_dir -o url=https://s3.abci.ai/ -o use_path_request_style
default
プロファイル以外のアクセスキーを使いたい場合は-o profile=プロファイル名
オプションを指定します。
[username@es1 ~]$ s3fs s3fs-bucket ~/s3fs_dir -o url=https://s3.abci.ai/ -o profile=aaa00000.2 -o use_path_request_style
ファイル操作
バケットをマウントした後は、ファイル操作と同じ方法でバケットへオブジェクトの追加、削除が行えます。
[username@es1 ~]$ cp ~/my-file ~/s3fs_dir/
[username@es1 ~]$ ls ~/s3fs_dir/my-file
[username@es1 ~]$ rm ~/s3fs_dir/my-file
バケットをアンマウントする
バケットをアンマウントするにはfusermount
コマンドを使用します。
[username@es1 ~]$ fusermount -u ~/s3fs_dir
On-demand、Spotサービスで確保したジョブ内でs3fs-fuse
を使用してバケットをマウントした場合、ジョブの終了時に自動でアンマウントされます。ただし、インタラクティブノード上でs3fs-fuse
を利用してバケットをマウントした場合は、自動でアンマウントされないため、不要になったらアンマウントしてください。
s3fsコマンドオプション
s3fs
コマンドのオプションを以下に示します。詳細についてはman s3fs
またはs3fs-fuseのWebサイトを参照してください。
オプション | 説明 | 例 |
---|---|---|
url | 接続するエンドポイントURL。 | -o url=https://s3.abci.ai |
profile | 認証に使用するプロファイル名。 | -o profile=aaa00000.2 |
dbglevel | デバッグメッセージレベル。 | -o dbglevel=info |
curldb | libcurlデバッグメッセージの有効化 | -o curldb |