Linux LVM mirror vs MD mirror


11

Penso di ricordare di aver realizzato alcuni specchi anni fa con LVM, e non ricordo questa cosa "log". O forse ho fatto lo specchio con mdadm e ho messo LVM in cima. Deve essere quello.

  1. A cosa serve il registro LVM se è solo un mirror? Cosa è memorizzato lì? Qual è lo scopo? L'uso di "--mirrorlog core" è errato? Qual è il lato negativo? Non voglio avere un'altra partizione per i registri se non devo.

  2. Qualche consiglio sull'uso di entrambe le tecnologie? Anche se creo il mirror con mdadm, userò anche LVM. Quindi, in quel caso, forse è meglio avere l'intero setup creato con LVM ...? Ci vorrebbe di più un successo o meno?

I dischi servono per memorizzare i "dischi" di Xen domU.

Ci scusiamo per la complessa "domanda" non puntuale.

Idee, suggerimenti e link sono i benvenuti. Grazie!


md sembra funzionare meglio per le operazioni di mirroring rispetto a lvm. Vedi serverfault.com/questions/80134/linux-md-vs-lvm-performance
Zoredache il

1
Il mirroring LVM era pensato per uno scopo diverso. Mentre puoi usarlo per "rispecchiare" il modo in cui fa MD, è davvero usato per clonare volumi. Vedi serverfault.com/questions/97845/lvm-mirroring-vs-raid1
Avery Payne,

1
Se è pensato per la clonazione, perché richiede tre volumi?
d -_- b

Risposte:


9

Personalmente vado sempre MD + LVM. È più veloce (MD può fare letture parallele in RAID1) e richiede solo 2 dischi (se non vuoi ricostruire il mirror dopo ogni riavvio) e MD è progettato solo per fare RAID, e lo fa molto bene. È anche più flessibile.

Inoltre sono stato bruciato da LVM. In un caso era lo striping LVM su HP-UX (non dovrebbe accadere con LVM2 in Linux) e non ho potuto estendere LV perché l'estensione doveva avere lo stesso numero di strisce. Sembra ragionevole, ma a volte ...

Un'altra volta è stato con il mirroring (LVM2 in Linux questa volta), ma ora non riesco a ricordare se LVM ha rifiutato di fare un'istantanea di un LV con mirroring o di estenderlo, negando effettivamente il vantaggio di avere LVM in primo luogo (lo abbiamo fatto alla fine, ma coinvolto usando lvconvert avanti e indietro).


Grazie! Penso che andrò con LVM sopra MD. Sembra che ci siano alcuni problemi con il rilevamento automatico di MD. ( raid.wiki.kernel.org/index.php/RAID_Boot ) In un certo senso volevo eseguire il mirroring di tutto il mio sistema (swap, boot, /, var, home, usr). Quindi dovrò esaminare qualcosa di diverso dal rilevamento automatico.
d -_- b

Sì, il rilevamento automatico è una buona idea in linea di principio, ma dà ogni tipo di mal di testa. Ho un setup con iSCSI + multipath + MD + LVM ... e il rilevamento automatico è ... interessante, ma inutile in questo caso.
Dan Andreatta,

4

Quando una coppia di mirroring viene spenta bruscamente, in qualsiasi sistema, potrebbero esserci dei blocchi che sono stati scritti su un dispositivo ma non ancora sull'altro. Concepibilmente con il riordino dei percorsi IO ci sono alcuni blocchi che sono stati scritti su A ma non B, e alcuni scritti su B ma non ancora su A.

Al riavvio della macchina, è necessario che i dispositivi siano coerenti. Avere solo i due dispositivi da soli non è abbastanza: non saprebbe quali blocchi sono incoerenti e non saprebbe quale versione fosse più recente.

Quindi il software mirror deve archiviare un po 'di metadati per tenerne traccia. Questo si chiama "registro dell'intenzione di scrittura".

md normalmente lo memorizza in uno spazio riservato all'interno del dispositivo stesso , anche se puoi anche scegliere di memorizzarlo su un dispositivo separato. (Questo è uno dei motivi per cui i mirror md sono leggermente più piccoli dei dispositivi di base.

I mirror LVM possono archiviare il registro delle estensioni di scrittura solo esternamente, il che, come si nota, è un po 'fastidioso per il caso tipico in cui si hanno esattamente due dischi fisici. Credo che tu abbia ancora la scelta di salvarlo su una partizione diversa sullo stesso dispositivo fisico, ma è comunque scomodo.

Lo scopo del registro mirror LVM, a quanto ho capito, è di tenere traccia dei blocchi che sono stati scritti su un dispositivo ma non ancora sull'altro.


2

questi sono due concetti diversi:

  • LVM è come dice il nome per la gestione del volume. Pensalo come un meccanismo per combinare più volumi in uno (sì, puoi dire che è come raid0), ridimensionandoli, ridimensionando dal vivo, creando istantanee.
  • MD è per la gestione RAID. Aggiungi più dispositivi in ​​un metadevice, rendi questo metadevice altamente disponibile usando raid1, 5, 10, ecc ...

LVM opera su dispositivi di archiviazione, sia che si tratti di metadevice, sia di dispositivi presentati dal controller raid, o semplicemente di dischi semplici.

MD funziona su dischi (sì, puoi anche usare i dischi presentati dal controller raid, ma che senso ha? ..

LVM non ha lo scopo di rendere la tua memoria altamente disponibile. E allo stesso modo MD non è per la gestione del volume ...

Spero che questo ti aiuti :)


1
Capisco cosa sono. Tuttavia, se leggi la pagina man di lvcreate, dice che può creare mirror. Immagino che questo sia un po 'di giocattolo per ora?
d -_- b

1
imho si. non riesco a vedere un buon uso almeno per ora. non è solo un mirror a livello di volume (piuttosto che di dispositivo), ma è anche un po '"interessante" come viene creato, ad esempio se hai bisogno di un mirror a 2 vie (come nell'originale + copia) devi avere 3 volumi - uno per ciascuno lato del mirror + volume del registro. ma poi di nuovo - imho. :)
rytis,

1

LVM proveniva da altri tipi di sistema UNIX. L'ho usato su HPUX che non aveva lo strato MD di Linux quando ci ho lavorato 10 anni fa, non ne sono sicuro. In tali circostanze, il mirroring LVM diventa utile in una situazione in cui il RAID hardware non è disponibile.


Ho appena trovato strano che un mirror LVM abbia bisogno di più di un volume. Che tipo di specchio è quello?
d -_- b

1
@toor il terzo volume viene utilizzato per memorizzare un registro write-ahead per il mirror, sostanzialmente per tenere traccia di ciò che deve essere risincronizzato dopo un arresto improvviso. Su MD, questo è normalmente memorizzato in una parte riservata dei due dischi.
poolie,

1

con il mirroring -mirrorlog e l'opzione -alloc ovunque, con due dischi, si ottengono due log mirror 4M, uno su ciascun disco. Sono infastidito dal fatto che devo ignorare la politica per quella che sembra una situazione più comune, ma vabbè.

LVM su Linux non è correlato alla cosa su HP-UX o AIX, ha solo gli stessi comandi di spazio utente. LVM su Linux utilizza internamente il sistema DM e quindi utilizza lo stesso codice di MD. A questo punto, non vedo alcun vantaggio di LVM su MD. Per le partizioni che si desidera velocemente e per le quali non si desidera eseguire il backup (ad es. Partizioni di swap per macchine virtuali guest), LVM offre la possibilità di scegliere se eseguire il mirroring o meno o se lo stripping è migliore.

Ed è molto più semplice aggiungere un disco a LVM che a MD.

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.