minio之集群安装docker版

一、环境介绍

采用两台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

### 使用Docker部署MinIO集群 为了使用Docker部署MinIO集群,可以遵循一系列配置指令来确保分布式存储系统的正常运作。对于由`systemd`管理的部署,建议使用运行MinIO服务器进程用户的$HOME目录[^3]。 #### 准备工作 创建用于运行MinIO服务的专用用户,并设置其家目录为`/home/minio-user`。这一步骤同样包含了创建该用户以及指定其家目录的位置说明。 ```bash sudo useradd -r minio-user -U -m -d /home/minio-user ``` #### 启动单节点MinIO实例 在准备阶段完成后,可以通过下面的命令启动一个单独的MinIO实例: ```bash docker run \ -p 9000:9000 \ -e "MINIO_ROOT_USER=minioadmin" \ -e "MINIO_ROOT_PASSWORD=minioadmin" \ -v /home/minio-user/data:/data \ -v /home/minio-user/config:/root/.minio \ quay.io/minio/minio server /data --console-address ":9000" ``` 此命令设置了环境变量以定义管理员用户名和密码,并挂载了数据卷与配置文件路径到容器内部。 #### 构建多节点MinIO集群 当需要构建一个多节点组成的MinIO集群时,则需按照官方文档指导,在各个节点上执行相应的初始化脚本,并通过网络连接这些节点形成分布式的对象存储系统。具体来说,就是利用多个带有特定参数的`docker run`命令分别启动各成员节点的服务实例,同时指明其他参与构成集群的地址列表。 例如,假设存在四个节点(node1至node4),那么可以在每个节点上执行类似的命令来加入集群: ```bash docker run \ -p 9000:9000 \ -e "MINIO_ROOT_USER=minioadmin" \ -e "MINIO_ROOT_PASSWORD=minioadmin" \ -v /home/minio-user/data:/export \ quay.io/minio/minio server http://node{1...4}/export --console-address ":9000" ``` 上述命令中,`http://node{1...4}`代表所有组成集群的节点地址范围;而`/export`则是本地磁盘上的共享存储位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值