Pool ZFS con unità di dimensioni diverse


9

Sto progettando di configurare un pool ZFS FreeNAS utilizzando due unità da 2 TB e due unità da 1 TB. Vorrei avere la ridondanza dei dati in qualche modo. Ho letto questo post che sembra suggerire che le mie due opzioni sono di perdere 1 TB per unità da 2 TB utilizzando RAIDZ o utilizzare questo comando (che raddoppia lo spazio richiesto per la ridondanza dei dati):

zfs set copies=2 poolname

C'è un modo migliore per gestirlo e ottenere qualcosa di più simile a Beyond RAID di Drobo o XRAID di Netgear? In alternativa, è possibile partizionare ciascuna unità da 2 TB in partizioni da 1 TB e inserire entrambe le partizioni nel pool?

Risposte:


13

C'è un modo migliore, creare un singolo pool da 3 TB composto da due mirror.

zpool create test mirror disk1 disk2 mirror disk3 disk4

con disk1 e disk2 come dischi da 1 TB e disk3 e disk4 come quelli da 2 TB.

Modificare:

Se si desidera massimizzare le dimensioni e non preoccuparsi troppo delle prestazioni o delle migliori pratiche, è possibile partizionare tutte le unità con partizioni (o sezioni) di uguali dimensioni e creare un pool ibrido da 4 TB con un RAIDZ a 4 vdev e un mirror a 2 vdev.

zpool create -f test raidz d0p1 d1p1 d2p1 d3p1 mirror d0p2 d1p2

Nota l'opzione "-f" richiesta per forzare il comando ad accettare la mancata corrispondenza a livello di replica.


1
Grazie per l'informazione. Quindi sarebbe come un normale mirroring in cui la ridondanza "costa" il 100% in più, sembra? Esiste un modo per ottenere un "costo" del 50% simile a RAID5 per parità? In che modo le prestazioni di questa configurazione rispetto alle prestazioni di una configurazione ZRAID / RAID5 con 4 unità di dimensioni uguali?
Timothy R. Butler,

@ TimothyR.Butler Non è possibile creare un mirror da 1 TB e applicare RAIDZ sui due 2 TB e sul mirror da 2 TB, semplicemente non funziona in questo modo. Per utilizzare RAIDZ è necessario disporre di unità di dimensioni uguali (o si dovrà rinunciare allo spazio aggiuntivo sulle unità più grandi, oppure si dovrà iniziare ad accedere a configurazioni non consigliate). Le due configurazioni mirror consigliate da queste risposte sono le configurazioni migliori consigliate.
Chris S,

Grazie jilliagre e @chriss per i commenti. Penso che potrei semplicemente acquistare altre due unità e chiamarlo un giorno. Quel secondo comando che Jilliagre ha appena aggiunto è intrigante ... Sarei corretto nel supporre che le prestazioni sarebbero buone o migliori di qualsiasi cosa menzionata sopra se avessi fatto un RAIDZ 4x2TB?
Timothy R. Butler,

@ TimothyR.Butler Un RAIDZ 4x2TB avrebbe un leggero impatto sulle prestazioni rispetto ai doppi specchi 2x2TB (sostanzialmente RAID10). Quei due avrebbero le migliori prestazioni di tutto ciò di cui abbiamo discusso qui.
Chris S,

4

Questo dipende dalla quantità di memoria di cui hai bisogno. È possibile creare due pool da 1 TB e 2 TB ciascuno, utilizzando RAID 1. In caso contrario, vedere se è possibile acquisire dischi di dimensioni simili e provare RAID 1 + 0 o RAIDZ.


Grazie. Due pool sarebbero meglio di un pool con due RAIDZ?
Timothy R. Butler,

@ TimothyR.Butler Ogni mirror dei dischi è un vdev in ZFS. Non è possibile rimuovere vdevs da un pool zfs; quindi una volta che il pool ha due mirror, deve sempre avere almeno quei due (puoi aggiungerne altri, ma non rimuoverli). Se hai mai voluto passare a qualcosa con meno vdevs dovresti distruggere il pool e ricominciare da zero. Quindi, iniziando con due zpool hai la flessibilità di separarli in un secondo momento se vuoi, ma perdi la flessibilità di condividere automaticamente lo spazio di archiviazione (dovresti mettere i file su un pool o l'altro mentre si riempiono).
Chris S,

@ewwhite, so cosa intendi con "RAID 1 + 0" ma non c'è modo di farlo esplicitamente in ZFS ... alcuni potrebbero essere confusi dalla differenza.
Chris S,

2

Dalla guida per l'amministratore di ZFS:

"I dispositivi possono essere sezioni individuali su un disco preformattato oppure possono essere interi dischi che ZFS formatta come una singola porzione grande."

Quindi sì, potresti creare due partizioni da 1 TB su quelle unità da 2 TB, usarle per vdev RAID-Z e lo spazio rimanente per l'archiviazione non ridondante.

Tuttavia, secondo la ZFS Best Practices Guide, potresti riscontrare prestazioni degradate:

Per i sistemi di produzione, utilizzare interi dischi anziché porzioni per i lotti di memoria per i seguenti motivi:

  • Consente a ZFS di abilitare la cache di scrittura del disco per quei dischi che hanno cache di scrittura. Se si utilizza un array RAID con una cache di scrittura non volatile, questo è un problema minore e le sezioni poiché vdevs dovrebbero comunque ottenere il vantaggio della cache di scrittura dell'array.

  • Per l'archiviazione collegata JBOD, con una cache del disco abilitata, è possibile emettere alcune scritture sincrone come più scritture del disco seguite da una singola svuotamento della cache che consente al controller del disco di ottimizzare la pianificazione degli I / O. Separatamente, per i sistemi che non dispongono del supporto adeguato per SATA NCQ o SCSI TCQ, avere una cache di scrittura abilitata consente all'host di eseguire una singola operazione di I / O in modo asincrono dall'I / O fisico.

  • Il processo di recupero della sostituzione di un disco guasto è più complesso quando i dischi contengono sia file system ZFS che UFS su slice.


Ottimo lavoro cut-n-paste, ma tutto ciò è già stato trattato nelle altre due risposte.
Chris S,
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.