基本环境
底层: Windows 11 x64
虚拟化层:VMWare Workstation 17.0.2
虚拟化兼容性:ESXi 6.7
虚拟硬件:
CPU: 4 Core
RAM: 16 GB
HDD: 128 GB SCSI
NetWork: NAT
操作系统版本: CentOS 7.9.2207 Mininal 无更新、无升级内核
无系统更新
无内核升级
关闭 SELinux
配置 NTP 时间同步
安装 Open VM Tools
美化 CLI
信息汇总
# 官方网站
https://min.io/
# 中文网站
https://www.minio.org.cn/
# 官方网站 下载页面
https://www.minio.org.cn/download.shtml#/linux
# 帮助文档 中文版
https://www.minio.org.cn/docs/minio/linux/index.html
# 帮助文档
https://min.io/docs/minio/linux/index.html
前期准备
# 创建 安装用临时文件夹
mkdir -p ~/temp/install
# 创建 MinIO 安装目录
mkdir -p /usr/local/minio
# 创建 数据存储目录
mkdir -p /data/minio
# 创建 日志目录
mkdir -p /data/log/minio
部署 MinIO
安装 MinIO 二进制文件
# 为了能够在任何路径下都能运行 MinIO 程序,需要修改环境变量。不修改也没事
# 修改环境变量
sudo cat <<EOF >> /etc/profile
# MinIO Setting
export PATH=/usr/local/minio:\$PATH
EOF
# 生效 环境变量
source /etc/profile
修改环境变量
# 为了能够在任何路径下都能运行 MinIO 程序,需要修改环境变量。不修改也没事
# 修改环境变量
sudo cat <<EOF >> /etc/profile
# MinIO Setting
export PATH=/usr/local/minio:\$PATH
EOF
# 生效 环境变量
source /etc/profile
试运行 MinIO
# 查看 MinIO 版本信息
minio --version | grep "version"
# 返还信息
minio version RELEASE.2023-11-20T22-40-07Z (commit-id=f56a182b719cb262e0628ef3f544371ea8842551)
# MinIO 运行命令格式
minio server {minio数据存储路径} --console-address :9090
# 试运行 MinIO
minio server /data/minio --console-address :9090
# 浏览器 打开 MinIO 控制台
http://{Server_IP}:9090
# 退出 MinIO
Ctrl + C
创建 MinIO 配置文件
# 通过命令直接创建配置文件
sudo cat <<EOF > /usr/local/minio/minio.conf
# MinIO 配置文件
# /usr/local/minio/minio.conf
# MinIO 用户名
MINIO_ROOT_USER="minioadmin"
# MinIO 密码
MINIO_ROOT_PASSWORD="minioadmin"
# MinIO 数据存储目录
MINIO_VOLUMES="/data/minio"
# MinIO API 端口
MINIO_OPTS="--address 0.0.0.0:9000"
# MinIO 控制台 端口
MINIO_OPTS1="--console-address 0.0.0.0:9090"
EOF
MinIO 防火墙管理
创建 MinIO 服务 端口配置文件
# 命令行直接创建 MinIO 服务 端口配置文件
sudo cat <<EOF > /usr/lib/firewalld/services/minio.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>MinIO</short>
<description>MinIO for Object-Based Storage </description>
<port protocol="tcp" port="9000"/>
<port protocol="tcp" port="9090"/>
</service>
EOF
防火墙 放行 MinIO 服务
# 刷新 防火墙策略
firewall-cmd --reload
# 放行 MinIO 服务
firewall-cmd --permanent --zone=public --add-service=minio
# 生效 防火墙策略
firewall-cmd --reload
MinIO 服务管理
创建 MinIO 服务 文件
# 命令行直接创建 MinIO 服务文件
# 原则上,这个文件我编写的有错误,但是不知道为什么可以正常运行
sudo cat <<EOF > /etc/systemd/system/minio.service
# MinIO 自启动服务文件
# /etc/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
# MinIO 执行文件路径
AssertFileIsExecutable=/usr/local/minio/minio
[Service]
WorkingDirectory=/usr/local/minio
ProtectProc=invisible
# MinIO 配置文件路径
EnvironmentFile=/usr/local/minio/minio.conf
# 执行 MinIO 软件之前
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in minio.conf\""
# 启动 MinIO 并保存日志
ExecStart=/usr/local/minio/minio server $MINIO_OPTS $MINIO_VOLUMES > /data/log/minio/minio.log
# ExecStart=/usr/local/minio/minio server --config-dir=/usr/local/minio/minio.conf
# 设置始终自动重启服务
Restart=always
# 设置文件描述符的最大数量
LimitNOFILE=65536
# 设置最大任务值为无线
TasksMax=infinity
# 设置超时时间及等待结束进程时间
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
EOF
管理 MinIO 服务
# 重新加载服务文件
systemctl daemon-reload
# 启动 MinIO 服务
systemctl start minio.service
# 设置 MinIO 为开机自启动
systemctl enable minio.service
# 检查 MinIO 服务运行状态
systemctl status minio.service
# 查看 MinIO 进程运行信息
ps -ef | grep minio
# 查看端口运行情况 (未安装Net-Tools无法使用)
netstat -nlpt | grep minio
# 查看 MinIO 版本信息
minio --version | grep "version"
# 停止 MinIO
systemctl stop minio.service
# 重启 MinIO
systemctl restart minio.service
备用
基于 Dokcer 部署 MinIO
docker run --name minio \
-p 9000:9000 \
-p 9090:9090 \
-d --restart=always \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123" \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
minio/minio server /data --console-address ":9090"