GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzare F2FS su RAID0 all'interno dell'HDD?

Soluzione 1:

Non utilizzare RAID0, un guasto di una qualsiasi unità interromperà l'array. RAID6, RAID10, anche una singola unità senza array sarebbe migliore per la disponibilità.

f2fs intende essere compatibile con i moderni dispositivi a stato solido e Linux md può andare molto veloce.

Tuttavia, impossibile fare affermazioni generali come f2fs su un array è meglio senza dati. Devi prendere in considerazione qual è il tuo carico di lavoro, se il modello I/O è stato confrontato su un sistema simile al tuo e quali fattori limitanti esistono.

Fai un'analisi della capacità. Stima cose come query di database al secondo o quanti file vengono letti e scritti. Misura gli IOPS con strumenti come iostat -xz 1 . Se r/s e w/s i numeri si avvicinano alla capacità nominale del dispositivo, potresti aver bisogno di dischi più veloci. Aspettatevi circa 100 IOPS per rotazione magnetica e almeno un paio di migliaia di IOPS dalla maggior parte degli SSD. E fa la differenza se i dischi sono collegati come SATA o NVMe.

Valuta le prestazioni di ogni risorsa sul sistema. L'archiviazione veloce è di aiuto limitato se sei legato alla CPU o alla memoria. La memoria è particolarmente utile come cache. L'eccessivo paging out è dannoso, poiché il file di scambio ruba le prestazioni del sistema di archiviazione ma non è veloce come la DRAM.

Una volta comprese le prestazioni del sistema ora, puoi iniziare a valutare le modifiche al sistema di archiviazione.

Soluzione 2:

L'uso di F2FS su un HDD classico non è una buona idea:mentre le sue prestazioni di scrittura casuale saranno probabilmente superiori a EXT4 o XFS, la velocità di lettura sequenziale su un vecchio filesystem sarà molto deludente.

Per aumentare le prestazioni di scrittura casuale senza disporre di una cache di riscrittura protetta da perdita di alimentazione (leggi:un vero controller RAID), devi configurare le tue applicazioni in modo che non problema fsync(), ma questo lo farà aumentare significativamente le probabilità di perdere dati con un arresto non pianificato. No disabilitare le barriere a livello di sistema (ad es. dicendo al kernel che hai scritto attraverso le cache), in quanto ciò può distruggere l'intero filesystem in caso di interruzione dell'alimentazione.

Puoi anche prendere in considerazione l'utilizzo di ZFS (preferibilmente lasciando lo striping a se stesso, piuttosto che al livello MDRAID):a causa della sua natura CoW, le scritture casuali sono significativamente più veloci rispetto ad altri filesystem, mentre il caching avanzato evita i problemi con le letture sequenziali. Supporta anche sync=disabled :se riesci a tollerare una finestra di perdita di dati di circa 5 secondi in caso di arresto imprevisto, fornirà un sacco di IOP di scrittura casuali senza influire sulla coerenza dell'applicazione o del file system.

Infine, se stai usando EXT4, puoi fare un rapido test con data=journal :mentre questo ridurrà le prestazioni di scrittura sequenziale, le scritture casuali dovrebbero essere un po' più veloci rispetto alla modalità journal predefinita.


Linux
  1. Migliora le prestazioni del sistema Linux con noatime

  2. Come utilizzare systemd-nspawn per il ripristino del sistema Linux

  3. Come utilizzare Ansible per impostare il monitoraggio del sistema con Prometheus

  4. Risoluzione dei problemi di Linux 101:prestazioni del sistema

  5. Usa il LED BLOC MAIUSC come indicatore LED HDD (o personalizzato).

Come usare il comando Linux Strace

Le prestazioni dell'HDD sono lente in Ubuntu?

Come utilizzare il comando fd sul sistema Linux

Come utilizzare le macchine virtuali Virtualbox su KVM nel sistema Linux

Come generare e utilizzare la chiave SSH nel sistema Linux?

Come installare e utilizzare YouTube-DL su sistema Linux