Minio 简介
Minio 是 Apache License v2.0 下公布的对象存储服务器。它与 Amazon S3 云存储服务兼容。它最适宜存储非结构化数据,如照片,视频,日志文件,备份和容器 / VM 映像。对象的大小能够从几 KB 到最大 5TB
Minio 服务器足够轻,能够与应用程序堆栈捆绑在一起,相似于 NodeJS,Redis 和 MySQL。
https://docs.minio.io/
Minio 装置应用
二进制装置
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
留神启动时控制台会显示的 appkey secretkey 是默认登录账户,明码
docker 装置
docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data
应用
浏览器输出:http://ip:9000
例如:http://10.0.102.201:9000 http://172.17.42.1:9000 http://127.0.0.1:9000
AccessKey: minioadmin
SecretKey: minioadmin
Minio 常用命令
客户端操作命令
NAME:
mc - MinIO Client for cloud storage and filesystems.
USAGE:
mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
ls 列出文件和文件夹。mb 创立一个存储桶或一个文件夹。cat 显示文件和对象内容。pipe 将一个 STDIN 重定向到一个对象或者文件或者 STDOUT。share 生成用于共享的 URL。cp 拷贝文件和对象。mirror 给存储桶和文件夹做镜像。find 基于参数查找文件。diff 对两个文件夹或者存储桶比拟差别。rm 删除文件和对象。events 治理对象告诉。watch 监督文件和对象的事件。policy 治理拜访策略。config 治理 mc 配置文件。update 查看软件更新。version 输入版本信息。
客户端治理命令
NAME:
mc admin - manage MinIO servers
USAGE:
mc admin COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
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 治理操作
Minio 应用案例
新建一个 bucket 和用户,并给用户进行受权拜访
- 用户只能拜访本人的 bucket
- 用户只能上传和下载,列出本人的文件
一、查看 minio 根本状况
客服端中增加 minio server 进行治理
[root@minio ~]$ mc config host add minio http://ip 或域名端口 minioadmin minioadmin
列出所有 buckets
[root@minio ~]$ mc ls minio
[2021-03-19 16:45:13 CST] 0B cnb-uat/
[2021-03-19 16:45:21 CST] 0B enp-uat/
列出 minio 现有的用户
[root@minio ~]$ mc admin user list minio
enabled cnb cnbpolicy
enabled enp
列出 minio 现有的策略
[root@minio ~]$ mc admin policy list minio
diagnostics
readonly
readwrite
writeonly
cnbpolicy
consoleAdmin
列出 minio 桶的策略权限
[root@minio ~]$ mc policy list minio/cnb-uat
cnb-uat/cnb-uat* => readwrite
cnb-uat/* => readonly
二、增加 bucket
[root@minio ~]$ mc mb minio/iim-uat
Bucket created successfully `minio/iim-uat`.
三、增加策略
1. 增加自定义策略文件
cat > iim.json << EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:PutObject"
],
"Resource": ["arn:aws:s3:::iim-uat/*"]
}
]
}
EOF
2. 增加自定义策略到零碎
[root@minio ~]$ mc admin policy add minio iimpolicy iim.json
三、用户治理
1. 增加用户
[root@minio ~]$ mc admin user add minio iim iim123456
Added user `iim` successfully.
2. 给用户设置策略
[root@minio ~]$ mc admin policy set minio iimpolicy user=iim
3. 设置匿名权限
[root@minio ~]$ mc policy set download minio/iim-uat
Access permission for `minio/iim-uat` is set to `download`
四、客户端应用
客户端通过命令行操作 bucket
[root@minio ~]$ mc config host add minio http://ip 或域名端口 iim iim123456
[root@minio ~]$ mc ls minio
[2021-03-19 16:45:13 CST] 0B iim-uat/