阅读量:166
MinIO是一个高性能的对象存储系统,专为云原生和容器化环境而设计。它使用分布式架构来存储和管理大规模的非结构化数据,例如图片、视频、日志文件等。MinIO基于Amazon S3协议,并提供了与S3兼容的API,这使得它能够与现有的S3生态系统无缝集成。以下是MinIO集群部署的步骤:
环境准备创建MinIO用户和目录
在两台服务器上执行以下命令:
sudo useradd -m -d /app/minio minios
sudo mkdir -p /app/minio/data
sudo mkdir -p /app/minio/logs
sudo chown -R minio:minio /app/minio /app/minio/data /app/minio/logs
设置MinIO用户密码
echo 'minio:XXXXXXXXX' | sudo chpasswd
下载MinIO二进制文件
作为minio用户,下载MinIO到指定目录并设置执行权限:
sudo -u minio wget https://dl.min.io/server/minio/release/linux-amd64/minio -P /app/minios
sudo -u minio chmod +x /app/minio/minio
创建启动脚本
在/app/minio目录下创建启动脚本minio-start.sh:
sudo -u minio bash -c 'cat > /app/minio/minio-start.sh << EOF
#!/bin/bash
export MINIO_ROOT_USER=adminexport MINIO_ROOT_PASSWORD=XXXXXXX
export MINIO_VOLUMES="http://172.16.1.9/app/minioData http://172.16.1.10/app/minioData"
export MINIO_OPTS="--address :9000 --console-address :6900"
/app/minio/minio server $MINIO_OPTS $MINIO_VOLUMES >> /app/minio/logs/minio.log 2>&1
EOF'
设置脚本权限
确保minio-start.sh脚本为minio用户所有,并设置正确的执行权限:
sudo chown minio:minio /app/minio/minio-start.shsudo chmod +x /app/minio/minio-start.sh
配置MinIO服务自动启动
创建systemd服务单元文件/etc/systemd/system/minio.service:
sudo bash -c 'cat > /etc/systemd/system/minio.service << EOF
[Unit]
Description=MinIO
After=network.target
[Service]
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=password"
ExecStart=/app/minio/minio server /app/minioData --console-address ":9001"
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
StandardOutput=/app/minio/minio.log
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF'
启动MinIO服务
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
验证登录
使用IP+9000端口,用户名和密码为启动脚本中的MINIO_ROOT_USER、MINIO_ROOT_PASSWORD进行登录。
以上步骤提供了一个基本的MinIO集群部署流程,具体配置可能会根据实际环境和需求有所不同。