MinIO 企业级人工智能存储的数据和驱动器同等重要

为什么会这样?这是因为硬件故障发生在不同的级别。有一些中断会导致整个站点瘫痪。然后,会出现中断,导致集群中的一部分节点瘫痪。但是,在更精细的硬盘驱动器位级别也存在故障,这些故障需要复制本身无法提供的另一种类型的弹性。 我们经常谈论,如果您想在 AI/ML 游戏中占据上风,那么良好、快速和可靠的数据访问是多么重要。虽然不同的复制策略允许您访问要分布在多个节点或站点上的数据,但您还需要考虑驱动器级别的数据完整性和复原能力。这就是擦除编码发挥作用的地方。这是一种可靠的方法,可以在多个驱动器之间对数据进行分片并将其取回,即使其中一些驱动器不可用也是如此。

MinIO Enterprise Object Storage 利用 Reed Solomon 纠删码来确保多个磁盘部署中的数据冗余。直到最近,在 MinIO 的纠删编码中,用于数据和奇偶校验的驱动器数量都固定为 N/2(N 是 MinIO 服务器正在使用的驱动器总数)。这是纠删码必须提供的最高冗余。

您可能会丢失一半的驱动器,但仍然可以保证不会发生数据丢失。

这仍然是我们推荐的配置。

但是,高冗余也意味着更高的存储使用率。在某些情况下,如此高的奇偶校验计数和存储使用量可能是不可取的,例如:

  • 用户可能已部署具有故障安全性的专用存储硬件。因此,他们预计不会频繁失败。

  • 与存储本身相比,存储的数据不太重要,价值也较小。

  • MinIO 存储中的数据正在备份到其他站点。

为了解决此类用例,我们在 MinIO 企业对象存储中支持 Kubernetes 存储类。存储类提供两种模式:标准模式和低冗余模式,每种模式都具有可配置的数据和奇偶校验驱动器。在我们了解这些类的含义以及如何使用它们之前,让我解释一下数据和奇偶校验磁盘的各种组合以及相应的驱动器空间使用情况。

驱动器空间利用率

为了了解数据和奇偶校验驱动器的各种组合如何影响存储使用,让我们以存储在 16 个驱动器 MinIO 部署上的 100 MiB 文件为例。

如果您使用 8 个数据驱动器和 8 个奇偶校验驱动器,则文件空间使用量将恰好是两倍,即 100 MiB 文件将占用 200 MiB 空间。但是,如果您使用 10 个数据和 6 个奇偶校验驱动器,则相同的 100 MiB 文件将需要大约 160 MiB。如果您使用 14 个数据驱动器和 2 个奇偶校验驱动器,则 100 MiB 文件仅消耗大约 114 MiB。

但是,需要注意的是,随着奇偶校验驱动器数量的减少,数据的冗余程度会降低。例如,使用 14 个数据驱动器和 2 个奇偶校验驱动器,一个对象只能承受 2 个驱动器损失,如果丢失了第 3 个驱动器,则将丢失数据。因此,除非用于非关键数据,否则 MinIO 不建议使用此配置。

下表总结了数据/奇偶校验驱动器和相应的存储空间。字段的存储使用率只是文件在擦除编码后使用的驱动器空间除以实际文件大小。

您可以使用公式计算近似的存储使用率 — 驱动器总数 (N) / 数据驱动器 (D)。

下图显示了每个部署具有 4 个节点、4 个驱动器的数据和奇偶校验分片的样本分布,其中启用了两种类型的存储类。

16 驱动器分布式部署,具有两种存储类别

MinIO 存储类入门

目前支持两种存储类:标准和低冗余。您可以使用以下方法设置这些类

  • 环境变量 — 设置环境变量MINIO_STORAGE_CLASS_STANDARD,并使用格式为“EC:Parity”的值进行MINIO_STORAGE_CLASS_RRS。例如 MINIO_STORAGE_CLASS_STANDARD=“EC:5”

  • MinIO 配置文件 — 设置字段 storageclass 如下“storageclass”: { “standard”: “EC:5”, “rrs”: “EC:3”}

然后以纠删码模式启动 MinIO 服务器。存储类别:具有标准类别的对象可以承受 [5] 个驱动器故障。具有REDUCED_REDUNDANCY类的对象可以承受 [3] 个驱动器故障。

有关详细信息,请参阅此处的存储类文档:https://github.com/minio/minio/tree/master/docs/erasure/storage-class

