目录

前言

对象过期

远程存储层(Tiers)常用分层场景

跨存储介质

跨云类型

公有云

文件迁移实例

Tiers配置

生成周期管理配置

原始桶的tiertest前缀的文件目录

远程存储层目录结构

原文件元信息内容


前言

随着数据的不断增长,对于访问、安全性和经济性进行优化的能力成为一项硬性要求,而不是一项附加可选项。这就是生命周期管理出现的原因。MinIO提供了一套独特的功能来保护间机房或跨机房的数据,这其中包括公有云和私有云。

本文将以如何设置对象过期做为切入点,结合数据转移至远程存储层的若干个场景,进一步说明对象生命周期的灵活性。

刚接触数据迁移(生成周期规则的Transition)时,以为设置规则并且达到迁移条件后文件会被迁移到远程存储层,之后的访问都是在远程存储层访问。经过几天的测试发现,迁移到新存储层(MinIO)的数据都是一些不规则命名,那要怎么访问它们呢,并且原存储层界面文件还在。后来通过查看原存储层的meta数据内容发现它保存了指向远程存储层文件的路径,这时我才明白文件迁移只是将原文件流转移到远程存储层,访问仍然是在原来的MinIO。

对象过期

  • 数据不必永远存在:MinIO生命周期管理工具可以让我们定义数据被删除之前在磁盘上的保留时间。时间长度由用户定义为特定的天数。

  • 生命周期管理规则默认应用到单个桶,并且可以使用前缀和标签过滤器的任意组合来构建。不指定过滤器即整个桶适用,也可以指定多个规则来制作更复杂的过期行为。

  • MinIO对象到期规则也适用于版本化的存储桶,可以设置特定的版本规则。例如:我们可以仅对对像的非当前版本指定到期规则,以最大限度地复用对象版本控制的优势,而不会产生长期存储成本。所以,我们可以创建生命周期管理规则来删除历史版本还是当前版本的对象。
  • 存储桶过期规则完全符合MinIO 的 WORM锁定和合法保持,处于锁定状态的对象保留在磁盘上,直到锁定过期或明确解除。一旦对象不再受锁定,MinIO就会开始正常应用到期规则。

  • MinIO对象到期生命周期管理规则在功能和语法上与AWS 生命周期管理兼容。MinIO还支持以JSON格式导入现有规则,从而轻松迁移现有AWS到期规则。

远程存储层(Tiers)常用分层场景

MinIO可以以编程方式配置对象存储分层,以便对像根据任意数量的变量从一种状态转换到另一种状态,尽管最常用是访问时间和频率,在以下几个场景中可以很好的理解此功能。分层允许用户优化存储成本或功能,以应对不断变化的数据访问模式。分层数据存储一般用于以下场景:

跨存储介质

跨存储介质分层是最著名和最直接的分层场景。这种场景下,MinIO对底层磁盘进行了抽象,并针对性能和成本进行了共同优化。例如:数据可能存储在NVMe协议的SSD磁盘上,用于在乎访问性能的近线业务场景,但在一段时间后转移到HDD磁盘,用于在乎容量扩展但访问及时性没那么重要的业务场景。再之后,这些数据可以进一步迁移到类似于备份的长期存储中。

跨云类型

数据迅速增长的用例涉及使用公有云的廉价存储和计算资源作为私有云的另一层(不太适合公司场景)。在此用例中,使用适当的私有云存储执行以性能为导向的近线工作负载。数据量无关紧要,但数据本身以及性能却很重要。随着数据量的增加和访问频率预期的降低,企业可以使用公共云的低频存储来优化数据保留和数据访问的相关成本。

这是通过像在公有云一样使用私有云MinIO来实现的。启用ILM,MinIo可以将数据移动到廉价的公共云存储,并在必要时通过MinIO安全的访问公有云存储。在这种情况下,公有云存储成为MinIO的哑存储,就像JBOD成为MinIO的哑存储一样,这种方法可以避免自己维护过期的文件存储。

公有云

MinIO充当公有云中的主要应用程序存储层。在这种情况下,与其他场景一样,MinIO是应用程序访问的唯一存储。应用程序(和开发人员)不需要知道存储端点以外的任何东西。MinIO根据管理参数确定哪些数据属于哪里。例如:MinIO可以确定应该将哪些数据移动到对像层以及哪个对象层满足企业的性能和经济目标。

MinIO结合了不同的存储层,并确定了合适的介质,以在不影响性能的情况下提供更好的经济效益。应用程序只需通过MinIO处理对象,MinIO透明地应用策略在层之间移动对象并将该对象的元数据保留在块层中。

文件迁移实例

Tiers配置

关注237M2的远程存储层,它将接收文件迁移到tier02这个bucker,并使用bbb做为前缀,目前为止已经迁移了8个对象

生成周期管理配置

以tiertest为前缀文件保存1天后迁移到237m2远程存储层。

原始桶的tiertest前缀的文件目录

