X-ObjectMount: 对象存储访问接入的新选择

news2024/12/27 13:51:30

XEOS 自 2017 年发布面世以来,历经 7 年的研发迭代,上个月正式发布了 XSKY SDS 6.4 版本,包含了最新的多站点统一命名空间能力,也标志了 XEOS 在对象存储领域的全方面优势和领先市场地位。

在 XSKY 过去对象存储服务历程里,最常见的问题就是客户在做应用的存储规划时,面对文件存储和对象存储的选择问题

通常来说,XSKY 会根据应用的当前特点和发展来进行规划。

针对数据量不大的应用,建议使用 NAS(XGFS 产品)直接使用,一方面可以用较低的开发成本,另一方面也可以也可以获得较好的性能,同时也可以依赖 NAS 企业级功能,如快照、配额、ACL 等成熟 NAS 功能进行数据管理。

而针对数据量较多,且以非结构化数据为主,未来有容灾和 PB 级增长的情况下,推荐使用对象存储作为存储类型,使用 AWS S3 作为对象存储的事实标准进行开发,可以很好的利用 API 的灵活性实现数据细粒度管理。

但是大部分客户都会面临中间状态,即大量的应用无法从 NAS 存储转移到 S3,因此对象存储的业界产品都会有不同方案来承接这部分需求

01 对象存储接入的选择

为了充分利用对象存储的优势和高级特性,使用 S3 API 接入对象存储肯定是最佳选择,但对象存储的特殊协议给一些传统应用带来了较高的接入复杂度。

840e34acde6837c2579d47eb1f945135.jpeg

企业内部存在大量数据和应用,并非所有应用都能重新开发以适配对象存储。尽管这些应用的读写请求相对简单,但它们仍希望利用对象存储的优势。此外,一些企业需要将数据导入对象存储的数据湖底座,以供其他应用调用。

为了解决这些问题,需要简化传统应用在对象存储上的接入过程,使其能够在保持现有工作流的同时,充分利用对象存储的扩展性和成本效益。这样不仅可以提升数据管理效率,还能确保企业在技术迁移过程中平稳过渡。

对于上述需求,业界提供了如在对象存储基础上架设 NFS 网关和独立元数据的文件网关并纳管对象方案,但它们在实际应用中存在诸多局限性,在生产业务和长期的对象数据湖建设上力不从心。

c10b73f90dcf11df7e4270c4026b3d81.jpeg

对象 NFS 网关方案

对象 NFS 网关是过去对象存储产品提供的文件接口方式,主要是通过 NFS 网关服务来实现从 NFS 到 S3 的转换,业界主流的对象存储产品都有类似功能,但实际推广都不佳,主要是该架构的局限性较强:
  • 单网关架构问题此类方案一般采用单网关架构,在高可用性方面存在显著不足。当网关出现故障时,故障切换导致的降级也不如原生 S3 网关,导致系统可用性大幅降低,进而影响业务连续性;
  • 网络和 HTTP 开销大:此类方案无法有效利用客户端缓存,所有的请求都需要通过网络并且以 HTTP 协议传输,这导致了较高的网络开销和较低的传输效率。

独立元数据网关方案

独立元数据网关指的是通过私有文件客户端来实现应用的文件接口接入,通常采用 FUSE 来承接,然后通过独立的元数据服务来管理文件元数据,并且采用对象存储来进行数据存储,即元数据管理文件数据的对象索引。

该方案相较于对象 NFS 网关提供了更好的元数据支持,使得过去应用对于文件接口的性能可以最大化保证,但也存在一定的问题:

  • 额外资源开销这类方案引入了独立的元数据和缓存系统,这虽然提升了部分性能,但也需要额外的 SSD 和计算资源,从而增加了成本;

  • 协议转换带来的问题这些方案在对接对象存储时需要进行协议转换和切片,导致底层对象存储对象跟应用看的到文件不是一一对应关系。这不仅使得底层存储无法直接提供对象存储服务,还丢失了底层存储所具备的功能特性,如对象的生命周期管理、快照、配额管理和数据处理能力。

