当前位置: 首页 > 网络应用技术

分布式文件存储服务器Minio对象存储技术参考指南

时间:2023-03-07 01:07:41 网络应用技术

  Minio对象存储技术

  Minio是一种高性能的对象存储解决方案,支持Kubernetes部署。Minio提供与Amazon Web Services S3兼容的API,并支持所有Core S3功能。Minio在GNU Affero通用公共公共许可证v3.0下发布。

  也许提到的对象存储技术,我们所有人都经历了很长一段时间的tug -war。即使他们中的大多数人现在都使用云服务供应商提供的OSS对象存储服务,但他们花费的经济成本正在增加,并且数据存储在数据中的存储中。,文件资源的粒度极为无法控制。公共网络数据如何根本没有隐私?尽管对于开发级别而言,仅需要集成相应的SDK,并且它用于使用框。一个很棒的武器。就其建筑过程和整合而言,几乎没有瓶颈。无论是安装传统服务器还是Docker和Kubernetes的部署,都很简单。

  基本概述

  领先的性能和可扩展性,Minio可以提供来自AI/ML,分析,备份/还原以及现代网络和移动应用程序的用例。

  Minio支持最大数量的环境中最宽的用例。由于云是本地的,Minio的软件定义套件已在公共云,私有云和边缘中无缝操作 - 在混合云的领导下,具有行业的领导者。可伸缩性,Minio可以提供一系列用例,包括AI/ML,分析,备份/恢复以及现代网络和移动应用程序。

  Minio的企业 - 级特征的基本特征代表对象存储空间的标准。从AWS S3 API到S3 SELECT,我们对内联的实现和安全实现,我们的代码得到了广泛的称赞,通常由某些人复制技术和商业领域。

  Minio使用每个对象通过由汇编代码编写的每个对象删除编码,以提供尽可能多的性能。Minio使用Reed-Solomon代码将对象栏绑定到具有冗余级别和奇异学校的用户的数据中。Minio的擦除编码可维修。在物体级别,可以独立修理。

  在N/2的最大奇观验证下,Minio的实施可以确保仅使用((n/2)+1)操作驱动器用于部署,用于不间断的阅读和写作操作。例如,在12个驱动程序的设置中,Minio抓住了对象6个数据和6个奇怪的木偶,可以可靠地写入新对象或重建现有对象。部署部署中只剩下7个驱动程序。

  比特罗特保护:比特罗特保护

  无声数据损坏或比特罗特是磁盘驱动器所面临的一个严重问题,导致数据在没有用户知识的情况下损坏。原因是多个方面(驱动老化,当前峰值,磁盘固件中的错误,幻觉写作,阅读/写作方向错误,驾驶员错误,事故范围),但结果是-DATA损坏。

  Minio对Highwayhash算法的优化,以确保其永远不会读取损坏的数据 - 立即捕获和修复受损的对象。通过验证末端 - 到端口的完整性,通过计算读取和从应用程序上的分布,网络验证它,网络到内存/驱动器。实施是为速度设计的,可以在英特尔CPU的单一核心上实现超过10 GB/秒的耗散速度。

  加密:加密处理

  飞行中的密码数据是一回事。保护静态数据是另一件事。Minio支持各种复杂的服务器 - 侧加密方案,以保护数据 - 没有数据所在的数据。Minio的方法是确保具有可忽略的性能费用的机密性,完整性和真实性。useaes -256-GCM,CHACHA20-POLY1305和AES-CBC支持服务器端和客户端。

  加密对象使用AEAD服务器来加密篡改。此外,Minio与所有常用的密钥管理解决方案(例如Hashicorp库)兼容并进行了测试。Minio使用密钥管理系统(KMS)来支持SSE-S3。

  如果客户端请求SSE-S3或启用自动加密,则Minio Server使用唯一对象密钥加密每个对象,该对象受到KMS.管理的KMS的主要密钥的保护为每个应用程序和实例。

  身份管理:身份管理

  Minio支持身份管理中最高级的标准,将兼容的提供商和关键外部IDP供应商与OpenID连接起来。这意味着访问是集中的,并且密码是临时和旋转的,而不是存储在配置文件和数据库中。策略配置为细小的粒径和高度,这意味着支持多省和多规定部署已经变得简单。

  连续复制:连续复制

  传统复制方法的挑战是,它们不能有效地扩大数百多个结核病。

  Minio的连续复制是为大型和交叉 - 数据中心部署而设计的。通过使用Lambda来计算通知和对象元数据,它可以有效,快速地计算增量。LAMBDA通知确保更改立即扩散而不是传统的批次处理模型。

  连续复制意味着,如果发生故障,即使面对高动态数据集,数据丢失也将保持最低。在最终的情况下,就像Minio一样,它是多个供应商,这意味着您的备份位置可以来自任何位置。NAS到公共云。

  全球联盟:全球联合会

  现代企业到处都有数据。Minio允许这些不同的实例形成一个统一的全局命名空间。特别是,任何数量的Minio的Minio服务器都可以合并为分布式模式集。可以将多个分布式模式集合到Minio服务器中。EAVENIO服务器联合会提供统一的管理和命名空间。

  Minio组合的服务器支持无限的分发模式集。该方法的影响是,对象存储可以扩展具有较大和地理分布的大型企业,同时保留适应各种应用程序的能力(Splunk,Teradata,teradata,spark,hive,hive,hive,pesto,Pesto,,Pesto,,,TensorFlow,H20)来自一个控制台。

  所有企业都使用多云策略。这还包括私有云。因此,您的裸金属虚拟容器和公共云服务(包括Google,Microsoft和Alibaba和其他非S3提供商必须看起来相同。,支持这些应用程序的数据不是。

  在可用的地方提供这些数据,这是Minio的主要挑战。Minio在裸机上运行,网络附加存储和每个公共云。更重要的是,Minio从应用程序和管理的角度通过亚马逊看起来完全相同S3 API。

  Minio可以走得更远,以便您现有的存储基础架构与Amazon S3兼容。影响力很大。Amazon S3 API没有迁移。

  启用蠕虫后,Minio将禁用所有可能会更改对象数据和元数据的API。这意味着一旦可以篡改书面数据。这对许多不同的监管要求具有实际应用。

  基本体系结构

  Minio被设计为云,可以用作由外部布置服务(例如Kubernetes)管理的轻质容器。整个服务器是约40MB的静态二进制文件,使用CPU和内存资源非常有效- 即使在高负负载下。结果,您也可以在共享硬件的大量租户共同主持。

  Minio在具有本地连接驱动器(JBOD/JBOF)的商业服务器上运行。集群中的所有服务器都是相同的(完全对称的架构)。没有名称节点或元数据服务器。

  Minio将数据和元数据写为没有元数据数据库的对象。此外,Minio使用所有功能(擦除代码,Bitrot检查,加密)作为内部和严格的操作。结果,Minio非常灵活。

  每个Minio群集是一组分布式的Minio服务器,每个节点一个进程。Minio在用户空间中作为一个过程运行,并使用轻量级校正来实现高并发性。驱动器分组为根除(每个组中的16个驱动程序,由16个驱动程序组成。默认值),将对象放置在具有确定的LAIDITY算法的这些集合上。

  Minio专为大型,多数据中心而设计。每个租户运行自己的Minio集群,并与其他租户完全隔离,以便他们可以保护他们免受任何升级,更新和安全活动的中断。每个租户通过跨区域关节群。

  Minio Server函数Minio的企业 - 级特征代表对象存储空间的标准。从AWS S3 API到S3 SELECT,我们对内核的实现和安全实现,我们的代码已广泛赞扬,并且经常被某些技术和商业领域复制。

  Minio对象保留默认情况,唯一对象名称的每个新写操作都会导致对象覆盖对象。您可以将Minio配置为每个对象的突变版本,从而保留对象的完整历史记录。Minio还支持读取对象的多读 - lock -up版本,以确保其在指定的持续时间内完全不变或直到明确解锁为止。

  版本控制和对象锁定功能仅适用于分布式Minio部署:

  存储桶版本:存储枪管版本控制

  Minio支持多个“版本”以将对象保存在一个存储桶中。现有对象通常涵盖现有对象的写作操作。Minio版本控制可以防止意外覆盖范围和删除,同时支持“取消”写作操作。存储桶版本控制是配置对象锁定和保留规则的先决条件。

  对于枪管版本的版本,对象的对象的任何更改都会导致对象的新版本具有唯一版本ID。然后可以清楚地选择,检索或删除特定对象版本。

  在:

  具有单个版本的对象:Minio作为写作操作的一部分,向每个对象添加一个唯一版本ID。

  2.反对多个版本:Minio保留对象的所有版本,并将最新版本标记为“最新”。

  3.搜索最新的对象版本

  4.搜索特定对象版本

  蠕虫:对象锁

  Minio对象锁定(“对象保留”)以强制执行以编写多个读数(WORM)非变异性以保护对象的版本而不被删除。Minio支持基于持久对象和无限保留的法律保留。

  Minio对象锁提供关键数据保留合成,并符合SEC17A-4(F),FINRA 4511(C)和CFTC 1.31(c) - (d)Cohasset Associates的要求。

  在:

  3.删除操作锁定存储桶中的操作:删除操作遵循该桶版本的正常行为,其中迷你骨架会创建一个对象。受任何特定删除或覆盖范围的影响。

  4.锁定存储桶删除操作的版本:Minio将阻止任何尝试删除锁定下持有的特定对象版本的尝试。客户端可以在匹配时可以删除该版本的最早时间。

  Minio部署和管理Minio是一种软件定义的高性能分布式对象存储服务器。您可以在消费者或企业 - 级别的硬件以及各种操作系统和架构上运行Minio。

  Minio支持两种部署模式:独立和分配: