官方文檔地址:http://docs.minio.org.cn/docs/master/minio-admin-complete-guide
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管理操作
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 ✔