为什么`zfs list`和`zpool list`报告我的raidz2池大小非常不同?


11

我有一个带有8个zpool的ZFS服务器。每个池是10 + 2 RAIDZ配置中的12个6TB磁盘。因此,每个池的原始存储空间为12 * 6 = 72 TB,可用空间为10 * 6 = 60 TB。但是,当我使用zfs listvs.进行查询时,看到了不同的结果zpool list,如下所示:

# zfs list
NAME     USED  AVAIL  REFER  MOUNTPOINT
intp1    631K  48.0T   219K  /intp1
intp2    631K  48.0T   219K  /intp2
intp3    631K  48.0T   219K  /intp3
jbodp4   631K  48.0T   219K  /jbodp4

# zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
intp1     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
intp2     65T  1020K  65.0T         -     0%     0%  1.00x  ONLINE  -
intp3     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
jbodp4    65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -

有人可以帮我理解为什么会有差异吗?

Answers:


10

我很惊讶您有这么大的设置。您建立了这个阵列吗?由于池的设计,这可能是性能的不良安排。

无论哪种方式,zpool手册页都会对此进行解释。zfs list将显示您的可用空间。该zpool列表将奇偶校验空间显示为存储空间。

   used                Amount of storage space used within the pool.

   The  space  usage properties report actual physical space available to the storage pool. The physical
   space can be different from the total amount of space that any contained datasets can  actually  use.
   The  amount  of  space used in a raidz configuration depends on the characteristics of the data being
   written. In addition, ZFS reserves some space for internal accounting that the zfs(8)  command  takes
   into  account, but the zpool command does not. For non-full pools of a reasonable size, these effects
   should be invisible. For small pools, or pools that are close to being completely  full,  these  dis-
   crepancies may become more noticeable.

1
为满足您的会计需要,请使用zfs list。真的很重要。对于池设计,这取决于用例。你想要完成什么?您对性能和容量有何要求?通常,对于raidz2,在每个vdev中不要使用少于6个磁盘,也不要超过10个磁盘(通常是8个平均值)。
ewwhite

1
@ewwhite不错,但是为什么要遵循那个建议呢?它不是来自Oracle或zfsonlinux的人。6-10的限额是基于什么?
Ryan Babchishin

2
@RyanBabchishin作者是商业ZFS存储软件供应商Nexenta的一名工程师。这些建议基于经验,性能和对文件系统的透彻理解。我并不是说人们无法按照自己想要的方式来配置事物,或者它无法正常工作:这不是最佳选择。对于OP,在12磁盘设计下,他的随机I / O性能将受到影响。
ewwhite

3
我认为您忘记了6Tb磁盘并不是真正的6Tb,因为磁盘制造商之间存在共谋,因为他们认为1 GB并不是应该的1 073 741 824字节,而是1 000 000 000字节。这占用了会计处理的大量空间。
drookie

1
@drookie,您可以找到。lsblk -b给我每个磁盘的字节大小是5.4TB,而不是我以前认为的6TB。
mkc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.