VPSのような定額クラウド、CloudGarage
ディスク速度が常に1GB/s超えという鬼速度で使えて不自由がないけど、
オブジェクトストレージがない...クラウドなのに...
#そこで Minio ですよ
MinioはAmazon S3互換のオブジェクトストレージを構築するソフトウェア。golang製。Apache License Version 2.0。
使い方はとっても簡単で、バイナリをダウンロードして実行するだけ。
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /mnt/data
一応、Dockerでも動く(こっちが推奨?)
docker run -p 9000:9000 -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data
と思ったら、WindowsでもMacでも動く。Goだから?
簡単に使える反面、分散化とか面倒なことができないので、S3の検証とかに使うと吉。
CloudGarageだとNW課金なし&高速NWで使いやすい(後述)
#実際に使ってみる
ファイルの保存先(/mnt/data
)を指定して、起動
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /mnt/data
これだと、既定のポート9000を使うので任意のポートを許可できないCloudGarageではファイアウォール全開放が必要となる。
よって、--address
でポート指定を推奨
(ローカルで完結する場合は不要ないけどその場合ウェブUIが使えない)
./minio server --address 192.168.0.1:8080 /mnt/data
正常に起動するとアクセスキー等が表示されるのでメモ
(.minio/config.json
に書き込まれている)
[root@minio ~]# ./minio server /mnt/data
Created minio configuration file successfully at /root/.minio
Endpoint: http://192.168.0.1:9000 http://127.0.0.1:9000
AccessKey: XXXXXXXXXXXXXXXXXXXX
SecretKey: YYYYYYYYYYYYYYYYYYYY
Browser Access:
http://192.168.0.1:9000 http://127.0.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://192.168.0.8:9000 XXXXXXXXXXXXXXXXXXXX YYYYYYYYYYYYYYYYYYYY
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
.NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
Drive Capacity: 48 GiB Free, 50 GiB Total
各言語毎にリファレンスがあるので、使い方には困らないと思う。
#ウェブUI
Browser Access:
のURLにブラウザでアクセスすると使える
認証があるので上のAccessKey
とSecretKey
を入力する
ウェブUIではバケットの作成やファイルのアップロード・ダウンロードができる
簡単な操作だけなら十分。細かい操作はMinio Clientを使う(Not Amazon S3互換)
とりあえずバケットの作り方。右下のプラスをクリックしてCreate-Bucket
を選択
#ベンチマーク
S3QLを使って他のインスタンスからマウント&ディスクベンチマーク
設定方法はさくらのナレッジの記事がそのまま使える。(CentOS7なら)
###結果
Read(MB/s) | Write(MB/s) | |
---|---|---|
Seq | 275.343 | 404.743 |
512K | 276.234 | 312.386 |
4K | 17.897 | 21.614 |
4KQD32 | 15.987 | 22.257 |
とっても速い。OSがインストールできそう。
某クラウドの10倍ぐらいの速度?
参考:さくらのVPS、SSDプランのローカルディスクのベンチマーク
Read(MB/s) | Write(MB/s) | |
---|---|---|
Seq | 201.179 | 200.509 |
512K | 147.211 | 182.629 |
4K | 7.069 | 7.531 |
4KQD32 | 31.510 | 7.810 |
#一言
CloudGarageのコスパは異常
#参考
オブジェクトストレージ Minioで遊ぶ - あんパン
S3 互換のシンプルなオブジェクトストレージ Minio を使う - Qiita
GitHub - minio/minio: Minio is an open source object storage server compatible with Amazon S3 APIs
Minio Quickstart Guide