Al momento ho una partizione Btrfs con quattro dispositivi: tre unità da 3 TB e un'unità da 4 TB. Dati e metadati sono RAID 10, quindi ho 6 TB di spazio utilizzabile, che è quasi pieno. Avevo previsto che il supporto RAID 5 in Btrfs sarebbe stato maturo quando la mia memoria si fosse riempita, ma a quanto pare non è una priorità.
La mia domanda è: c'è un motivo per preferire RAID 10 rispetto a RAID 1 ? So che il RAID 1 reale sul mio hardware attuale dovrebbe darmi 3 TB di spazio utilizzabile con 4 copie di ciascun blocco, ma apparentemente Btrfs non si comporta in questo modo. Dalle FAQ di Btrfs :
btrfs combina prima tutti i dispositivi in un pool di archiviazione, quindi duplica i blocchi man mano che vengono creati i dati del file. RAID-1 è attualmente definito come "2 copie di tutti i dati su diversi dispositivi". Ciò differisce da MD-RAID e dmraid, in quanto quelli fanno esattamente n copie per n dispositivi. In un RAID-1 btrfs su tre dispositivi da 1 TB otteniamo 1,5 TB di dati utilizzabili. Poiché ogni blocco viene copiato solo su 2 dispositivi, la scrittura di un determinato blocco richiede solo la scrittura di esattamente 2 dispositivi; la lettura può essere fatta da una sola.
E da Jens Erat su Stack Overflow :
Btrfs distribuisce i dati (e le sue copie RAID 1) in senso blocco, quindi si occupa molto bene di dischi rigidi di dimensioni diverse. Riceverai la somma di tutti i dischi rigidi, divisa per due - e non dovrai pensare a come metterli insieme in coppie di dimensioni simili.
Se più di un disco si guasta, si corre sempre il rischio di perdere dati: RAID 1 non è in grado di gestire la perdita di due dischi contemporaneamente. Nel tuo esempio sopra riportato, se i due dischi sbagliati muoiono, perdi sempre i dati.
Questo significa che il riequilibrio da RAID 10 a RAID 1 mi darà 500 GB di dati in più (6,5 TB anziché 6 TB) a causa dell'unità da 4 TB? E c'è qualche motivo per cui devo restare con RAID 10?
scrub
e replace
sostegno era stato aggiunto come di 3.19, ma la gente era ancora lamentano la mancanza di segnalazioni di guasto dei dispositivi. Ho impostato cron per scrub settimanali e test automatici SMART settimanali / mensili, quindi dovrei essere in grado di cogliere tali problemi. Lo proverò.
dev stats
, che potrebbe essere un altro cronjob .