Minio下载与安装及其多驱多节点部署 + Nginx做负载均衡
1、Minio概述
MinIO是一个开源的分布式对象存储服务器,它兼容Amazon S3服务接口。它是一个轻量级、高性能、高可用性的存储解决方案,可用于存储和检索大规模数据对象。
以下是MinIO的一些关键特点和概述:
-
对象存储:MinIO以对象的形式存储数据,每个对象包含数据本身、元数据和唯一的标识符(Object ID)。
-
分布式架构:MinIO支持分布式部署,可以横向扩展以处理大规模数据存储需求。它采用分布式的存储和访问模型,能够在多个节点上并行处理请求,实现高吞吐量和低延迟。
-
高可用性:MinIO提供高可用性的存储方案,通过数据冗余和容错机制,确保数据的可靠性和持久性。它支持数据的多副本复制和故障恢复,保证数据的可用性。
-
安全性:MinIO支持数据加密和访问控制,可以通过SSL/TLS保护数据的传输安全性。它还提供身份验证和授权机制,可以细粒度地控制对存储桶和对象的访问权限。
-
兼容性:MinIO与Amazon S3兼容,可以无缝地与现有的S3应用程序和工具集成。它提供了S3 API接口,使开发人员能够直接使用S3生态系统中的工具和库。
-
轻量级:MinIO具有轻量级的设计和部署特点,可以在常见的硬件设备上运行,包括个人电脑、服务器、云实例等。
总而言之,MinIO是一个可扩展、高性能、兼容S3接口的分布式对象存储解决方案,适用于大规模数据存储和访问的场景。它提供了简单而强大的API和工具,使开发人员能够方便地构建和管理存储基础设施。
Minio慢慢的成为了对象、文件存储的首要选择
2、Minio的下载与安装
rpm方式部署
下载MinIO RPM包:访问MinIO的官方网站(https://min.io/),进入下载页面,选择适合您系统的RPM包进行下载。
- 安装MinIO RPM包:使用root用户或具有sudo权限的用户执行以下命令安装RPM包:
sudo rpm -i minio_package.rpm
-
配置MinIO:打开MinIO配置文件(通常在/etc/minio目录下),根据您的需求进行配置,包括监听地址、认证信息、存储路径等。
-
启动MinIO:执行以下命令启动MinIO服务:
sudo systemctl start minio
- 验证MinIO服务是否运行:执行以下命令检查MinIO服务的运行状态:
sudo systemctl status minio
如果服务正常运行,将显示运行状态为”active (running)”。
- 配置防火墙:如果您的系统启用了防火墙,确保允许MinIO所使用的端口通过防火墙。
二进制文件方式安装部署
官方的步骤就三步
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /mnt/data --console-address ":9001"
3、Minio的多驱多节点安装
存放目录/usr/local/minio(可自行修改)
-
进入minio官网下载二进制文件https://www.minio.org.cn/download.shtml#/linux,可以直接下载好上传到服务器,也可以使用命令下载
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
-
修改下载的二进制文件权限,变成为可执行文件
chmod +x minio
-
磁盘挂载
lsblk -f # 创建分区 fdisk /dev/vdb # 说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q # 格式化磁盘 mkfs -t xfs /dev/vdb1 # 挂载分区 mount /dev/vdb1 /minio
-
创建log文件夹存放log
mkdir log
-
创建运行脚本
vim run.sh ### 内容如下 ### export MINIO_ROOT_USER=minio export MINIO_ROOT_PASSWORD=minio123!@# export MINIO_ACCESS_KEY=minio export MINIO_SECRET_KEY=minio123!@# nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 & nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9003" --address ":9002" > /usr/local//minio/log/minio_server2.log 2>&1 & nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9005" --address ":9004" > /usr/local//minio/log/minio_server3.log 2>&1 &
说明
- MINIO_ROOT_USER和MINIO_ROOT_PASSWORD是页面登录的账号密码
- MINIO_ACCESS_KEY和MINIO_SECRET_KEY是项目连接minio需要的密钥
- /minio/data{1…6}是存储数据的路径 ,需要挂载
- –console-address “:9001″进入web页面的端口
- address “:9004” 服务的端口
-
使用nginx做负载均衡,nginx配置如下:
upstream minio{ server 10.44.155.243:9000; server 10.44.155.243:9002; server 10.44.155.243:9004; } server { listen 9006; server_name localhost; charset utf-8; location / { proxy_pass http://minio; proxy_set_header Host $http_host; client_max_body_size 1000m; } #access_log /data/nginx/logs/nacos.log; #error_log /data/nginx/logs/nacos.log; }
-
运行脚本,启动集群
./run.sh
上述内容是一台服务器上部署minio集群
minio在多台服务器
只有第五步的差别
### 内容如下 ###
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minio123!@#
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio123!@#
nohup /usr/local//minio/minio server /minio/data{1...6} --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &
修改成
nohup /usr/local//minio/minio server 对应每一个minio的存储路径 --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &
类似于
nohup /usr/local//minio/minio server http://192.168.1.200/minio1 http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4 --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &
分别启动每台服务器上的minio