欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Minio 存储应用程序部署

最编程 2024-10-13 16:25:36
...

一、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 加密,确保数据传输的安全性。提供了细粒度的访问控制策略,可以精确控制用户对存储桶和对象的访问权限。

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

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

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

三、使用场景

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

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

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

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

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

四、应用部署

案例准备

1. 节点规划

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

2.基础准备

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

案例实施

1. 修改主机名

[root@localhost ~]# hostnamectl set-hostname minio
[root@localhost ~]# bash

2. 创建目录

[root@minio ~]# mkdir -p /opt/data/minio

3. 启动minio服务

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

[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

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

[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目录

[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,并赋予权限。

[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

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

[root@minio minio_data]# systemctl start minio
[root@minio minio_data]# systemctl status minio

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

推荐阅读