当前位置: 首页 > news >正文

minio集群部署,4台服务器+1台nginx

4台主机+1台nginx负载均衡

分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,即:用户名和密码
分布式Minio存放数据的磁盘目录必须是空目录
分布式Minio官方建议生产环境最少4个节点,因为有N个节点,得至少保证有N/2的节点才能可读,保证至少N/2+1的节点才能可写。这里只是作演示搭建,只有2个节点
分布式Minio节点时间差不能差距太多,最好同一内网
分布式Minio会在每个磁盘都存一份数据文件保证数据的可靠性与安全性

基础准备
  • 创建目录
mkdir /home/minio
cd /home/minio
mkdir config
mkdit logs
mkdir data1
mkdir data2
mkdir run
cd run
vim minio-run.sh
  • 将minio二进制文件上传到run目录
  • minio-run.sh文件内容如下
#!/bin/bashexport MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=123456
nohup /home/minio/run/minio server --address ':9000' --console-address ":9001" \
--config-dir /home/minio/config \
http://192.168.1.12/home/minio/data1 \
http://192.168.1.13/home/minio/data1 \
http://192.168.1.14/home/minio/data1 \
http://192.168.1.15/home/minio/data1 \
http://192.168.1.12/home/minio/data2 \
http://192.168.1.13/home/minio/data2 \
http://192.168.1.14/home/minio/data2 \
http://192.168.115/home/minio/data2 >/home/minio/logs/minio.log 2>&1 &
  • 授权
chmod +x /home/minio/run/minio && chmod +x /home/minio/run/minio-run.sh
  • 防火墙放通端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=9001/tcp --permanent
# 重启
firewall-cmd --reload
# 查看
firewall-cmd --list-port
  • 如果存在未分区的磁盘,则进行分区,否则跳转到磁盘挂载
# 查看分区情况
fdisk -l1.创建物理卷PV
pvcreate /dev/vdb #创建PV
pvdisplay   #查看PV2创建卷组VG
vgcreate vg01_data /dev/vdb      #创建VG
vgdisplay    #查看VG3.激活VG
vgchange -a y vg01_data4.创建逻辑卷LV,并划分LV
lvcreate -L75G -n lv_data vg01_data  #创建名为lv_data01大小为20T的逻辑卷vgdisplay #查到VG剩余多少空间,看Free  PE / Size  值
# Free  PE / Size       19199 / <75.00 GiB
lvcreate -l 19199( Free PE值 ) -n lv_data02  vg01_data   #用剩余空间创建名为lv_data02的逻辑卷5.安装新的格式化工具e2fsprogs,格式化tar zxvf e2fsprogs-1.42.10.tar.gz
cd e2fsprogs-1.42.10
mkdir build
cd build/
../configure
make
make install
# 格式化磁盘
mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i 8192 /dev/mapper/vg01_data-lv_data   (i 后面值越小 i节点数越大)
mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i 8192 /dev/mapper/vg01_data-lv_data02 7.编辑/etc/fstab文件,加入挂载信息
/dev/mapper/vg01_data-lv_data    /home/minio/data1         ext4    defaults        0 0
/dev/mapper/vg01_data-lv_data02   /home/minio/data2          ext4    defaults        0 0
  • 挂载分区
mount /dev/mapper/vg01_data-lv_data /home/minio/data1
mount /dev/mapper/vg01_data-lv_data02 /home/minio/data2
  • 启动(在4台服务器都准备后再进行逐一启动)
cd /home/minio/run
sh minio-run.sh
  • 另外3台服务重复以上步骤
ngibx配置
upstream minio_console {server 192.168.1.12:9001 max_fails=3 fail_timeout=5s;server 192.168.1.13:9001 max_fails=3 fail_timeout=5s;server 192.168.1.14:9001 max_fails=3 fail_timeout=5s;server 192.168.1.15:9001 max_fails=3 fail_timeout=5s;
}
upstream minio_api {server 192.168.1.12:9000 max_fails=3 fail_timeout=5s;server 192.168.1.13:9000 max_fails=3 fail_timeout=5s;server 192.168.1.14:9000 max_fails=3 fail_timeout=5s;server 192.168.1.15:9000 max_fails=3 fail_timeout=5s;
}server {listen          9001;server_name     192.168.1.16;ignore_invalid_headers off;client_max_body_size 0;proxy_buffering off; access_log      /var/log/minio.com_access.log main;error_log       /var/log/minio.com_error.log warn;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Host $http_host;proxy_pass              http://minio_console;}}server {listen          9000;   server_name     192.168.1.16;ignore_invalid_headers off; client_max_body_size 0;proxy_buffering off;     access_log      /var/log/minio.com_access.log main;error_log       /var/log/minio.com_error.log warn;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Host $http_host;proxy_pass              http://minio_api;}}
http://www.lryc.cn/news/62629.html

相关文章:

  • 实例分割算法BlendMask
  • 多线程、智能指针以及工厂模式
  • 初探 VS Code + Webview
  • Codeforces Round 864 (Div. 2)(A~D)
  • 第3章-运行时数据区
  • delta.io 参数 spark.databricks.delta.replaceWhere.constraintCheck.enabled
  • Redis知识点
  • 经典数据结构之2-3树
  • Numpy从入门到精通——节省内存|通用函数
  • Docker-compose 启动 lnmp 开发环境
  • 《android源码阅读四》Android系统源码整编、单编并运行到虚拟机
  • 深度学习技巧应用8-各种数据类型的加载与处理,并输入神经网络进行训练
  • 【笔试】备战秋招,每日一题|20230415携程研发岗笔试
  • 【unity专题篇】—GUI(IMGUI)思维导图详解
  • 【C++ Metaprogramming】0. 在C++中实现类似C#的泛型类
  • TDA4VM/VH 芯片 NAVSS0
  • 基于springboot的前后端分离的案列(一)
  • Docker网络模式详解
  • PXE高效批量网络装机
  • YOLOv5+双目实现三维跟踪(python)
  • ESP8266使用SDK软硬件定时执行函数
  • ThreadPoolExecutor源码阅读流程图
  • 如何通过筛选高质量爬虫IP提升爬虫效率?
  • C#中定义数组--字符串及数组操作
  • 嵌入式就业怎么样?
  • 用户订阅付费如何拆解分析?看这篇就够了
  • 智能合约中如何调用其他智能合约
  • python的多任务处理
  • Vue收集表单数据学习笔记
  • Linux搭建GitLab私有仓库,并内网穿透实现公网访问