Swap e RAID-1 dovrebbero essere mixati?


9

Ho una scatola con un piccolo array RAID-1 utilizzato per lo spazio di scambio. L'ho fatto solo da quando ho impostato i mirror per ogni altra partizione nel sistema.

Oggi ho letto questa domanda e mi ha spinto a chiedermi: "lo swap su RAID-1 è l'ideale / consigliabile?".

Risposte:


17

(Probabilmente) non dovresti togliere lo swap dal RAID 1.

A volte è meno importante avere lo swap su un RAID 1, ma va bene, di solito utile e spesso necessario . Raramente c'è qualche motivo per spostare deliberatamente lo swap altrove, se si sta già utilizzando un RAID 1.

Scambia su RAID 1 Può funzionare meglio

SWAP su RAID 1 può comportare prestazioni migliori di una singola partizione di swap al di fuori del RAID, ma non così come due swap impostati sulla stessa priorità.

La scrittura su un RAID 1 a volte è più lenta della scrittura su un singolo disco, poiché tutti i dati devono essere scritti su entrambi i dischi. Spesso non è molto più lento - di solito il rallentamento sarà trascurabile. Se si dispone di un RAID 1 di due dischi sullo stesso controller IDE, sarà più lento. Ma quando l'accesso a un disco non rallenta gli accessi all'altro disco, la scrittura su RAID 1 non sarà significativamente più lenta.

La lettura da un RAID 1 è quasi sempre più veloce della lettura da un singolo disco, poiché quando un disco è occupato da una lettura, è possibile leggere più dati dall'altro disco. La lettura da un RAID 1 composto da due unità è spesso quasi due volte più veloce della lettura da una singola unità.

