在 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中国 荣誉推出

相关内容

AI时代,关系模型仍会胜出...
科技行业对“下一个大趋势”有着强烈的渴望。但有时,正是那些老技术最...
2025-06-16 20:20:33
在CentOS系统中为Do...
理解Docker存储的核心机制:驱动与分层管理 在CentOS系统...
2025-06-16 07:41:58
区块链技术之分布式存储
随着互联网技术应用技术的普遍使用,所有行业的数据量指...
2025-06-01 18:55:48
如何用Python和has...
目录 简介: 源代码: 源代码说明&...
2025-05-30 05:26:32
k8s数据存储之Volum...
目录 一、什么是Volume 二、k8s中的Volume 三、k8...
2025-05-29 17:25:04
数据库存储与索引技术(二)...
上文讲到,传统单机数据库受制于底层存储技术及扩展瓶颈...
2025-05-29 03:38:16

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...