minio搭建分布式网盘

在这里插入图片描述

分布式minIO 2个节点8个磁盘搭建 (测试使用;生产环境中建议至少4个节点4个磁盘;单租户最后可搭建16个节点|16个磁盘)

192.168.1.22
192.168.1.23

分别在22,23服务器上搭建minio服务

对22服务器进行设置
1、wget   http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
2、chmod +x minio
3、创建4个存储磁盘(文件夹)
	cd /
	mkdir disk2
	chmod 777 disk2
	cd disk2
	mkdir file{1,2,3,4}
	chmod 777 file{1,2,3,4}
	
4、在usr/local下创建一个Minio环境
	mkdir /usr/local/minio
	touch minio.log
	chmod +x minio.log
	mkdir /user/local/minio/bin
	cp minio /user/local/minio/bin
	
5、创建启动服务的脚本 run.sh
	vim /usr/local/minio/run.sh
	
	#***********************run.sh启动脚本内容 开始*********************************
	#!/bin/bash
	export MINIO_ACCESS_KEY=minio
	export MINIO_SECRET_KEY=minio123456
	
	
	/usr/local/minio/bin/minio server \
	http://192.168.1.22/disk2/file{1,2,3,4} \
	http://192.168.1.23/disk2/file{1,2,3,4}> /usr/local/minio/minio.log
	
	#***********************启动脚本内容 结束*********************************
	chmod +x /usr/local/minio/run.sh
	
6、创建systemctl系统服务minio.service
	vim /usr/lib/systemd/system/minio.service
	
	#***********************minio.service脚本2内容 开始*********************************
	[Unit]
	Description=Minio
	Documentation=https://docs.minio.io/
	Wants=network-online.target
	After=network-online.target
	
	[Service]
	WorkingDirectory=/usr/local/minio/
	ExecStart=/usr/local/minio/run.sh
	
	Restart=on-failure
	RestartSec=5
	
	[Install]
	WantedBy=multi-user.target
	#***********************minio.service脚本2内容 结束*********************************
	chmod +x /usr/lib/systemd/system/minio.service
	
7、systemctl服务器设置
	重载启动服务项
	systemctl daemon-reload
	
	开启服务支持
	systemctl enable minio.service
	
	启动服务,并检查启动情况
	systemctl start minio && systemctl status minio
	systemctl stop minio		#停止服务
	systemctl restart minio	    #重启服务
对23服务器进行设置
# 两者的配置方式基本相同,唯一不之处在 run.sh
# 创建启动脚本 run.sh
# 创建启动脚本 run.sh
	vim /usr/local/minio/run.sh
	
	#***********************run.sh启动脚本内容 开始*********************************
	#!/bin/bash
	export MINIO_ACCESS_KEY=minio
	export MINIO_SECRET_KEY=minio123456
	
	
	/usr/local/minio/bin/minio server \
	http://192.168.1.23/disk2/file{1,2,3,4} \
	http://192.168.1.22/disk2/file{1,2,3,4}> /usr/local/minio/minio.log
	
	#***********************启动脚本内容 结束*********************************
	chmod +x /usr/local/minio/run.sh

nginx配置

此处的nginx我配置在23服务器上,也可以配置到另一个服务器(非22,23)来做负载均衡
vim /etc/nginx/conf.d/minio.conf
#***********************minio.conf内容 开始*********************************
upstream minio {
	server 192.168.1.22:9000 weight=10 max_fails=2 fail_timeout=30s;
    server 192.168.1.23:9000 weight=10 max_fails=2 fail_timeout=30s;
	# server 192.168.31.4:9000 weight=10 max_fails=2 fail_timeout=30s;
	# server 192.168.31.5:9000 weight=10 max_fails=2 fail_timeout=30s;
}
server {
	listen 9632;
	server_name 192.168.1.23;
	charset utf-8;
	default_type text/html;
	location /{
	    proxy_set_header Host $http_host;
		proxy_set_header X-Forwarded-For $remote_addr;
		client_body_buffer_size 10M;
		client_max_body_size 10G;
		proxy_buffers 1024 4k;
		proxy_read_timeout 300;
		proxy_next_upstream error timeout http_404;
		proxy_pass http://minio;
	}
}
#***********************minio.conf内容 开始*********************************
nginx -s reload 