每种方案都有其优势和不足,XEOS 在历经多年后,希望为“合适的”文件应用提供更方便的接入和简单运维,在 6.4 版本中推出了 X-ObjectMount 方案,它并不是能够完美的承接各种各样的文件应用,但对于非常适用于对象存储 IO 模型的文件应用来说,提供了无损的接入方式。

02 X-ObjectMount的设计实现

X-ObjectMount 旨在让应用通过熟悉的 POSIX 文件系统 API 来访问和管理对象存储数据。它部署在业务节点上,作为中间层将对象存储的 key-value 结构映射到业务节点的文件和文件夹层次结构中,使得业务应用可以像使用本地磁盘或者网络共享一样操作存储在 XEOS 中的数据。它将业务应用对挂载目录的文件读写等操作转为 S3 协议发送到后端的 XEOS 集群中,完成数据的总体访问路径。


17ea293504f2ac33d62445f412bfdf3d.jpeg

通过这种方式,X-ObjectMount 为合适的文件应用了提供了无损的对象存储接入,同时利用客户端的资源来增加处理数据和缓存的能力,提高了对小文件和元数据操作的性能

  • 客户端线性扩展:X-ObjectMount 可以通过客户端节点数量的增加,来扩展客户端访问存储的读写性能。每个新增的客户端节点都能够分担部分读写压力,提高整体系统的吞吐量和响应速度;

  • 客户端缓存:客户端缓存机制有效地减少了对后端 XEOS 集群的直接访问次数,提升了数据读取的速度。通过缓存常用数据和元数据信息,减少了重复请求带来的延迟,从而加快了业务应用的数据访问速度;

  • 追加写和高性能重命名:X-ObjectMount 利用 XEOS 的追加写 API,实现了高效的 POSIX 追加写能力,使得应用程序能够快速、连续地写入数据,而无需重写整个文件。这一特性对于日志记录、大数据处理等场景尤其关键,能够显著提高数据写入的效率;

    通过 XEOS 的 API,重命名操作只需要变更元数据记录,而不需要实际搬迁数据。这种方式大幅提高了重命名操作的性能,使得文件在被重命名时能够快速响应,减少了延迟。

  • 完善的管理能力:X-ObjectMount 也在管理监控方面做了强化,支持对用户或应用分配存储配额和设置容量上限,防止资源滥用。与此同时,它还提供监控功能,帮助管理员实时了解挂载点和客户端的状态。

03 X-ObjectMount 适合的场景案例

X-ObjectMount 并不能解决所有文件应用对于对象存储的迁移问题,但在一些合适的场景中表现出来很好的优势,目前已经在一些种子客户场景中进行了验证和上线,以下是几个典型应用场景的案例。

案例1:AI 数据加载

某个 AI 客户由于数据集的快速增加,对存储的成本和稳定性提出了更高的要求,因此引入了 XEOS 作为 AI 海量数据存储的底座。

在客户的业务流程中,在发起训练前需要调度平台将数据从 XEOS 加载到并行文件系统中进行训练。在以往的实践中,这需要调度平台对接 S3 API,通过 S3 将数据从 XEOS 读取到并行文件系统中。这种方式需要额外的开发和适配工作,并且无法利用缓存的能力导致访问性能较低,难以满足快速增长的数据读取需求。

通过引入 X-ObjectMount,调度平台只需要利用 X-ObjectMount 的本地路径就可以读取到 XEOS 的数据。这一方式极大地提高了调度平台的对接效率,同时利用 X-ObjectMount 的缓存功能,可以大幅提升数据访问性能

daccb26e45659c1e65205cb7254a0701.jpeg

方案优势

  • 简化数据加载流程:调度平台不再需要单独对接 S3 API,只需使用熟悉的本地文件系统路径,即可访问 XEOS 中的数据;
  • 提升访问性能:借助 X-ObjectMount 的缓存功能,减少了对后端存储的直接访问次数,加快了数据读取速度,满足了 AI 训练对快速数据访问的需求;
  • 降低开发和维护成本:通过简化对接过程,减少了额外的开发和适配工作,降低了系统的整体维护成本。

