AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 882591
Accepted
Louis Waweru
Louis Waweru
Asked: 2017-11-09 21:36:33 +0800 CST2017-11-09 21:36:33 +0800 CST 2017-11-09 21:36:33 +0800 CST

获取 ZFS 文件系统大小的更准确方法?

  • 772

由于我的备份设备空间不足,我在备份 ZFS 文件系统时遇到了问题。

我第一次忘记启用了压缩。但是,对于第二次尝试,我得到了文件系统的压缩比,还得到了du返回的表观大小。

它们就尺寸达成一致:

louis@watson:~$ sudo zpool list
NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
watson  3.62T  2.74T   904G    75%  1.00x  ONLINE  -

louis@watson:~$ sudo zfs list 
NAME            USED  AVAIL  REFER  MOUNTPOINT
watson         2.74T   846G    30K  none
watson/gelato  2.73T   846G  2.67T  /data/gelato

louis@watson:~$ sudo zfs get compressratio watson/gelato
NAME           PROPERTY       VALUE  SOURCE
watson/gelato  compressratio  1.64x  -

正如du重申的那样,我预计 2.67 TB 压缩后可节省 1.64 倍以适应 6 TB 驱动器:

louis@watson:~$ cd /data/gelato/
louis@watson:/data/gelato$ sudo du -hs --apparent-size
4.6T    .

但我在备份期间再次用完了空间,我不知道为什么。当 6 TB 驱动器空间不足时,剩余的复制空间可能不到 1 TB。这仍然超出了我认为可以解释差异的任何事情。

快照:

louis@watson:~$ sudo zfs list -o space
NAME           AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
watson          846G  2.74T         0     30K              0      2.74T
watson/gelato   846G  2.73T     53.6G   2.67T              0          0
watson/home     846G  15.8G     57.3M   15.8G              0          0

有没有更好的方法来获取存储在压缩 ZFS 文件系统上的数据的实际大小?

我应该提到我使用 rsync -avh 来备份。在目标驱动器上,我看不到快照(...../.zfs/snapshot)。这是否意味着没有复制快照?

filesystems
  • 2 2 个回答
  • 3304 Views

2 个回答

  • Voted
  1. Best Answer
    user121391
    2017-11-10T01:26:59+08:002017-11-10T01:26:59+08:00

    需要考虑的一些事项:

    • 检查源和目标的记录大小(带有zfs list -o recsize watson/gelato)。如果您有很多小数据但记录很大,那么空间就会被浪费。反过来,由于标题和元数据,空间也被浪费了,但通常效果并不明显。如果您通过 SMB/CIFS 共享文件系统,您可以使用 Windows 资源管理器文件夹属性窗口查看差异。
    • 检查两个驱动器上的扇区对齐(偏移)并与驱动器规格进行比较(可在驱动器型号的技术数据表中找到)。错误的对齐会对池的空间产生负面影响(在这个例子中他损失了大约 9%)。
    • 检查该copies属性是否曾被设置为 1 或更大的值(过去可能已设置和禁用,并且在此期间会为任何新写入的数据创建副本)。
    • 使用属性usedbychildren、usedbydataset、usedbyrefreservation和获取有关如何使用空间的更多详细信息usedbysnapshots。他们总结为used,所以这不是什么新鲜事,但可以帮助识别旧快照等。
    • 要查看数据和元数据使用的空间量,就像禁用压缩一样,请检查属性logicalused和logicalreferenced
    • 由于指定数据大小的差异(以 2 为基数与以 10 为基数),您的 6 TB 驱动器实际上只有大约 5.457 TiB(比假设的少 9%)。
    • 3
  2. ewwhite
    2017-11-09T22:55:53+08:002017-11-09T22:55:53+08:00

    我建议zpool list。

    我还会检查快照的使用情况。您的环境中有快照吗?

    • 1

相关问题

  • 我如何知道 AIX 中磁盘上的文件系统是什么?

  • 控制 UNIX 目录内容用户组所有权

  • 在 Ubuntu 上将 Windows 磁盘分区与 Linux 分区合并

  • 在 VMPlayer 上 Windows 和 Linux 之间共享目录的最佳方式

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve