• Linux搭建minio集群


    方式一:4台服务器(或虚拟机)搭建minio集群

    1.1、 准备4台服务器(或虚拟机),并在对应机器上面创建/data{num}文件夹

    192.168.31.128/data0 
    192.168.31.129/data1 
    192.168.31.130/data2 
    192.168.31.131/data3

    本集群由4台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个。

    1.2、创建相关目录(所有节点)

    数据存储目录
    $ mkdir -p /var/minio/bin
    
    启动脚本目录
    $ cd /var/minio/bin
    $ wget https://dl.minio.io/server/minio/release/linux-amd64/minio
    $ chmod +x minio
    
    集群配置文件目录
    $ mkdir -p /etc/minio

    1.3、编写集群启动脚本(所有节点配置文件相同)

    $ vim /var/minio/bin/run.sh
    #!/bin/bash
    export MINIO_ACCESS_KEY=minio
    export MINIO_SECRET_KEY=test123456
    /var/minio/bin/minio server --config-dir /etc/minio 
    http://192.168.31.128/data0 http://192.168.31.129/data1 
    http://192.168.31.130/data2 http://192.168.31.131/data3

    注意:

    1. MINIO_ACCESS_KEY:用户名
    2. MINIO_SECRET_KEY:密码,密码不能设置过于简单,不然minio会启动失败
    3. -config-dir:指定集群配置文件目录

    赋权:

    $ chmod +x /var/minio/bin/run.sh
    

    1.4、编写服务脚本(所有节点都要进行如下配置)

    $ vim /usr/lib/systemd/system/minio.service
    [Unit]
    Description=Minio service
    Documentation=https://docs.minio.io/
    [Service]
    WorkingDirectory=/var/minio/bin/
    ExecStart=/var/minio/bin/run.sh
    Restart=on-failure
    RestartSec=5
    [Install]
    WantedBy=multi-user.target

    注意:

    1. WorkingDirectory:启动脚本目录
    2. ExecStart:指定集群启动脚本

    赋权:

    $ chmod +x /usr/lib/systemd/system/minio.service

    1.5、启动测试

    $ systemctl daemon-reload
    $ systemctl start minio
    $ systemctl enable minio

    1.6、验证

    浏览器输入:集群任意节点IP:9000,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可创建“bucket”并上传文件测试。

    方式二:3台Linux服务器(或虚拟机),并使用supervisor进行服务管理

    2.1、准备3台服务器,并在3台服务器上都创建/data{num}文件夹

    192.168.31.130/data1 /data2
    192.168.31.131/data3 /data4
    192.168.31.132/data5 /data6

    2.2、创建启动脚本目录

    $ mkdir /opt/minio
    $ cd /opt/minio/

    # 下载minio $ wget https://dl.minio.io/server/minio/release/linux-amd64/minio $ chmod +x minio

    2.3、安装supervisor

    # 方法一:使用yum安装,并设置开机启动
    $ yum install -y supervisor
    
    #方法二:由于supervisor在python3下无法使用,因此只能用python2去下载
    $ yum install python-setuptools
    $ easy_install supervisor
    # 具体步骤请查看supervisor安装

    2.4、创建minio配置文件

    $ mkdir /etc/supervisor.d/
    [program:minio] 
    directory = /opt/minio/ 
    command = /opt/minio/minio server --address :30000   http://192.168.31.130:30000/data/minio1   http://192.168.31.130:30000/data/minio2   http://192.168.31.131:30000/data/minio3   http://192.168.31.131:30000/data/minio4   http://192.168.31.132:30000/data/minio5   http://192.168.31.132:30000/data/minio6 
    user = root 
    autostart = true 
    autorestart = true 
    startsecs = 5 
    redirect_stderr = true 
    stopasgroup = true 
    ikillasgroup = true 
    stdout_logfile_maxbytes = 50MB 
    stdout_logfile_backups = 10 
    stdout_logfile = /var/log/supervisor/minio.log 
    environment=MINIO_SECRET_KEY=password,MINIO_ACCESS_KEY=minio

    2.5 启动supervisor服务和minio服务

    systemctl start supervisord.service  # 启动,使用systemctl命令,minio服务就已经起来了
    systemctl enable supervisord.service 
    
    systemctl restart supervisord.service # 重启,这个命令不要执行
    # 注意,supervisor服务起来后可以使用下面的命令管理minio服务
    $ supervisorctl start minio # 启动 $ supervisorctl status minio # 查看状态 $ supervisorctl stop minio # 关闭

    2.6 安装mc

    1. 下载mc:https://docs.min.io/cn/minio-client-quickstart-guide.html
    2. 添加服务器:
     a. mc alias set minio1 {minio1_url} ak sk  # 添加minio服务器1  ak:用户名  sk:密码
     b. mc alias set minio2 {minio2_url} ak sk
    3. 同步:
     a. mc mirror minio1/{bucket_name} minio2/{bucket_name}

    例子:

    $ ./mc config host add minio1 http://minio_service1:30001 minio password  # 添加minio1服务  注意 minio1和minio2是两个不同的集群
    $ ./mc config host add minio2 http://minio_service2:30001 minio passw0rd
    $ ./mc mirror minio2/paas-etcd-bak minio1/paas-etcd-bak  # 将minio2服务里面的桶迁移到minio1里面
    参考地址:https://docs.min.io/cn/minio-client-complete-guide.html#mirror
    Mc mirrir用法:
       mc mirror [FLAGS] SOURCE TARGET
    FLAGS:
      --help, -h                       显示帮助。
      --force              强制覆盖已经存在的目标。
      --fake               模拟一个假的操作。
      --watch, -w                      监听改变并执行镜像操作。
      --remove             删除目标上的外部的文件。

    结束!

  • 相关阅读:
    第一节:SpringMVC概述
    SpringMVC【目录】
    Windows 系统快速查看文件MD5
    (error) ERR wrong number of arguments for 'hmset' command
    hive使用遇到的问题 cannot recognize input
    Overleaf支持的部分中文字体预览
    Understanding and Improving Fast Adversarial Training
    Django2实战示例 第十三章 上线
    Django2实战示例 第十二章 创建API
    Django2实战示例 第十一章 渲染和缓存课程内容
  • 原文地址:https://www.cnblogs.com/aaronthon/p/14271190.html
Copyright © 2020-2023  润新知