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

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

发布时间:2022-12-05 13:07:01 所属栏目: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 克隆和快照。
 

(编辑:财气旺网 - 财气网)

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