在Linux上部署MinIO分布式存储集群需要一些步骤。以下是详细的步骤:
你可以通过yum在CentOS系统上安装MinIO。以下是具体步骤:
下载MinIO官方仓库:
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250312180418.0.0-1.x86_64.rpm -O minio.rpm
安装MinIO:
yum install minio.rpm
验证安装:
minio --version
创建用于存储数据的目录,并设置权限:
mkdir -p /mnt/data
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown -R minio-user:minio-user /mnt/data
chmod -R 755 /mnt/data
配置环境变量:
编辑 /etc/default/minio
文件,添加以下内容,替换 <your-username>
和 <your-password>
为你自己的管理员账号和密码:
MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minioadmin"
MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="--address :9000"
启动MinIO服务:
systemctl start minio
systemctl enable minio
防火墙设置(如果启用):
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanentsudo firewall-cmd --reload
设置相同的Access Key和Secret:确保所有节点的Access Key和Secret相同,以便它们可以互相通信。
时间同步:使用NTP服务确保所有节点的时间同步,时间差不能超过3秒。
创建目录和配置文件:在每个节点上创建必要的目录,并将MinIO的可执行文件移动到相应目录并添加执行权限。
mkdir -p /export/logs/minio
mkdir -p /export/servers/minio/{bin,config}
cp /export/packages/minio /export/servers/minio/bin/
chmod +x /export/servers/minio/bin/minio
编写启动脚本:创建一个启动脚本,例如 minio_start.sh
,并添加以下内容:
#!/bin/bash
minio_server1=10.0.0.11
minio_server2=10.0.0.12
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 +x minio_start.sh
./minio_start.sh
使用以下命令验证MinIO是否正常运行:
ps -ef | grep minio
使用配置的IP、端口、用户名和密码登录MinIO控制台进行验证。
如果你希望通过Nginx作为代理来访问MinIO控制台和API,可以配置Nginx:
upstream minioconsole {
server 10.0.0.11:9000 max_fails=3 fail_timeout=60;
server 10.0.0.12:9000 max_fails=3 fail_timeout=60;
}
upstream minioapi {
server 10.0.0.11:9001 max_fails=3 fail_timeout=60;
server 10.0.0.12:9001 max_fails=3 fail_timeout=60;
}
server {
listen 80;
server_name minio.test.com;
proxy_ignore_client_abort on;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
location /minio {
proxy_pass http://minioconsole;
}
location /minioapi {
proxy_pass http://minioapi;
}
}
通过以上步骤,你就可以在Linux上成功部署一个MinIO分布式存储集群。