容器部署:
1.下载镜像(如果不指定版本,可以直接下载默认最新的)
docker pull quay.io/minio/minio
2.创建对应目录
mkdir /data/{minio-data1,minio-data2}
3.启动镜像
docker run -d --network=host --name minio-node -p 9000:9000 -p 9001:9001 --restart=always \
--privileged=true --hostname "minio-node1" \
-v /data/minio-data1:/data1 \
-v /data/minio-data2:/data2 \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=Passw@Mminio" \
quay.io/minio/minio:RELEASE.2024-06-13T22-53-53Z server http://192.100.5.20:9000/data{1...2} \
--console-address ":9001" --address ":9000"
记得设置**–restart=always**,这样当docker重启时,容器自动启动
二进制部署:
1.关闭SELinux,开放所需使用端口(下面使用8089与9001)
2.创建目录;下载软件包
mkdir -p /data/minio/
cd /data/minio/
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
3.手动测试程序运行
默认API端口为9000,由于该端口被占用,因此API端口修改为8089,GUI端口为9001
nohup /data/minio/minio server /data/minio/ --address ":8089" --console-address ":9001" > /data/minio/minio.log 2>&1 &
检查进程及端口:
ps auwx|grep minio
netstat -tunlp|grep minio
4.打开GUI界面:
在/data/minio/minio.log中会显示默认的登录账号/密码
关闭minio进程:
5.配置服务控制脚本
创建用户:
groupadd -g 103 minio
useradd -u 103 -g 103 -d /var/spool/minio -s /sbin/nologin minio
修改所需目录权限、属组:
chmod 775 /data/minio
chown minio:minio /data/minio
部署程序到目录:
cd /data/minio
mv minio /usr/local/bin/.
chmod +x /usr/local/bin/minio
部署完成后,可使用如下命令测试:minio -v
定义环境变量文件“/etc/default/minio”
# Volume to be used for MinIO server.
MINIO_VOLUMES="/data/minio"
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--console-address :9001"
# Access Key of the server.
MINIO_ACCESS_KEY=AbcdEminIO
# Secret key of the server.
MINIO_SECRET_KEY=AbcdEminIO
请特别留意“MINIO_ACCESS_KEY”与“MINIO_SECRET_KEY”的定义
配置服务控制脚本vim /usr/lib/systemd/system/minio.service
[Service]
WorkingDirectory=/usr/local
User=minio
Group=minio
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server --address ":8089" $MINIO_OPTS $MINIO_VOLUMES >/data/minio/minio.log 2>&1
Restart=always
LimitNOFILE=65536
TasksMax=infinity
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
修改完脚本后,你需要使用如下命令重载服务
systemctl daemon-reload
请使用如下命令控制服务和查询状态
systemctl start minio.service
systemctl status minio.service
systemctl stop minio.service
systemctl restart minio.service
测试完毕,建议使用如下命令设置服务自动启动
systemctl enable minio.service