Linux之存储桶minio单机安装和使用简介

一、minio简介

  MinIO 是一个高性能的分布式对象存储系统,主要用于存储非结构化数据,例如照片、视频、备份和日志文件。它是开源的,基于 Go 语言开发,具有高度可扩展性和高可用性,能够在私有云、公有云和边缘环境中部署。MinIO 兼容 Amazon S3 的 API,因此可以很容易地与现有的 S3 客户端和应用程序集成。
  MinIO 的主要特点
高性能:MinIO 通过优化 I/O 操作和网络协议,提供了卓越的性能,能够满足现代数据密集型应用程序的需求。

  • 分布式架构:MinIO 采用分布式架构,可以横向扩展,支持大规模集群部署,确保数据的高可用性和持久性。
  • S3 兼容:MinIO 完全兼容 Amazon S3 的 API,因此可以与现有的 S3 客户端和工具无缝集成。
  • 简易部署:MinIO 可以在几秒钟内部署,并且提供了一个简洁的 Web 界面和命令行工具,便于管理和操作。
  • 安全性:MinIO 支持服务器端加密和传输层加密,确保数据在传输和存储过程中的安全性。
  • Kubernetes 友好:MinIO 可以轻松地在 Kubernetes 环境中部署,支持原生的容器编排和管理。

二、minio部署条件

  MinIO部署推荐使用本地存储磁盘,只对XFS文件系统格式提供支持,多磁盘下要求使用一致的磁盘驱动器类型。

  • 使用本地存储
    直接连接存储 (DAS) 与网络存储 ( NAS、SAN、NFS ) 相比具有显著的性能和一致性优势。MinIO 强烈建议使用闪存存储 (NVMe、SSD) 作为主要数据或“热”数据。

  • 使用 XFS 格式格式化驱动器
    MinIO 强烈建议配置 XFS 格式的驱动器用于存储。MinIO 将 XFS 用作内部测试和验证套件的一部分,从而为所有规模的性能和行为提供额外的信心。
    MinIO 不测试也不推荐任何其他文件系统,例如 EXT4、BTRFS 或 ZFS。

  • 使用一致的驱动器类型
    MinIO 不区分驱动器类型,并且不会从混合存储类型中受益。每个池必须使用相同的类型(NVMe、SSD)
    例如,部署一个仅由 NVMe 驱动器组成的池。如果您将某些驱动器部署为 SSD 或 HDD,MinIO 会将这些驱动器视为与 NVMe 驱动器相同的驱动器。这可能会导致性能问题,因为某些驱动器具有不同或更差的读/写特性,并且无法以与 NVMe 驱动器相同的速率响应。

  • 使用一致大小的驱动器
    MinIO 将每个驱动器使用的大小限制为部署中最小的驱动器。
    例如,部署一个由相同数量且容量相同的 NVMe 驱动器组成的池7.68TiB。如果您部署一个容量为 的驱动器3.84TiB,MinIO 会将池中的所有驱动器视为具有较小容量。

  • 配置顺序驱动器安装
    MinIO 使用 Go 扩展符号{x…y}来表示在创建新部署时一系列连续的驱动器,其中部署中的所有节点都具有相同的一组已安装驱动器。将驱动器安装路径配置为连续系列以最好地支持此符号。例如,使用 模式安装驱动器/mnt/drive-n,其中每个驱动器n从1开始,增量1。

  • 重启后保留驱动器安装和映射
    用于/etc/fstab确保节点重启时驱动器到安装映射的一致性。

  • MinIO需要对用于对象存储的驱动器或卷具有 独占访问权限。任何其他流程、软件、脚本或人员都不得直接对提供给 MinIO 的驱动器或卷或 MinIO 放置在其上的对象或文件执行任何操作。

  博文以Linux环境下安装minio单机版未来介绍服务端、客户端的安装和使用简介。博文实验环境如下:

  • 操作系统:centos7.6
  • minio版本:2024-07-16T23-46-41Z
  • 文件系统格式:NFS

