minio储存应用部署

一、minio简介

MinIO 是一个高性能的对象存储系统,设计用于存储大量的非结构化数据,如图片、视频、日志文件等。它完全兼容 Amazon S3 API,这意味着你可以使用与 S3 相同的工具和接口来管理和访问 MinIO 中的数据。

二、主要特性

  1. S3 兼容性:MinIO 完全兼容 Amazon S3 API,支持所有 S3 功能,包括但不限于 PUT、GET、POST、DELETE 等操作。你可以使用任何 S3 客户端库或工具(如 AWS CLI、s3cmd、mc 等)来与 MinIO 交互。

  2. 高性能:MinIO 专为高性能设计,可以处理高吞吐量的工作负载。支持多租户环境,可以在多个节点上分布式运行,提供高可用性和水平扩展能力。

  3. 简单易用:安装和配置非常简单,只需要一个二进制文件即可启动。提供了一个命令行工具 mc(MinIO Client),用于管理 MinIO 服务器,包括文件上传、下载、同步等操作。

  4. 安全性:支持多种身份验证和授权机制,包括 LDAP、Active Directory 和外部 IDP 集成。

支持 TLS/SSL 加密,确保数据传输的安全性。提供了细粒度的访问控制策略,可以精确控制用户对存储桶和对象的访问权限。

  1. 可扩展性:可以在单个节点上运行,也可以在多个节点上分布式运行,形成一个高可用的集群。使用 erasure coding 技术来提高数据的可靠性和耐久性。

  2. 监控和日志:提供详细的监控和日志功能,可以通过 Prometheus 和 Grafana 进行可视化监控。支持审计日志记录,便于跟踪和审计操作。

  3. 生态系统:拥有丰富的生态系统,支持各种第三方工具和服务,如 Kubernetes、Hadoop、Spark 等。

三、使用场景

备份和恢复:作为数据备份和恢复解决方案,支持定期备份和快速恢复。

媒体存储:存储大量图片、视频和其他多媒体文件,适用于内容分发网络 (CDN)。

日志存储:存储和分析大规模的日志文件,支持日志归档和长期存储。

大数据:与 Hadoop 和 Spark 集成,用于大数据处理和分析。

云原生应用:作为云原生应用的数据存储后端,支持容器化部署和微服务架构。

四、应用部署

案例准备

1. 节点规划

|----------------|-------|-----------------|
| IP地址 | 主机名 | 挂载路径 |
| 192.168.200.10 | minio | /opt/data/minio |

2.基础准备

使用centos7镜像创建一台虚拟机,使用4vcpu/8GB内存/100GB硬盘。准备minio软件包。

案例实施

1. 修改主机名

bash 复制代码
[root@localhost ~]# hostnamectl set-hostname minio
[root@localhost ~]# bash

2. 创建目录

bash 复制代码
[root@minio ~]# mkdir -p /opt/data/minio

3. 启动minio服务

将提供的·minio软件包上传至minio节点/root目录下,并赋予执行权限。

bash 复制代码
[root@minio ~]# ll
总用量 92168
-rw-------. 1 root root     1257 9月   2 22:12 anaconda-ks.cfg
-rw-r--r--. 1 root root 94375936 10月 12 14:13 minio
[root@minio ~]# chmod +x minio

赋予权限后,即可启动服务。

bash 复制代码
[root@minio ~]# ./minio server /opt/data/minio

如果没有报错,即可通过浏览器访问minio界面,访问http://192.168.200.10:45688(端口不固定,根据上图方框信息。)

使用默认用户名和密码登录(minioadmin/minioadmin)

注:关闭防火墙和SElinux

4.添加minio服务系统

首先创建minio_data目录,将minio软件复制到/data/minio_data目录

bash 复制代码
[root@minio ~]# mkdir -p /data/minio_data/
[root@minio ~]# cp minio /data/minio_data/
[root@minio ~]# ll /data/minio_data
总用量 92164
-rwxr-xr-x. 1 root root 94375936 10月 12 14:32 minio

创建启动脚本run.sh,并赋予权限。

bash 复制代码
[root@minio ~]# cd /data/minio_data/
[root@minio minio_data]# vi run.sh
[root@minio minio_data]# cat run.sh
#!/bin/bash
/data/minio_data/minio server /opt/data/minio    
[root@minio minio_data]# chmod 777 run.sh
[root@minio minio_data]# vi /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
#安装包路径
WorkingDirectory=/data/minio_data
#启动命令路径
ExecStart=/data/minio_data/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

编辑完文件后,启动测试。

bash 复制代码
[root@minio minio_data]# systemctl start minio
[root@minio minio_data]# systemctl status minio

最后创建test桶,上传一张图片到test桶中,设置name必须英文加上符号。上传完成后可以通过minio储存中的preview查看上传图片内容。

相关推荐
Tim风声(网络工程师)4 小时前
排查内网互联网访问流程
运维·服务器·网络
坚持就完事了5 小时前
Linux中如何添加环境变量
linux·运维·服务器
l1t6 小时前
mingw和Linux中的gcc和llvm编译器编译的pocketpy执行同一个python脚本的不同效果
linux·运维·python
白緢6 小时前
一、Linux 基础入门
linux·运维·服务器
菜菜艾7 小时前
自动化环境补丁更新系统
linux·运维·bash·运维开发
随风,奔跑7 小时前
Nginx
服务器·后端·nginx·web
HalvmånEver7 小时前
MySQL的索引
android·linux·数据库·学习·mysql
仰望星空的打工人7 小时前
cypht无法获取163、126邮件
服务器·网易邮箱大师
xhbh6667 小时前
Windows端口转发完全教程:netsh命令详解与实战案例
服务器·网络·ip·流量转发·端口流量转发
团象科技8 小时前
2026出海趋势观察:国际云服务器推荐重构企业全球化经营底盘
运维·服务器·重构