加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

在 Linux 上使用文件压缩创建 ZFS 文件系统

发布时间:2022-10-18 20:00:28 所属栏目:Linux 来源:互联网
导读: ZFS 文件系统在 Linux 上得到了更广泛的认可。
在 ZFS 中,您可以在文件系统级别启用压缩。这将以压缩格式存储数据,这将节省大量磁盘空间。
在本文中,我们将解释如何从 ZFS 存储池创建文

ZFS 文件系统在 Linux 上得到了更广泛的认可。

在 ZFS 中,您可以在文件系统级别启用压缩。这将以压缩格式存储数据,这将节省大量磁盘空间。

在本文中,我们将解释如何从 ZFS 存储池创建文件系统并在 ZFS 上启用压缩。

在本系列的第一部分,我们解释了ZFS 的基础知识,以及如何在 linux 上安装 ZFS。我们还创建了一个 ZFS 池。

创建 ZFS 文件系统

首先,使用 zfs list 命令查看当前所有的 ZFS 文件系统,如下所示。在此示例中,我们当前有一个 ZFS 文件系统。

# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       170K  5.84G    30K  /mypool
mypool/fs1    30K  5.84G    30K  /mypool/fs1

现在,使用 zfs create 命令创建一个新的 ZFS 文件系统。

# zfs set quota=1G mypool/fs1

如下所示,新的 ZFS 文件系统现已成功创建。

# zfs 列表
使用的名称 AVAIL REFER MOUNTPOINT
mypool 170K 5.84G 30K /mypool
mypool/fs1 30K 5.84G 30K /mypool/fs1

设置 ZFS 报价和预订

创建 ZFS 文件系统时linux压缩,默认情况下它会占用池中的所有空间。因此,您必须为文件系统指定配额和预留。

要设置报价,请使用 zfs set 命令,如下所示。在这里,我们将此文件系统的配额指定为 1GB。

# zfs 设置配额=1G mypool/fs1

接下来,设置文件系统的预留。在这个例子中,fs1 在 5.59G 中保留了 256M,这样没有人可以使用这个空间,如果有可用空间,它也可以根据我们设置的配额扩展到 1G。

# zfs set reservation=256M mypool/fs1
# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       256M  5.59G  32.5K  /mypool
mypool/fs1    30K  1024M    30K  /mypool/fs1

创建 ZFS 备用挂载点

除了使用“mypool/fs1”名称来安装它,您还可以使用您希望文件系统的任何名称设置替代安装点。

例如,以下命令会将挂载点设置为“/testmnt”,而不是“mypool/fs1”。

# zfs set mountpoint=/testmnt mypool/fs1

正如我们从以下输出中看到的,第一列 NAME 表示 ZFS 文件系统的真实名称。最后一列 MOUNTPOINT 表示我们在上面创建的替代挂载点。

# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       256M  5.59G  32.5K  /mypool
mypool/fs1    30K  1024M    30K  /testmnt

当您执行 df 命令时,您将看到如下所示的替代挂载点。

# df -h
Filesystem                  Size  Used Avail Use% Mounted on
..
mypool                      5.6G  128K  5.6G   1% /mypool
mypool/fs1                  1.0G  128K  1.0G   1% /testmnt

在 ZFS 文件系统上启用压缩

要在 ZFS 数据集上设置压缩,您可以设置压缩属性,如下所示。设置此属性后,将压缩存储在此 ZFS 文件系统上的所有大文件。

# zfs set compression=lzjb mypool/fs1

以下是有效的压缩属性:

您也可以在现有文件系统上启用压缩。在这种情况下,压缩将仅应用于新的和修改的数据;并且任何现有数据都将保持未压缩状态。

验证 ZFS 压缩

在以下示例中,我们已将 61M 的 tar 文件复制到安装在 /testmnt 下的 ZFS 文件系统 mypool/fs1。

# ls -lh /testmnt/test.tar
-rw-r--r--. 1 root root 61M Nov 11 09:44 /testmnt/test.tar

如果您从 zfs list 命令查看 USED 空间的总大小,您将看到仅消耗了 20.9M 空间,这表明压缩已打开并正在工作。

# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       256M  5.59G  32.5K  /mypool
mypool/fs1  20.9M  1003M  20.9M  /testmnt

您还可以使用以下命令获取压缩比。

# zfs get compressratio mypool/fs1
NAME        PROPERTY       VALUE  SOURCE
mypool/fs1  compressratio  2.90x  -

除了压缩之外,ZFS 文件系统还有几个高级特性。在 ZFS 系列的下一篇文章中,我们将讨论如何获取 ZFS 克隆和快照。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!