LVM e disaster recovery


13

Capisco cos'è LVM e cosa realizza, ma sento che mi mancano alcune cose.

Diciamo che abbiamo due unità fisiche, sda e sdb. Entrambi sono 100 Meg. Li ho inseriti in VolumeGroup1 e ho creato un LogicalVolume1 da 200 mega.

Cosa accadrebbe se creo un file da 150 meg? 100 mega sarebbero fisicamente su sda e 50 su sdb? In tal caso, cosa dice al sistema operativo che un pezzo del file si trova su un'unità e un altro pezzo si trova sull'altra?

Che dire del guasto dell'unità? Supponendo che nessun RAID, se sdb fallisce, tutti i dati su sda andranno persi? Esiste un modo per controllare quali file sono su quali unità fisiche?

Come gestite generalmente LVM? Crei uno o due grandi gruppi di volumi e poi crei le partizioni come ha senso? Qualche altro consiglio?


1
Se vuoi evitare la ridondanza di un raid, un supporto di grandi dimensioni e puoi vivere con guasti a un solo disco, questo potrebbe funzionare per te: serverfault.com/a/543684/165065
DennisH

Risposte:


15

Diciamo che abbiamo due unità fisiche, sda e sdb. Entrambi sono 100 Meg. Li ho inseriti in VolumeGroup1 e ho creato un LogicalVolume1 da 200 mega.
Cosa accadrebbe se creo un file da 150 meg? 100 mega sarebbero fisicamente su sda e 50 su sdb?

Corretto (supponendo che il filesystem fosse vuoto prima della creazione del file).

In tal caso, cosa dice al sistema operativo che un pezzo del file si trova su un'unità e un altro pezzo si trova sull'altra?

LVM comunica al sistema operativo che esiste un singolo disco da 200 MB. La parte LVM del kernel (è composta da due parti, strumenti di gestione dello spazio utente e driver del kernel) mapperà quindi ciò che il sistema operativo vede su posizioni / blocchi fisici sui dischi.

Che dire del guasto dell'unità? Supponendo che nessun RAID, se sdb fallisce, tutti i dati su sda andranno persi? Esiste un modo per controllare quali file sono su quali unità fisiche?

Sì, considera i dati persi.

Se si creano volumi logici più piccoli, è possibile utilizzare il pvmovecomando per spostarli da disco a disco.

Come gestite generalmente LVM? Crei uno o due grandi gruppi di volumi e poi crei le partizioni come ha senso? Qualche altro consiglio?

Tendo a creare grandi gruppi di volumi e quindi a creare volumi logici secondo necessità. Non è necessario allocare completamente tutto lo spazio in un gruppo di volumi; allocarlo quando è necessario. È facile aumentare le dimensioni di un volume logico e praticamente tutti i file system moderni possono anche essere facilmente cresciuti.


Sei sicuro di quello primo? Pensavo che LVM di solito passasse per impostazione predefinita allo striping, quindi il file da 150 mega avrebbe probabilmente 75 megabyte su ogni unità
freiheit

2
Le strisce non vengono create se non si specifica --stripes <num>(breve -i <num>) quando si crea il volume logico.
pag

PS, la mia risposta qui contiene uno script che ti mostrerà quali PV utilizza ogni LV: serverfault.com/questions/28592/…
pg

@freiheit, pgs ha ragione, il valore predefinito è estendere, non stripe, il volume.
Avery Payne,

per quanto riguarda la gestione, sono disposto a creare un gruppo lvm per i miei 3 dischi rigidi, ma solo per creare volumi logici limitati ai volumi fisici e quindi utilizzare solo gli spazi disponibili per creare istantanee; credi che questo sia il più sicuro per un utente domestico (che non ha incursioni né denaro per sostituire prontamente le cose)?
Aquarius Power

4