标准存储类

标准存储类是部署的默认存储类。设置后,默认情况下,所有 PutObject 请求都将遵循在标准存储类下设置的数据/奇偶校验配置。

例如,在 10 个驱动器的 MinIO 部署中,标准存储类设置为 6 个数据和 4 个奇偶校验驱动器,发送到此 MinIO 部署的所有 PutObject 请求都将以 6 个数据和 4 个奇偶校验配置存储对象。

以下是标准存储类的其他一些有趣的方面

  • 默认情况下,标准存储类数据和奇偶校验驱动器设置为 N/2(并且不能设置为高于此值)。

  • 您可以选择将对象元数据设置为 X-Amz-Storage-Class:STANDARD,以便为相应的对象启用 STANDARD 存储类。

  • 如果将类设置为 STANDARD,则 MinIO 服务器不会在元数据字段中返回存储类。这符合 AWS S3 PutObject 行为。

减少冗余的存储类

减少冗余的存储类可以应用于性质不太重要的对象,需要较少的复制。要应用此类,请在 PutObject(或多部分)请求中将对象元数据设置为 X-Amz-Storage-Class:REDUCED_REDUNDANCY。这表明 MinIO 服务器存储相应的对象,其中包含由减少的冗余类定义的数据和奇偶校验。

以下是减少冗余存储类的一些有趣的方面

  • 默认情况下,减少冗余的存储类奇偶校验驱动器设置为 2(并且不能设置为低于此值)。

  • 您需要在对象元数据中设置 X-Amz-Storage-Class:REDUCED_REDUNDANCY,以便服务器端减少冗余。

  • 如果将该类设置为减少冗余,则 MinIO 服务器将在元数据字段中返回一个存储类。

借助存储类支持,MinIO 服务器现在提供对磁盘使用和冗余的细粒度控制。现在,您可以做出最适合您的用例的权衡,即您可以通过在 MinIO 部署中正确设置存储类使用值来优化以获得更好的冗余或更好的存储使用率。

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

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

相关文章

android studio 新建java工程, 安卓新建项目,android studio2024 如何新建java项目

主要解决,新增安卓工程,没有java选项 1. 点击左上角FIle -> New -> 2. 选择 no activity 选项, 然后next 3. langua 就可以选择java 了。name自己定义项目名称,项目存储地址,包名。 配置完成选择finish. 4. fin…

MyBatis XML配置文件(下)

MyBatis的开发有两种方式:1、注解 2、XML。使用MyBatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。 MyBatis XML开发的方式需要以…

面向对象02:构造器详解

本节内容视频链接:面向对象05:构造器详解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV12J41137hu?p64&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 构造器(‌Constructor)‌是一种特殊的方法,‌用于初始…

linux下的oracle启动命令

一、服务器断电后,手工启动oracle数据库步骤如下: 1、进入数据库服务器,切换到oracle用户,命令:su - oracle 2、启动数据库,命令: 1) sqlplus / as sysdba 2) startup 3)如果数据库已…

【Qt笔记】Qt界面显示时间

目录 一、前言 二、基本概念 三、代码实现 1. 获取本地时间,并将其转换成自己想要的格式 2.创建一个QLabel控件用于显示时间字符串 3.创建QTimer定时器更新时间 四、优化 1. 格式优化 1.1 初始化 1.2 获取星期 1.3 更改格式 1.4 定时器超时函数 1.5 …

代码随想录 | day 15 | 二叉树part03

