Почему `zfs list` и` zpool list` сообщают об очень разных размерах для моих пулов raidz2?

11

У меня есть ZFS-сервер с 8 zpools. Каждый пул состоит из 12 дисков по 6 ТБ в конфигурации RAIDZ 10 + 2. Таким образом, каждый пул имеет необработанное пространство хранения 12 * 6 = 72 ТБ и полезное пространство 10 * 6 = 60 ТБ. Тем не менее, я вижу разные результаты, когда я запрашиваю его с использованием zfs listи использованием, 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  -

Может ли кто-нибудь помочь мне понять, почему это расхождение?

MKC
источник

Ответы:

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.
ewwhite
источник
1
Для ваших нужд учета используйте zfs list. Это действительно важно. Для дизайна бассейна это зависит от варианта использования. Чего ты хочешь достичь? Каковы ваши требования к производительности и емкости? Как правило, для raidz2 не используйте менее 6 дисков и не более 10 дисков в каждом vdev (8 - типичное среднее значение).
ewwhite
1
@ewwhite Приятно читать, но зачем следовать этому совету? Это не от Oracle или людей zfsonlinux. На чем основан этот предел 6-10?
Райан Бабчишин
2
@RyanBabchishin Автор - инженер в Nexenta , коммерческом поставщике программного обеспечения для хранения ZFS. Рекомендации основаны на опыте, производительности и глубоком понимании файловой системы. Я не говорю, что люди не могут настроить вещи так, как они хотят или что это не будет работать: это просто не оптимально. В случае OP его производительность случайного ввода-вывода пострадает при 12-дисковом дизайне.
ewwhite
3
Я думаю, вы забыли, что диск 6Tb на самом деле не 6Tb, потому что между производителями дисков существует заговор, так как они думают, что один гигабайт - это не 1 073 741 824 байта, как должно быть, а 1 000 000 000 байтов. Это занимает значительное место в бухгалтерском учете.
Друки
1
@drookie, ты на месте. lsblk -bдал мне размер байта каждого диска, который составляет 5,4 ТБ, а не 6 ТБ, как я думал ранее.
MKC