Stratis从ZFS,Btrfs和Linux Volume Manager中学到了什么

如本系列第1部分中所述,Stratis是一种卷管理文件系统(VMF),其功能类似于ZFSBtrfs 。 在设计Stratis时,我们研究了现有解决方案的开发人员所做的选择。

为什么不采用现有解决方案?

原因各不相同。 首先,让我们考虑一下ZFS 。 ZFS最初由Sun Microsystems为Solaris(现在归Oracle拥有)开发,现已移植到Linux。 但是,其CDDL许可的代码不能合并到GPL许可的Linux源代码树中。 CDDL和GPLv2是否真正不兼容尚有争议,但是不确定性足以使企业Linux供应商不愿采用和支持它。

Btrfs也是建立良好的,没有许可问题。 多年以来,它一直是许多用户的“首选产品”,但就稳定性和功能而言,它还没有到达需要的位置。

因此,出于对改善现状和对现有选择的挫败感的渴望,构思了Stratis。

Stratis有何不同

相反,Stratis选择使用Linux内核的其他一些现有功能: 设备映射器子系统,LVM最特别使用它来在块设备的顶部提供RAID,精简配置和其他功能; 以及经过良好测试的高性能XFS文件系统。 Stratis使用现有技术的各层来构建其池,其目标是管理它们以无缝呈现给用户。

Stratis从ZFS中学到了什么

对于许多用户,ZFS设定了对于下一代文件系统的期望。 在线阅读有关ZFS的人们的评论有助于制定Stratis的最初开发目标。 ZFS的设计还隐式强调了要避免的事情。 例如,当附加在另一个系统上创建的池时,ZFS需要一个“导入”步骤。 这样做有几个原因,每种原因都有可能是Stratis必须解决的一个问题,或者采取相同的方法,或者采用不同的方法。

关于ZFS,我们不喜欢的一件事是,在添加新硬盘或将现有硬盘替换为更大硬盘方面存在一些限制,尤其是在为冗余配置了池的情况下。 当然,这是有原因的,但是我们认为这是我们可以改进的领域。

最后,一旦学会了在命令行上使用ZFS的工具,将是一次很好的体验。 我们希望使用Stratis的命令行工具具有相同的感觉,并且我们也喜欢该工具使用位置参数并限制每个命令所需的键入量的趋势。

Stratis从Btrfs中学到了什么

我们对Btrfs感兴趣的一件事是带有位置子命令的单一命令行工具。 Btrfs还将冗余(Btrfs配置文件)视为池的属性,这似乎比ZFS的方法更容易理解,并允许添加甚至删除驱动器。

最后,查看ZFS和Btrfs都提供的功能(例如快照实现和发送/接收支持)有助于确定Stratis应该包括哪些功能。

Stratis从LVM中学到了什么

从Stratis的早期设计阶段开始,我们就对LVM进行了广泛的研究。 当前,LVM是Linux设备映射器(DM)子系统的最重要用户-实际上,DM由LVM核心团队维护。 我们从实际 LVM用作Stratis层的可能性以及使用DM的示例(从Stratis可以将LVM作为对等体直接进行处理)中进行了研究。 我们研究了LVM的磁盘元数据格式(以及ZFS和XFS),以启发人们定义Stratis的磁盘元数据格式。

在列出的项目中,LVM在内部与Stratis具有最多的共同点,因为它们都使用DM。 但是,从使用角度来看,LVM在其内部运作方面更加透明。 这为专家用户提供了大量控制和选项,以Stratis不能的方式精确配置卷组(池)布局。

多种解决方案

使用自由软件和开源的一大好处是没有不可替代的组件。 如果当前的软件不能满足用户的需求,那么每个部分(甚至是内核)都可以进行查看,修改甚至替换。 如果有足够的支持可以并行维持新项目,那么新项目不需要结束现有项目。

Stratis试图更好地满足某些用户对本地存储管理的需求,即那些寻求无忧,易于使用且功能强大的解决方案的用户。 这意味着做出可能并不适合所有用户的设计选择。 由于用户还有其他选择,因此替代方案使艰难的选择成为可能。 所有用户最终都会受益于他们使用最适合他们的工具的能力。

翻译自: https://opensource.com/article/18/4/stratis-lessons-learned

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值