本文展示搭建一个具备纠删码机制的分布式文件存储服务。
单机部署
1 2 3 4 5 6 7
| sudo docker run -p 9000:9000 -p 9090:9090 --name minio \ -d --restart=always \ -e "MINIO_ACCESS_KEY=admin" \ -e "MINIO_SECRET_KEY=12345678" \ -v /data/minio/data:/data \ -v /data/minio/config:/root/.minio \ minio/minio server /data --console-address ":9090"
|
部署纠删码
1 2 3 4 5 6 7 8 9 10 11 12 13
| sudo docker run -p 9000:9000 -p 50000:50000 --name minio \ -d --restart=always \ -e "MINIO_ACCESS_KEY=admin" \ -e "MINIO_SECRET_KEY=12345678" \ -v /data/minio/data1:/data1 \ -v /data/minio/data2:/data2 \ -v /data/minio/data3:/data3 \ -v /data/minio/data4:/data4 \ -v /data/minio/data5:/data5 \ -v /data/minio/data6:/data6 \ -v /data/minio/data7:/data7 \ -v /data/minio/data8:/data8 \ minio/minio server /data{1...8} --console-address ":50000"
|



常用命令

1
| mc mb minio-server/images
|
1
| mc ls minio-server # 查询当前节点下的 buckets
|

上传 下载
1
| mc cp minio/images/0vBc0hN.png minio-server/images
|

1 2
| mc ls minio-server/images mc cp minio-server/images/0vBc0hN.png ./
|

1
| mc rm minio-server/images/0vBc0hN.png
|

bucket 管理
1 2
| mc mb minio-server/bucket01
|

1 2
| mc mb minio-server/bucket01
|

1 2
| mc rb --force minio-server/bucket01
|

1 2
| mc mc minio-server/images
|

mc admin使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| service 服务重启并停止所有MinIO服务器 update 更新更新所有MinIO服务器 info 信息显示MinIO服务器信息 user 用户管理用户 group 小组管理小组 policy MinIO服务器中定义的策略管理策略 config 配置管理MinIO服务器配置 heal 修复MinIO服务器上的磁盘,存储桶和对象 profile 概要文件生成概要文件数据以进行调试 top 顶部提供MinIO的顶部统计信息 trace 跟踪显示MinIO服务器的http跟踪 console 控制台显示MinIO服务器的控制台日志 prometheus Prometheus管理Prometheus配置 kms kms执行KMS管理操作
|

1 2 3
| mc admin user add minio-server char mc admin user add minio-server char01 12345678
|

1
| mc admin user remove minio-server char01
|

1 2
| mc admin user disable minio-server char
|

1 2
| mc admin user enable minio-server char
|

策略管理

1 2
| mc admin policy info minio-server readonly
|

添加策略
编辑自定义策略:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::images" ] }, { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::images/*" ] } ] }
|
可以在策略中设置的动作:
1 2 3 4 5 6 7
| "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ]
|
将fileReadonly_imagesAll.json添加到策略数据库:
1
| mc admin policy create minio-server fileReadonlyImagesAll minio/config/fileReadonly_imagesAll.json
|
