着眼于易用性,Stratis为桌面用户提供了一组强大的高级存储功能。对于桌面Linux用户,本地存储很少或只在系统安装时配置。Linux存储技术进步缓慢,许多20年前的存储工具至今仍在广泛使用。但是存储技术从那时起已经有了很大的改进,为什么我们不应该利用这些新功能呢?本文介绍Startis,这是一个新项目,它试图让所有Linux用户从存储技术的进步中受益,从只有一个SSD的单个笔记本电脑到具有数百个硬盘驱动器的存储阵列。Linux支持新功能,但缺乏易于使用的解决方案使其无法被广泛采用。Stratis的目标是让Linux的高级存储特性更有用。简单可靠地使用高级存储功能Stratis希望简化三件事:存储的初始配置;随后的变化;以及使用高级存储功能,包括快照、自动精简配置,甚至分层。Stratis:卷管理文件系统Stratis是卷管理文件系统(VMF),类似于ZFS和Btrfs。它使用了各种VMF和像LVM这样的独立卷管理器所采用的存储“池”的核心思想。使用一个或多个硬盘(或分区)创建一个存储池,然后在存储池中创建一个卷。与使用fdisk或GParted执行的传统硬盘分区不同,存储池中卷的分布不需要由用户指定。VMF更进一步,与文件系统层集成。用户不需要在卷上部署选定的文件系统,因为文件系统和卷已经合并成一个概念上的文件树(ZFS称之为数据集,Brtfs称之为子卷,Stratis称之为文件系统),文件数据位于存储池中,但文件大小仅受存储池整体容量的限制。换个角度看:正如文件系统抽象了单个文件的真实存储块的实际位置一样,VMF抽象了存储池中单个文件系统的真实存储块的实际位置。基于存储池,我们可以启用其他有用的功能。一些特性自然来自典型的VMF实现,例如文件系统快照。毕竟一个存储池中的多个文件系统可以共享物理数据块;冗余、分层和完整性等其他特性也很合乎逻辑,因为存储池是操作系统中管理文件系统所有上述特性的中心位置。上述结果表明,与单独的卷管理器和文件系统层相比,VMF更易于设置和管理,并支持高级存储功能。Stratis与ZFS和Btrfs有何不同?Stratis作为一个新项目,可以借鉴现有项目。在第二部分,我们将深入介绍Stratis从ZFS、Brtfs和LVM中采用了哪些设计。总而言之,Stratis不同于对功能支持的观察,不同于个人使用和计算机自动化操作方式的变化,也不同于底层硬件的变化。首先,Stratis强调易用性和安全性。这对于可能会长时间与Stratis交互的个人用户来说很重要。如果交互不是那么友好,尤其是存在数据丢失的可能,大多数人宁愿放弃使用新特性,继续使用功能相对基础的文件系统。其次,当前API和DevOps式DevOps式自动化的重要性远高于早些年。Stratis提供了支持自动化的专用API,人们可以直接通过自动化工具使用Stratis。三是SSD容量和市场份额大幅提升。早期文件系统中的许多代码都针对机械媒体的缓慢访问进行了优化,但对于基于闪存的媒体,这些优化变得不那么重要了。即使当存储池太大而无法使用SSD时,仍然可以考虑使用SSD作为缓存层,这样可以提供很好的性能提升。考虑到SSD的优异性能,Stratis主要侧重于存储池设计的灵活性和可靠性。***,与ZFS和Btrfs相比,Stratis有着明显不同的实现模型(我会在第二部分进一步分析)。这意味着虽然有些功能对于Stratis来说更难实现,但有些功能更容易实现。这也加速了Stratis的开发。了解更多如果您想了解有关Stratis的更多信息,请查看本系列的第2部分。您还可以在Stratis官方网站上找到详细的设计文档。
