在大数据领域,通常的设计理念都是无中心和分布式。Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
数据保护分布式Minio采用 纠删码来防范多个节点宕机和位衰减bit rot。
分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。
高可用单机Minio服务存在单点故障,相反,如果是一个有N块硬盘的分布式Minio,只要有N/2硬盘在线,你的数据就是安全的。不过你需要至少有N/2+1个硬盘来创建新的对象。
例如,一个16节点的Minio集群,每个节点16块硬盘,就算8台服務器宕机,这个集群仍然是可读的,不过你需要9台服務器才能写数据。
注意,只要遵守分布式Minio的限制,你可以组合不同的节点和每个节点几块硬盘。比如,你可以使用2个节点,每个节点4块硬盘,也可以使用4个节点,每个节点两块硬盘,诸如此类。
一致性Minio在分布式和单机模式下,所有读写 *** 作都严格遵守read-after-write一致性模型。
搭建前提硬件准备,四个硬盘
如搭建节点是实体机,可以装完系统之后再分盘;如果是虚拟机,在安装系统的时候,需要先分好盘,不能使用默认系统分盘安装,界面如下。
进入系统
查看
lsblk
取消挂载
umount /sdb
创建用户
adduser app
创建挂载路径
mkdir -p /home/app/minio/data
mount 刚才取消挂载的盘 /home/app/minio/data
挂载成功在/home/app/minio/data路径下会出现
开启自动挂载
vi /etc/fstab
修改要挂载的路径
把路径/sdb 换成/home/app/minio/data
保存退出
重启系统。查看是否自动挂载
重复 *** 作,挂载4台(四个节点)
路径需要保持一致
然后开始部署minio集群
每一台一行
hostnamectl set-hostname minio1
hostnamectl set-hostname minio2
hostnamectl set-hostname minio3
hostnamectl set-hostname minio4
每一台全部
cat >> /etc/hosts <
192.168.2.2 minio2
192.168.2.3 minio3
192.168.2.4 minio4
EOF
每一台全部
最大用户数:查看ulimit -n
echo “* soft nofile 65535” >> /etc/security/limits.conf
echo “* hard nofile 65535” >> /etc/security/limits.conf
启动脚本及二进制文件目录 run
数据存储目录 data
配置文件目录/etc/minio
每一台
mkdir -p /home/app/minio/run
每一台
vim /home/app/minio/run/run.sh
填入
#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=miniotestlaibu
/home/app/minio/run/minio server http://minio{1…4}/home/app/minio/data
每一台
cat > /usr/lib/systemd/system/minio.service <
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/home/app/minio/run/
ExecStart=/home/app/minio/run/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
每一台
cd /home/app/minio/run
wget https://dl.min.io/server/minio/release/linux-amd64/minio
权限修改
给所有涉及到的文件或目录添加权限
service文件
二进制文件
集群启动脚本
每一台
chmod +x /usr/lib/systemd/system/minio.service && chmod +x /home/app/minio/run/minio && chmod +x /home/app/minio/run/run.sh
启动集群
systemctl daemon-reload
systemctl enable minio && systemctl start minio
关闭防火墙
firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service
journalctl -xe是什么意思
-xe是排查问题时最常用的参数:
-e 从结尾开始看
-x 相关目录(如:问题相关的网址)
journalctl -f -n 20; # 滚屏输出日志
journalctl -r # -r reverse 从尾部看(推荐)
journalctl -u httpd.service 某个服务的日志
journalctl --since “2020-01-01 20:00:00” --until "2020-02-01 20:15:00"时间段的日志
journalctl -f -u httpd.service 从底部滚动查看某个服务日志
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)