MinIO介绍
MinIO是在Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。
它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM映像。对象的大小可以从几KB到最大5TB。
MinIO部署规划
部署规划
- 内存大小根据项目实际情况选择,默认4c8g,建议8c32g。
(主机名根据主机列表更改)
IP地址 | 系统 | 主机名 | CPU | 内存 | 磁盘 |
---|---|---|---|---|---|
192.168.8.72 | CenOS7.6 | 4 | 12 | 100 | |
192.168.15.179 | CenOS7.6 | 4 | 12 | 100 |
- 集群相关介质信息如下表格所示。
操作系统 | CentOS7.6 |
---|---|
软件版本 | |
配置文件 | /software/servers/minio/bin/minio_start.sh |
执行脚本 | /software/servers/minio/bin/minio_start.sh |
服务端口 | 9000 |
安装MinIO
-
准备工作
(官方推荐集群最小4台服务器,也可以理解为最少4个目录)
使用2台服务器,每个服务器上挂载两个磁盘目录,最小数据挂载点为4个
-
创建数据目录、脚本目录、集群配置文件目录(所有节点都要执行)
mkdir -p /software/data/minio/{data1,data2} mkdir -p /software/servers/minio/{bin,etc} mkdir -p /software/Logs/minio/
-
拷贝软件到对应目录
(略)
编辑集群启动脚本(所有节点都要执行)
-
各节点集群启动脚本内容都相同
vim /software/servers/minio/bin/minio_start.sh
“MINIO_ACCESS_KEY”为用户名
“MINIO_SECRET_KEY”为密码
密码不能设置过于简单,不然minio会启动失败
“–config-dir”指定集群配置文件目录
内容:(IP根据实际情况填写)
#!/bin/bash
minio_server1=192.168.8.72
minio_server2=192.168.15.179
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456
nohup /export/servers/minio/bin/minio server --config-dir /export/servers/minio/etc \
http://$minio_server1/minio/data1 http://$minio_server1/minio/data2 \
http://$minio_server2/minio/data1 http://$minio_server2/minio/data2 >/export/Logs/minio/minio.log 2>&1 &
-
赋权修改主属组
chmod 755 /software/servers/minio/bin/* chown -R appUser.appUser /software//servers/minio/ chown -R appUser.appUser /software/Logs/minio/ chown -R appUser.appUser /software/data/minio/
启动服务
-
启动服务
/software/servers/minio/bin/minio_start.sh
出现什么问题可以通过查看
/data/Logs/minio/minio.log
文件来定位。
检验服务
- 浏览器输入集群任意节点地址+9000端口,即可访问minio,用户名密码为前面设置的
MINIO_ACCESS_KEY
和MINIO_SECRET_KEY
,可创建“bucket”并上传文件测试。
可以点击“+“处进行bucket创建或者进行文件上传测试。
mc 命令行工具的使用
/export/servers/minio/bin/mc config host add myminio http://192.168.8.72:9000 ${MINIO_ACCESS_KEY} ${MINIO_SECRET_KEY}
常用命令:
-
创建桶
mc mb myminio/testbucket
-
拷贝测试文件
mc cp test_file myminio/testbucket
-
列出目录
mc ls myminio/testbucket
-
设置公开权限
mc policy public myminio/testbucket