该 AI 客户成功通过 X-ObjectMount 实现了数据的高效加载和读取,大幅提高了 AI 训练的效率,并显著降低了存储和运维成本。

案例2:日志归集和分析

某客户的 k8s 平台有大量的应用不断产生日志,如 nginx、webservice 等。为了将日志集中存储,便于后续的分析和审计,客户当前使用定时脚本和任务将日志复制到 NAS 中进行集中存储。然而,随着集群规模的不断增加,NAS 的存储容量和文件数量不断增加,导致性能出现瓶颈。

为了解决 NAS 的性能瓶颈问题,客户决定引入 X-ObjectMount 的 CSI 插件,将日志存储迁移至 XEOS。通过该方案,k8s 集群中的各个 pod 可以直接将日志写入 XEOS,而不再依赖 NAS 存储。这种过渡不仅提升了系统性能,还简化了日志管理流程

a6fae9499f54da6851062f4a859d60fc.jpeg

方案优势

  • 提升存储性能:XEOS 具有高扩展性,能够支持海量数据存储。通过直接写入 XEOS,避免了 NAS 的存储瓶颈问题,确保系统在高并发场景下仍能保持高性能;
  • 简化日志收集流程:业务组件的日志可以直接写入 XEOS,而无需通过定时脚本和任务进行复制。这大大简化了日志管理的工作量,减少了人为干预;同时原有的数据分析应用通过 X-ObjectMount 直接访问 XEOS,无需因为引入 XEOS 而改造对接 S3 API。
  • 增强数据分析和审计能力:集中存储的日志数据可以方便地进行分析和审计。XEOS 的强大管理功能和高性能访问能力,使得日志分析平台和审计业务能够更高效地获取和处理日志数据。

案例3:备份数据导入

某个客户存在大量的备份数据,NAS 存储成本居高不下,同时在与备份软件对接中无法做到全链路防勒索。为了解决这些问题,客户决定引入 XEOS 作为新的备份数据存储解决方案。

通过引入 X-ObjectMount,客户可以实现备份数据的无缝迁移和管理。X-ObjectMount 的优势在于无需修改现有备份脚本,只需替代原有的 NAS 挂载点即可完成迁移。这一方案不仅降低了存储成本,还增强了数据安全性。

5db371898c91167d84d65b0a0389d02e.jpeg

方案优势

  • 降低存储成本:XEOS 提供低成本、高容量的存储解决方案,显著降低了备份数据的存储成本;
  • 全链路防勒索:XEOS 拥有完善的对象锁功能,与 CommVault、都完成了专项认证并推出了联合方案。引入 XEOS 后,该客户可以实现业务数据的全链路防勒索功能;
  • 无缝迁移:通过 X-ObjectMount 替代 NAS 挂载点,现有的备份脚本无需修改,实现了无缝迁移,大大降低了迁移过程中的复杂度。

 小结

作为市场占有率领先的对象存储产品,XEOS 不断的适应各类业务需求,提供灵活的解决方案。为了快速响应业务的快速变化,XEOS 不断演变和优化,确保在不同应用场景中都能高效运作。作为对象存储产品,支持 S3 API 是基本能力,除了支持基础的 S3 API,XEOS 还在其基础上扩展了高级 API:

  • 基础功能:XEOS 与 AWS S3 的兼容性在行业中处于领先地位,确保用户可以无缝迁移和整合现有系统;

  • WORM:XEOS 完整支持监管模式和合规模式,是国内获得对象锁生态认证最多的厂商,提供数据不可变性和防篡改的功能;

  • 快照:为了更好地保护数据,并解决备份厂商或业务获取对象文件变化效率低的问题,XEOS 创造性地提供了对象存储整桶快照以及快照差异 API。这些功能大大提升了数据保护和管理的效率;

  • 除此之外,为了让阿里云客户更轻松的下云,XEOS 还和阿里云合作适配和 OSS API

