minio集群部署,4台服务器+1台nginx
短信预约 -IT技能 免费直播动态提醒
4台主机+1台nginx负载均衡
分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,即:用户名和密码
分布式Minio存放数据的磁盘目录必须是空目录
分布式Minio官方建议生产环境最少4个节点,因为有N个节点,得至少保证有N/2的节点才能可读,保证至少N/2+1的节点才能可写。这里只是作演示搭建,只有2个节点
分布式Minio节点时间差不能差距太多,最好同一内网
分布式Minio会在每个磁盘都存一份数据文件保证数据的可靠性与安全性
基础准备
- 创建目录
mkdir /home/miniocd /home/miniomkdir configmkdit logsmkdir data1mkdir data2mkdir runcd runvim minio-run.sh
- 将minio二进制文件上传到run目录
- minio-run.sh文件内容如下
#!/bin/bashexport MINIO_ACCESS_KEY=adminexport MINIO_SECRET_KEY=123456nohup /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 --permanentfirewall-cmd --zone=public --add-port=9001/tcp --permanent# 重启firewall-cmd --reload# 查看firewall-cmd --list-port
- 如果存在未分区的磁盘,则进行分区,否则跳转到磁盘挂载
# 查看分区情况fdisk -l1.创建物理卷PVpvcreate /dev/vdb #创建PVpvdisplay #查看PV2创建卷组VGvgcreate vg01_data /dev/vdb #创建VGvgdisplay #查看VG3.激活VGvgchange -a y vg01_data4.创建逻辑卷LV,并划分LVlvcreate -L75G -n lv_data vg01_data #创建名为lv_data01大小为20T的逻辑卷vgdisplay #查到VG剩余多少空间,看Free PE / Size 值# Free PE / Size 19199 / <75.00 GiBlvcreate -l 19199( Free PE值 ) -n lv_data02 vg01_data #用剩余空间创建名为lv_data02的逻辑卷5.安装新的格式化工具e2fsprogs,格式化tar zxvf e2fsprogs-1.42.10.tar.gzcd e2fsprogs-1.42.10mkdir buildcd build/../configuremakemake 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/data1mount /dev/mapper/vg01_data-lv_data02 /home/minio/data2
- 启动(在4台服务器都准备后再进行逐一启动)
cd /home/minio/runsh 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; } }
来源地址:https://blog.csdn.net/qq_22165667/article/details/130430415
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341