気分転換でminioのimmutable環境をテストしてみた。
さて、これが気分転換になるとはあんまし思えず。。。。だった。
まず、minioの環境を普通に作った方。。。じゃーん。再構築です。
必要なもの
minio dockerあるいはminioバイナリ
mcクライアント (AWSCLIだとロック付きのバケットができない。)
awscli (初期設定はカッツアイ。minioのサーバに対して aws s3 lsが動作することを確認しておく)
各アプリは適当なパスの通ったところに置いてく。
はまりどころ満載なので、情報ソースと共に記載していく
minioサーバの作成
普通のモードはFSモードなので作成できない。
https://github.com/minio/minio/issues/9962
erasure-coded modeって何だ?
Erasure Cordingモードの説明は以下にある。
https://docs.min.io/docs/minio-erasure-code-quickstart-guide.html
要は/dataだけでやらずに複数のマウントポイントで上げてくれということ。
minioのマウント元のフォルダーを以下のように作る
/minio/data1
/minio/data2
/minio/data3
/minio/data4
/minio/data5
/minio/data6
/minio/data7
/minio/data8
/minio/data9
/minio/data10
/minio/data11
/minio/data12
サーバの起動
INIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin ./minio server /minio/data{1…12}
以下のようなメッセージが出てくれば成功
Formatting 1st zone, 1 set(s), 12 drives per set.
WARNING: Host local has more than 6 drives of set. A host failure will result in data becoming unavailable.
Attempting encryption of all config, IAM users and policies on MinIO backend
Status: 12 Online, 0 Offline.
Endpoint: http://192.168.1.100:9000 http://127.0.0.1:9000
AccessKey: minioadmin
SecretKey: minioadmin
バケットの作成
新規作成のバケットをmcコマンドで作る。ブラウザから作ってはダメ。aws cliからも作れないという謎の仕様。なので、mcコマンドを使う。
mcコマンドの設定
vi .mc/config.json
{
“version”: “10”,
“aliases”: {
“minio”: {
“url”: “https://192.168.1.100:9000/”,
“accessKey”: “minioadmin”,
“secretKey”: “minioadmin”,
“api”: “S3v4”,
“path”: “auto”
}
}
}
バケットの作成
以下のコマンドでバケットを新規作成
https://github.com/minio/minio/issues/9236
mc mb –with-lock minio/test1
オブジェクトロックの設定
以下のページの内容をそのままコピペするとエスケープシーケンスでエラーになるので消してから実行
https://docs.minio.io/docs/minio-bucket-object-lock-guide.html
aws –profile minio –no-verify –endpoint-url http://192.168.1.100:9000 s3api put-object-lock-configuration –bucket test1 –object-lock-configuration ‘ObjectLockEnabled=”Enabled”,Rule={DefaultRetention={Mode=”GOVERNANCE”,Days=1}}’
ということで終わり。何ともアンドキュメンテッドのものを探してはトライ、探してはトライというプチプチとストレスがたまる作業だった。
おまけにモード変更のために再構築もしなきゃならないとは、やるきそぐーw
ーー>QNAPのminioでhttps付きで動作もできた。