👌
s3fs-fuseを使用してLAN内のminioバケットをマウントする
前回の記事で自宅の環境のNASにMinIOサーバーを構築しバケットを作成した。
今回は同じネットワーク内のPC端末からMinIOバケットをファイルシステムにマウントしてみたので
その記録を残しておこうと思います。
▼環境
NAS:QNAP TS-932PX
Desktop PC:Ubuntu 20.04
▼ツール
s3fs-fuseを使用する
1 README.md記載の通りに今回はUbuntuがマウント元なのでDebian系のインストールを進める。
sudo apt install s3fs
2 s3fsのコマンドインストールの確認を兼ねてバージョンを確認しておく
$ s3fs --version
Amazon Simple Storage Service File System V1.86 (commit:unknown) with GnuTLS(gcrypt)
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
3 バケットアクセス用の認証情報をホームディレクトリに保存しパーミッションを指定しておく。
認証情報(ACCESS_KEY_ID:SECRET_ACCESS_KEY)はMinIO側で専用に作成したユーザーのIDとパスワードが良さそうです。
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
4 Ubuntu側にマウントさせるディレクトリを作成しておく。私の環境では下記のようにした。
$ mkdir ~/git/miniobucket
5 ローカルLAN内のQNAP NASのMinIOサーバーマウントします
testbucketはMinIOに作成したバケット名でIP_ADDRESSはNASのローカルIPアドレスで
ポート9000はminioサーバーのAPIポートとなっている様です。
$ s3fs testbucket ~/git/miniobucket -o passwd_file=${HOME}/.passwd-s3fs -o url=http://IP_ADDRESS:9000/ -o use_path_request_style
6 マウントがうまく行くとminiobucket ディレクトリにUbuntu側で保存したファイルが
MinIOコンソール上でバケット側に保存されているのが確認出来ます。
$ ls -la miniobucket
total 749
drwx------ 1 keigo keigo 0 1月 1 1970 .
drwxrwxr-x 20 keigo keigo 4096 9月 16 22:14 ..
-rw-rw-r-- 1 keigo keigo 379540 9月 15 23:02 'download (1).png'
-rw-rw-r-- 1 keigo keigo 380809 9月 15 23:01 download.png
drwxr-x--- 1 keigo keigo 0 1月 1 1970 img
drwxr-x--- 1 keigo keigo 0 1月 1 1970 input_data
補足 何の役に立つのでしょうか?
⇛ローカルで生成したAI画像の出力先をminiobucketディレクトリにしておけば
RAID構成のボリューム上に構築されたMinIOのバケットに自動的に画像を保存してくれます。
スクリプト等で多くの画像を生成する場合はデスクトップPCのローカルに保存するより
オブジェクトストレージに保存しておいた方が後々データを扱い安いと考えています。
WindowsやMacOS端末で画像生成した際もLAN内に保管場所があると複数デバイスでの
AI画像生成検証結果を共有しておけます。
WindowsノートPC、Macbook proからのマウントも今後検証予定
Discussion