在 Linux 中使用 Stratis 配置本地存储 | Linux 中国

2018 年 6 月 11 日 Linux中国
关注于易用性,Stratis 为桌面用户提供了一套强力的高级存储功能。
-- Andy Grover



致谢
编译自 | https://opensource.com/article/18/4/stratis-easy-use-local-storage-management-linux 
 作者 | Andy Grover
 译者 | Andy Song (pinewall) 🌟 🌟 🌟 共计翻译:20 篇 贡献时间:73 天

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

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

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

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

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

Stratis:一个卷管理文件系统

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

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

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

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

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

Stratis 与 ZFS 和 Btrfs 有哪些不同?

作为新项目,Stratis 可以从已有项目中吸取经验,我们将在第二部分[6]深入介绍 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(我会在第二部分[6]进一步分析)。这意味着对 Stratis 而言,虽然一些功能较难实现,但一些功能较容易实现。这也加快了 Stratis 的开发进度。

了解更多

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

如何参与

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

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

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

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


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

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

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


登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
105+阅读 · 2020年5月3日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
68+阅读 · 2020年1月17日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
Kong 1.1 带来声明式配置与无数据库部署模式
开源中国
8+阅读 · 2019年3月28日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Arxiv
3+阅读 · 2018年3月22日
Arxiv
3+阅读 · 2018年3月13日
VIP会员
相关资讯
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
VS Code Remote发布!真·远程开发
开源中国
6+阅读 · 2019年5月3日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
Kong 1.1 带来声明式配置与无数据库部署模式
开源中国
8+阅读 · 2019年3月28日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Top
微信扫码咨询专知VIP会员