环境
主机环境
主机名 |
IP |
磁盘 |
hwei-ng-public-minio-prod-0001 |
10.66.2.38 |
4块数据盘 |
Hwei-ng-public-minio-prod-0002 |
10.66.1.2 |
4块数据盘 |
Hwei-ng-public-minio-prod-0003 |
10.66.1.40 |
4块数据盘 |
架构类似于下图。下图是4台主机,每台主机3块硬盘。本文档是3台主机,每台主机4块硬盘。
下载并安装
下载及安装步骤,3台主机相同,均需执行
格式化磁盘
1
2
3
4
|
mkfs.xfs /dev/vdb
mkfs.xfs /dev/vdc
mkfs.xfs /dev/vdd
mkfs.xfs /dev/vde
|
挂载磁盘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
mkdir -p /data/minio/{data1,data2,data3,data4}
blkid
/dev/vdb: UUID="e16ec632-4df4-436a-827c-321fde7a337b" TYPE="xfs"
/dev/vdc: UUID="55d06225-24b6-411a-9fc7-10871bda6ceb" TYPE="xfs"
/dev/vdd: UUID="6b02e134-343c-4795-b4b8-0628cd01cbc8" TYPE="xfs"
/dev/vde: UUID="f5c58532-e645-4395-bd3b-3213b4b9ae2d" TYPE="xfs"
tail -n4 /etc/fstab
UUID=e16ec632-4df4-436a-827c-321fde7a337b /data/minio/data1 xfs defaults 0 0
UUID=55d06225-24b6-411a-9fc7-10871bda6ceb /data/minio/data2 xfs defaults 0 0
UUID=6b02e134-343c-4795-b4b8-0628cd01cbc8 /data/minio/data3 xfs defaults 0 0
UUID=f5c58532-e645-4395-bd3b-3213b4b9ae2d /data/minio/data4 xfs defaults 0 0
mount -a
|
下载minio
1
2
3
4
|
cd /usr/local/src/
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mv minio /usr/local/bin/
|
初始化目录
1
|
mkdir -p /opt/minio/run && mkdir /etc/minio/
|
启动文件,其中指定9001
端口为web
端口,9000
端口为api
端口。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
cat /etc/systemd/system/minio.service
[Unit]
Description=Minio service
[Service]
WorkingDirectory=/opt/minio/run
EnvironmentFile=/etc/minio/minio.pw
ExecStart=/usr/local/bin/minio server \
--config-dir /etc/minio \
--address :9000 \
--console-address :9001 \
http://10.66.2.38:9000/data/minio/data1 \
http://10.66.2.38:9000/data/minio/data2 \
http://10.66.2.38:9000/data/minio/data3 \
http://10.66.2.38:9000/data/minio/data4 \
http://10.66.1.2:9000/data/minio/data1 \
http://10.66.1.2:9000/data/minio/data2 \
http://10.66.1.2:9000/data/minio/data3 \
http://10.66.1.2:9000/data/minio/data4 \
http://10.66.1.40:9000/data/minio/data1 \
http://10.66.1.40:9000/data/minio/data2 \
http://10.66.1.40:9000/data/minio/data3 \
http://10.66.1.40:9000/data/minio/data4
Restart=on-failure
RestartSec=5
LimitNOFILE=20480000
[Install]
WantedBy=multi-user.target
|
编辑配置文件,初始化minio
登录密码
cat /etc/minio/minio.pw
MINIO_ACCESS_KEY=Minio
MINIO_SECRET_KEY=24H4Gcr7U0L
启动服务
systemctl start minio
systemctl status minio
systemctl enable minio
负载均衡
为9001
端口配置负载均衡,并配置外网域名。监控检查路径为/minio/health/live
。通过域名及配置的用户名和密码,可以访问minio
的web
页面。
查看minio
的状态,主机及磁盘均在线。
为9000
端口配置负载均衡,仅供内网访问即可。
客户端
客户端初始化
安装与配置
minio
客户端支持多系统,这里以Linux
系统为例。
1
|
wget https://dl.min.io/client/mc/release/linux-amd64/mc
|
赋权与使用
1
2
|
chmod a+x mc
mv mc /usr/local/bin/
|
验证
1
2
3
4
5
|
mc -version
mc version RELEASE.2023-11-15T22-45-58Z (commit-id=4724c024c6de8bf2f072821ec85a19ef7e9b49d5)
Runtime: go1.21.4 linux/amd64
Copyright (c) 2015-2023 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
|
初始化客户端
初始化格式为
1
|
mc config host add 服务器名称 endpoint地址 accesskey secretkey
|
例如
1
|
mc config host add my-minio http://minio.snoopyops.top Minio 89G&rc@0P
|
桶操作
创建桶
命令:
举例:
查询桶
命令:
举例:
其他操作
其它命令如下:
命令 |
解释 |
ls |
列出文件和文件夹。 |
mb |
创建一个存储桶或一个文件夹。 |
cat |
显示文件和对象内容。 |
pipe |
将一个STDIN重定向到一个对象或者文件或者STDOUT。 |
share |
生成用于共享的URL。 |
cp |
拷贝文件和对象。 |
mirror |
给存储桶和文件夹做镜像。 |
find |
基于参数查找文件。 |
diff |
对两个文件夹或者存储桶比较差异。 |
rm |
删除文件和对象。 |
events |
管理对象通知。 |
watch |
监听文件和对象的事件。 |
policy |
管理访问策略。 |
session |
为cp命令管理保存的会话。 |
config |
管理mc配置文件。 |
update |
检查软件更新。 |
version |
输出版本信息。 |
监控
点击跳转Prometheus监控配置