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?
scrube replacesostegno 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 .