如何在Ubuntu Linux 17.04上安装ZFS

时间:2020-03-05 15:28:19  来源:igfitidea点击:

ZFS文件系统已在Ubuntu 16.04中得到正式支持,并且更早的我们已经展示了如何在centos 7上安装。

尽管默认情况下未安装并启用它,但它在Ubuntu的存储库中可用。

ZFZ是最初由Sun Microsystems for Solaris创建的高级文件系统和逻辑卷管理器。
该文件系统是为大型服务器设计的,旨在提供防止数据丢失的保护。
每个文件都经过校验和,以确保它没有被损坏。
它也可以管理数据的ZB,因此命名为“ Z”。
ZFS还允许我们将多个驱动器合并到一个池中,以创建没有特殊硬件的软件RAID。
其他功能包括压缩,卷管理,快照,缓存等等。

在本文中,我们将在Ubuntu 17.04上安装ZFS,并学习如何使用其功能。

安装ZFS

要在Ubuntu 17.04上安装ZFS,请输入以下命令。

# apt install zfsutils

ZFS术语

ZFS虚拟设备(VDEV):虚拟设备是物理磁盘,分区,镜像或者ZFS软件雨淋设备的集合。

ZFS池:Zpool是由一组VDEV组成的存储。
我们可以组合多个磁盘,镜像来创建池。

用法

以下是使用ZFS创建池和进行配置的步骤。
在这些示例中,“ pool-1”表示要使用或者修改的池的名称。

创建或者修改ZFS池

RAID-0配置

在此示例中,从tw0个物理驱动器创建了一个名为pool-1的池。

# zpool create pool-1 /dev/sda5 /dev/sda3

或者我们可以使用以下命令创建镜像池。

# zpool create pool-1 mirror /dev/sd5 /dev/sd3

RAID-1配置

# zpool create pool-1 /dev/sda /dev/sdb

将另一个磁盘添加到池中

# zpool add pool-1 /dev/sda5 /dev/sda2

添加镜像选项可将VDEV添加到镜像中。

# zpool add pool-1 mirror /dev/sda5 /dev/sda2

我们可以通过在指定卷之前添加相应的名称来创建各种类型的RAIDS(如raidz,raidz2,raidz3和嵌套raid)。

基于单个文件的池

我们可以将文件作为vdev并放入一个池中。

# zpool create pool-test /home/user/pool-1.img

检查池状态

# zpool status

如果我们创建了一个名为'pool-1'的池,则可以在/pool-1 /下访问它

销毁池

# zpool destroy pool-1

检查池的大小和使用情况

# zpool list
# df

ZFS快照

ZFS快照是ZFS文件系统的只读副本,可保存文件系统的当前状态,并且可以在以后的时间回滚到该快照。

# zfs snapshot pool-1@snap1

我们可以通过键入以下内容查看快照:

# zfs list -t snapshot

要回滚到特定快照:

# zfs rollback mypool/projects@snap1

我们可以通过输入以下命令删除快照

# zfs destroy mypool/projects@snap1

如果尝试列出快照,则会收到消息“没有可用的数据集”。

ZFS克隆

克隆是ZFS快照的可写副本。

只能从快照创建克隆,并且在交付所有克隆之前不能删除快照。
要克隆池,请先拍摄快照,然后再克隆它。
在此示例中,我们将克隆pool-1 @ snap1并将其克隆到pool-1/clone中。

# zfs snapshot -r pool-1@snap1
# zfs clone pool-1@snap1 pool-1/clone

清理池

我们可以使用scrub选项在池上启动数据完整性检查。
例如,要擦洗“ pool-1”:

# zpool scrub pool-1

查看池的I/O统计信息

# zpool iostat

ZFS看起来非常有趣,并且可以让我们使用RAID来处理多个文件系统。