完全二叉树的节点个数 方法一:可以用递归法遍历一遍左子树和右子树的个数之和再加1等于全部节点个数 class Solution { public:int getcount(TreeNode* cur){if(curNULL) return 0;int leftcount getcount(cur->left);int rightcount getcount(cur->right…

以简单的例子从头开始建spring boot web多模块项目(四)-多模块工具类

目的是为了验证主工程调用工具工程。 1、新建模块&#xff0c;名称为WebTool 同样为Maven Archetype&#xff0c;类型为 org.apache.maven.archetypes:maven-archetype-quickstart 2、修改pom.xml 增加spring-boot-starter的依赖。 <dependency><groupId>org.spri…

【科研绘图】【分条热力图】:附Origin详细画图流程 + 案例分析

目录 No.1 理解分条热力图 No.2 画图流程 1 导入数据&#xff0c;绘制图形 2 设置绘图细节 3 色阶控制 4 设置坐标轴 5 效果图 No.3 案例分析 1 案例一 2 案例二 No.1 理解分条热力图 分条热力图&#xff0c;基于数据映射和颜色编码&#xff0c;是在热力图的基础上进…

【Hot100】LeetCode—437. 路径总和 III

目录 1- 思路前缀和哈希表dfs 2- 实现⭐437. 路径总和 III——题解思路 3- ACM 实现 题目连接&#xff1a;437. 路径总和 III 1- 思路 前缀和哈希表dfs ① 前缀和 求二叉树的前缀和&#xff0c;每求一次用一个 sum 传参记录更新 ② 哈希表 key 为前缀和 &#xff0c;value…

RISCV汇编编程讲解

第一章 引言 为什么要讲riscv&#xff1f; riscv的特点&#xff1a; -诞生于顶尖学术机构&#xff1a;诞生于加州大学伯克利分校的体系结构研究院。吸引了大批的顶尖企业参与&#xff08;e.g. 谷歌、华为、高通、阿里巴巴为rsicv的发展提供了大量的资金支持和贡献了技术和人才…

Oracle Linux 7.9 安装minikube体验

1.环境信息 前置所需&#xff1a; 操作系统&#xff1a;Oracle Linux 7.9 虚拟机配置&#xff1a;CPU:4核 内存&#xff1a;4G 容器&#xff1a;docker 26.1.4 安装minikube后环境&#xff1a; minikube: v1.33.1 kubernetes:v1.23.3 minukube体验说明&#xff1a;使用Virtua…

flume--数据从kafka到hdfs发生错误

解决&#xff1a; #1.将flume自带的依赖删除 mv /opt/installs/flume1.9/lib/guava-11.0.2.jar /opt/installs/flume1.9/lib/guava-11.0.2.jar.bak #2.将hadoop的依赖发送到flume下 cp /opt/installs/hadoop3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /opt/installs/f…

【C++ Primer Plus习题】5.9

问题: 解答: #include <iostream> #include <cstring> using namespace std;#define SIZE 20int main() {string words[SIZE];string done "done";int count 0;while (true){cout << "请输入单词:" << endl;cin >> words…

中国发布首个AI集成Linux开源操作系统

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈最近又发生了啥新鲜事&#xff1f; 中国大模型市场迎来新格局&#xff1a;百度、商汤、智谱位列前三 国际数据公司&#xff08;IDC&#xff09;于首次发布了《中国大模型平台市场份额&#xff0…

NYX靶机笔记

NYX靶机笔记 概述 VulnHub里的简单靶机 靶机地址&#xff1a;https://download.vulnhub.com/nyx/nyxvm.zip 1、nmap扫描 1&#xff09;主机发现 # -sn 只做ping扫描&#xff0c;不做端口扫描 nmap -sn 192.168.84.1/24 # 发现靶机ip为 MAC Address: 00:50:56:E0:D5:D4 (V…

适用于应用程序安全的 11 大 DevSecOps 工具

DevSecOps&#xff08;开发者安全运营&#xff09;是指将安全最佳实践融入软件开发生命周期的过程&#xff0c;从而实现更好的安全结果。这是提供全面安全基础设施的重要方面。 市场格局&#xff1a;DevSecOps市场竞争激烈。该领域有数百家供应商提供工具&#xff0c;帮助组织…

虚幻5|AI行为树,跟随task(非行为树AI)

这个可以不需要行为树 1.打开ai的角色蓝图后&#xff0c;添加一个函数&#xff0c;命名为跟距离改变速度 并用tick调用 2.编辑函数

在VBA中调用Adobe Acrobat或Reader的命令行工具,实现PDF自动打印 (‾◡◝)

在VBA&#xff08;Visual Basic for Applications&#xff09;中自动打印PDF文件通常不直接支持&#xff0c;因为VBA本身是针对Microsoft Office应用程序&#xff08;如Excel、Word和PowerPoint等&#xff09;的编程语言&#xff0c;并不直接处理PDF文件。但是&#xff0c;你可…

【变化检测】基于Tinycd建筑物(LEVIR-CD)变化检测实战及ONNX推理

主要内容如下&#xff1a; 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、Tinycd模型训练与预测 4、Onnx运行及可视化 运行环境&#xff1a;Python3.8&#xff0c;torch1.12.0cu113 likyoo变化检测源码&#xff1a;https://github.com/likyoo/open-cd 使用情况&#xff1a…

学习文件IO,让你从操作系统内核的角度去理解输入和输出(Java实践篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…