Linux操作系统支持和可用的文件系统类型非常多,既然这些文件系统都能正常工作,为什么还要尝试新的文件系统呢?其实,不同的Linux文件系统类型并不完全相同,否则没必要搞出那么多类型。其中一些还具有明显的优势,例如——ZFS文件系统。为什么选择ZFS文件系统ZFS文件系统很棒,它是一个真正现代的文件系统,具有对处理数据加载有意义的内置功能。如果您正在考虑将ZFS用于超快NVMeSSD,它可能不是最佳选择。ZFS相对较慢并不重要,它旨在存储大量数据并确保数据安全,因此许多NAS平台使用ZFS作为默认(主)文件系统。使用ZFS时无需配置传统的RAID阵列。相反,我们可以随时通过创建ZFS池将磁盘驱动器添加到这些池(Pools)中。ZFS池的工作和行为几乎与RAID类似,但其功能仍建立在文件系统之上。ZFS可以作为LVM的完整替代品,使我们能够快速创建和管理分区,而无需处理较低级别的内容并担心相关风险。同时,ZFS也是一个CoW文件系统,这意味着ZFS可以保护您的数据不随时间逐渐损坏,并且ZFS还可以创建文件的校验和并允许这些文件回滚到以前的工作版本。安装ZFS文件系统支持在Ubuntu中安装和使用ZFS文件系统非常简单,但UbuntuLTS和***Ubuntu版本的安装方式不同。Ubuntu16.04LTS:sudoaptinstallzfsUbuntu17.04及更新版本:sudoaptinstallzfsutils安装实用程序后,您可以使用ZFS提供的工具来创建ZFS驱动器和分区。创建ZFS池ZFS池的概念和RAID非常相似,如果你了解Windows10中的存储空间,就不难理解了。众所周知,RAID0RAID0只是将所有磁盘驱动器整合到一个巨大的存储空间中。它可以提高驱动器的读写速度,但没有数据容错能力。只要其中一个磁盘发生故障,数据就会丢失。使用ZFS实现RAID0,只需要创建一个简单的pool:sudozpoolcreatepool-name/dev/sdc/dev/sddRAID1(mirror)使用mirror关键字实现ZFS的RAID1功能。RAID1不用介绍,就是创建硬盘的1对1拷贝。这不仅可以让您拥有数据的完整备份副本,还可以提高读写性能。当然,物理磁盘上的存储空间总量也减半了。sudozpoolcreatepool-namemirror/dev/sdc/dev/sddRAID5(RAIDZ1)ZFS实现RAID5功能作为RAIDZ1。RAID5需要3个驱动器的倍数,其中1/3的空间用于写入奇偶校验数据,2/3的空间用于数据存储。如果其中一个驱动器发生故障,阵列将保持联机状态,但应尽快更换发生故障的磁盘。sudozpoolcreatepool-nameraidz1/dev/sdc/dev/sdd/dev/sdeRAID6(RAIDZ2)RAID6类似于RAID5,但它使用的磁盘数量是4倍而不是3倍。它使用2倍的奇偶校验数据并容忍最多2个驱动器故障。sudozpoolcreatepool-nameraidz2/dev/sdc/dev/sdd/dev/sde/dev/sdfRAID10RAID10旨在提高读写速度和数据冗余和条带化,至少需要4个磁盘的倍数,数据存储空间仅为一半,可以通过创建两个镜像来创建RAID10。sudozpoolcreatepool-namemirror/dev/sdc/dev/sddmirror/dev/sde/dev/sdf使用ZFS池在Ubuntu中创建ZFS池后,我们还需要使用一些管理工具。首先,可以使用以下命令检查和查看ZFS池的状态:sudozpoolstatus当检查ZFS状态时,池将通知您需要了解的任何更新。要更新池,请运行以下命令:sudozpoolupgradepool-name您还可以使用以下命令更新所有ZFS池:sudozpoolupgrade-a当然,您也可以随时向池中添加新的磁盘驱动器,只需指定池名称即可和drivelocationwithzpool就可以了:sudozpooladdpool-name/dev/sdx***提醒大家,ZFSpool会在Linux的根文件系统中创建一个目录供用户使用。您可以使用GUI文件管理器或CLI浏览和使用它们。
