Perché `zfs list` e` zpool list` riportano dimensioni molto diverse per i miei pool raidz2?


11

Ho un server ZFS con 8 zpools. Ogni pool è composto da 12 dischi da 6 TB in una configurazione RAIDZ 10 + 2. Pertanto, ogni pool ha uno spazio di archiviazione non elaborato di 12 * 6 = 72 TB e uno spazio utilizzabile di 10 * 6 = 60 TB. Tuttavia, vedo risultati diversi quando eseguo una query utilizzando zfs listvs. utilizzando zpool listcome di seguito:

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

Qualcuno potrebbe aiutarmi a capire perché questa discrepanza?

Risposte:


10

Sono sorpreso che tu abbia una configurazione così ampia. Hai creato questo array? Questo è potenzialmente un cattivo accordo per le prestazioni a causa del design del pool.

Ad ogni modo, la zpoolpagina man lo spiega. zfs listmostrerà il tuo spazio utilizzabile. L' zpoolelenco mostra lo spazio di parità come spazio di archiviazione.

   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
Per le vostre esigenze contabili, utilizzate zfs list. Questo è davvero ciò che conta. Per la progettazione della piscina, dipende dal caso d'uso. Cosa vuoi realizzare? Quali sono i requisiti di prestazioni e capacità? In generale, per raidz2, non usare meno di 6 dischi, né più di 10 dischi in ogni vdev (8 è una media tipica).
ewwhite,

1
@ewwhite Bella lettura, ma perché seguire questo consiglio? Non proviene da Oracle o dalle persone zfsonlinux. Su cosa si basa questo limite 6-10?
Ryan Babchishin,

2
@RyanBabchishin L'autore è un ingegnere presso Nexenta , un fornitore commerciale di software di archiviazione ZFS. Le raccomandazioni si basano sull'esperienza, le prestazioni e la conoscenza approfondita del filesystem. Non sto dicendo che le persone non possano configurare le cose come vogliono o che non funzioneranno: semplicemente non è ottimale. Nel caso dell'OP, le sue prestazioni I / O casuali risentiranno del design a 12 dischi.
ewwhite,

3
Penso che tu abbia dimenticato che il disco da 6 TB non è in realtà 6 TB, perché c'è una cospirazione tra i produttori di dischi, in quanto pensano che un gigabyte non sia 1 073 741 824 byte, come dovrebbe essere, ma è invece di 1 000 000 000 byte. Questo richiede uno spazio significativo dalla contabilità.
drookie il

1
@drookie, sei perfetto. lsblk -bmi ha dato la dimensione in byte di ciascun disco che è 5,4 TB e non 6 TB come pensavo in precedenza.
mkc,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.