开放相关端口 9632、9000

firewall-cmd --zone=public --add-port=9632/tcp --permanent  
firewall-cmd --zone=public --remove-port=9632/tcp --permanent  
firewall-cmd --reload   # 配置立即生效

如果不想使用Minio默认的9000端口,可以在启动服务的时候 --address ip:端口"

# 修改启动脚本run.sh

/usr/local/minio/bin/minio server --address 0.0.0.0:4562 \
http://192.168.1.22/disk2/file{1,2,3,4} \
http://192.168.1.23/disk2/file{1,2,3,4}> /usr/local/minio/minio.log

### MinIO 分布式存储实现方式与配置教程 #### 一、MinIO 分布式存储概述 MinIO 是一种高性能的对象存储解决方案,特别适合用于分布式环境下的非结构化数据管理。通过纠删码技术[^3],MinIO 提供了强大的数据冗余能力,在保障高可用的同时降低了存储成本。 #### 二、分布式存储的关键特性 1. **数据保护** 分布式 MinIO 利用纠删码机制防止硬件故障引起的不可恢复的数据丢失。该方案允许在部分节点或磁盘失效的情况下继续提供服务。 2. **高可用性** 只要超过一半的硬盘处于正常状态,整个集群即可保持只读模式;而当在线硬盘数量达到总硬盘数的一半以上再加一时,则能够支持完整的读写操作。 3. **一致性模型** 不论是在单机还是分布式环境下运行,MinIO 均遵循严格的 read-after-write 一致性原则,确保每次写入后的立即可见性和准确性。 #### 三、Docker 方式安装 MinIO 对于希望快速搭建测试环境或者生产环境中使用的开发者来说,推荐使用 Docker 来简化部署流程: ```bash docker run \ --name minio-distributed \ -p 9000:9000 \ -p 9090:9090 \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=password" \ -v /mnt/data1:/data1 \ -v /mnt/data2:/data2 \ -v /mnt/data3:/data3 \ -v /mnt/data4:/data4 \ quay.io/minio/minio server http://localhost/data{1...4} console ``` 上述命令中定义了一个由四个本地路径组成的分布式卷集合,并设置了管理员账户及其密码以便后续登录管理界面[^1]。 #### 四、手动安装并配置分布式 MinIO 存储 以下是基于 Linux 平台的手动安装指南: ##### 1. 准备工作 - 创建必要的目录结构以及下载所需的服务器端(client)程序文件: ```bash mkdir -p /opt/module/minio-v8/{logs,data,conf} cd /opt/module/minio-v8/ wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio chmod +x minio wget https://dl.minio.org.cn/client/mc/release/linux-amd64/mc chmod +x mc ``` ##### 2. 启动分布式 MinIO 实例 假设我们拥有四台机器分别挂载不同的物理设备作为独立分区参与构建分布式存储池子的话,那么每台主机都需要执行如下类似的指令来启动对应的进程实例: ```bash export MINIO_ACCESS_KEY="your-access-key" export MINIO_SECRET_KEY="your-secret-key" /opt/module/minio-v8/minio server \ http://node1.example.com/export/sda{1...X} \ http://node2.example.com/export/sdb{1...Y} \ http://node3.example.com/export/sdc{1...Z} \ http://node4.example.com/export/sdd{1...W} ``` 这里 `node*.example.com` 表示实际网络可达地址名或者是 IP 地址形式表示法; `{A..B}` 构造出一系列连续编号字符串代表各个成员位置上的具体驱动器标识符列表[^5]。 #### 结束语 完成上述步骤之后即成功建立起了一个具备基本功能特性的分布式对象存储系统——MinIO Cluster!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值