在mc中添加集群 在控制台添加aksk
使用mc config host add <ALIAS> <ENDPOINT> ACCESS_KEY SECRET_KEY
添加minio实例
使用命令测试与新添加的 MinIO 部署的连接:
将webhook添加到Minio MinIO 支持 使用命令和配置密钥在正在运行的进程上添加或更新 Webhook 端点。您必须重新启动该 过程才能应用任何新的或更新的配置设置。minio server
mc admin config set
notify_webhook
minio server
以下示例代码设置 与配置 Webhook 服务端点相关的_所有设置。必须要有的设置是 :notify_webhook endpoint
$ mc admin config set ALIAS/ notify_webhook:IDENTIFIER \ endpoint="<ENDPOINT>" \ auth_token="<string>" \ queue_dir="<string>" \ queue_limit="<string>" \ client_cert="<string>" \ client_key="<string>" \ comment="<string>"
● 替换IDENTIFIER
为 Webhook 服务端点的唯一描述性字符串。此过程中的以下示例假定标识符为PRIMARY
。
● 如果指定的值IDENTIFIER
与 MinIO 部署上的现有 Webhook 服务端点匹配,则新设置_将覆盖_ 该端点的任何现有设置。用于 查看 MinIO 部署上当前配置的 Webhook 端点。mc admin config get notify_webhook
● 替换ENDPOINT
为 Webhook 服务端点的 URL。例如: https://webhook.example.com
有关每个设置的完整文档,请参阅 Webhook 存储桶通知配置设置。
识别存储桶通知的 ARN
<IDENTIFIER>
在之前创建终端节点时定义了分配给存储桶通知的目标 ARN。以下步骤返回在部署中配置的 ARN。通过查找<IDENTIFIER>
您指定的 ARN 来识别之前创建的 ARN。
查看 JSON 输出
复制并运行以下命令,替换ALIAS
为部署的别名。
mc admin info –json ALIAS
在 JSON 输出中,查找 key info.sqsARN
。
您需要的 ARN 是与您指定的密钥相匹配的值<IDENTIFIER>
。
例如,arn:minio:sqs::primary:webhook
.
使用 jq 解析 JSON 中的值
安装jq
复制并运行以下命令,替换ALIAS
为部署的别名。
mc admin info –json ALIAS | jq .info.sqsARN
这将返回用于通知的 ARN,例如arn:minio:sqs::primary:webhook
mc config host add hotfix-test http://10.73.195.24:19000 AK SK mc admin config set hotfix-test/ notify_webhook:SECONDARY \ endpoint="http://10.73.195.24:19000" mc event add hotfix-test/hotfix-test arn:minio:sqs::SECONDARY:webhook --event s3:ObjectCreated:*,s3:ObjectAccessed:*,s3:ObjectRemoved:*,s3:Replication:*,s3:ObjectRestore:*,s3:ObjectTransition:* mc admin config set minio-domestic notify_webhook:PRIMARY \ endpoint="http://ksgame-public-minio-event-webhook-domestic.internal:80/webhook/" \ queue_dir="/data/logs/minio/event" \ queue_limit="100000"
mc操作远程集群 添加远程集群 $mc alias set minio-test-1 http://ksgame-gamecloud-hotfix-minio-test-1.hb.txyun:9000 MINIOUSER MINIOPASSWD Added `minio-test-1` successfully $mc alias set minio-test-2 http://ksgame-gamecloud-hotfix-minio-test2-1.hb.txyun:9000 MINIOUSER MINIOPASSWD Added `minio-test-2` successfully.
验证 mc alias list
, 如下输出代表成功
minio-test-1 URL : http ://ksgame-gamecloud-hotfix-minio-test-1 .hb.txyun:9000 AccessKey : MINIOUSER SecretKey : MINIOPASSWD API : s3v4 Path : auto minio-test-2 URL : http ://ksgame-gamecloud-hotfix-minio-test2-1 .hb.txyun:9000 AccessKey : MINIOUSER SecretKey : MINIOPASSWD API : s3v4 Path : auto
mc admin info
, 如下输出代表成功
跨集群桶的单向复制 创建桶 $ mc mb -p minio-test -1 /hotfix-test $ mc mb -p minio-test -2 /hotfix-test
验证
启用桶版本控制 对上一步创建的桶开启版本控制
mc version enable minio-test-1/hotfix-test mc version eanble minio-test-2/hotfix-test
为目标集群创建复制目标
使用mc replicate add
命令添加复制规则,语法
mc replicate add ALIAS /BUCKET \ --remote-bucket 'https://USER:PASSWORD@HOSTNAME:PORT/BUCKET' \ --replicate "delete,delete-marker,existing-objects"
使用该命令向每个 MinIO 部署添加新的复制规则。
● 替换ALIAS
为原始 MinIO 部署的别名。 该名称_必须_与上一步中创建远程目标时指定的存储桶匹配。
● 替换BUCKET
为要从源部署上复制的存储桶的名称。
● 替换--remote-bucket
来指定远程 MinIO 部署和ALIAS/BUCKET
复制到的存储桶。
● 必须对应于远程部署上具有必要复制权限 USER:PASSWORD
的用户。
● 必须HOSTNAME:PORT
解析为远程部署上可访问的 MinIO 实例。必须BUCKET
存在并且满足所有其他复制要求 。
● 该标志启用以下复制功能:--replicate "delete,delete-marker,existing-objects"
○删除的复制
○现有对象的复制
请参阅参考资料 更完整的文档。省略任何字段即可禁用该组件的复制。mc replicate add --replicate
此处将minio-test-1集群的hotfix-test桶同步到minio-test-2的同名桶,执行:
mc replicate add minio-test-1 /hotfix-test --remote-bucket 'http://MINIOUSER:MINIOPASSWD@ksgame-gamecloud-hotfix-minio-test2-1 .hb.txyun:9000 /hotfix-test' --replicate "delete,delete-marker,existing-objects"
返回
使用
打开minio-test-1/hotfix-test桶配置页,可以看到同步相关配置
验证 打开minio-test-1及minio-test-2的hotfix-test桶,可以看到文件已经从minio-test-1集群同步至minio-test-2集群 使用mc ls ALIAS/BUCKET
可以验证目标桶是否存在对象
此时在minio-test-1上传一个test1.zip的压缩包
可以看到test1.zip被同步给了minio-test-2
● 使用该命令修改现有的复制规则。mc replicate update
**”mc.****复制.更新”)
○使用带有标志的命令来禁用现有的复制规则。mc replicate update
**”mc.****复制.更新”)--state "disable"
**”mc.replicate.update.–****状态”)
○使用该命令删除现有的复制规则。mc replicate rm
**”mc.replicate.rm”)
server 版本更新 此处以systemctl托管minio部署为例 使用mc admin info ALIAS
命令查看当前版本信息
更新节点上minio二进制文件 下载最新稳定的 MinIO 二进制文件:
wget https:// dl.min.io/server/mi nio/release/ linux-amd64/minio chmod +x minio
使用ansible命令分发至各服务器/usr/local/bin
目录下,并覆盖现有二进制文件:
$ ansible -i hosts2 hosts2 -m copy -a "src=./bin/minio dest=/usr/local/bin/minio" -b --become-user=root ksgame-gamecloud-hotfix-minio-test2-4.hb.txyun | CHANGED => { "changed" : true , "checksum" : "abd60fdc8f830680f6a78bb50f757a28f1849f2c" , "dest" : "/usr/local/bin/minio" , "gid" : 0, "group" : "root" , "md5sum" : "405051193782db9dbeb84f5fbd9f383d" , "mode" : "0755" , "owner" : "root" , "size" : 97423360, "src" : "/home/sre/.ansible/tmp/ansible-tmp-1695112504.53-187677157269723/source" , "state" : "file" , "uid" : 0 } ksgame-gamecloud-hotfix-minio-test2-1.hb.txyun | CHANGED => { "changed": true, "checksum": "abd60fdc8f830680f6a78bb50f757a28f1849f2c", "dest": "/usr/local/bin/minio", "gid": 0, "group": "root", "md5sum": "405051193782db9dbeb84f5fbd9f383d", "mode": "0755", "owner": "root", "size": 97423360, "src": "/home/sre/.ansible/tmp/ansible-tmp-1695112504.51-77545080547971/source", "state": "file", "uid": 0 } ksgame-gamecloud-hotfix-minio-test2-2.hb.txyun | CHANGED => { "changed": true, "checksum": "abd60fdc8f830680f6a78bb50f757a28f1849f2c", "dest": "/usr/local/bin/minio", "gid": 0, "group": "root", "md5sum": "405051193782db9dbeb84f5fbd9f383d", "mode": "0755", "owner": "root", "size": 97423360, "src": "/home/sre/.ansible/tmp/ansible-tmp-1695112504.52-33563145091871/source", "state": "file", "uid": 0 } ksgame-gamecloud-hotfix-minio-test2-3.hb.txyun | CHANGED => { "changed": true, "checksum": "abd60fdc8f830680f6a78bb50f757a28f1849f2c", "dest": "/usr/local/bin/minio", "gid": 0, "group": "root", "md5sum": "405051193782db9dbeb84f5fbd9f383d", "mode": "0755", "owner": "root", "size": 97423360, "src": "/home/sre/.ansible/tmp/ansible-tmp-1695112504.52-117741071403493/source", "state": "file", "uid": 0 } $ ansible -i hosts2 hosts2 -m shell -a "ls -lh /usr/local/bin/minio" -b --become-user=root ksgame-gamecloud-hotfix-minio-test2-1.hb.txyun | CHANGED | rc=0 >> -rwxr-xr-x 1 root root 93M Sep 19 16:35 /usr/local/bin/minio ksgame-gamecloud-hotfix-minio-test2-4.hb.txyun | CHANGED | rc=0 >> -rwxr-xr-x 1 root root 93M Sep 19 16:35 /usr/local/bin/minio ksgame-gamecloud-hotfix-minio-test2-2.hb.txyun | CHANGED | rc=0 >> -rwxr-xr-x 1 root root 93M Sep 19 16:35 /usr/local/bin/minio ksgame-gamecloud-hotfix-minio-test2-3.hb.txyun | CHANGED | rc=0 >> -rwxr-xr-x 1 root root 93M Sep 19 16:35 /usr/local/bin/minio
重新启动部署 运行命令以同时重新启动部署中的所有 MinIO 服务器进程。mc admin service restart
重新启动过程通常会在几秒钟内完成,并且_不会中断_正在进行的操作。
提示重启完成
验证升级 再次使用mc admin info ALIAS
命令查看当前版本信息
确认版本已被更新