如何在Ubuntu上安装和使用ZFS

时间:2020-01-09 10:45:00  来源:igfitidea点击:

对ZFS文件系统的官方支持是Ubuntu 16.04的主要功能之一。默认情况下未安装和启用它,但在Ubuntu的软件存储库中已正式支持并提供了它。

ZFS

ZFS是Sun Microsystems最初为Solaris操作系统创建的高级文件系统。尽管ZFS是开源的,但出于许可原因,大多数Linux发行版中都缺少ZFS。在ZFS的CDDL许可下获得许可的代码是否与Linux内核的GPL许可兼容尚有待商E。

组织通常将这种文件系统用于大型服务器,而不是台式机。它旨在通过防止数据损坏来保持数据完整性。每个文件都有一个校验和,用于校验文件并确保其未损坏。它也能够管理zettabytes的数据,因此我们可以拥有非常大的存储设备,而该存储设备就是名称Z的最初来源。 ZFS还使我们可以轻松地将多个驱动器集中到一个更大的单个存储池中,并且可以使用软件RAID使用多个磁盘,因此不需要特殊的硬件即可对标准磁盘进行高级处理。

尽管我们可能不想在台式计算机上使用它,但是ZFS对于家用服务器或者网络连接存储(NAS)设备可能很有用。如果我们有多个驱动器,并且特别关注服务器上的数据完整性,则ZFS可能是适合文件系统。即使在工作站上,我们也可以使用ZFS将磁盘池化为一个大型存储池,而不是将它们分开或者依赖LVM。

如何在Ubuntu 16.04上安装ZFS

虽然默认情况下未安装ZFS,但安装起来很简单。它得到了Ubuntu的正式支持,因此它应该可以正常工作,并且没有任何问题。但是,只有64位版本的Ubuntu才正式支持它,而32位版本则没有。

要安装ZFS,请进入终端并运行以下命令:

sudo apt install zfs

与其他任何应用程序一样,它应立即安装。

如何创建ZFS池

相关:如何智能使用多个磁盘:RAID简介

ZFS使用池的概念。可以从一个或者多个物理存储设备创建ZFS池。例如,假设我们有三个物理硬盘驱动器。我们可以使用以下命令之一将它们组合到单个ZFSstorage池中。

下面的命令创建RAID 0配置,其中数据存储在所有三个磁盘上,没有冗余存储。如果任何物理磁盘发生故障,则文件系统将被损坏。 (因此,如果我们确实使用它,则极不建议这样做,请确保保留池的常规备份。)

sudo zpool create pool-name /dev/sdb /dev/sdc /dev/sdd

下一条命令将创建RAID 1配置,在该配置中,数据的完整副本存储在每个磁盘上。即使三个磁盘中的两个发生故障,我们仍然可以访问所有数据。

sudo zpool create pool-name mirror /dev/sdb /dev/sdc /dev/sdd

无论选择哪个命令,均要将" pool-name"替换为要命名存储池的名称。将/ dev / sdb / dev / sdc / dev / sdd替换为要合并到池中的磁盘名称列表。

我们可以使用sudo fdisk -l命令找到设备名称,该命令将列出我们已安装的存储设备。

创建一个或者多个池后,可以使用以下命令检查ZFS池的状态:

sudo zpool status

默认情况下,该池将安装在根目录下。因此,如果我们创建了一个名为pool-name的池,则可以通过/ pool-name访问它。

要将另一个磁盘添加到zpool,我们将使用以下命令,提供设备的路径。

sudo zpool add pool-name /dev/sdx

而且,如果要销毁池,则可以使用以下命令:

sudo zpool destroy pool-name