Чому `zfs list` та` zpool list` повідомляють про дуже різні розміри для мого басейну raidz2?


11

У мене є сервер ZFS з 8 zpools. Кожен пул - це 12 6 ТБ дисків у конфігурації 10 + 2 RAIDZ. Отже, кожен басейн має необмежену сховище 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  -

Може хтось допоможе мені зрозуміти, чому це розбіжність?

Відповіді:


10

Я здивований, що у вас така велика установка. Ви створили цей масив? Це, можливо, є поганим механізмом роботи через дизайн пулу.

Так чи інакше, zpoolсторінка man пояснює це. 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 не використовуйте менше 6 дисків і не більше 10 дисків у кожному vdev (8 - типовий середній показник).
ewwhite

1
@ewwhite Приємно читати, але навіщо дотримуватися цієї поради? Це не від Oracle або zfsonlinux. На чому ґрунтується ця межа 6-10?
Райан Бабчишин

2
@RyanBabchishin Автор - інженер Nexenta , комерційний постачальник програмного забезпечення для зберігання ZFS. Рекомендації базуються на досвіді, продуктивності та глибокому розумінні файлової системи. Я не кажу, що люди не можуть налаштувати речі так, як вони хочуть, або що вони не працюватимуть: це просто не оптимально. У випадку з ОП його довільна продуктивність вводу / виводу постраждає під 12-дисковою конструкцією.
ewwhite

3
Думаю, ви забули, що 6Tb диск насправді не 6Tb, тому що є змова серед виробників дисків, оскільки вони думають, що один гігабайт не є 1 073 741 824 байтом, як належить, а натомість 1 000 000 000 байт. Це займає певний простір у бухгалтерському обліку.
drookie

1
@drookie, ви на місці. lsblk -bдав мені розмір байта кожного диска, який становить 5,4 ТБ, а не 6 ТБ, як я раніше думав.
mkc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.