三、安装步骤

1、下载minio

  通过官网下载minio软件包,支持RPM、DEB、二进制等多种安装方式,官方建议使用RPM或者DEB方式安装,我们博文实验环境是centos7.6,所以使用rpm包方式安装。

[root@minio_test opt]# wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240716234641.0.0-1.x86_64.rpm -O minio.rpm

2、yum安装minio

  安装完成后可以执行执行minio命令,查看当前版本为2024-07-16T23-46-41Z。

[root@minio_test opt]# yum install -y minio.rpm
[root@minio_test opt]# minio --version
minio version RELEASE.2024-07-16T23-46-41Z (commit-id=3535197f993dea840dcb96302ba4d883dc619097)
Runtime: go1.22.5 linux/amd64
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Copyright: 2015-2024 MinIO, Inc.

3、初始化磁盘

  根据磁盘格式要求,将独占磁盘格式化为xfs格式。

[root@minio_test ~]# mkfs.xfs /dev/sdb -L DISK1
meta-data=/dev/sdb isize=512 agcount=4, agsize=1638400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=6553600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=3200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

4、创建磁盘挂载目录

[root@minio_test ~]# mkdir -p /data1

5、更新/etc/fstab

  为了保证系统重启之后服务的正确性,我们需要将磁盘挂载写入到/etc/fstab文件。

[root@minio_test ~]# echo “LABEL=DISK1 /data1 xfs defaults,noatime 0 2” >> /etc/fstab

6、挂在磁盘

[root@minio_test ~]# mount -a

7、创建minio运行用户

[root@minio_test ~]# groupadd -r minio-user
[root@minio_test ~]# useradd -M -r -g minio-user minio-user

8、设置磁盘属主为minio用户

[root@minio_test ~]# chown minio-user.minio-user /data1

9、创建环境变量配置文件

  minio启动文件中指定默认环境配置文件为/etc/default/minio,我们创建配置文件并设置用户、密码和存储路径、监听端口等信息。

[root@minio_test opt]# vim /etc/default/minio
[root@minio_test opt]# cat /etc/default/minio
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environmentMINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.MINIO_VOLUMES="/data1"# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"

10、启动minio服务

  minio服务可以命令启动,如果是rpm安装的也可以使用systectl start minio启动。

[root@minio_test opt]# minio server /data1 --console-address :9001
在这里插入图片描述

11、开启防火墙端口访问策略

  如果开启了firewalld防火墙,我们需要开放服务端口才可以实现远程访问。如果关闭了firewalld可以跳过此步。

[root@minio_test ~]# firewall-cmd --zone=public --add-port=9001/tcp --permanent
success
[root@minio_test ~]# firewall-cmd --zone=public --add-port=9000/tcp --permanent
success
[root@minio_test ~]# firewall-cmd --reload
success

12、登录控制台

  输入配置的用户名密码后就可以登录控制台。
在这里插入图片描述

三、使用简介

1、创建存储桶

  点击创建按钮,输入名称就可以完成创建,创建完成后在服务器上就会看到一个名称对应的目录。
在这里插入图片描述

2、创建访问密钥

  点击Access Keys标签页,点击Create access key按钮创建访问密钥,访问密钥自动生成key和密钥,我们可以设置密钥有效期、名称、用途描述等内容。
在这里插入图片描述

在这里插入图片描述

3、保存密钥

  点击创建后会提示Secret Key只会展示一次,我们可以复制保存或者下载保持导入文件。
在这里插入图片描述

4、上传文件或目录

  minio支持上传文件和文件夹。
在这里插入图片描述

5、修改存储桶为public

  创建的存储桶默认是private格式,需要通过access key方式访问,需要使用客户端或者sdk调用API接口访问。
在这里插入图片描述

6、浏览器访问验证

  如果是浏览器访问注意上传的文件编码格式,例如txt文件默认是UTF-8格式,浏览器访问的时候中文可能显示是乱码,我们可以修改文件格式为UTF-8-BOM格式则显示正常。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20240725项目的maven环境报红-重新配置maven

