ZFS:Zettabyte File System(泽字节文件系统)

徐小东

2023-01-03

简介

ZFS 是一个具有卷管理能力的文件系统。最初是 Sun Microsystems Solaris 操作系统的一部分,后来随开源的 OpenSolaris 发布。在 Oracle 收购 Sun Microsystems 后,将其闭源。2005 ~ 2010 年期间,ZFS 的开源版本被移植到 Linux、FreeBSD、Mac OS X。2013 年,OpenZFS 创建来用于协作开源 ZFS 的开发。

存储数据管理一般包括两个方面:

  1. 一个或多个块存储设备(如:硬盘、SD 卡)的物理卷管理
  2. 存储在逻辑块设备上的数据及文件管理

ZFS 与其它文件系统的不同之处在于,它统一了存储系统的这两种角色,既是卷管理器,也是文件系统。ZFS 被设计成确保存储在磁盘上的数据不会因硬件或操作系统的物理错误或错误处理而丢失。ZFS 也包含数据集和池级快照及复制机制。

ZFS 存储池

ZFS 存储池

特性

ZFS 特性非常丰富,以下是几个典型的代表:

许可

ZFS 许可协议为 CDDL,与 GPL 不兼容,故不能随 Linux 内核一起分发。

安装

apt update
apt install zfs-dkms zfsutils-linux

用法

创建存储池,raidz vdev:

# zpool create -f -m /mnt/data bigdata \
               raidz \
                  ata-ST3000DM001-9YN166_S1F0KDGY \
                  ata-ST3000DM001-9YN166_S1F0JKRR \
                  ata-ST3000DM001-9YN166_S1F0KBP8 \
                  ata-ST3000DM001-9YN166_S1F0JTM1

创建数据集:

# zfs create <nameofzpool>/<nameofdataset>

参考