简介
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
快速安装
- 单机版安装
要创建具有永久存储的MinIO容器,您需要将本地持久目录从主机操作系统映射到虚拟配置~/.minio
并导出/data
目录。 为此,请运行以下命令(官方文档命令有点问题)
docker run -itd -p 9000:9000 --name minio-1 \
-e MINIO_ACCESS_KEY=xiaodoubi -e MINIO_SECRET_KEY=itkaoti.top \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
minio/minio server /data
- 访问
打开 http://127.0.0.1:9000, 登录, 用户名为: xiaodoubi, 密码: itkaoti.top, 之后我们就可以在界面上新建桶和上传文件。
多盘安装
- docker
多盘安装可以在N/2块磁盘出现问题的时候, 不会出现数据丢失的情况(具体原理看官方文档)
docker run -itd -p 9000:9000 --name minio-1 \
-e MINIO_ACCESS_KEY=xiaodoubi -e MINIO_SECRET_KEY=itkaoti.top \
-v /data/minio/data1:/data1 \
-v /data/minio/data2:/data2 \
-v /data/minio/data3:/data3 \
-v /data/minio/data4:/data4 \
-v /data/minio/config:/root/.minio \
minio/minio server /data1 /data2 /data3 /data4
- 直接安装
下载
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
- 运行命令
RUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.56.101
MINIO_PORT=9001
MINIO_LOGFILE=/opt/minio.log
# accesskey and secretkey
ACCESS_KEY=xiaodoubi
SECRET_KEY=itkaoti.top
MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio server --address "${MINIO_HOST}:${MINIO_PORT}" /opt/min-data1 /opt/min-data2 /opt/min-data3 /opt/min-data4 > ${MINIO_LOGFILE} 2>&1 &
如果上面脚本报如下错误
ERROR Unable to validate passed arguments: host in server address should be this server
> Please check --address parameter
HINT:
--address binds to a specific ADDRESS:PORT, ADDRESS can be an IPv4/IPv6 address or hostname (default port is ':9000')
Examples: --address ':443'
--address '172.16.34.31:9000'
--address '[fe80::da00:a6c8:e3ae:ddd7]:9000'
就把MINIO_HOST=192.168.56.101注掉, 直接使用端口就行
分布式快速入门
分布式 Minio 至少需要 4 个节点
- 运行
RUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.56.101
#accesskey and secretkey
ACCESS_KEY=xiaodoubi
SECRET_KEY=itkaoti.top
for i in {01..04}; do
START_CMD="MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio server --address "${MINIO_HOST}:90${i}" http://${MINIO_HOST}:9001/opt/min-data1 http://${MINIO_HOST}:9002/opt/min-data2 http://${MINIO_HOST}:9003/opt/min-data3 http://${MINIO_HOST}:9004/opt/min-data4 > ${MINIO_HOME}/minio-90${i}.log 2>&1 &"
su - ${RUNNING_USER} -c "${START_CMD}"
done
- 访问
4个节点都可以访问