Non sono a conoscenza di alcun test per confrontare due partizioni di swap separate con una singola partizione di swap su un RAID 1 (o qualsiasi altro RAID). Non c'è motivo di pensare che una singola partizione di swap si comporterebbe altrettanto o meglio di uno swap su un RAID 1. La situazione è più complicata se si hanno due swap su dischi separati:

  • Se agli swap vengono assegnate priorità diverse /etc/fstab, vengono scambiate pagine separate; la stessa pagina non viene scambiata con entrambe contemporaneamente. Mi aspetto che due swap siano più veloci per l'accesso simultaneo a dati non correlati, ma più lenti per l'accesso a una singola pagina.

  • Se agli swap viene assegnata la stessa priorità /etc/fstab, i dati (anche da una singola pagina) verranno sottoposti a striping . Questo è simile a RAID 0 e molto probabilmente funzionerà anche meglio di mettere lo swap su un RAID 1.

    Teoricamente, se si dispone di un RAID 1 hardware, lo striping del software potrebbe essere meno efficiente, ma a meno che non si disponga di applicazioni insolite in cui la lettura dallo swap è estremamente più comune della scrittura su di esso, mi aspetterei che uno swap a strisce software non RAID superi le prestazioni di una partizione di swap su un RAID 1.

    (Poiché il kernel è in grado di eseguire lo striping dei dati scambiati tra più partizioni di swap, non c'è motivo di configurare un software RAID 0 solo per lo scambio.)

Vedi questa sezione dell'articolo Wikipdia "Livelli RAID standard" , per maggiori informazioni sulle prestazioni RAID 1.

Grazie a gertvdijk per aver fornito informazioni di fondamentale importanza sugli swap a strisce.

Potresti davvero aver bisogno del tuo Swap sul RAID 1

La necessità o meno dello scambio su un RAID 1 dipende dal motivo per cui è necessario innanzitutto un RAID 1. I dati in swap sono in genere altamente volatili e la perdita di solito non rappresenta una perdita significativa di attività. Però.:

  1. Un vantaggio di RAID (tranne RAID 0) è che se un'unità si guasta il computer continua a funzionare (solo un po 'più lentamente). Se hai programmi in esecuzione che hanno pagine scambiate su disco (che è praticamente sempre il caso se lo swap è abilitato), l'unità contenente una partizione di swap (indipendentemente dal fatto che sia l'unica partizione di swap) non funziona e non ha una ridondanza backup, il sistema smetterà immediatamente di funzionare correttamente (e probabilmente sarà completamente inutilizzabile fino al riavvio, a seconda di come è stato utilizzato lo scambio). Se si utilizza la macchina come server di produzione o per qualsiasi altra attività importante, si avranno tempi di inattività .

    Se riesci a tollerare il fallimento totale dello scambio da un singolo evento avverso comunemente riscontrato (guasto di un'unità), dovresti chiederti perché stai utilizzando RAID 1 . Potresti avere una buona risposta ... e potresti no. RAID (eccetto RAID 0) protegge da guasti del disco, ma RAID non è una soluzione di backup . Se modifichi o elimini un file su un RAID o un malware infetta un sistema su un RAID, le modifiche vengono apportate immediatamente ovunque: il RAID non ti consentirà di ripristinarlo.

    Se è necessario un backup anziché ridondanza e non si dispone già di un backup altamente affidabile e facilmente accessibile, è necessario estrarre completamente una delle unità dal RAID e utilizzarla per i backup. (Naturalmente, a volte è anche necessario disporre di un backup off-site.)

  2. Se si iberna il computer (ovvero, la sospensione su disco), il contenuto della RAM viene copiato nella partizione di swap . Quindi puoi effettivamente perdere dati perdendo la tua partizione di swap, se il tuo computer è in letargo quando si verifica un errore del disco.


Bella risposta, @Eliah. La mia motivazione per RAID-1 deriva dal fatto di essere stata morsa da guasti del disco in passato: i miei backup mi hanno salvato dalla perdita di dati ma ho ancora dovuto inserire nuovi dischi e ricostruire la macchina, il che richiede tempo. In questo modo posso ancora avere una configurazione funzionante in un array degradato e inserire nuovi dischi per ricostruire l'array.
LRE,

@LRE Il RAID funziona solo come backup quando la causa della perdita di dati è il guasto dell'unità. Questo è un uso perfettamente accettabile per RAID ma assicurati di avere un backup separato per proteggerti da tutte le altre cause di perdita di dati, che sono anche comuni .
Eliah Kagan,

"Scambia su RAID 1 è probabile che funzioni meglio" Non è del tutto vero. Vedi questa pagina wiki.kernel.org : "Il kernel stesso può eseguire lo striping dello swapping su più dispositivi, se dai la stessa priorità nel file / etc / fstab." Mettere lo swap in cima al tuo RAID è puramente una cosa di disponibilità per quanto ne so.
gertvdijk,

@gertvdijk Grazie, ho modificato per integrare tali informazioni. La mia intenzione nel dire che lo swap su RAID 1 probabilmente avrebbe funzionato meglio era che probabilmente avrebbe funzionato meglio di una singola partizione di swap (non in RAID); Ho ristretto l'affermazione e ho aggiunto anche i dettagli.
Eliah Kagan,

@EliahKagan, sì, lo capisco e ho dei backup (e mi hanno salvato la pelle in passato) - RAID-1 è lì per complimentarmi con i backup
LRE

3

La sezione Installazione avanzata nella documentazione di Ubuntu Server descrive l'installazione su un array RAID 1 software. Da quello che posso vedere, creano anche una partizione di swap su RAID, quindi è quasi un layout "consigliato".

Da un punto di vista puramente teorico, tuttavia, l'utilizzo di RAID 1 per la partizione di swap può offrire meno benefici rispetto alle partizioni "normali": i dati sulla partizione di swap sono più o meno volatili, quindi è meno probabile che perderai molti dati in caso di un errore del disco, sebbene un processo potrebbe bloccarsi o il sistema potrebbe riavviarsi se la partizione di swap fallisce improvvisamente.

L'uso di RAID-0 o 2 partizioni non RAID separate può (o non può) avere più senso dal punto di vista delle prestazioni, se sei preoccupato per le prestazioni potresti dover fare dei benchmark.

Inoltre, tutto ciò può influire sulle prestazioni solo nel caso in cui il sistema sia fortemente limitato dalla RAM e lo swap sia fortemente utilizzato. Aggiungere più RAM e rimuovere completamente lo swap sarebbe la soluzione definitiva, sia dal punto di vista delle prestazioni che dell'affidabilità :)


Passare a un RAID 1 ha molto senso .
Eliah Kagan,
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.