Ubuntu Weekly Recipe

第657回 オブジェクトストレージ,MinIOを使用する[クライアント編]

この記事を読むのに必要な時間:およそ 2.5 分

今回は第655回で紹介したオブジェクトストレージサーバー,MinIOのクライアントとして使用できるソフトウェアを3つ紹介します。

MinIOのクライアント

第655回で述べたとおり,MinIOはオブジェクトストレージサーバーで,Amazon S3互換APIを採用しています。ということは,さまざまなS3互換APIに対応したソフトウェアが使用できるということです。もちろん世の中に数多あるS3互換API対応ソフトウェアをすべて紹介することはできないので,今回は3つだけ紹介します。

そのうちの一つはもちろんMinIOクライアントです。ローカルにある指定したフォルダーの中身をMinIOに同期する用途とします。

また,MinIOのバケットを直接マウントするためにs3fs-fuseを取り上げます。その名のとおりFUSEを使用していますが,GVfsでは対応しないため,別途インストールが必要です。

最後はDuplicatiです。オープンソースでマルチプラットフォームなバックアップアプリケーションです。つまりWindowsでも動作するということです。UbuntuでもWindowsでも動作するバックアップアプリケーションというのはなかなか貴重な存在でしょう。

MinIOクライアントでフォルダーの同期

MinIOもMinIOクライアントも,第655回のものを引き続き使用します。⁠systemdでデーモンとして管理する」の項で説明したように/opt/minio以下にインストールした状態として以下解説しますが,ホームフォルダーにインストールした状態のままでも特に問題はありません。なお使用するエイリアスも「test」のままです。

例として「s3fs-bucket」というバケットを作成し,そこに「~/Pictures」フォルダーを同期します。

まずはMinIOをアップデートしましょう。

$ cd ~/minio-client/
$ ./mc admin update test

バケットを作成します。

$ ./mc mb test/s3fs-bucket

同期します。

$ ./mc mirror ~/Pictures/ test/minio-client

同期が完了したら終了します。

フォルダーの変更を監視して自動的に同期させ,かつローカルのファイルが削除された際にMinIOのファイルも削除する場合は次のコマンドを実行します。

$ ./mc mirror --remove --watch --quiet ~/Pictures/ test/minio-client

s3fs-fuseでマウント

手元にファイルを置かずにMinIOのバケットを直接マウントするには,まず「s3fs-fuse」パッケージをインストールします。次のコマンドを実行してください。

$ sudo apt install s3fs

アクセスキーとシークレットキーの入力を省略するため,次のコマンドを実行してください。

$ echo unique-minioadmin:secure-minioadmin-password > ~/.passwd-s3fs
$ chmod 600 ~/.passwd-s3fs

ここでのアクセスキーの例は「unique-minioadmin⁠⁠,シークレットキーの例は「secure-minioadmin-password」で,⁠:」で接続しています。

「s3fs-bucket」というバケットを作成します。MinIOクライアントで次のコマンドを実行してください。

$ ./mc mb test/s3fs-bucket

ローカルのマウント先を作成します。

$ mkdir ~/s3fs-local

マウントを実行します。

$ s3fs s3fs-bucket ~/s3fs-local/ -o passwd_file=~/.passwd-s3fs,use_path_request_style,url=http://192.168.12.102:9000,uid=$(id -u),gid=$(id -g)

「ファイル」⁠Nautilus)にも表示されるので扱いやすいでしょう。

ログイン時に自動マウントする方法は紹介しませんが,systemdのユーザー権限でデーモンにするのがいいではないかと思います。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamのメンバー。VirtualBoxなどの翻訳を手がける。技術同人サークルteam zpn主宰。ほか原稿執筆を少々。