La cosa sottostante che consente a LVM e Software Raid in Linux di funzionare è la parte del kernel del mappatore di dispositivi. Questo è ciò che estrae gli indirizzi di blocco dei dispositivi fisici dai dispositivi di blocco virtuale che stai utilizzando.

Quando si utilizza LVM come per qualsiasi cosa quando si tratta di dati, è necessario essere consapevoli delle ripercussioni sulla disponibilità dei dati. Questo non vuol dire che LVM sia pericoloso in effetti quando si usano le pratiche appropriate, il suo impatto sulla disponibilità è minimo.

Nello scenario che suggerisci nella tua domanda, la disponibilità dei tuoi dati sarebbe la stessa di un RAID0, in cui se un'unità si guasta si tradurrebbe in una perdita di dati.

In pratica non userei LVM senza eseguirlo su una sorta di RAID. Ho usato LVM su un file server da 30 TB che aveva circa 20 volumi RAID5 Hardware in un VG. Ma se si dispone di abbastanza interni gratuiti, è possibile utilizzare pvmove per migrare i dati da uno o più PV se dovesse iniziare a creare problemi.

Tuttavia, è sempre in atto una strategia di backup che viene testata di volta in volta.


3

Come gestite generalmente LVM? Crei uno o due grandi gruppi di volumi e poi crei le partizioni come ha senso?

La mia strategia generale è quella di mettere in un gruppo di volumi separato i volumi fisici che potrebbero essere migrati (nel suo insieme) su un altro sistema.

Se si dispone di memoria esterna, è consigliabile inserirla in un gruppo di volumi separato. È fisicamente facile disconnetterlo da questo computer e connettersi a un altro, quindi dovrebbe essere logicamente facile esportarlo / importarlo in LVM, mantenendo intatti i dati.

Se hai già un vg00 su uno o più dischi interni e poi acquisti un altro disco interno per il tuo computer, poniti una domanda: i dati sul nuovo disco saranno associati a vg00 e non avrebbe mai senso spostarsi i dati su un altro sistema? In questo caso, dovrebbe essere parte di vg00. Altrimenti, creerei vg01, poiché può essere facilmente esportato / importato da solo.


0

Se hai due unità come volumi fisici in un gruppo come quello, allora quello che hai è un array JBOD (Just a Bunch Of Disks). Se una delle unità si guasta, non si sarà protetti meglio che se le unità fossero disposte in un array RAID0.

Non puoi controllare direttamente cosa succede dove sulle due unità se hai un volume logico nel gruppo di volumi (poiché questo sarà controllato dal filesystem nel volume, non LVM) sebbene se dividi il gruppo di volumi in più volumi logici può ordinare manualmente la loro creazione in modo tale che un determinato volume logico si trovi su una determinata unità.

Credo che ogni PV in un VG abbia una copia del layout LV e che i dati non vengano eliminati come con RAID0, quindi hai più possibilità di recuperare qualcosa se una delle tue unità si guasta ma se la perdita di dati è un problema Non prenderei in considerazione l'utilizzo di due unità in questo modo (tramite LVM o RAID0).


0

Cosa accadrebbe se creo un file da 150 meg? 100 mega sarebbero fisicamente su sda e 50 su sdb? In tal caso, cosa dice al sistema operativo che un pezzo del file si trova su un'unità e un altro pezzo si trova sull'altra?

LVM (Logical Volume Manager) raccoglie i volumi fisici in gruppi di volumi. Ogni volume fisico (l'unità stessa) ha piccoli pezzi chiamati estensioni fisiche. Queste estensioni hanno un identificativo uniq nel disco. In realtà sono numerati in sequenza. Quando si crea un volume logico, è stato creato da estensioni logiche associate a estensioni fisiche. Le estensioni logiche hanno ID uniq nel volume logico. In HP-UX è possibile verificare quale estensione logica è accoppiata a quale estensione fisica. In SLES11 non riesco a capire come controllarlo. lvdisplay --mapsdovrebbe essere buono ma non perfetto (per me).

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.