Dlaczego `lista zfs` i` lista zpool` zgłasza bardzo różne rozmiary moich pul raidz2?

11

Mam serwer ZFS z 8 basenami. Każda pula to 12 dysków 6 TB w konfiguracji RAIDZ 10 + 2. Tak więc każda pula ma nieprzetworzone miejsce do przechowywania 12 * 6 = 72 TB i użyteczne miejsce 10 * 6 = 60 TB. Widzę jednak różne wyniki, gdy pytam go za pomocą zfs listvs. używając zpool listjak poniżej:

# 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  -

Czy ktoś mógłby mi pomóc zrozumieć, dlaczego ta rozbieżność?

mkc
źródło

Odpowiedzi:

10

Dziwię się, że masz tak dużą konfigurację. Zbudowałeś tę tablicę? Jest to potencjalnie zły układ pod względem wydajności ze względu na projekt puli.

Tak czy inaczej, zpoolstrona podręcznika wyjaśnia to. zfs listpokaże twoją powierzchnię użytkową. zpoolPrzestrzeń lista pokazuje parytet jako miejsca do przechowywania.

   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
źródło
1
Do swoich potrzeb księgowych użyj zfs list. To się naprawdę liczy. W przypadku projektu basenu zależy to od przypadku użycia. Co chcesz osiągnąć? Jakie są Twoje wymagania dotyczące wydajności i pojemności? Ogólnie rzecz biorąc, dla raidz2 nie używaj mniej niż 6 dysków, ani więcej niż 10 dysków w każdym vdev (8 to typowa średnia).
ewwhite
1
@ewwhite Miło przeczytać, ale po co stosować się do tej rady? Nie pochodzi od Oracle ani od ludzi zfsonlinux. Na czym opiera się ten limit 6-10?
Ryan Babchishin,
2
@RyanBabchishin Autor jest inżynierem w Nexenta , komercyjnym dostawcy oprogramowania pamięci masowej ZFS. Zalecenia oparte są na doświadczeniu, wydajności i dokładnym zrozumieniu systemu plików. Nie twierdzę, że ludzie nie mogą konfigurować rzeczy tak, jak chcą lub że to nie zadziała: po prostu nie jest optymalne. W przypadku OP jego losowa wydajność we / wy ucierpi z powodu konstrukcji 12-dyskowej.
ewwhite
3
Wydaje mi się, że zapomniałeś, że dysk 6 TB nie jest tak naprawdę 6 TB, ponieważ producenci dysków mają spisek, ponieważ uważają, że jeden gigabajt nie ma 1 073 741 824 bajtów, ale powinien być 1 000 000 000 bajtów. Zajmuje to sporo miejsca w rachunkowości.
drookie
1
@drookie, jesteś na miejscu. lsblk -bdał mi rozmiar bajtu każdego dysku, który wynosi 5,4 TB, a nie 6 TB, jak wcześniej myślałem.
mkc