Quali sono i vantaggi di Logical Volume Manager [chiuso]


11

Quali sono le caratteristiche e i potenziali vantaggi di Logical Volume Manager oltre a quanto dettagliato nella sua pagina Wikipedia?


1
Contro cosa ?? Davvero, questa è una domanda troppo vaga ... non c'è da meravigliarsi che sia stato annullato.
Nandhini Anand,

Per favore, elabora le tue opzioni.
Ori,

1
Wow - riformulare quella domanda ha ottenuto un'ottima risposta da Matt Simmons!
Dunxd,

1
Per completezza, vale anche la pena esaminare i pericoli e le avvertenze di LVM: serverfault.com/questions/279571/lvm-dangers-and-caveats
RichVel

Risposte:


33

Tratto direttamente dal mio blog: http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

Prima di tutto, parliamo della vita senza LVM. Ai vecchi tempi, avevi un disco rigido. Questo disco rigido potrebbe avere partizioni. È possibile installare i file system su queste partizioni e quindi utilizzare tali file system. In salita in entrambi i modi. Sembrava molto simile a questo:

Hai il disco vero e proprio, in questo caso sda. Su quell'unità ci sono due partizioni, sda1 e sda2. C'è anche dello spazio libero inutilizzato. Ciascuna delle partizioni ha un filesystem su di esso, che è montato. Il tipo di file system effettivo è arbitrario. Potresti chiamarlo ext3, reiserfs o come hai. La cosa importante da notare è che esiste una correlazione diretta uno a uno tra le partizioni del disco e i possibili file system.

Consente di aggiungere un po 'di gestione del volume logico che ricrea la stessa struttura esatta:

Ora vedi le stesse partizioni, tuttavia sopra le partizioni c'è un livello chiamato "Gruppo di volumi", letteralmente un gruppo di volumi, in questo caso partizioni del disco. Potrebbe essere accettabile pensare a questo come a una specie di disco virtuale che puoi partizionare. Dal momento che stiamo abbinando esattamente la nostra configurazione precedente, non puoi ancora vedere i punti di forza del sistema. Potresti notare che sopra il gruppo di volumi abbiamo creato volumi logici, che potrebbero essere pensati come partizioni virtuali, ed è su questi che costruiamo i nostri file system.

Vediamo cosa succede quando aggiungiamo più di un volume fisico:

Qui abbiamo tre dischi fisici, sda, sdb e sdc. Ognuno dei primi due dischi ha una partizione che occupa l'intero spazio. L'ultimo, sdc, ha una partizione che occupa metà del disco, con metà dello spazio libero non partizionato.

Possiamo vedere il gruppo di volumi sopra quello che include tutti i volumi attualmente disponibili. Qui sta uno dei maggiori punti di vendita. È possibile creare una partizione logica grande quanto la somma dei dischi. In molti modi, questo è simile a come funziona il livello RAID 0, tranne per il fatto che non esiste alcun striping. I dati sono scritti per la maggior parte in modo lineare. Se è necessaria la ridondanza o le prestazioni aumentate fornite dal RAID, assicurarsi di posizionare i volumi logici in cima agli array RAID. Le sezioni RAID funzionano esattamente come i dischi fisici qui.

Ora, abbiamo questo gruppo di volumi che occupa 2 e 1/2 dischi. È stato scolpito in due volumi logici, il primo dei quali è più grande di uno qualsiasi dei dischi. Ai volumi logici non importa quanto siano grandi i dischi fisici reali, poiché vedono solo che sono scolpiti da myVolumeGroup01. Questo strato di astrazione è importante, come vedremo.

Cosa succede se decidiamo che abbiamo bisogno dello spazio inutilizzato, perché abbiamo aggiunto più utenti?

Normalmente ci sarebbe un po 'di dolore se usassimo il mapping uno a uno, ma con volumi logici, ecco cosa possiamo fare:

Qui abbiamo preso lo spazio precedentemente libero su / dev / sdc e creato / dev / sdc2. Quindi l'abbiamo aggiunto all'elenco dei volumi che comprendono myVolumeGroup01. Una volta fatto ciò, eravamo liberi di espandere uno dei volumi logici, se necessario. Da quando abbiamo aggiunto gli utenti, abbiamo sviluppato myLogicalVolume2. A quel punto, fintanto che il filesystem / home lo supportava, eravamo liberi di coltivarlo per riempire lo spazio extra. Tutto perché abbiamo estratto la nostra memoria dai dischi fisici su cui vive.