一共8个文件,存的全是meta元信息

远程存储层目录结构

一共8个文件,使用part.1存储了具体的数据信息,其中一个没有part.1 是因为它的文件太小了,在元信息里就可以表达完

原文件元信息内容

内容里保留了远程存的索引

MinIO对象生命周期管理解析相关推荐

  1. 容器,对象生命周期管理的基石

    2019独角兽企业重金招聘Python工程师标准>>> 郑重申明:包括本文在内的很多技术文章,大多出自山外高人,而非Fans. Fans暂时没有能力写作优秀的技术文章,Fans只是转 ...

  2. SSH学习-Hibernate对象生命周期管理

    Hibernate对象就是java中的实体对象,管理就是在实体对象的生命周期内被Hibernate的操作,Hibernate对象的生命周期其实就是实体对象的生命周期(从创建到最后被GC回收),期间对实 ...

  3. 自定义Unity对象生命周期管理集成ADO.NET Entity Framework

    在Unity中,从Unity 取得的实例为 Transient.如果你希望使用多线程方式,就需要在组成时使用lifecycle参数,这时候取出的组件就不再是同一个了.在Unity IOC中,它支持我们 ...

  4. Linux多线程服务端编程笔记,陈硕Linux多线程服务端编程读书笔记 —— 第一章 线程安全的对象生命周期管理...

    muduo书第一章的思维导图(新窗口打开可以看大图) 线程安全的对象析构和回调(使用shared_ptr和weak_ptr) 注释是英文的(工地英语-) StockFactory.h // in mu ...

  5. Android 插件化原理解析——Activity生命周期管理

    之前的 Android插件化原理解析 系列文章揭开了Hook机制的神秘面纱,现在我们手握倚天屠龙,那么如何通过这种技术完成插件化方案呢?具体来说,插件中的Activity,Service等组件如何在A ...

  6. ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理

    在ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现中,我介绍了事件驱动型架构的一种简单的实现,并演示了一个完整的事件派发.订阅和处理的流程.这种实现太简单了,百十行 ...

  7. Spring IoC容器与Bean管理18:Bean对象的作用域及生命周期三:对象生命周期;

    说明: (1)本篇博客主要根据案例阐述对象的声明周期: (2)其中,比较重要的是注意下这个对应关系: (3)还有就是调用[registerShutdownHook()]销毁IoC容器: 目录 一:be ...

  8. PPT 下载 | 神策数据孙文亮:客户全生命周期管理从方法到实践全解析

    在以"场景赋能·驱动有数"为主题的神策 2018 数据驱动大会现场,神策数据技术经理孙文亮发表了名为<客户全生命周期管理从方法到实践>的主题演讲. 温馨提示:点击文末阅 ...

  9. Swift之深入解析Xcode13对Swift对象生命周期的优化

    在 Xcode13 中,在 Build Setting 中,新增 Optimize Object Lifetimes 编译选项,默认是关闭的,Apple 建议将该选项设置为 YES,打开此优化项,可以 ...

最新文章

  1. c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...
  2. tableau必知必会之如何在Tableau server中实现工作薄的自动刷新
  3. java web服务器tomcat介绍【转载】
  4. 玩转控件:封装Dev的LabelControl和TextEdit
  5. miller_rabin 模板
  6. docker mysql配置 丢失_Ubuntu16.04服务器环境配置 – Docker、MySQL、Redis
  7. Hbase的伪分布式安装
  8. 20145209 《信息安全系统设计基础》第14周学习总结
  9. Python实战之多线程编程thread模块
  10. Atitit linux获取项目运行环境版本
  11. Unity3D研究院之mac上从.ipa中提取unity3D游戏资源
  12. html中将正方形动画变成圆形,css中把正方形变成圆形的方法
  13. 安装miktex+winedit
  14. CTF-8021-题目一
  15. flink on yarn使用第三方jars的方法如何查看进程所持有jar包
  16. 鉴客 iPad横屏(Landscape)尺寸规格说明
  17. 神奇的Python图片处理库exifread
  18. 从画笔到像素:一文读懂AI绘画的前世与今生
  19. tcp报头及报文格式
  20. Modeling in Blender: Low Poly Car

热门文章

  1. conda安装tensorflow2.x和pytorch1.8.0的一些常用命令
  2. 美国大学计算机系学什么,最新美国大学计算机专业排名介绍
  3. 12306网站服务器时间限制,12306网上订票时间限制
  4. matlab中imshow函数输出图像全白全黑问题
  5. 关于常用颜色小聚:有据说是令人舒服的颜色值,有R G B 常用颜色列表
  6. 全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门AI智能问答应用场景——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)
  7. es6字符串添加html标签,JavaScript_详解JavaScript ES6中的模板字符串,在 ES6 中引入了一种新的字符 - phpStudy...
  8. Boot(重点SCSS☆☆☆☆☆)(day03)
  9. python实现excel追加饼图
  10. 深大uooc学术道德与学术规范教育第一章