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查看上传图片内容。

相关推荐
xinyu39128 分钟前
旧版Ubuntu Docker镜像 apt 失败
linux·ubuntu·docker
JZC_xiaozhong39 分钟前
OA调价审批后,采购调价单如何自动同步到ERP?解决漏录错价难题
大数据·linux·服务器·前端·数据库·数据孤岛解决方案·数据集成与应用集成
ljs64827395142 分钟前
Linux 实用命令:环境变量、文件传输、压缩解压、跨服务器传文件
linux·运维·服务器
__Witheart__1 小时前
lunch选择的版型与版型对应的配置文件
android·linux
A小调的码农1 小时前
给垃圾平板“一生E本” 装新系统—————Armbian 编译 KYX T7Y (RK3326) 踩坑全记录
linux·嵌入式硬件
ljs6482739511 小时前
Linux 网络常用命令与端口基础详解
linux·网络·php
蓝狐社1 小时前
一张被低估的芯片版图——中兴通讯
运维·服务器
网络小白不怕黑2 小时前
13.SSH服务相关配置
服务器·网络·ssh
Jtti2 小时前
站群服务器多IP能不能分散DDoS攻击流量?
服务器·tcp/ip·ddos
qq_163135752 小时前
Linux 判断是否安装 Conda / Miniconda 完整方法
linux