1.在编辑器里面打开项目,导入源码 (1)找到项目的地址C:\Users\zzz\IdeaProjects\datasys,然后右击用idea编辑器打开。 (2)idea中上菜单栏打开open,然后输入file,选择源代码文件 2.…

LabVIEW放大器自动测量系统

开发了一个基于LabVIEW平台的多路前置放大器自动测量系统的开发与实施。该系统集成了硬件控制与软件编程,能够实现放大器各项性能指标的快速自动测量,有效提高了测试的精确性和效率。系统设计采用了虚拟仪器技术,结合了先进的测量与控制策略&…

.net core 外观者设计模式 实现,多种支付选择

1&#xff0c;接口 /// <summary>/// Web页面支付/// </summary>public interface IWebPagePay{public WebPagePayResult CreatePay(string productName, string orderSn, string totalPrice);}2&#xff0c;实现接口 实现阿里支付 public class AliPagePay : IWe…

Linux的TERM环境变量

程序或者脚本驱动登录到Linux系统之后。执行命令或者脚本&#xff0c;其返回值中往往出现格式异常。原因则在于虚拟终端类型的高级特性&#xff0c;例如&#xff1a;“颜色、高亮、移动光标”等。那么&#xff0c;是否禁掉这些高级特性呢&#xff1f;可以选择dumb类型&#xff…

丹东纵横文化传媒:创新引领,广告服务再升级

近日,丹东市振兴区的丹东纵横文化传媒有限公司再次传来振奋人心的消息,这家以互联网和相关服务为主的新兴企业,在广告设计与传播领域实现了重大突破,进一步巩固了其在行业内的领先地位。 【广告服务全面升级,引领市场新风尚】 据丹东纵横文化传媒有限公司最新发布的信息显示,公…

掌握AJAX技术:从基础到实战

文章目录 **引言****1. 什么是AJAX&#xff1f;****2. AJAX的工作原理**AJAX 示例使用 Fetch API 实现 AJAX **3. 如何在项目中使用AJAX****4. 处理AJAX请求的常见问题****5. AJAX与JSON的结合****6. 使用AJAX框架和库****7. 实战&#xff1a;创建一个动态表单****8. AJAX中的事…

spine to unity-2.利用边缘框实现实时碰撞检测

主要讲spine的边缘框&#xff0c;在unity中&#xff0c;实现实时碰撞检测。其中使用的素材&#xff0c;是我为独立游戏ink制作的动画。独立游戏ink的开发日志&#xff0c;在小红薯持续更新中。spine工具包的安装&#xff0c;下载请参考spine to unity-1spine BoundingBoxFollow…

Doris全方位教程+应用实例

Impala性能稍领先于presto,但是presto在数据源支持上非常丰富&#xff0c;包括hive、图数据库、传统关系型数据库、Redis等 缺点&#xff1a;这两种对hbase支持的都不好&#xff0c;presto 不支持&#xff0c;但是对hdfs、hive兼容性很好&#xff0c;其实这也是顺理成章的&…

mac怎样清理photoshop垃圾的方法 ps清理缓存和垃圾 苹果电脑暂存盘已满怎么清理

很多使用过ps&#xff0c;尤其是Adobe全家桶的小伙伴会发现&#xff0c;这些软件占用缓存很多&#xff0c;而且随着使用时间的增长&#xff0c;缓存也会越多&#xff0c;并不会自动清理。那么mac系统怎么清理ps暂存盘呢&#xff1f;mac又该怎么最高效清理磁盘空间呢&#xff1f…

Linux嵌入书学习—数据结构——栈(seqstak)

一、栈&#xff1b; 定义&#xff1a; 是限定仅在表尾&#xff08;栈顶&#xff09;进行插入和删除操作的线性表 栈又称为 后进先出&#xff08;Last In First Out&#xff09; 的线性表&#xff0c;简称 LIFO 结构 栈顶&#xff08;Top&#xff09; 栈顶是栈中允许进行添加&…

