zpoolリストとzfsリスト - 利用可能なスペースが10倍ずつ異なるのはなぜですか?

zpoolリストとzfsリスト - 利用可能なスペースが10倍ずつ異なるのはなぜですか?

を使用してzpool空き容量を一覧表示すると、空き容量は270 GB以上と表示されますが、実際の空き容量(およびで示すdfzfs listはわずか40 GBで、ほぼ10倍少なくなります。

$ zpool list
NAME      SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
ssdtank  7.25T  6.98T   273G        -         -    21%    96%  1.00x    ONLINE  -

$ zpool iostat -v
                                      capacity     operations     bandwidth 
pool                                alloc   free   read  write   read  write
----------------------------------  -----  -----  -----  -----  -----  -----
ssdtank                             6.98T   273G      1     15   365K   861K
  ata-Samsung_SSD_860_QVO_4TB_S123  3.49T   136G      0      7   182K   428K
  ata-Samsung_SSD_860_QVO_4TB_S456  3.49T   137G      0      8   183K   434K

$ zfs list
NAME       USED  AVAIL     REFER  MOUNTPOINT
ssdtank   6.98T  40.6G       32K  /srv/tank

この違いはどういう意味ですか?これら2つのユーティリティが異なる空き領域を表示するのはなぜですか?もっと重要なのは、「追加」200GBが存在する場合はどのようにアクセスできますか?

プールはRAIDや他の設定なしで2つの同じディスクで構成され、上部にファイルシステムが作成された通常のvdevとしてプールに追加されます。 (表示されたルートには複数のファイルシステムがありますが、すべて同じルートを共有し、同じ40.6Gの空き容量を持つため、互いに関連性がないと思います。)

要求に応じて、出力は次のようになりますzfs get all。 (今日の空きディスク容量は変更されているため、理解できるように上記の数字も更新しました。以前の数字は257 GB / 27 GBで、現在は273 GB / 40 GBです。)量だけ増えました。つまり、zpoolは他のすべてより約270GB多いと報告されているようですが、当時の実際の空き容量よりも常に270GB多いです。

NAME     PROPERTY              VALUE                  SOURCE
ssdtank  aclinherit            restricted             default
ssdtank  acltype               off                    default
ssdtank  atime                 off                    received
ssdtank  available             40.6G                  -
ssdtank  canmount              on                     default
ssdtank  casesensitivity       sensitive              -
ssdtank  checksum              on                     default
ssdtank  compression           off                    default
ssdtank  compressratio         1.00x                  -
ssdtank  context               none                   default
ssdtank  copies                1                      default
ssdtank  createtxg             1                      -
ssdtank  creation              Sat Oct 26 21:53 2019  -
ssdtank  dedup                 off                    default
ssdtank  defcontext            none                   default
ssdtank  devices               on                     default
ssdtank  dnodesize             legacy                 default
ssdtank  encryption            off                    default
ssdtank  exec                  on                     default
ssdtank  filesystem_count      none                   default
ssdtank  filesystem_limit      none                   default
ssdtank  fscontext             none                   default
ssdtank  guid                  12757787786185470931   -
ssdtank  keyformat             none                   default
ssdtank  keylocation           none                   default
ssdtank  logbias               latency                default
ssdtank  logicalreferenced     16K                    -
ssdtank  logicalused           6.98T                  -
ssdtank  mlslabel              none                   default
ssdtank  mounted               yes                    -
ssdtank  mountpoint            /srv/tank              local
ssdtank  nbmand                off                    default
ssdtank  normalization         none                   -
ssdtank  objsetid              54                     -
ssdtank  overlay               off                    default
ssdtank  pbkdf2iters           0                      default
ssdtank  primarycache          all                    default
ssdtank  quota                 none                   default
ssdtank  readonly              off                    default
ssdtank  recordsize            128K                   default
ssdtank  redundant_metadata    all                    default
ssdtank  refcompressratio      1.00x                  -
ssdtank  referenced            32K                    -
ssdtank  refquota              none                   default
ssdtank  refreservation        none                   default
ssdtank  relatime              off                    default
ssdtank  reservation           none                   default
ssdtank  rootcontext           none                   default
ssdtank  secondarycache        all                    default
ssdtank  setuid                on                     default
ssdtank  sharenfs              [email protected]/24     received
ssdtank  sharesmb              off                    default
ssdtank  snapdev               hidden                 default
ssdtank  snapdir               hidden                 default
ssdtank  snapshot_count        none                   default
ssdtank  snapshot_limit        none                   default
ssdtank  special_small_blocks  0                      default
ssdtank  sync                  standard               default
ssdtank  type                  filesystem             -
ssdtank  used                  6.98T                  -
ssdtank  usedbychildren        6.98T                  -
ssdtank  usedbydataset         32K                    -
ssdtank  usedbyrefreservation  0B                     -
ssdtank  usedbysnapshots       0B                     -
ssdtank  utf8only              off                    -
ssdtank  version               5                      -
ssdtank  volmode               default                default
ssdtank  vscan                 off                    default
ssdtank  written               0                      -
ssdtank  xattr                 on                     default
ssdtank  zoned                 off                    default

ベストアンサー1

ZFSは、使用可能なスペースが非常に少なくても、いくつかの重要なZFS操作を完了するために内部的に小さなスペース(スキューされたスペース)を予約します。

金額は3.2%総プール容量。 zfs-0.6.5

7.25Tの3.2% = 235GB

実際、ファイルシステムには40.6GBの空き容量しかありません。

zpoolはrawディスク容量を報告し、利用可能なスペースは40 + 235 = 275Gです。

おすすめ記事