Devo creare zpools ZFS con interi dischi o partizioni?


14

Sto realizzando zpools sulla macchina di FreeBSD. Durante la creazione di zpools osservo questi due casi:

  1. Se prendo raw diskse creo, zpoolsono in grado di formare zpools e funzionano perfettamente.

  2. Se formatto i dischi usando gpartin freebsd-zfsformato e poi faccio zpool, anche loro funzionano perfettamente.

Ciò in cui sono confuso è quale approccio è migliore per la creazione di zpools?

Risposte:


8

È meglio usare interi dischi con ZFS, quando possibile.
Non è necessario partizionare nel tuo caso d'uso.


Cosa intendi con your use case. Puoi dare qualche caso in cui il partizionamento potrebbe essere utile?
Shivams,

Il partizionamento non è utile in ZFS a meno che tu non abbia una configurazione esoterica o utilizzi determinate soluzioni SSD o stia facendo qualcosa di strano con i dispositivi ZIL e L2ARC . E anche allora, è meglio usare solo interi dispositivi / dischi.
ewwhite,

Ma perché è meglio usare interi dischi?
leetNightshade,

1
@leetNightshade Perché non ci sono molti punti di partizionamento dei dischi quando si utilizza ZFS con cui i file system non necessitano delle proprie partizioni. Inoltre, quando ZFS "possiede" il disco, può abilitare la cache di scrittura del disco per ottenere prestazioni migliori. Vedi solarisinternals.com/wiki/index.php/…
jlliagre

1
@Grogi Qualche buona prova a sostegno di ciò?
leetNightshade

5

Utilizzare una porzione / partizione dedicata per ZFS per disco fisico e lasciare un po 'di spazio non partizionato. In questo modo se hai mai bisogno di sostituire un'unità e la sostituzione è di 10 settori più piccola, sarai comunque in grado di farlo ( http://www.freebsddiary.org/zfs-with-gpart.php ).

Questo è ciò che fa automaticamente Solaris, è ciò che fa FreeNAS ( https://forums.freenas.org/index.php?threads/zfs-on-partitioned-disks.37079/ ) e questo è ZoL quando gli dai un intero disco - lo partizionerà ...

L'overhead per tradurre la posizione sulla partizione nella posizione sul dispositivo reale è trascurabile. Quindi, una volta che la partizione è correttamente allineata al confine del settore fisico, non vi è motivo per comportarsi diversamente dall'intero dispositivo a blocchi.

Con ZoL, l'unica differenza che sono consapevole è che ZoL commuterà lo scheduler del disco noopquando l'intero disco è stato dato al vdev. Nulla ti impedisce di impostarlo manualmente.

Ci sono alcuni però ... Non creare più partizioni per ZFS per disco e se decidi di ignorare i consigli sopra, non creare mai vdev da loro nello stesso zpool. Questo praticamente ucciderà le prestazioni, poiché ZFS taglierà i dati tra i vdev e gli iop sequenziali si trasformeranno in un incubo di ricerca ...


Puoi chiarire meglio il comportamento di zfs riguardo a seek-nightmare con le sezioni del disco condivise / utilizzate?
satch_boogie,

Scenario più semplice: si crea un pool da due vdev, ciascuno una partizione sullo stesso disco rigido. Ora, vuoi scrivere un blocco di dati abbastanza grande che si estende su entrambi i vdev. Nonostante la scrittura sequenziale di dati, l'unità deve cercare tra due posizioni separate per salvarli.
Grogi,

Questo comportamento è lo stesso se Pool_A utilizza (sda1, sdb1, sdc3) e Pool_B utilizza (sda2, sdb2, sdc3)
satch_boogie

Non devi scrivere a loro contemporaneamente ... Se hai i vdev in un pool, non c'è niente che puoi fare ...
Grogi

0

nella mia testa questa domanda sorge a causa del dubbio se in ritardo posso designare, cosa c'è su quel disco ... quindi quando crei un pool su tutto il disco (sì, con l'opzione -f, se necessario), zpool praticamente crea una tabella di partizioni gpt e partizioni di Solaris, in questo modo:

(fdisk -l ...)
...
Disklabel type: gpt
Disk identifier: 4CBE587E-23AF-8E4B-A7F0-B44AD6083171

Device          Start        End    Sectors  Size Type
/dev/sdd1        2048 3907010559 3907008512  1,8T Solaris /usr & Apple ZFS
/dev/sdd9  3907010560 3907026943      16384    8M Solaris reserved 1

quindi non è necessario creare partizioni manualmente ...


Non considero ciò che Solaris fa le migliori pratiche su freebsd. Ad esempio in caso di mirror è possibile sostituire i dischi con dischi più grandi ed espandere al volo le dimensioni del pool con un comando o anche automaticamente se configurato come tale.
cstamas,
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.