Qual è la differenza tra i moduli dm (dmsetup) e md (mdadm) nel kernel di Linux? [entrambi sembrano essere un gestore di volumi logico] oh sì e c'è anche lvm (lvm). Qual è la differenza tra tutto questo?Qual è la differenza tra dm e md nel kernel di Linux?
risposta
md è più dispositivi. È un'implementazione RAID nel kernel Linux disponibile dal rilascio del kernel 2.0. Ti permette di creare livelli RAID 0, 10, 4, 5 e 6. Ha varie ottimizzazioni come l'utilizzo delle istruzioni SSE e MMX. È un software RAID standard in Linux.
dm è mapper dispositivo. È il framework del kernel di Linux che ti permette, bene, di mappare un dispositivo su un altro dispositivo (uno o più). Funziona come la creazione di un dispositivo virtuale (dispositivo mappato) a cui è possibile accedere nella directory/dev/mapper. Tutti gli I/O su quel dispositivo verranno mappati su altri dispositivi. I motivi per cui il mappatore dei dispositivi è che ci sono molti casi in cui è necessario mappare i dispositivi, ma si desidera riutilizzare il codice.
ci sono diversi piloti (chiamati target dm) che utilizzano device mapper, per esempio:
- dm-lineari - mappa un dispositivo all'altro in modo lineare. Ciò significa che il tuo nuovo dispositivo tradurrà le richieste di I/O sul dispositivo sottostante con alcuni shift LBA. Ad esempio, quando si legge su LBA 1000 da/dev/mapper/linear, la lettura verrà eseguita su LBA 1050 da/dev/sdd.
- dm-stripe - mappare un dispositivo a più dispositivi come in RAID 0.
Differenza tra md RAID di livello 0 dm-stripe e non è così grande - è solo diverse implementazioni, ma credo che il RAID md ha prestazioni migliori.
Infine, lvm è un set di strumenti per lo spazio utente che fornisce servizi di gestione del volume logico su linux. Usa il device mapper per mappare gruppi di volumi e volumi logici su dispositivi fisici.
E c'è un caso speciale di confusione - dm-raid
, si può leggere su di esso here