随着 AI 和大语言模型(LLM)的快速发展,数据训练性能和存储成本的要求越来越高。在近期发布的 6.4 版本中,XEOS 与 Alluxio 联手推出了面向 AI 的联合方案。

XEOS 与 Alluxio 的深度合作,不仅能显著加速 AI 数据访问,还利用 XEOS 的海量低成本存储和灵活的全生命周期管理功能,大幅降低 AI 企业的数据存储成本。该方案为企业在 AI 数据管理和存储方面提供了强有力的支持,帮助企业在快速发展的 AI 领域保持竞争优势。

而 X-ObjectMount 的推出,通过结合熟悉的 POSIX 文件系统 API 和 XEOS 的强大存储能力,为企业提供了高效、灵活的数据管理解决方案。无论是 AI 数据加载、日志归集和分析,还是备份数据导入,X-ObjectMount 都表现出了显著的优势

通过实际应用场景的测试和优化,已经证明 X-ObjectMount 可以有效的提高应用对接效率,减少改造工作。

 


ee179059dbed1949c4c866bc0fe6aec8.jpeg

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

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

相关文章

mysql 命令 —— 查看表信息(show table status)

查询表信息,如整个表的数据量大小、表的索引占用空间大小等 1、查询某个库下面的所有表信息: SHOW TABLE STATUS FROM your_database_name;2、查询指定的表信息: SHOW TABLE STATUS LIKE your_table_name;如:Data_length 显示表…

openGauss真的比PostgreSQL差了10年?

前不久写了MogDB针对PostgreSQL的兼容性文章,我在文中提到针对PostgreSQL而言,MogDB兼容性还是不错的,其中也给出了其中一个能源客户之前POC的迁移报告数据。 But很快我发现总有人回留言喷我,而且我发现每次喷的这帮人是根本不看文…

Python基础003

Python流程控制基础 1.条件语句 内置函数input a input("请输入一段内容:") print(a) print(type(a))代码执行的时候遇到input函数,就会等键盘输入结果,已回车为结束标志,也就时说输入回车后代码才会执行 2.顺序执行…

【问题记录】如何在xftp上查看隐藏文件。

显示隐藏的文件夹 用xftp连接到服务器后,发现有些隐藏的文件夹并未显示出来,通过以下配置,即可使隐藏的文件夹给显示出来。 1.点击菜单栏的"小齿轮"按钮: 2.勾选显示隐藏的文件夹: 3.点击确定即可。

古韵流光:探秘五代耀州窑青瓷提梁倒灌壶的奇妙设计

在陕西历史博物馆的静谧展厅中,一件千年前的瓷器静静陈列,它不仅承载着历史的沉淀,更凝聚了古代匠人的非凡智慧。这便是五代时期的耀州窑青瓷提梁倒灌壶,一件巧夺天工的艺术品,其独特的设计至今仍让人叹为观止。 一、倒…

算法mq 交互通用校验模块设计

背景 当前与算法交互均通过rocketMQ异步交互,绝大部分场景一条请求mq消息应对应一条返回mq,但由于各种原因(消息积压、程序bug),可能会导致返回mq超时未返回或者消息丢失。工程侧针对一些重要场景 case by case的通过…

【web3】分享一个web入门学习平台-HackQuest

前言 一直想进入web3行业,但是没有什么途径,偶然在电鸭平台看到HackQuest的共学营,发现真的不错,并且还接触到了黑客松这种形式。 链接地址:HackQuest 平台功能 学习路径:平台有完整的学习路径&#xff…

VS2022+Qt+OpenCV Debug模式下,循环中格式转换引起的内存异常问题 debug_heap.cpp

文章目录 前言一、问题二、报错1.提示图片2.提示堆栈3.反汇编位置 三、解决办法总结 前言 最近在使用VS2022,C,OpenCV,Qt开发时,遇到了一个疑难杂症-在循环中执行字符串格式转换会触发内存异常,经过痛苦的排查过程&am…

Ubuntu下反弹shell的思考

