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/