Va bene, questo copre il perché di base della gestione del volume logico. Dal momento che sono sicuro che hai voglia di saperne di più su come preparare e costruire i tuoi sistemi, ecco alcune eccellenti risorse per iniziare:

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html


2
+1 per una descrizione e visualizzazione eccellenti.
Daemon of Chaos,

5

Puoi usare LVM per fare molte cose con i dischi. Il vantaggio principale è la possibilità di far crescere al volo i filesystem. Supponiamo che tu stia configurando un server di log e che in futuro avrai un sacco di dati. Ext3 supporta un massimo di 16 TB (più a seconda del kernel e della versione di EL). E se lo sapessi tra 2 anni avrai bisogno di 1 PB di spazio di archiviazione? Bene, questo crea alcuni problemi. Innanzitutto, il tuo capo ti guarderà con i cervi negli occhi dei fari quando gli dici il prezzo di quell'hardware di archiviazione. Ciò porta a un altro problema: è necessario iniziare con una piccola soluzione che è possibile scalare verso l'alto. LVM ti offre questa opzione. Inizi con alcuni dischi. Quindi ne aggiungi altri, li trasformi in un gruppo logico, li aggiungi al primo volume logico, aumenti le dimensioni del volume e infine aumenti il ​​filesystem. Voila, tu '

Questo ti evita di dover spostare i dati dal dispositivo, riformattare i LUN e quindi spostare tutto indietro per eseguire un aggiornamento. Scusate la brevità, spero che abbia senso.

Modifica: dovrei anche notare che se hai a che fare con 1PB, non vorrai usare Ext3 ... probabilmente XFS.


Non compro LVM come meccanismo per scalare da 16 TB a 1 PB - hai davvero bisogno di ZFS o simili che abilitano il "thin provisioning", cioè crei un pool di archiviazione ZFS per un totale di circa 1 PB ora, ma è supportato solo parzialmente da blocchi di archiviazione reali. Man mano che cresci, aggiungi solo spazio di archiviazione all'interno dello stesso pool. Usando LVM impiegheresti enormi quantità di tempo a ridimensionare gli FS e fare fsck ogni volta che aggiungi spazio di archiviazione.
RichVel,

4

Vi sono numerosi vantaggi indiretti di LVM. La cosa principale che LVM fa è estrarre i dischi fisici dal sistema operativo . Il vantaggio principale di questo è semplicemente la flessibilità . La maggior parte dei vantaggi di LVM sono realizzati solo quando si dispone di un filesystem che supporta il ridimensionamento al volo. La cosa di base che LVM fa è descritta di seguito:

Le partizioni di sistema esistono uno strato sopra il disco

Senza LVM, Linux utilizza le partizioni posizionate fisicamente sul disco. Le partizioni sono nomi di dispositivi diretti. La tabella delle partizioni risiede nell'MBR e normalmente (nel caso di partizioni estese logiche) nel record di avvio esteso (che consente di creare un numero maggiore di partizioni). Le partizioni definiscono una dimensione e un tipotra gli altri attributi (più specificamente, definiscono un cilindro di inizio e fine che definisce essenzialmente la dimensione). Poiché sono così strettamente legati al disco, è importante impostare uno schema di partizionamento "corretto" al momento dell'installazione. Se improvvisamente, una funzione della macchina cambia o se sei un principiante e non hai capito le implicazioni del partizionamento, o se stai sottovalutando l'utilizzo del disco da qualche parte o i registri di una particolare applicazione, cambiare quel partizionamento può essere ingombrante. Esistono strumenti per farlo, ma in genere è necessario spostare i dati dalla partizione per modificarli. Ovviamente, se hai quattro partizioni, cambiando gli effetti del cilindro di fine della seconda partizione, la terza e la quarta partizione iniziano i cilindri e quindi ti trovi in ​​una situazione disordinata.

L'ingenuo può sostenere l'uso di una singola grande partizione, ma potresti annullarti quando devi introdurre quote o isolare processi canaglia riempiendo parti del tuo sistema (es. / Var / log, / tmp ecc.)

I vantaggi di questo sono:

Aggiunta / rimozione di memoria

