Come impostare il raid SSD e il supporto TRIM?


9

Sto cercando di configurare un nuovo server. Posso usare solo SSD MLC Intel 520 Series da 240 GB o dischi Seagate 7200rpm standard.
Queste sono le opzioni non negoziabili.

Naturalmente, poiché questo eseguirà MySQL con il suo compito principale è un server MySQL. Poiché il più grande collo di bottiglia delle prestazioni è l'I / O su disco, preferirei utilizzare gli SSD.

Ho bisogno di avere quasi 1 TB di spazio su disco. Ora, RAID5 non offre le migliori prestazioni e si dice che non sia la migliore per gli SSD, quindi sto guardando una configurazione Raid 10 (1 + 0) che mi darebbe 720 g (240 g * 3)

Devo sapere come posso configurarlo con Ubuntu 12.04.01 LTS usando il raid software e assicurarmi che il supporto TRIM (Discard credo sia chiamato in Linux) sia abilitato per la configurazione del raid.

Qualcuno non l'ha fatto con successo? Qualsiasi informazione su howto e cose a cui prestare attenzione e sostanzialmente quali strumenti usare e così via sarebbe di grande aiuto.

Idealmente, devo anche essere in grado di avviare l'array di raid SSD.

Qualcuno può indicarmi la giusta direzione?

Grazie.


1
Di recente si è verificato un grosso problema durante l'utilizzo di TRIM su SSD in RAID. Bug fatto TRIM per azzerare i file attivi a caso. Si dice che siano interessati solo gli SSD Samsung, ma AFAIK è perché sono stati testati solo gli SSD Samsung. Per questo, ti consiglio vivamente di pensare all'utilizzo di BTRFS RAID10 anziché mdadmo LVM.
Barafu Albino,

Risposte:


4

La risposta è "dipende" e dovresti davvero capire cosa fa TRIM prima di affermare una posizione così inflessibile.

http://www.spinics.net/lists/raid/msg39641.html

MD RAID necessita di un supporto specifico per inoltrare le richieste DISCARD e che non è stato nemmeno proposto fino al 3.6, quindi il supporto non sarà nel kernel preciso. Ho appena guardato, non è lì.

https://lkml.org/lkml/2012/3/11/261

Gli SSD sono belli e tutti, ma sono più convenienti se combinati con una memoria magnetica ad alto RPM. Ad esempio, utilizzare un array SSD RAID 1 per ospitare il journal del filesystem mentre il filesystem è supportato da un RAID 10 costituito da dischi da 15 KB.

http://insights.oetiker.ch/linux/external-journal-on-ssd/

Maggiore è l'RPMS, minore è il tempo di ricerca peggiore, i carichi di I / O casuali traggono il massimo vantaggio dai negozi di supporto RPM elevati. SQL può essere intensivo in scrittura, quindi qualsiasi calcolo di parità è una cattiva idea, ad esempio RAID 4 e 5.

L'organizzazione del RAID e del filesystem è importante tanto quanto l'archivio di backup.

Puoi sempre tagliare i tuoi dischi manualmente, l'avvio settimanale va bene, dovresti osservare l'impatto delle prestazioni prima di eseguirlo più frequentemente. Oh, si esauriranno, quindi sarebbe una buona idea stimare quanti cicli di scrittura / cancellazione hanno i tuoi SSD e servire il RAID 1 una gamba alla volta.

https://wiki.archlinux.org/index.php/Solid_State_Drives#Apply_TRIM_via_cron


4

So di essere stato Johnny-come-ultimamente a questa domanda, ma mi piacerebbe vedere se posso far luce su questo per chiunque cerchi.

Innanzitutto, la risposta di @ ppetraki è eccellente.

La risposta breve a "Posso RAID SSD e avviare da loro" è "Sì!". Ecco le istruzioni per il 14.04. Le istruzioni per la configurazione RAID su 12.04.x ​​sono identiche, ma in questo tutorial sull'uso di 9.10 sono presenti immagini. Di seguito sono riportati alcuni aspetti importanti e dettagli che ho dovuto scoprire nel modo più duro, attraverso l'esperienza personale:

Sto eseguendo Ubuntu 12.04.5 con il kernel 3.8 su una configurazione MD RAID0 e il filesystem Btrfs compatibile con SSD. Corro fstrim come cron settimanale.

Le mie opzioni extra di mount Btrfs da fstab:

defaults,ssd,ssd_spread,space_cache,compress=no,noatime

Il kernel 3.8 è necessario se si desidera utilizzare compress=nocome opzione di montaggio Btrfs e può anche essere richiesto per l'uso del fstrimcomando di taglio manuale usato per il taglio programmato.

È inoltre necessario allineare manualmente le partizioni (su qualsiasi configurazione multi-partizione, raid o meno) sugli SSD PRIMA di avviare l'installer perché a seconda delle dimensioni della pagina del tuo SSD, solo la prima partizione sarà correttamente allineata (mi ci è voluto un po ' per catturarlo) e questo può avere un forte impatto sulla durata della vita dell'unità. È possibile farlo da un prompt dei comandi all'interno del programma di installazione o da un disco / usb live prima di tentare l'installazione. Avvertenza: fai da te la matematica. Fdisk mentirà sull'allineamento.

Ulteriori letture: penso che Btrfs possa persino creare i propri array di raid .

Per quanto riguarda TRIM:

È senza dubbio superfluo grazie all'overprovisioning

14.04 è la prima versione che abilita il supporto TRIM immediatamente, ma è banale da abilitare nelle precedenti distribuzioni, a condizione che si stia utilizzando il kernel 2.6.33+.

A seconda del vostro filesystem scelto, è possibile attivare assetto / scarto da modificando il tuo fstab e impostando l'opzione montare l'appropriata. La differenza tra fare questo ed eseguirlo tramite cron è che il primo taglierà / scarterà al volo e il secondo lo farà in un grumo su un programma. Io uso il secondo.

Importa? Presumibilmente, lo scarto online (usando l'opzione mount) non è meravigliosamente implementato ed è lento, quindi non è "raccomandato". Posso dirti che le mie spie "hdd" (hehe) diventano pazze per 10-20 minuti quando viene eseguito il cron job settimanale ma la reattività del sistema operativo è quasi completamente inalterata.

Avvio dall'array

Anche se non lo vedo in una rapida scansione delle istruzioni di Ubuntu 14.04, ho dovuto creare una partizione primaria aggiuntiva che NON fa parte dei miei array di raid. Il disco 0 ha una partizione primaria di ext3fs da 500 MB. Durante l'installazione ho detto al programma di installazione che doveva essere montato su "/ boot" e ho impostato il flag di avvio. Il bootloader viene quindi installato qui in modo che il sistema operativo possa iniziare e quindi montare il RAID. Lo spazio su Disco 0 rimanente viene diviso tra 2 partizioni che verranno successivamente utilizzate per gli array MD che diventano "/" e "/ swap". Il disco 1 ha lo stesso, ma nessuna partizione di avvio. Inoltre, ho creato lo swap solo nel caso in cui ne avessi bisogno qualche volta e btrfs non supporta gli swapfile. Questa partizione non è mai montata; dopo l'installazione, l'ho commentato nel mio fstab.

Perdona tutte le modifiche, sto solo cercando di farlo uscire.


Grazie per queste informazioni approfondite. Lo proverò alla prossima distribuzione del sistema
Steed
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.