目录 Ubuntu的命令执行环境 bash (Bourne Again SHell): sh (Bourne SHell): dash (Debian Almquist SHell): 它们之间的关系: 可能遇到的问题 一、脚本权限问题 二、命令执行环境(shell解释器)问题 如何解决? 1.修改/bin/sh软连接的指向为bas…

C++字体库开发

建议根据字体需求,多个组合使用。高度定制可基于freeTypeharfbuzz基础库完成。 GitHub - GNOME/pango: Read-only mirror of https://gitlab.gnome.org/GNOME/pango GitHub - googlefonts/fontview: Demo app that displays fonts with a free/libre/open-source …

Java_多线程:线程和死锁

一、线程 1、线程的状态流转 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t new MyThread();就绪状态(Runnable):当调用线程对象的start()方法&…

JAVA极简图书管理系统,初识springboot后端项目

前提条件: 具备基础的springboot 知识 Java基础 废话不多说! 创建项目 配置所需环境 将application.properties>application.yml 配置以下环境 数据库连接MySQL 自己创建的数据库名称为book_test server:port: 8080 spring:datasource:url:…

搜索型数据库的技术发展历程与趋势前瞻

概述 随着数字科技的飞速发展和信息量的爆炸性增长,搜索引擎已成为我们获取信息的首选途径之一,典型的代表厂商如 Google。然而,随着用户需求的不断演变,传统的搜索技术已经无法满足人们对信息的实时性、个性化和多样性的需求。 …

C++基础知识-编译相关

记录C语言相关的基础知识 1 C源码到可执行文件的四个阶段 预处理(.i)、编译(.s)、汇编(.obj)、链接。 1.1 预处理 预处理阶段,主要完成宏替换、文件展开、注释删除、条件编译展开、添加行号和文件名标识,输出.i/.ii预处理文件。 宏替换,…

AI的价值——不再那么“废”人,保险行业用AI人员流失减少20%

最近有个热点挺让人唏嘘的,某咖啡店员工对顾客泼咖啡粉,我们对于这个事件不予评价。但是对员工这种情绪崩溃,我们所接触的行业中也有不少例子,比如保险行业,相信大家经常会被打保险电话,这类电话很容易就被…

K8s 的最后一片拼图:dbPaaS

K8s 的发展使得私有云跟公共云之间的技术差不断的缩小,不管是在私有云还是公共云,大家今天都在基于 K8s 去开发 PaaS 系统。而 K8s 作为构建 PaaS 的基础,其全景图里还缺最后一块“拼图”——dbPaaS。作为一个云数据库行业干了十几年的资深从…

Swin Transformer:最佳论文,准确率和性能双佳的视觉Transformer | ICCV 2021

论文提出了经典的Vision Transormer模型Swin Transformer,能够构建层级特征提高任务准确率,而且其计算复杂度经过各种加速设计,能够与输入图片大小成线性关系。从实验结果来看,Swin Transormer在各视觉任务上都有很不错的准确率&a…

哈尔滨如何选择合适的等保测评机构?

选择合适的等保测评机构确实需要细致考虑,您提到的八个方面已经非常全面,涵盖了资质、专业能力、服务质量和合规性等多个关键点。为了进一步确保所选机构的可靠性,还可以考虑以下几点: 1.技术创新与工具:了解测评机构是…

UE5的安装与基本操作(一)

文章目录 前言安装UE5新建第一个游戏项目基本游览方式对目标进行变换各种变换对齐 快速定位目标 总结 前言 Unreal Engine 5 (UE5) 是一款由 Epic Games 开发的实时 3D 创作平台,用于制作游戏、电影、动画、建筑可视化和其他类型的交互式体验。UE5 提供了一系列强大…

解锁IDEA中Git/SVN Issue Navigation功能:80%程序员都不懂的秘密武器~

文章目录 前言什么是 Git Issue Navigation?配置 Git Issue Navigation1. 打开设置2. 导航到 Issue Navigation 设置3. 添加新的 Issue Navigation 规则具体示例配置 使用 Git Issue Navigation在提交信息中使用 Issue ID实际导航到连接 优点1. 快速定位问题2. 提高…