Aumentare l'affidabilità partizionando dischi di dimensioni diverse?


8

Capisco che ZFS preferirebbe che tutti i dischi avessero la stessa dimensione. Tuttavia, nel caso in cui ho due dischi con dimensioni diverse (1 TB e 1,5 TB), vorrei avere una certa ridondanza, ma non il mirroring. Quindi trito due dischi in 5 partizioni, con ciascuna partizione di circa 500 GB e creo un pool "raidz" ... zfs felicemente obbligato. L'installazione aumenta effettivamente l'affidabilità? Il pensiero è che se un disco non viene completamente danneggiato e solo una parte di esso fallisce, posso ancora accedere ai dati?


5
Questo non aggiunge affidabilità e peggiora le prestazioni.
Michael Hampton,

1
La maggior parte delle risposte / commenti che ho ricevuto non è andata abbastanza in profondità per ragionare sul perché. Il semplice "contro le migliori pratiche" o "dischi uguali hanno solo un senso comune" in realtà non significa molto per me. Ovviamente, data questa peculiare dischi che ho, io non andare dopo il meglio del meglio in termini di affidabilità e prestazioni. Sto chiedendo cosa si può fare dato quello che ho. Inoltre, le cose cambiano: nel libro di "Master FreeBSD ZFS" ... gli autori affermano chiaramente ai vecchi tempi / solaris, il provisioning dell'intero disco era considerato cruciale, ora non lo è. Il provisioning basato su partizioni è altrettanto buono o addirittura incoraggiato.
python152,

Soprattutto per la ridondanza basata sulla parità, non esiste un requisito assoluto sulla stessa dimensione (ricordo vagamente che il libro di zfs ha anche detto che la stessa unità di capacità di fornitori diversi finisce con dimensioni diverse). Dipende da come l'algoritmo di posizionamento dei dati ZFS sceglie di gestirlo per bilanciare la diffusione dei bit di parità e bilanciare le prestazioni.
python152,

@ python152 Dipende sempre se puoi convivere con gli aspetti negativi (ZFS è davvero abbastanza flessibile, le migliori pratiche sono raccomandazioni, non regole). Se è possibile accettare i tempi di inattività e si è sicuri della gestione delle partizioni, la sostituzione di dischi parzialmente difettosi non è così critica, ad esempio. Vorrei ancora diffidare del buco di scrittura RAID5, che esiste indipendentemente dal fatto che l'hardware di supporto sia costituito da dischi, partizioni o persino file.
user121391

1
@ user121391 ZFS raidz non soffre del foro di scrittura RAID5. Vedi blogs.oracle.com/bonwick/entry/raid_z e pthree.org/2012/12/05/zfs-administration-part-ii-raidz
nickcrabtree

Risposte:


3

Il pensiero è che se un disco non viene completamente danneggiato e solo una parte di esso fallisce, posso ancora accedere ai dati?

In teoria, questo pensiero è corretto. Finché riscontri un errore su un singolo dispositivo del tuo RAIDZ1 vdev, ZFS può e ti informerà e correggerà l'errore, supponendo che gli altri dispositivi siano privi di errori.

Ciò che può differire nella realtà sono diverse cose:

  • Gli errori possono estendersi sulle partizioni e pertanto saranno interessati due o più dispositivi, il che può comportare errori irrecuperabili o persino la perdita dell'intero pool (a seconda della posizione e della quantità di errori). È possibile utilizzare RAIDZ2 o Z3 per mitigarlo un po ', ma il problema è sempre presente.
  • Durante il resilver di una partizione, il disco deve leggere (2 volte) e scrivere (1 volta) sullo stesso disco contemporaneamente e in modo casuale. A meno che non si usi Solaris 11.3 con il resilvering sequenziale, questo sarà molto lento. Fino a quando non hai terminato il processo di ripristino, sei vulnerabile agli errori sulle altre partizioni. Se il tempo di ripristino è maggiore, aumenta la possibilità di incontrare un ulteriore URE. Inoltre, aumenta il carico sull'unità, aumentando la possibilità di un guasto completo dell'unità.
  • Immagina che la tua terza partizione (l'ultima sul disco da 1,5 TB) mostri abbastanza errori per degradare il pool e richiedere una sostituzione. Se non è possibile aggiungere un altro disco, non è possibile effettuare una sostituzione senza arresto / esportazione e anche in questo caso è più complicato del solito.

Sulla base di questi punti, consiglierei di non farlo se l'affidabilità è il tuo obiettivo principale. Supponendo una situazione hardware fissa, farei una delle seguenti operazioni:

  1. Usa i mirror e perdi 500 GB, ma ottieni una configurazione semplice con una facile espandibilità in futuro
  2. Utilizzare due pool separati e copies = 2se si desidera una certa resilienza contro errori più piccoli (un errore del disco intero ucciderebbe solo 2/5 o 3/5 dei dati rispetto all'impostazione)
  3. Usa altri file system diversi da ZFS se vuoi avere la tua torta e mangiarla

5

Quello che stai descrivendo è un po 'pacchiano.

ZFS vuole dischi completi di uguali dimensioni e capacità. Questo è fondamentale per una serie di ragioni, ma ha anche un senso comune.

Tutto quello che faresti nella situazione che hai delineato è aggiungere complessità all'ambiente e aumentare il rischio.


1
Per non parlare della riduzione delle prestazioni.
Michael Hampton,

@MichaelHampton Come va?
gatto,

2
@cat Perché ZFS pensa di avere cinque mandrini, quando in realtà ne hai due.
Michael Hampton,

4

Mettiamola così:

  • Se hai 1 TB di dati sul disco uno, puoi replicarli sul disco due e puoi permetterti di perdere entrambi i dischi.

  • Se si dispone di 1,5 TB di dati sul disco due, è possibile replicare solo i primi 1 TB di dati sul disco uno. In questo scenario, se il disco due si guasta perderai i dati.

ZFS è molto capace, ma come regola generale, secondo i due punti sopra, le configurazioni di dischi misti sono stupide e non super utili. Se ti interessa l'affidabilità e la ridondanza, fai finta che anche il secondo disco sia solo 1 TB.


4
Sto inserendo questo bit in un commento perché non mi sembra che si adatti davvero a una "risposta" in quanto tale, ma se volessi davvero utilizzare tutto lo spazio sui tuoi dischi, imposterei un mirror da 1 TB e quindi utilizzare gli ultimi 500 GB come volume normale, non replicato per lo spazio di memoria virtuale e i file temporanei di cui non mi interessa davvero (come la cartella dei download del browser: è bello avere lì cose vecchie memorizzate nella cache, ma non c'è nulla di veramente mi manca se l'ho perso).
Benny Mackney,
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.