MinIO MC 命令行基础操作
原作者:运维君莫笑
链接:https://www.zhihu.com/people/xue-wu-zhi-jing-29-11
一、客户端操作 MinIO Client(mc)
官方文档:https://docs.min.io/docs/minio-admin-complete-guide.html
MinIO Client (mc) 为 UNIX 命令(如 ls、cat、cp、mirror、diff、find 等)提供了现代替代方案。它支持文件系统和兼容 Amazon S3 的云存储服务(AWS Signature v2 和 v4)。
1 | alias set, remove and list aliases in configuration file |
1) mc Shell 自动补全
如果您使用的是 bash、zsh 或 fish。Shell 补全默认嵌入在 mc,安装自动补全使用 `mc --autocompletion`。重新启动 shell,mc 将自动完成命令,如下所示。
1 | # 安装 |
2) 查看 mc 版本
1 | mc -version |
3) 列出 minio 的所有存储桶
1 | mc ls minio |
4) 创建桶
mb 命令在对象存储上创建一个新存储桶。在文件系统上,它的行为类似于 mkdir -p 命令。Bucket 相当于文件系统中的驱动器或挂载点,不应被视为文件夹。MinIO 对每个用户创建的存储桶数量没有任何限制。
1 | # 添加 MinIO 存储服务 |
web 访问:http://192.168.1.11:19001
5) 复制文件到 MinIO
cp 命令将数据从一个或多个源复制到目标。
1 | # 生成一个测试文件 |
6) 日常使用
您可以添加 shell 别名来覆盖您常用的 Unix 工具。
1 | alias ls='mc ls' |
7) MinIO 管理员操作
MinIO Client (mc) 提供 admin 子命令来对 MinIO 部署执行管理任务。
1 | service restart and stop all MinIO servers |
1. 查看集群信息
1 | mc admin info minio |
2. 全局选项
1、选项 [–debug]
【示例】显示 info 命令的详细调试输出
1 | mc admin info --debug minio |
2、选项 [–json]
JSON 选项启用 JSON 行格式的可解析输出。
【示例】MinIO 服务器信息
1 | mc admin --json info minio |
3. 命令 service- 重启和停止所有 MinIO 服务器
service 命令提供了一种重新启动和停止所有 MinIO 服务器的方法。
【示例】
1 | mc admin service restart minio |
4. 命令 policy- 管理预设策略
policy 添加、删除、列出策略、获取策略信息以及为 MinIO 服务器上的用户设置策略的命令。
1 | NAME: |
1、【示例】列出 MinIO 上的所有预设策略
1 | mc admin policy list minio |
2、【示例】在 MinIO 上添加新策略 “listbucketsonly”
策略来自 /tmp/listbucketsonly.json。当此策略应用于用户时,该用户只能列出顶层存储桶,但不能列出其他任何内容,没有前缀,没有对象。
首先使用以下信息创建 json 文件 /tmp/listbucketsonly.json。
1 | { |
1 | # 将策略作为 "listbucketsonly" 添加到策略数据库 |
3、【示例】在用户或组上设置标准策略。’writeonly’
1 | # 添加一个新用户 "sevattal",密码 "sevattal12356" |
5. 命令 user 管理用户
1、【示例】在 MinIO 上添加一个新用户 “sevattal”
1 | # 添加一个新用户 "sevattal",密码"sevattal123456" |
2、【示例】在 MinIO 上禁用用户 “sevattal”
1 | mc admin user disable minio sevattal |
3、【示例】在 MinIO 上启用用户 “sevattal”
1 | mc admin user enable minio sevattal |
4、【示例】在 MinIO 上删除用户 “sevattal”
1 | mc admin user remove minio sevattal |
5、【示例】列出 MinIO 上的所有用户
mc admin user list –json minio
6、【示例】显示用户信息
1 | mc admin user info minio sevattal |
6. 命令 group 管理组
group 在 MinIO 服务器上添加、删除、信息、列出、启用、禁用组的命令。
1、【示例】将用户添加到 MinIO 上的组 “somegroup”
1 | # 如果组不存在,则创建组。 |
2、【示例】从 MinIO 上的组 “somegroup” 中删除用户
1 | mc admin group remove minio somegroup sevattal |
3、【示例】在 MinIO 上删除一个组 “somegroup”
1 | # 仅在给定组为空时有效,非空组无法删除 |
4、【示例】在 MinIO 上获取组 “somegroup” 的信息
1 | # 添加组 |
5、【示例】列出 MinIO 上的所有组
1 | mc admin group list minio |
6、【示例】在 MinIO 上启用组 “somegroup”
1 | mc admin group enable minio somegroup |
7、【示例】在 MinIO 上禁用组 “somegroup”
1 | mc admin group disable minio somegroup |
7. 命令 config 管理服务器配置
config 命令来管理 MinIO 服务器配置。
1、【示例】获取 “etcd” 子系统配置 (这个是需要你配置 etcd 环境的)
1 | # 通过引入第三方组件 etcd,在不动原有集群的基础上实现动态扩展方案 |
2、【示例】在 “etcd” 子系统上设置特定设置
1 | mc admin config set minio etcd endpoints=http://[hostname|ip]:2379 |
注:若你配置完后,web 端界面无法访问,说明你 etcd 的环境没有配置,可以 通过 export 配置文件后,删除 etcd 的配置信息,再 import 配置文件解决该问题,etcd 的配置在后续文章中体现。
3、【示例】获取 MinIO 服务器/集群的整个服务器配置
1 | mc admin config export minio > /tmp/my-serverconfig |
4、【示例】设置 MinIO 服务器/集群的整个服务器配置
1 | mc admin config import minio < /tmp/my-serverconfig |
这里列出了常用的命令,想了解更多,可以查看官方文档:https://docs.min.io/docs/minio-admin-complete-guide.html
MinIO Client(mc)操作还是非常简单的,但是更多的使用还是通过程序去调用 api 接口的,后续会讲解