在 Linux 中使用 Stratis 配置本地存储
创始人
2024-03-01 23:13:08
0

关注于易用性,Stratis 为桌面用户提供了一套强力的高级存储功能。

对桌面 Linux 用户而言,极少或仅在安装系统时配置本地存储。Linux 存储技术进展比较慢,以至于 20 年前的很多存储工具仍在今天广泛使用。但从那之后,存储技术已经提升了不少,我们为何不享受新特性带来的好处呢?

本文介绍 Startis,这是一个新项目,试图让所有 Linux 用户从存储技术进步中受益,适用场景可以是仅有一块 SSD 的单台笔记本,也可以是包含上百块硬盘的存储阵列。Linux 支持新特性,但由于缺乏易于使用的解决方案,使其没有被广泛采用。Stratis 的目标就是让 Linux 的高级存储特性更加可用。

简单可靠地使用高级存储特性

Stratis 希望让如下三件事变得更加容易:存储初始化配置;后续变更;使用高级存储特性,包括 快照 snapshots 、 精简配置 thin provisioning ,甚至 分层 tiering 。

Stratis:一个卷管理文件系统

Stratis 是一个 卷管理文件系统 volume-managing filesystem (VMF),类似于 ZFSBtrfs。它使用了存储“池”的核心思想,该思想被各种 VMF 和 形如 LVM 的独立卷管理器采用。使用一个或多个硬盘(或分区)创建存储池,然后在存储池中创建 卷 volume 。与使用 fdiskGParted 执行的传统硬盘分区不同,存储池中的卷分布无需用户指定。

VMF 更进一步与文件系统层结合起来。用户无需在卷上部署选取的文件系统,因为文件系统和卷已经被合并在一起,成为一个概念上的文件树(ZFS 称之为 数据集 dataset ,Brtfs 称之为 子卷 subvolume ,Stratis 称之为文件系统),文件数据位于存储池中,但文件大小仅受存储池整体容量限制。

换一个角度来看:正如文件系统对其中单个文件的真实存储块的实际位置做了一层 抽象 abstract ,而 VMF 对存储池中单个文件系统的真实存储块的实际位置做了一层抽象。

基于存储池,我们可以启用其它有用的特性。特性中的一部分理所当然地来自典型的 VMF 实现 implementation ,例如文件系统快照,毕竟存储池中的多个文件系统可以共享 物理数据块 physical data block ; 冗余 redundancy ,分层, 完整性 integrity 等其它特性也很符合逻辑,因为存储池是操作系统中管理所有文件系统上述特性的重要场所。

上述结果表明,相比独立的卷管理器和文件系统层,VMF 的搭建和管理更简单,启用高级存储特性也更容易。

Stratis 与 ZFS 和 Btrfs 有哪些不同?

作为新项目,Stratis 可以从已有项目中吸取经验,我们将在第二部分深入介绍 Stratis 采用了 ZFS、Brtfs 和 LVM 的哪些设计。总结一下,Stratis 与其不同之处来自于对功能特性支持的观察,来自于个人使用及计算机自动化运行方式的改变,以及来自于底层硬件的改变。

首先,Stratis 强调易用性和安全性。对个人用户而言,这很重要,毕竟他们与 Stratis 交互的时间间隔可能很长。如果交互不那么友好,尤其是有丢数据的可能性,大部分人宁愿放弃使用新特性,继续使用功能比较基础的文件系统。

第二,当前 API 和 DevOps 式 Devops-style 自动化的重要性远高于早些年。Stratis 提供了支持自动化的一流 API,这样人们可以直接通过自动化工具使用 Stratis。

第三,SSD 的容量和市场份额都已经显著提升。早期的文件系统中很多代码用于优化机械介质访问速度慢的问题,但对于基于闪存的介质,这些优化变得不那么重要。即使当存储池过大而不适合使用 SSD 的情况,仍可以考虑使用 SSD 充当 缓存层 caching tier ,可以提供不错的性能提升。考虑到 SSD 的优良性能,Stratis 主要聚焦存储池设计方面的 灵活性 flexibility 和 可靠性 reliability 。

最后,与 ZFS 和 Btrfs 相比,Stratis 具有明显不一样的 实现模型 implementation model (我会在第二部分进一步分析)。这意味着对 Stratis 而言,虽然一些功能较难实现,但一些功能较容易实现。这也加快了 Stratis 的开发进度。

了解更多

如果希望更多了解 Stratis,可以查看本系列的第二部分。你还可以在 Stratis 官网 找到详细的设计文档

如何参与

如果希望参与开发、测试 Stratis 或给出反馈,请订阅我们的邮件列表

GitHub 上的开发项目包括 守护进程 (使用 Rust 开发)和 命令行工具 (使用 Python 开发)两部分。

可以在 Freenode IRC 网络的 #stratis-storage 频道加入我们。

Andy Grover 将在今年的 LinuxFest Northwest 会议上演讲。查看会议安排注册参会


via: https://opensource.com/article/18/4/stratis-easy-use-local-storage-management-linux

作者:Andy Grover 选题:lujun9972 译者:pinewall 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

原创 ...
站在2026年伊始回顾过去两年人工智能发展的历程,不难发现如今AI...
2026-01-21 11:18:21
广发证券:AI推理上下文存...
广发证券研报指出,超长上下文与多模态交互类应用显著推升KV Cac...
2026-01-20 07:48:22
u盘中病毒了怎么恢复数据
U盘中病毒了怎么恢复数据 在数字信息时代,U盘以其便携性和大容量,...
2026-01-19 19:25:46
u盘文件损坏怎么恢复数据
U盘文件损坏怎么恢复数据 在数字信息时代,U盘以其便携性和大容量,...
2026-01-19 19:25:46
图省事用AI工具处理内部文...
轻点鼠标就能生成方案、上传文件即可快速处理,便捷高效的开源AI工具...
2026-01-19 08:20:04
存储芯片逆天新规!100%...
据供应链知情人士透露,存储芯片制造商闪迪已向部分下游客户提出了一项...
2026-01-12 08:17:43

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...