2023-11-17    2023-12-13    905 字  2 分钟

环境

主机环境

主机名 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块硬盘。

image-20231106153558081

下载并安装

下载及安装步骤,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。通过域名及配置的用户名和密码,可以访问minioweb页面。

查看minio的状态,主机及磁盘均在线。

image-20231106152804354

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

桶操作

创建桶

命令:

1
mc mb 服务器名称/桶名称

举例:

1
mc mb my-minio/test

查询桶

命令:

1
mc ls 服务器名称

举例:

1
mc ls my-minio

其他操作

其它命令如下:

命令 解释
ls 列出文件和文件夹。
mb 创建一个存储桶或一个文件夹。
cat 显示文件和对象内容。
pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。
share 生成用于共享的URL。
cp 拷贝文件和对象。
mirror 给存储桶和文件夹做镜像。
find 基于参数查找文件。
diff 对两个文件夹或者存储桶比较差异。
rm 删除文件和对象。
events 管理对象通知。
watch 监听文件和对象的事件。
policy 管理访问策略。
session 为cp命令管理保存的会话。
config 管理mc配置文件。
update 检查软件更新。
version 输出版本信息。

监控

点击跳转Prometheus监控配置


image-20231028232834657