MinIO Client(mc)提供了“ admin”子命令来对您的MinIO部署执行管理任务。
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.下载MinIO Client
Docker稳定版
docker pull minio / mc
docker run minio / mc admin info play
Docker Edge
docker pull minio / mc:edge
docker运行minio / mc:edge admin info server play
Homebrew(macOS)
使用[Homebrew](http://brew.sh/)安装mc软件包
brew install minio/stable/mc
mc --help
二进制下载(GNU / Linux)
平台 CPU架构 URL
GNU/Linux 64-bit Intel http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
64-bit PPC http://dl.minio.org.cn/client/mc/release/linux-ppc64le/mc
chmod +x mc
./mc --help
二进制下载(Microsoft Windows)
平台 CPU架构 URL
Microsoft Windows 64-bit Intel http://dl.minio.org.cn/client/mc/release/windows-amd64/mc.exe
mc.exe --help
从源代码安装
源代码安装仅适用于开发人员和高级用户。 mc update命令不支持基于源的安装的更新通知。请从https://min.io/download/#minio-client下载官方版本。
如果您没有可用的Golang环境,请遵循[如何安装Golang](https://golang.org/doc/install)。
go get -d github.com/minio/mc
cd ${GOPATH}/src/github.com/minio/mc
make
2.运行MinIO Client
GNU / Linux
chmod +x mc
./mc --help
macOS
chmod 755 mc
./mc --help
Microsoft Windows
mc.exe --help
3.添加MinIO存储服务
MinIO服务器显示URL,访问权和秘密密钥。
用法
mc config host add <ALIAS> <YOUR-MINIO-ENDPOINT> [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY]
键必须由参数或标准输入提供。
别名只是您的MinIO服务的简称。 MinIO端点,访问和密钥由您的MinIO服务提供。 Admin API使用“ S3v4”签名,无法更改。
例子
1.参数键
mc config host add minio http://192.168.1.51:9000 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
2.按键提示
mc config host add minio http://192.168.1.51:9000
Enter Access Key: BKIKJAA5BMMU2RHO6IBB
Enter Secret Key: V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
2.管道按键
echo -e "BKIKJAA5BMMU2RHO6IBB\nV7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12" | \
mc config host add minio http://192.168.1.51:9000
4.测试您的设置
例:
获取已配置别名“ minio”的MinIO服务器信息
mc admin info minio
● min.minio.io
Uptime: 11 hours
Version: 2020-01-17T22:08:02Z
Network: 1/1 OK
Drives: 4/4 OK
2.1 GiB Used, 158 Buckets, 12,092 Objects
4 drives online, 0 drives offline
5.日常使用
您可以添加外壳别名以获取信息,以便恢复。
alias minfo='mc admin info'
alias mheal='mc admin heal'
6.全局选项
选项[--debug]
调试选项使调试输出到控制台。
示例:显示“ info”命令的详细调试输出。
mc: <DEBUG> GET /minio/admin/v2/info HTTP/1.1
Host: play.minio.io
User-Agent: MinIO (linux; amd64) madmin-go/0.0.1 mc/DEVELOPMENT.GOGET
Authorization: AWS4-HMAC-SHA256 Credential=**REDACTED**/20200120//s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20200120T185844Z
Accept-Encoding: gzip
mc: <DEBUG> HTTP/1.1 200 OK
Content-Length: 1105
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/json
Date: Mon, 20 Jan 2020 18:58:44 GMT
Server: nginx/1.10.3 (Ubuntu)
Vary: Origin
X-Amz-Bucket-Region: us-east-1
X-Amz-Request-Id: 15EBAD6087210B2A
X-Xss-Protection: 1; mode=block
mc: <DEBUG> Response Time: 381.860854ms
● play.minio.io
Uptime: 11 hours
Version: 2020-01-17T22:08:02Z
Network: 1/1 OK
Drives: 4/4 OK
2.1 GiB Used, 158 Buckets, 12,092 Objects
4 drives online, 0 drives offline
选项[--json]
JSON选项启用[JSON行](http://jsonlines.org/)格式的可解析输出。
*示例:MinIO服务器
mc admin --json info play
{
"status": "success",
"info": {
"mode": "online",
"region": "us-east-1",
"deploymentID": "728e91fd-ed0c-4500-b13d-d143561518bf",
"buckets": {
"count": 158
},
"objects": {
"count": 12092
},
"usage": {
"size": 2249526349
},
"services": {
"vault": {
"status": "KMS configured using master key"
},
"ldap": {}
},
"backend": {
"backendType": "Erasure",
"onlineDisks": 4,
"rrSCData": 2,
"rrSCParity": 2,
"standardSCData": 2,
"standardSCParity": 2
},
"servers": [
{
"state": "ok",
"endpoint": "play.minio.io",
"uptime": 41216,
"version": "2020-01-17T22:08:02Z",
"commitID": "b0b25d558e25608e3a604888a0a43e58e8301dfb",
"network": {
"play.minio.io": "online"
},
"disks": [
{
"path": "/home/play/data1",
"state": "ok",
"uuid": "c1f8dbf8-39c8-46cd-bab6-2c87d18db06a",
"totalspace": 8378122240,
"usedspace": 1410588672
},
{
"path": "/home/play/data2",
"state": "ok",
"uuid": "9616d28f-5f4d-47f4-9c6d-4deb0da07cad",
"totalspace": 8378122240,
"usedspace": 1410588672
},
{
"path": "/home/play/data3",
"state": "ok",
"uuid": "4c822d68-4d9a-4fa3-aabb-5bf5a58e5848",
"totalspace": 8378122240,
"usedspace": 1410588672
},
{
"path": "/home/play/data4",
"state": "ok",
"uuid": "95b5a33c-193b-4a11-b13a-a99bc1483182",
"totalspace": 8378122240,
"usedspace": 1410588672
}
]
}
]
}
}
选项[--no-color]
此选项禁用颜色主题。对于哑终端很有用。
选项[--quiet]
安静选项禁止显示聊天控制台输出。
选项[--config-dir]
使用此选项设置自定义配置路径。
选项[--insecure]
跳过SSL证书验证。
7.命令
命令
service - 重新启动和停止所有MinIO服务器
update - 更新所有MinIO服务器
info - 显示MinIO服务器信息
user - 管理用户
group - 管理组
policy - 管理固定政策
config - 管理服务器配置文件
heal - 修复MinIO服务器上的磁盘,存储桶和对象
profile - 生成用于调试目的的配置文件数据
top - 为MinIO提供类似顶部的统计信息
trace - 显示MinIO服务器的http跟踪
console - 显示MinIO服务器的控制台日志
prometheus - 管理prometheus配置设置
命令update-更新所有MinIO服务器
update命令提供了一种更新集群中所有MinIO服务器的方法。您还可以使用带有update命令的私有镜像服务器来更新MinIO集群。如果MinIO在无法访问Internet的环境中运行,这很有用。
示例:更新所有MinIO服务器。
mc admin update play
Server `play` updated successfully from RELEASE.2019-08-14T20-49-49Z to RELEASE.2019-08-21T19-59-10Z
使用私有镜像更新MinIO的步骤
为了在私有镜像服务器上使用update命令,您需要在私有镜像服务器上的https://dl.minio.io/server/minio/release/linux-amd64/上镜像目录结构,然后提供:
mc admin update myminio https://myfavorite-mirror.com/minio-server/linux-amd64/minio.sha256sum
Server `myminio` updated successfully from RELEASE.2019-08-14T20-49-49Z to RELEASE.2019-08-21T19-59-10Z
注意: -指向分布式安装程序的别名,此命令将自动更新群集中的所有MinIO服务器。 -update是您的MinIO服务的破坏性操作,任何正在进行的API操作都将被强制取消。因此,仅在计划为部署进行MinIO升级时才应使用它。 -建议在更新成功完成后执行重新启动。
命令service-重新启动并停止所有MinIO服务器
服务命令提供了一种重新启动和停止所有MinIO服务器的方法。
注意: -指向分布式设置的别名,此命令将在所有服务器上自动执行相同的操作。 -restart和stop子命令是MinIO服务的破坏性操作,任何正在进行的API操作都将被强制取消。因此,仅应在管理环境下使用。请谨慎使用。
NAME:
mc admin service - restart and stop all MinIO servers
FLAGS:
--help, -h show help
COMMANDS:
restart restart all MinIO servers
stop stop all MinIO servers
示例:重新启动所有MinIO服务器。
mc admin service restart play
Restarted `play` successfully.
命令info-显示MinIO服务器信息
“ info”命令显示一台或多台MinIO服务器的服务器信息(在分布式集群下)
NAME:
mc admin info - get MinIO server information
FLAGS:
--help, -h show help
示例:显示MinIO服务器信息。
mc admin info play
● play.minio.io
Uptime: 11 hours
Version: 2020-01-17T22:08:02Z
Network: 1/1 OK
Drives: 4/4 OK
2.1 GiB Used, 158 Buckets, 12,092 Objects
4 drives online, 0 drives offline
命令policy-管理固定策略
policy命令,用于添加,删除,列出策略,获取有关策略的信息并为MinIO服务器上的用户设置策略。
NAME:
mc admin policy - manage policies
FLAGS:
--help, -h show help
COMMANDS:
add add new policy
remove remove policy
list list all policies
info show info on a policy
set set IAM policy on a user or group
示例:列出MinIO上的所有固定策略。
mc admin policy list myminio/
diagnostics
readonly
readwrite
writeonly
示例:在MinIO上添加新策略'listbucketsonly',策略来自/tmp/listbucketsonly.json。 *对用户应用此策略时,该用户只能列出顶层存储桶,而不能列出其他内容,没有前缀,没有对象。
首先使用以下信息创建json文件/tmp/listbucketsonly.json。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
将策略作为“ listbucketsonly”添加到策略数据库中
mc admin policy add myminio/ listbucketsonly /tmp/listbucketsonly.json
Added policy `listbucketsonly` successfully.
示例:在MinIO上删除策略“ listbucketsonly”。
mc admin policy remove myminio/ listbucketsonly
Removed policy `listbucketsonly` successfully.
示例:显示罐头策略的信息,“只写”
mc admin policy info myminio/ writeonly
{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["s3:PutObject"],"Resource":["arn:aws:s3:::*"]}]}
示例:在用户或组上设置固定策略。“只写”
mc admin policy set myminio/ writeonly user=someuser
Policy writeonly is set on user `someuser`
mc admin policy set myminio/ writeonly group=somegroup
Policy writeonly is set on group `somegroup`
命令user-管理用户
用户命令,用于添加,删除,启用,禁用MinIO服务器上的用户。
NAME:
mc admin user - manage users
FLAGS:
--help, -h show help
COMMANDS:
add add new user
disable disable user
enable enable user
remove remove user
list list all users
info display info of a user
示例:在MinIO上添加新用户'newuser'。
mc admin user add myminio/ newuser newuser123
示例:使用标准输入在MinIO上添加新用户'newuser'。
mc admin user add myminio/
Enter Access Key: newuser
Enter Secret Key: newuser123
示例:在MinIO上禁用用户“ newuser”。
mc admin user disable myminio/ newuser
示例:在MinIO上启用用户“ newuser”。
mc admin user enable myminio/ newuser
示例:在MinIO上删除用户'newuser'。
mc admin user remove myminio/ newuser
示例:列出MinIO上的所有用户。
mc admin user list --json myminio/
{"status":"success","accessKey":"newuser","userStatus":"enabled"}
示例:显示用户信息
mc admin user info myminio someuser
命令group-管理组
使用group命令在MinIO服务器上添加,删除,信息,列出,启用,禁用组。
NAME:
mc admin group - manage groups
USAGE:
mc admin group COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
add add users to a new or existing group
remove remove group or members from a group
info display group info
list display list of groups
enable Enable a group
disable Disable a group
示例:将一对用户添加到MinIO上的“ somegroup”组中。 如果组不存在,则会创建该组。
mc admin group add myminio somegroup someuser1 someuser2
示例:从MinIO的“ somegroup”组中删除一对用户。
mc admin group remove myminio somegroup someuser1 someuser2
示例:在MinIO上删除组“ somegroup”。 仅在给定组为空时有效。
mc admin group remove myminio somegroup
示例:在MinIO上获取有关“ somegroup”组的信息。
mc admin group info myminio somegroup
示例:列出MinIO上的所有组。
mc admin group list myminio
示例:在MinIO上启用组“ somegroup”。
mc admin group enable myminio somegroup
示例:在MinIO上禁用组“ somegroup”。
mc admin group disable myminio somegroup
命令config-管理服务器配置
config命令用于管理MinIO服务器配置。
NAME:
mc admin config - manage configuration file
USAGE:
mc admin config COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
get get config of a MinIO server/cluster.
set set new config file to a MinIO server/cluster.
FLAGS:
--help, -h Show help.
示例:获取MinIO服务器/集群的服务器配置。
mc admin config get myminio > /tmp/my-serverconfig
示例:设置MinIO服务器/集群的服务器配置。
mc admin config set myminio < /tmp/my-serverconfig
命令heal-修复MinIO服务器上的磁盘,存储桶和对象
使用heal命令修复MinIO服务器上的磁盘,丢失的存储桶和对象。 注意:此命令仅适用于MinIO擦除编码设置(独立和分布式)。
服务器已经有一个浅色的后台进程,可以在必要时修复磁盘,存储桶和对象。 但是,它不会检测某些类型的数据损坏,尤其是很少发生的数据损坏,例如静默数据损坏。 在这种情况下,您需要隔一段时间手动运行提供以下标志的heal命令:--scan deep。
要显示后台恢复过程的状态,只需键入以下命令:mc admin heal your-alias。
要扫描和修复所有内容,请输入:mc admin heal -r your-alias。
NAME:
mc admin heal - heal disks, buckets and objects on MinIO server
FLAGS:
--scan value select the healing scan mode (normal/deep) (default: "normal")
--recursive, -r heal recursively
--dry-run, -n only inspect data, but do not mutate
--force-start, -f force start a new heal sequence
--force-stop, -s force stop a running heal sequence
--remove remove dangling objects in heal sequence
--help, -h show help
示例:更换新磁盘后修复MinIO集群,递归修复所有存储桶和对象,其中'myminio'是MinIO服务器别名。
mc admin heal -r myminio
示例:递归修复特定存储桶上的MinIO集群,其中“ myminio”是MinIO服务器别名。
mc admin heal -r myminio/mybucket
示例:递归修复特定对象前缀上的MinIO集群,其中“ myminio”是MinIO服务器别名。
mc admin heal -r myminio/mybucket/myobjectprefix
示例:显示MinIO集群中自我修复过程的状态。
mc admin heal myminio/
命令profile-生成用于调试目的的配置文件数据
NAME:
mc admin profile - generate profile data for debugging purposes
COMMANDS:
start start recording profile data
stop stop and download profile data
开始进行CPU分析
mc admin profile start --type cpu myminio/
命令top-为MinIO提供类似top的统计信息
注意:此命令仅适用于分布式MinIO设置。 单节点和网关部署不支持此功能。
NAME:
mc admin top - provide top like statistics for MinIO
COMMANDS:
locks Get a list of the 10 oldest locks on a MinIO cluster.
示例:获取分布式MinIO群集上10个最旧锁的列表,其中'myminio'是MinIO群集别名。
mc admin top locks myminio
命令trace-显示MinIO服务器的http跟踪
trace命令显示一台或所有MinIO服务器(在分布式集群下)的服务器http跟踪
NAME:
mc admin trace - show http trace for MinIO server
FLAGS:
--verbose, -v print verbose trace
--all, -a trace all traffic (including internode traffic between MinIO servers)
--errors, -e trace failed requests only
--help, -h show help
示例:显示MinIO服务器http跟踪。
mc admin trace myminio
172.16.238.1 [REQUEST (objectAPIHandlers).ListBucketsHandler-fm] [154828542.525557] [2019-01-23 23:17:05 +0000]
172.16.238.1 GET /
172.16.238.1 Host: 172.16.238.3:9000
172.16.238.1 X-Amz-Date: 20190123T231705Z
172.16.238.1 Authorization: AWS4-HMAC-SHA256 Credential=minio/20190123/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=8385097f264efaf1b71a9b56514b8166bb0a03af8552f83e2658f877776c46b3
172.16.238.1 User-Agent: MinIO (linux; amd64) minio-go/v6.0.8 mc/2019-01-23T23:15:38Z
172.16.238.1 X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
172.16.238.1
172.16.238.1 <BODY>
172.16.238.1 [RESPONSE] [154828542.525557] [2019-01-23 23:17:05 +0000]
172.16.238.1 200 OK
172.16.238.1 X-Amz-Request-Id: 157C9D641F42E547
172.16.238.1 X-Minio-Deployment-Id: 5f20fd91-6880-455f-a26d-07804b6821ca
172.16.238.1 X-Xss-Protection: 1; mode=block
172.16.238.1 Accept-Ranges: bytes
172.16.238.1 Content-Security-Policy: block-all-mixed-content
172.16.238.1 Content-Type: application/xml
172.16.238.1 Server: MinIO/RELEASE.2019-09-05T23-24-38Z
172.16.238.1 Vary: Origin
...
命令console-显示MinIO服务器的控制台日志
“ console”命令显示一台或所有MinIO服务器的服务器日志(在分布式集群下)
NAME:
mc admin console - show console logs for MinIO server
FLAGS:
--limit value, -l value show last n log entries (default: 10)
--help, -h show help
示例:显示MinIO服务器http跟踪。
mc admin console myminio
API: SYSTEM(bucket=images)
Time: 22:48:06 PDT 09/05/2019
DeploymentID: 6faeded5-5cf3-4133-8a37-07c5d500207c
RequestID: <none>
RemoteHost: <none>
UserAgent: <none>
Error: ARN 'arn:minio:sqs:us-east-1:1:webhook' not found
4: cmd/notification.go:1189:cmd.readNotificationConfig()
3: cmd/notification.go:780:cmd.(*NotificationSys).refresh()
2: cmd/notification.go:815:cmd.(*NotificationSys).Init()
1: cmd/server-main.go:375:cmd.serverMain()
命令prometheus-管理prometheus配置设置
“generate”命令生成prometheus配置(要粘贴到“prometheus.yml”中)
NAME:
mc admin prometheus - manages prometheus config
USAGE:
mc admin prometheus COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
generate generates prometheus config
_示例:为生成prometheus配置。
mc admin prometheus generate <alias>
- job_name: minio-job
bearer_token: <token>
metrics_path: /minio/prometheus/metrics
scheme: http
static_configs:
- targets: ['localhost:9000']
命令kms-执行KMS管理操作
kms命令可用于执行KMS管理操作。
NAME:
mc admin kms - perform KMS management operations
USAGE:
mc admin kms COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
key子命令可用于执行主密钥管理操作。
NAME:
mc admin kms key - manage KMS keys
USAGE:
mc admin kms key COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
示例:显示默认主键的状态信息
mc admin kms key status play
Key: my-minio-key
• Encryption ✔
• Decryption ✔
示例:显示一个特定主键的状态信息
mc admin kms key status play test-key-1
Key: test-key-1
• Encryption ✔
• Decryption ✔