zoukankan      html  css  js  c++  java
  • 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             删除目标上的外部的文件。

    结束!

  • 相关阅读:
    RMAN异机还原遭遇ORA-19698错误案例
    Linux sendmail发送邮件失败诊断案例(一)
    Oracle system identifier(SID) "xxx" alread exits. Specify another SID
    ORA-12516:TNS:listener could not find available handler with matching protocol stack
    ORACLE编译失效对象小结
    Win7 安装SQL SERVER 2012需要SP1补丁
    SQL SERVER出现大量一致性错误的解决方法
    MS SQL统计信息浅析下篇
    Dell PowerVault TL4000 磁带机卡带问题
    虚拟机VMWARE上ORACLE License 的计算
  • 原文地址:https://www.cnblogs.com/aaronthon/p/14271190.html
Copyright © 2011-2022 走看看