L'aggiunta di spazio di archiviazione è generalmente banale. Se si utilizza RAID hardware o software e si aggiungono altri dischi, spesso è necessario armeggiare con collegamenti simbolici per ricostruire l'array RAID per consentire a Linux di rendere disponibile il nuovo spazio di archiviazione nelle posizioni desiderate.

Prendi l'esempio di una directory grande / home che si sta riempiendo. Esiste su un volume RAID 1 a due dischi esistente. Vuoi aggiungere altri due dischi. Li hai impostati in una configurazione RAID 1 hardware. Senza LVM, hai un paio di opzioni:

  1. Ricostruisci l'array raid completo in una configurazione 1 + 0 che richiede lo spostamento dei dati dalla macchina, la ricostruzione e il loro ripristino.
  2. Creare un nuovo gruppo di volumi RAID 1 che è separato. Linux ha già il primo volume RAID montato su / home, quindi è necessario montare il secondo volume RAID su / home1 o simile. Ora per ottenere i percorsi appropriati per gli utenti coerenti con il primo, potrebbe essere necessario utilizzare i collegamenti simbolici per ottenere lo stesso effetto. Inoltre, questa soluzione richiede una manutenzione costante del volume RAID originale e la migrazione potenziale dei dati dalla partizione originale.

Con LVM, puoi semplicemente aggiungere il nuovo gruppo di volumi RAID 1 al pool di archiviazione aggiuntivo, ridimensionare il filesystem (a condizione che lo supporti) e voilà, / home ora è improvvisamente più grande. Non è necessario collegare in modo simbolico nulla o eseguire interventi di manutenzione sui dati potenzialmente in movimento da / home a / home1 o viceversa. Risciacquare, lavare, ripetere per futuri aggiornamenti del disco.

Manutenzione online

La maggior parte delle attività LVM, a condizione che l'hardware lo supporti, può essere eseguita online, senza riavviare la macchina. Se è possibile sostituire a caldo dischi su un sistema, è possibile aggiungere nuovi dischi e successivamente rimuovere dischi vecchi (forse più piccoli) per aumentare i requisiti di archiviazione del sistema.

Uno dei problemi principali con i volumi LVM è quando si avvicinano alla capacità, la frammentazione può diventare un problema nella mia esperienza. Volumi> 90% e in realtà> 95% possono significare che si può finire con una frammentazione errata sul disco a seconda dell'utilizzo del disco e dei tipi di file. Raramente è qualcosa di cui preoccuparsi eccessivamente, è il caso di qualsiasi tipo di gestione del volume / delle partizioni, ma è la frammentazione sul livello del volume rispetto alla partizione che è la preoccupazione qui.


Buona risposta ai vantaggi, ma nel tuo punto (2) penso che intendi "creare un nuovo volume RAID 1 che ..." piuttosto che creare un VG, poiché questo è nel caso non LVM e presumibilmente usando l'hardware RAID come menzionato .
RichVel,

1

Avresti dovuto fornire maggiori informazioni sulla situazione in cui intendi applicarlo, in questo modo possiamo dare risposte mirate piuttosto che ampie risposte probabilmente non correlate (non posso commentare altrimenti avrei detto questo in un commento).

Ora sulla domanda stessa, hai una facile creazione, ridimensionamento ed eliminazione di volumi (aka partizioni) e un'altra bella caratteristica (a seconda della situazione) è la possibilità di creare istantanee di un volume.


1

Anche se sei già stato selezionato come migliore risposta, vorrei contribuire con la mia opinione su questo argomento. Dalla mia esperienza, metterei in dubbio l'utilità di LVM se si dispone di un'unità fisica o anche se si dispone di più unità (personalmente non utilizzo mai LVM sull'unità di sistema). Tuttavia, dove LVM è davvero indispensabile è in cima all'hardware RAID. Ciò consente di separare chiaramente le funzioni di RAID e LVM: si utilizza RAID per gestire le caratteristiche di affidabilità e prestazioni della memoria e si utilizza LVM per allocare volumi effettivi al sistema. A volte, questa funzionalità si sovrappone, cioè LVM può fornire funzionalità di RAID-0 e RAID-1 ma non consiglierei di usare nessuna delle due con una build seria.

Fondamentalmente RAID e LVM si uniscono, usarne uno senza l'altro è di solito non ottimale.

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.