MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
国内官网:
http://www.minio.org.cn/
http://docs.minio.org.cn/docs/
国内镜像:
http://dl.minio.org.cn/
本集群由2台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,如果其中一台服务器挂了
则minio服务将变为只支持下载文件,不支持上传文件了,minio要求是机器数必须是半数+1台才可以上传文件
minio不支持硬盘目录扩容,只支持机器节点扩容
异常:
1st disk is already being used in another erasure deployment
Unable to initialize backend: found backend fs, expected xl
Unable to initialize backend: 1st disk is already being used in another erasure deployment. (Number of disks specified: 8 but the number of disks found in the 1st disk's format.json: 4)
mkdir /common
#挂在windows共享文件夹到cenos8
mount -t cifs -o username=WangZong,password=@1992*-qwe //192.168.1.254/common /common
#创建文件夹minio
mkdir /usr/local/minio
cd /usr/local/minio
wget https://dl.minio.io/server/minio/release/linux-amd64/minio #下载minio二进制文件
#创建文件夹minio
mkdir /usr/local/minio/bin
#复制文件到bin下
cp minio /usr/local/minio/bin
--vim /usr/local/minio/minio.conf
chmod +x minio #赋予权限
#查看磁盘空间,查看挂载情况
df -h
mkdir /minio1 #创建文件夹
mkdir /minio2 #创建文件夹
mkdir /minio3 #创建文件夹
mkdir /minio4 #创建文件夹
chmod +x /minio1 #赋予权限
chmod +x /minio2 #赋予权限
chmod +x /minio3 #赋予权限
chmod +x /minio4 #赋予权限
#单机部署4目录,纠删码模式运行Minio
#在bin/下执行,启动成功
/usr/local/minio/bin/minio server /minio1 /minio2 /minio3 /minio4
配置key,SECRET
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio123456
分布式启动mimio
/usr/local/minio/bin/minio server http://192.168.1.200/minio1/ http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4
./minio server http://192.168.1.200/data1 http://192.168.1.200/data2 http://192.168.1.200/data3 http://192.168.1.200/data4 http://192.168.1.141/data1 http://192.168.1.141/data2 http://192.168.1.141/data3 http://192.168.1.141/data4
nohup指令,后台运行 --config-dir /usr/local/minio/指定配置文件,指定日志文件minio.log
nohup /usr/local/minio/bin/minio server --config-dir /usr/local/minio/ http://192.168.1.200/minio1 http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4 > /usr/local/minio/minio.log 2>&1 &
nohup /usr/local/minio/bin/minio server --config-dir /usr/local/minio http://192.168.1.200/minio1 http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4 > /usr/local/minio/minio.log 2>&1 &
/usr/local/minio/bin/minio server http://192.168.1.200/minio1 http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4
查看日志
cat /usr/local/minio/minio.log
编写启动脚本
vim /usr/local/minio/run.sh
#***********************run.sh启动脚本内容 开始*********************************
#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio123456
/usr/local/minio/bin/minio server \
http://192.168.1.200/minio1 \
http://192.168.1.200/minio2 \
http://192.168.1.200/minio3 \
http://192.168.1.200/minio4 \
http://192.168.1.141/minio1 \
http://192.168.1.141/minio2 \
http://192.168.1.141/minio3 \
http://192.168.1.141/minio4 > /usr/local/minio/minio.log
#***********************启动脚本内容 结束*********************************
#创建日志文件
touch /usr/local/minio/minio.log
chmod +x /usr/local/minio/bin/minio
chmod +x /usr/local/minio/minio.log
chmod +x /usr/local/minio/run.sh
#编写服务脚本
vim /usr/lib/systemd/system/minio.service
#***********************minio.service脚本2内容 开始*********************************
[Unit]
Description=Minio
Documentation=https://docs.minio.io/
Wants=network-online.target
After=network-online.target
[Service]
WorkingDirectory=/usr/local/minio/
ExecStart=/usr/local/minio/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
#***********************minio.service脚本2内容 结束*********************************
#给予执行权限
chmod +x /usr/lib/systemd/system/minio.service
#重载启动服务项
systemctl daemon-reload
#开启服务支持
systemctl enable minio.service
#启动服务,并检查启动情况
systemctl start minio && systemctl status minio
systemctl stop minio #停止服务
systemctl restart minio #重启服务
部署成功在浏览器访问:
http://192.168.1.200:9000
账号是设置的MINIO_ACCESS_KEY
密码是设置的MINIO_SECRET_KEY