一、环境介绍
采用两台linux机器,安装集群版本minio。
docker安装的minio集群,可以使用文件夹代替磁盘,原生安装minio集群数据目录必须使用空的整块磁盘。
集群版本也使用的纠删码维护数据,保证了数据备份(虽然只是在文件夹中),单机版本不会使用纠删码。
生产环境建议还是使用一个数据目录一块磁盘。
机器IP | 数据目录 |
---|---|
192.168.75.124 | /data1 |
/data2 | |
192.168.75.124 | /data1 |
/data2 |
二、获取minio的docker镜像
docker pull minio/minio
三、环境准备
在两台机器上都要执行
mkdir /data1
mkdir /data2
mkdir -p /var/lib/minio/config
四、minio集群的启动
docker run -d --name minio1 \
--restart=always \
--net=host \
-e MINIO_ACCESS_KEY=minioadmin \
-e MINIO_SECRET_KEY=minioadmin \
-v /data1:/data1 \
-v /data2:/data2 \
-v /var/lib/minio/config:/root/.minio \
minio/minio server \
--address ":29000" \
--console-address ":29001" \
http://192.168.75.124/data1 http://192.168.75.124/data2 \
http://192.168.75.125/data1 http://192.168.75.125/data2
五、命名解说
docker run -d --name minio1 \
--restart=always \
--net=host \ #一定要使用host模式,实验过使用映射模式,会报错
-e MINIO_ACCESS_KEY=minioadmin \ #管理员用户名
-e MINIO_SECRET_KEY=minioadmin \ #管理员密码
-v /data1:/data1 \ #数据存储目录,冒号前的为宿主机目录
-v /data2:/data2 \
-v /var/lib/minio/config:/root/.minio \ #minio的配置文件目录
minio/minio server \
--address ":29000" \ #minio的服务端口,可以自定义,默认是9000
--console-address ":29001" \ #minio的控制台地址,可以自定义,默认是9001
http://10.113.75.124/data1 http://10.113.75.124/data2 \ #下面这个表示采用4个盘构建存储集群
http://10.113.75.125/data1 http://10.113.75.125/data2
注意点:
1、网络一定使用--net-host模式,实验过映射模式,不可用。猜测是因为使用映射模式时,往集群上报每个节点的身份的时候,得到的IP是内部容器的IP,与后面参数上的数据地址IP不一致。
2、如果数据需要持久化,需要把数据目录和配置文件目录映射到宿主机
3、服务端口和控制台端口是可以自定义的使用--address,--console-address参数
4、所有磁盘的份数,建议是2的n次方,大于等于4