RuoYi基于SpringBoot+Vue前后端分离的Java快速开发框架学习_2_登录

文章目录 一、登录1.生成验证码2.验证码作用1.大体流程2.代码层面(我们都是从前端开始看起) 一、登录 1.生成验证码 基本思路&#xff1a; 后端生成一个表达式&#xff0c;例如34?7,显而易见后面是答案截取出来题干和答案把题干11&#xff1f;变成图片&#xff0c;变成流&a…

[C++进阶]多态的概念、定义与实现

多态&#xff0c;顾名思义&#xff0c;即多种形态。具体来说&#xff0c;就是不同对象执行同一行为而产生不同的结果。 一、多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生…

神经网络与注意力机制的权重学习对比:公式探索

神经网络与注意力机制的权重学习对比&#xff1a;公式探索 注意力机制与神经网络权重学习的核心差异 在探讨神经网络与注意力机制的权重学习时&#xff0c;一个核心差异在于它们如何处理输入数据的权重。神经网络通常通过反向传播算法学习权重&#xff0c;而注意力机制则通过学…

LLMs之Llama 3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama 3.1&#xff1a;Llama 3.1的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年7月23日&#xff0c;Meta重磅推出Llama 3.1。本篇文章主要提到了Meta推出的Llama 3.1自然语言生成模型。 背景和痛点 >> 过去开源的大型语言模型在能力和性能上一…

Kylin Cube构建日志分析:洞察大数据构建过程的窗口

Kylin Cube构建日志分析&#xff1a;洞察大数据构建过程的窗口 Apache Kylin是一款为Hadoop优化的开源分布式分析引擎&#xff0c;它通过构建数据立方体&#xff08;Cube&#xff09;来实现对大数据的快速查询。在维护和优化Cube的过程中&#xff0c;构建日志分析是一个重要的…

Docker 常用命令详解

目录 Docker 简介安装 DockerDocker 基本命令 镜像命令容器命令网络命令 Docker 高级命令 数据卷Docker Compose 实战案例 部署一个简单的 Web 应用使用 Docker Compose 管理多容器应用 总结 Docker 简介 Docker 是一个开源的容器化平台&#xff0c;提供了简化应用程序开发、…

OCC 创建方管(拉伸操作)

目录 一、OCC 拉伸操作 二、例子 1、使BRepBuilderAPI_MakeFace 2、使用BRepPrimAPI_MakeRevol 3、垂直路径扫掠 一、OCC 拉伸操作 BRepPrimAPI_MakeSweep Class Reference - Open CASCADE Technology Documentation OCC提供几种图形的构建是由基本图形的旋转,拉伸等方…

C++进程遍历的几种方法

在应用层下&#xff0c;进程遍历有多种方式&#xff0c;这里介绍几种常用的方式&#xff1a;进程快照、NtQuerySystemInformation、EnumProcesses函数、WMI等。 在C#中Process类提供了一个GetProcesses()函数&#xff0c;这个函数内部就是调用的NtQuerySystemInformation进行获…

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(二)|| 堆 / 栈

堆和栈 1. 堆 堆就是空闲的一块内存&#xff0c;可以通过malloc申请一小块内存&#xff0c;用完之后使用再free释放回去。管理堆需要用到链表操作。 比如需要分配100字节&#xff0c;实际所占108字节&#xff0c;因为为了方便后期的free&#xff0c;这一小块需要有个头部记录…

电子加密狗的定义与功能

电子加密狗&#xff0c;也称为加密锁、硬件锁或USB密钥&#xff0c;是一种用于软件保护和授权管理的硬件设备。它通常是一个外部设备&#xff0c;插入到计算机的USB接口上&#xff0c;通过加密算法和技术来确保软件的安全性和防止非法复制、盗版以及未经授权的使用。以下是关于…