Logical Volume Manager Administration
Guida per l'amministratore LVM
Edizione 3
Sommario
Introduzione
1. Informazioni su questa guida Copia collegamentoCollegamento copiato negli appunti!
2. A chi è rivolto Copia collegamentoCollegamento copiato negli appunti!
3. Versioni software Copia collegamentoCollegamento copiato negli appunti!
| Software | Descrizione |
|---|---|
|
RHEL5
|
si riferisce a RHEL5 o versioni più recenti
|
|
GFS
|
si riferisce a GFS per RHEL5 e versioni più recenti
|
4. Documentazione relativa Copia collegamentoCollegamento copiato negli appunti!
- Red Hat Enterprise Linux Installation Guide — Fornisce le informazioni relative al processo d'installazione di Red Hat Enterprise Linux 5.
- Red Hat Enterprise Linux Deployment Guide — Fornisce le informazioni relative all'implementazione e amministrazione di Red Hat Enterprise Linux 5.
- Red Hat Cluster Suite Overview — Fornisce una panoramica molto dettagliata sul Red Hat Cluster Suite.
- Configurazione e gestione del Red Hat Cluster — Fornisce le informazioni relative all'installazione, configurazione e gestione dei componenti del Red Hat Cluster.
- Global File System: Configurazione e gestione — Fornisce le informazioni sull'installazione, configurazione e gestione del Red Hat GFS (Red Hat Global File System).
- Global File System 2: Configurazione e amministrazione — Fornisce le informazioni sull'installazione, configurazione ed amministrazione del Red Hat GFS2 (Red Hat Global File System 2).
- Come utilizzare il Device-Mapper Multipath — Fornisce le informazioni relative all'utilizzo del Device-Mapper Multipath di Red Hat Enterprise Linux 5.
- Come utilizzare GNBD con il Global File System — Fornisce una panoramica su come utilizzare il Global Network Block Device (GNBD) con Red Hat GFS.
- Linux Virtual Server Administration — Fornisce le informazioni necessarie per la configurazione di sistemi per prestazioni elevate e dei servizi con il Linux Virtual Server (LVS).
- Note di rilascio per il Red Hat Cluster Suite — Fornisce le informazioni sulla release corrente del Red Hat Cluster Suite.
5. Suggerimenti Copia collegamentoCollegamento copiato negli appunti!
rh-cs.
Bugzilla component: Documentation-cluster Book identifier: Cluster_Logical_Volume_Manager(EN)-5 (2009-01-05T15:20)
Bugzilla component: Documentation-cluster
Book identifier: Cluster_Logical_Volume_Manager(EN)-5 (2009-01-05T15:20)
Capitolo 1. LVM Logical Volume Manager Copia collegamentoCollegamento copiato negli appunti!
1.1. Volumi logici Copia collegamentoCollegamento copiato negli appunti!
- Capacità più flessibileQuando si utilizzano i volumi logici i file system possono essere estesi attraverso dischi multipli, poichè è possibile aggregare sia i dischi che le partizioni in un volume logico singolo.
- Pool di storage ridimensionabiliÈ possibile estendere o ridurre la dimensione dei volumi logici con alcuni comandi software semplici, senza riformattare e ripartizionare i dispositivi del disco interessati.
- Riassegnazione dati onlinePer implementare sottosistemi di storage nuovi, più veloci o più resistenti, è possibile spostare i dati mentre il vostro sistema è attivo. I dati possono essere riassegnati sui dischi durante l'utilizzo dei dischi stessi. Per esempio, è possibile svuotare un disco di tipo hot-swappable prima di rimuoverlo.
- Come nominare un dispositivo in modo convenienteI volumi dello storage locale possono essere gestiti in gruppi definiti dall'utente, i quali possono essere chiamati a vostra discrezione.
- Disk stripingÈ possibile creare un volume logico in grado di scrivere i dati su due o più dischi. Ciò potrebbe aumentarne drammaticamente le prestazioni.
- Volumi in mirroringI volumi logici forniscono un modo molto conveniente per configurare un mirror per i vostri dati.
- Snapshot del volumeUtilizzando i volumi logici è possibile eseguire delle snapshot del dispositivo per un backup conforme, oppure per provare gli effetti delle modifiche senza interessare i dati reali.
1.2. Panoramica sull'architettura di LVM Copia collegamentoCollegamento copiato negli appunti!
- capacità flessibile
- conservazione dei metadati più efficiente
- miglior formato per il processo di recupero
- nuovo formato metadata ASCII
- modifiche atomiche per i metadata
- copie ridondanti di metadata
vgconvert. Per informazioni su come convertire il formato dei metadata, consultate la pagina man di vgconvert(8).
Figura 1.1. LVM Logical Volume Components
1.3. LVM Logical Volume Manager (CLVM) Copia collegamentoCollegamento copiato negli appunti!
- Se solo uno nodo del vostro sistema ha bisogno di accedere allo storage da voi configurato come volumi logici, allora sarà possibile utilizzare LVM senza le estensioni CLVM, in questo modo i volumi logici creati con il nodo in questione risulteranno locali al nodo.
- Se utilizzate un sistema clusterizzato per il processo di failover dove un singolo nodo accede allo storage, e risulta attivo in ogni dato momento, allora è consigliato utilizzare gli agent High Availability Logical Volume Management (HA-LVM). Per informazioni su HA-LVM, consultare la guida Configurazione e gestione di un Red Hat Cluster.
- Se più nodi del cluster hanno la necessità di accedere al vostro storage, il quale verrà di conseguenza condiviso tra i nodi attivi, allora sarà necessario utilizzare CLVM. CLVM permette ad un utente di configurare i volumi logici su di uno storage condiviso, bloccando l'accesso allo storage fisico durante la configurazione di un volume logico ed utilizza i servizi di bloccaggio clusterizzati per gestire lo storage condiviso.
clmvd, deve essere in esecuzione. Il demone clmvd rappresenta l'estensione più importante del clustering per LVM. Il demone clvmd viene eseguito su ogni computer del cluster e distribuisce gli aggiornamenti dei metadata LVM in un cluster, presentando ad ogni computer la stessa visuale dei volumi logici. Per informazioni su come installare e amministrare Red Hat Cluster Suite, consultare la Configurazione e gestione di un Red Hat Cluster.
clmvd sia stato iniziato al momento dell'avvio eseguire un comando chkconfig ... on sul servizio clvmd nel modo seguente:
chkconfig clvmd on
# chkconfig clvmd on
clvmd non è stato iniziato sarà possibile eseguire un comando service ... start sul servizio clvmd nel modo seguente:
service clvmd start
# service clvmd start
Figura 1.2. Panoramica di CLVM
Nota
clvmd) o gli agent High Availability Logical Volume Management. Se non siete in grado di utilizzare il demone clvmd o HA-LVM per ragioni operative, o perchè non siete in possesso degli entitlement corretti, allora non utilizzare il single-instance LVM sul disco condiviso poichè tale operazione potrebbe corrompere i dati. Per maggiori informazioni a riguardo contattare un rappresentante per il servizio clienti di Red Hat.
Nota
lvm.conf file for cluster-wide locking. Information on configuring the lvm.conf file to support clustered locking is provided within the lvm.conf file itself. For information about the lvm.conf file, see Appendice B, File di configurazione di LVM.
1.4. Panoramica del documento Copia collegamentoCollegamento copiato negli appunti!
- Capitolo 2, Componenti di LVM describes the components that make up an LVM logical volume.
- Capitolo 3, Panoramica sull'amministrazione di LVM provides an overview of the basic steps you perform to configure LVM logical volumes, whether you are using the LVM Command Line Interface (CLI) commands or the LVM Graphical User Interface (GUI).
- Capitolo 4, Amministrazione di LVM con il CLI summarizes the individual administrative tasks you can perform with the LVM CLI commands to create and maintain logical volumes.
- Capitolo 5, Esempi di configurazione LVM provides a variety of LVM configuration examples.
- Capitolo 6, Troubleshooting LVM provides instructions for troubleshooting a variety of LVM issues.
- Capitolo 7, Amministrazione di LVM con la GUI di LVM summarizes the operating of the LVM GUI.
- Appendice A, Device Mapper describes the Device Mapper that LVM uses to map logical and physical volumes.
- Appendice B, File di configurazione di LVM describes the LVM configuration files.
- Appendice C, Tag dell'oggetto LVM describes LVM object tags and host tags.
- Appendice D, Metadata del gruppo di volumi di LVM describes LVM volume group metadata, and includes a sample copy of metadata for an LVM volume group.
Capitolo 2. Componenti di LVM Copia collegamentoCollegamento copiato negli appunti!
2.1. Physical Volumes Copia collegamentoCollegamento copiato negli appunti!
2.1.1. LVM Physical Volume Layout Copia collegamentoCollegamento copiato negli appunti!
Nota
Figura 2.1. Disposizione del Physical Volume
2.1.2. Partizioni multiple su di un disco Copia collegamentoCollegamento copiato negli appunti!
- Amministrazione più convenienteÈ più semplice controllare l'hardware in un sistema se ogni disco reale appare solo una volta. Tale tendenza è particolarmente vera se un disco fallisce. In aggiunta, i physical volume multipli su di un disco singolo potrebbero causare un avvertimento da parte kernel sulle diverse partizioni sconosciute al momento dell'avvio.
- Prestazioni relative allo stripingLVM non è in grado di indicare la presenza di due physical volume sullo stesso disco fisico. Per questo motivo se viene creato un volume logico 'striped' quando due volumi fisici si trovano sullo stesso disco fisico, le sezioni più piccole (bande) possono essere presenti su diverse partizioni dello stesso disco. Tale comportamento potrebbe risultare in una diminuzione delle prestazioni e non in un aumento.
2.2. Gruppi di volumi Copia collegamentoCollegamento copiato negli appunti!
2.3. Volumi logici LVM Copia collegamentoCollegamento copiato negli appunti!
2.3.1. Volumi lineari Copia collegamentoCollegamento copiato negli appunti!
Figura 2.2. Mappatura estensione
VG1 with a physical extent size of 4MB. This volume group includes 2 physical volumes named PV1 and PV2. The physical volumes are divided into 4MB units, since that is the extent size. In this example, PV1 is 100 extents in size (400MB) and PV2 is 200 extents in size (800MB). You can create a linear volume any size between 1 and 300 extents (4MB to 1200MB). In this example, the linear volume named LV1 is 300 extents in size.
Figura 2.3. Volume lineare con physical volume diversi
LV1, which is 250 extents in size (1000MB) and LV2 which is 50 extents in size (200MB).
Figura 2.4. Multiple Logical Volumes
2.3.2. Volumi logici striped Copia collegamentoCollegamento copiato negli appunti!
- la prima banda di dati viene scritta su PV1
- la seconda banda viene scritta su PV2
- la terza viene scritta su PV3
- la quarta banda di dati viene scritta su PV1
Figura 2.5. Processo di stripping dei dati su tre PV
2.3.3. Volumi logici speculari Copia collegamentoCollegamento copiato negli appunti!
Figura 2.6. Mirrored Logical Volume
Nota
2.3.4. Volumi delle snapshot Copia collegamentoCollegamento copiato negli appunti!
Nota
Nota
- In particolare, è consigliato eseguire la snapshot se è necessario fare un backup su di un volume logico, senza arrestare l'aggiornamento 'live' dei dati da parte del sistema.
- È possibile eseguire il comando
fscksul file system di una snapshot, per controllare l'integrità del file system e determinare se il file system originale necessita di correzioni. - Poichè è possibile eseguire la lettura e scrittura della snapshot, è possibile testare le applicazioni con i dati di produzione, eseguendo una snapshot e successivamente alcuni test senza interessare i dati reali.
- È possibile creare ed usare i volumi con il monitor della macchina virtuale Xen. Potrete usare la snapshot per creare una immagine del disco, eseguirne una sua snapshot e modificarla per una istanza domU particolare. Successivamente potrete creare un'altra snapshot e modificarla per un altra istanza domU. Poichè l'unico storage utilizzato è rappresentato dalle sezioni modificate sull'origine o snapshot, la maggior parte del volume viene condiviso.
Capitolo 3. Panoramica sull'amministrazione di LVM Copia collegamentoCollegamento copiato negli appunti!
3.1. Creazione dei volumi LVM in un cluster Copia collegamentoCollegamento copiato negli appunti!
clmvd daemon, must be started at boot time, as described in Sezione 1.3, «LVM Logical Volume Manager (CLVM)».
lvm.conf file for cluster-wide locking. Information on configuring the lvm.conf file to support clustered locking is provided within the lvm.conf file itself. For information about the lvm.conf file, see Appendice B, File di configurazione di LVM.
Nota
clvmd) o gli agent High Availability Logical Volume Management. Se non siete in grado di utilizzare il demone clvmd o HA-LVM per ragioni operative, o perchè non siete in possesso degli entitlement corretti, allora non utilizzare il single-instance LVM sul disco condiviso poichè tale operazione potrebbe corrompere i dati. Per maggiori informazioni a riguardo contattare un rappresentante per il servizio clienti di Red Hat.
3.2. Panoramica sulla creazione del volume logico Copia collegamentoCollegamento copiato negli appunti!
- Inizializzare le partizioni da utilizzare per il volume LVM come physical volume (tale operazione aggiungerà loro una etichetta).
- Creazione di un gruppo di volumi
- Creazione di un volume logico.
- Create un file system GFS sul volume logico con il comando
gfs_mkfs. - Create un nuovo mount point con il comando
mkdir. In un sistema clusterizzato, create il mount point su tutti i nodi nel cluster. - Montate il file system. Potreste aggiungere una riga a
fstabper ogni nodo nel sistema.
3.3. Sviluppo di un file system su di un volume logico Copia collegamentoCollegamento copiato negli appunti!
- Create un nuovo Physical Volume.
- Estendete il gruppo di volumi che contiene il volume logico con il file system che state sviluppando, in modo da includere il nuovo Physical Volume.
- Aumentate il volume logico in modo da includere il nuovo Physical Volume.
- Sviluppo del file system.
3.4. Backup del volume logico Copia collegamentoCollegamento copiato negli appunti!
lvm.conf. Per default, il backup dei metadata viene conservato in /etc/lvm/backup mentre gli archivi vengono conservati in /etc/lvm/archive. La durata della conservazione degli archivi dei metadata in /etc/lvm/archive ed il numero dei file d'archivio, è determinato dai parametri da voi impostati nel file lvm.conf. Un backup giornaliero del sistema dovrebbe includere i contesti della directory /etc/lvm nel backup stesso.
/etc/lvm/backup file with the vgcfgbackup command. You can restore metadata with the vgcfgrestore command. The vgcfgbackup and vgcfgrestore commands are described in Sezione 4.3.12, «Esecuzione del back up dei metadata del gruppo di volumi».
3.5. Registrazione Copia collegamentoCollegamento copiato negli appunti!
- output/errore standard
- syslog
- file di log
- funzione di log esterna
/etc/lvm/lvm.conf file, which is described in Appendice B, File di configurazione di LVM.
Capitolo 4. Amministrazione di LVM con il CLI Copia collegamentoCollegamento copiato negli appunti!
Nota
clvmd daemon. For information, see see Sezione 3.1, «Creazione dei volumi LVM in un cluster».
4.1. Come utilizzare i comandi CLI Copia collegamentoCollegamento copiato negli appunti!
--units in un comando, la lettere minuscole indicano che le unità sono multipli di 1024, mentre lettere maiuscole indicano che le stesse unità sono multiple di 1000.
lvol0 in un gruppo di volumi chiamato vg0, può essere specificato come vg0/lvol0. Dove un elenco dei gruppi di volumi risulta necessario ma lasciato vuoto, verrà visualizzato un elenco di tutti i gruppi di volumi. Dove sarà necessario un elenco di volumi logicio ma al contrario viene fornito un gruppo di volumi, verrà visualizzato un elenco di tutti i volumi logici per quel gruppo di volumi. Per esempio il comando lvdisplay vg0 visualizzerà tutti i volumi logici nel gruppo di volumi vg0.
-v il quale può essere inserito numerose volte per aumentare la verbosità di un output. Per esempio, di seguito vengono mostrati gli esempi relativi all'output predefinito del comando lvcreate.
lvcreate -L 50MB new_vg Rounding up size to full physical extent 52.00 MB Logical volume "lvol0" created
# lvcreate -L 50MB new_vg
Rounding up size to full physical extent 52.00 MB
Logical volume "lvol0" created
lvcreate con l'argomento -v.
-vv, -vvv o the -vvvv per visualizzare informazioni più dettagliate sull'esecuzione del comando. L'argomento -vvvv fornisce la quantità massima di informazioni in questo momento. Il seguente esempio mostra solo le prime righe dell'output per il comando lvcreate con l'argomento -vvvv.
--help del comando.
commandname --help
commandname --help
man:
man commandname
man commandname
man lvm fornisce informazioni generali online su LVM.
/dev/sdf which is part of a volume group and, when you plug it back in, you find that it is now /dev/sdk. LVM will still find the physical volume because it identifies the physical volume by its UUID and not its device name. For information on specifying the UUID of a physical volume when creating a physical volume, see see Sezione 6.4, «Recupero dei metadata del Physical Volume».
4.2. Amministrazione del Physical Volume Copia collegamentoCollegamento copiato negli appunti!
4.2.1. Creazione dei physical volume Copia collegamentoCollegamento copiato negli appunti!
4.2.1.1. Impostazione del tipo di partizione Copia collegamentoCollegamento copiato negli appunti!
fdisk o cfdisk o equivalente. Per tutti i dispositivi a disco solo la tabella delle partizioni deve essere rimossa. Tale processo distruggerà tutti i dati sul disco in questione. È possibile rimuovere una tabella delle partizioni esistente azzerando il primo settore con il seguente comando:
dd if=/dev/zero of=PhysicalVolume bs=512 count=1
dd if=/dev/zero of=PhysicalVolume bs=512 count=1
4.2.1.2. Inizializzazione dei physical volume Copia collegamentoCollegamento copiato negli appunti!
pvcreate per inizializzare un dispositivo a blocchi da usare come Physical Volume. L'inizializzazione è analoga alla formattazione di un file system.
/dev/sdd1, /dev/sde1, e /dev/sdf1 per un utilizzo come volumi fisici LVM.
pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1
pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1
pvcreate sulla partizione. Nel seguente esempio /dev/hdb1 viene inizializzato come physical volume di LVM, ed usato in un secondo momento come parte di un Physical Volume di LVM.
pvcreate /dev/hdb1
pvcreate /dev/hdb1
4.2.1.3. Scansione per dispositivi a blocchi Copia collegamentoCollegamento copiato negli appunti!
lvmdiskscan, come riportato nel seguente esempio.
4.2.2. Visualizzazione dei physical volume Copia collegamentoCollegamento copiato negli appunti!
pvs, pvdisplay, e pvscan.
pvs command provides physical volume information in a configurable form, displaying one line per physical volume. The pvs command provides a great deal of format control, and is useful for scripting. For information on using the pvs command to customize your output, see Sezione 4.9, «Personalizzazione dei riporti per LVM».
pvdisplay fornisce un output verboso con diverse righe per ogni Physical Volume. Esso visualizza le proprietà fisiche (dimensione, estensioni, gruppo di volumi ecc) in un formato fisso.
pvdisplay per un Physical Volume singolo.
pvscan esegue la scansione di tutti i dispositivi a blocchi di LVM nel sistema per physical volume.
lvm.conf so that this command will avoid scanning specific physical volumes. For information on using filters to control which devices are scanned, see Sezione 4.6, «Controllo delle scansioni del dispositivo LVM con i filtri».
4.2.3. Come impedire l'assegnazione su di un physical volume Copia collegamentoCollegamento copiato negli appunti!
pvchange. Tale operazione potrebbe essere necessaria se sono presenti sul disco alcuni errori, oppure se desiderate rimuovere il physical volume.
/dev/sdk1.
pvchange -x n /dev/sdk1
pvchange -x n /dev/sdk1
-xy del comando pvchange, per abilitare l'assegnazione dove precedentemente non permessa.
4.2.4. Come variare la dimensione di un Physical Volume Copia collegamentoCollegamento copiato negli appunti!
pvresize per aggiornare LVM con la nuova dimensione. Potrete eseguire questo comando mentre LVM utilizza il Physical Volume.
4.2.5. Rimozione dei physical volume Copia collegamentoCollegamento copiato negli appunti!
pvremove. L'esecuzione del comando pvremove azzererà i metadata di LVM su di un physical volume vuoto.
vgreduce command, as described in Sezione 4.3.6, «Rimozione dei physical volume da un gruppo di volumi».
pvremove /dev/ram15 Labels on physical volume "/dev/ram15" successfully wiped
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped
4.3. Amministrazione del gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
4.3.1. Creazione dei gruppi di volumi Copia collegamentoCollegamento copiato negli appunti!
vgcreate command. The vgcreate command creates a new volume group by name and adds at least one physical volume to it.
vg1 il quale contiene i physical volume /dev/sdd1 e /dev/sde1.
vgcreate vg1 /dev/sdd1 /dev/sde1
vgcreate vg1 /dev/sdd1 /dev/sde1
vgcreate se il valore predefinito non risulta essere idoneo, utilizzando l'argomento -s. È possibile inserire dei limiti sul numero di logical volumes o physical ospitati dal gruppo di volumi, utilizzando gli argomenti -p e -l del comando vgcreate.
normale. È possibile utilizzare l'argomento --alloc del comando vgcreate, per specificare una policy di assegnazione di tipo contiguous, anywhere, o cling.
contiguous le nuove estensioni sono adiacenti alle estensioni esistenti. Se è disponibile un numero sufficiente di estensioni per poter soddisfare una richiesta di assegnazione, e se la policy di assegnazione normal non le usa, la policy anywhere sarà in grado di farlo anche a rischio di ridurre la prestazione, a causa del posizionamento di due bande sullo stesso physical volume. La policy cling posiziona le nuove estensioni sullo stesso physical volume delle estensioni esistenti, nella stessa banda del volume logico. Queste policy possono essere modificate usando il comando vgchange.
normal sono necessarie solo in casi particolari, quando è richiesto specificare un'assegnazione di estensioni non standard o non comune.
/dev con la seguente disposizione
/dev/vg/lv/
/dev/vg/lv/
myvg1 e myvg2, ognuno dei quali con tre logical volumes chiamati lvo1, lvo2, e lvo3, ciò creerà sei file speciali del dispositivo:
4.3.2. Creazione dei gruppi di volumi in un cluster Copia collegamentoCollegamento copiato negli appunti!
vgcreate, in modo simile ad una loro creazione su di un nodo singolo.
-c n del comando vgcreate.
vg1 il quale contiene i volumi fisici /dev/sdd1 e /dev/sde1.
vgcreate -c n vg1 /dev/sdd1 /dev/sde1
vgcreate -c n vg1 /dev/sdd1 /dev/sde1
-c option of the vgchange command, which is described in Sezione 4.3.7, «Modifica dei parametri di un gruppo di volumi».
vgs, il quale mostra l'attributo c se il volume è clusterizzato. Il seguente comando mostra gli attributi dei gruppi di volumi VolGroup00 e testvg1. In questo esempio VolGroup00 non è clusterizzato mentre testvg1 risulta esserlo, come riportato dall'attributo c sotto l'intestazione Attr.
vgs VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 19.88G 0 testvg1 1 1 0 wz--nc 46.00G 8.00M
[root@doc-07]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 19.88G 0
testvg1 1 1 0 wz--nc 46.00G 8.00M
vgs command, see Sezione 4.3.4, «Come visualizzare i gruppi di volumi»Sezione 4.9, «Personalizzazione dei riporti per LVM», and the vgs man page.
4.3.3. Aggiunta di physical volume ad un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
vgextend command. The vgextend command increases a volume group's capacity by adding one or more free physical volumes.
/dev/sdf1 al gruppo di volumi vg1.
vgextend vg1 /dev/sdf1
vgextend vg1 /dev/sdf1
4.3.4. Come visualizzare i gruppi di volumi Copia collegamentoCollegamento copiato negli appunti!
vgs e vgdisplay.
vgscan command will also display the volume groups, although its primary purpose is to scan all the disks for volume groups and rebuild the LVM cache file. For information on the vgscan command, see Sezione 4.3.5, «Scansione dischi per i gruppi di volumi per la creazione del file di cache».
vgs command provides volume group information in a configurable form, displaying one line per volume group. The vgs command provides a great deal of format control, and is useful for scripting. For information on using the vgs command to customize your output, see Sezione 4.9, «Personalizzazione dei riporti per LVM».
vgdisplay mostra le proprietà del gruppo di volumi (come ad esempio dimensione, estensioni, numero di physical volume, ecc) attraverso una forma fissa. Il seguente esempio mostra l'output di un comando vgdisplay per il gruppo di volumi new_vg. Se non specificate un gruppo di volumi, tutti i gruppi di volumi esistenti verranno visualizzati.
4.3.5. Scansione dischi per i gruppi di volumi per la creazione del file di cache Copia collegamentoCollegamento copiato negli appunti!
vgscan esegue la scansione di tutti i dispositivi a disco supportati nel sistema, andando alla ricerca dei physical volume di LVM e dei gruppi dei volumi. Ciò crea il file di cache di LVM in /etc/lvm/.cache, il quale mantiene un elenco di dispositivi LVM correnti.
vgscan automaticamente al momento dell'avvio del sistema ed in altri momenti durante il funzionamento di LVM, ad esempio durante l'esecuzione del comando vgcreate, oppure quando LVM rileva una qualsiasi inconsistenza. Potrebbe essere necessario eseguire manualmente il comando vgscan se modificate la configurazione del vostro hardware, rendendo così visibili al sistema i nuovi dispositivi i quali non erano presenti al momento dell'avvio. Tale procedura potrebbe essere necessaria, per esempio, se aggiungete nuovi dischi al sistema su di un SAN, oppure se eseguite l'hotplug di un nuovo disco etichettato come physical volume.
lvm.conf file to restrict the scan to avoid specific devices. For information on using filters to control which devices are scanned, see Sezione 4.6, «Controllo delle scansioni del dispositivo LVM con i filtri».
vgscan.
vgscan Reading all physical volumes. This may take a while... Found volume group "new_vg" using metadata type lvm2 Found volume group "officevg" using metadata type lvm2
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "new_vg" using metadata type lvm2
Found volume group "officevg" using metadata type lvm2
4.3.6. Rimozione dei physical volume da un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
vgreduce command. The vgreduce command shrinks a volume group's capacity by removing one or more empty physical volumes. This frees those physical volumes to be used in different volume groups or to be removed from the system.
pvdisplay.
pvmove. Successivamente, utilizzate il comando vgreduce per rimuovere il physical volume:
/dev/hda1 dal gruppo di volumi my_volume_group.
vgreduce my_volume_group /dev/hda1
# vgreduce my_volume_group /dev/hda1
4.3.7. Modifica dei parametri di un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
vgchange command. Primarily, however, this command is used to deactivate and activate volume groups, as described in Sezione 4.3.8, «Attivazione e disattivazione dei gruppi di volumi»,
vg00 a 128.
vgchange -l 128 /dev/vg00
vgchange -l 128 /dev/vg00
vgchange, consultate la pagina man di vgchange(8).
4.3.8. Attivazione e disattivazione dei gruppi di volumi Copia collegamentoCollegamento copiato negli appunti!
-a (--available) del comando vgchange.
my_volume_group.
vgchange -a n my_volume_group
vgchange -a n my_volume_group
lvchange command, as described in Sezione 4.4.4, «Modifica dei parametri di un gruppo di volumi logici», For information on activating logical volumes on individual nodes in a cluster, see Sezione 4.8, «Attivazione dei volumi logici su nodi individuali in un cluster».
4.3.9. Rimozione dei gruppi di volumi Copia collegamentoCollegamento copiato negli appunti!
vgremove.
vgremove officevg Volume group "officevg" successfully removed
# vgremove officevg
Volume group "officevg" successfully removed
4.3.10. Separazione di un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
vgsplit.
pvmove per forzare la separazione.
smallvg viene separato da quello vecchio bigvg.
vgsplit bigvg smallvg /dev/ram15 Volume group "smallvg" successfully split from "bigvg"
# vgsplit bigvg smallvg /dev/ram15
Volume group "smallvg" successfully split from "bigvg"
4.3.11. Come unire i gruppi di volumi Copia collegamentoCollegamento copiato negli appunti!
vgmerge command. You can merge an inactive "source" volume with an active or an inactive "destination" volume if the physical extent sizes of the volume are equal and the physical and logical volume summaries of both volume groups fit into the destination volume groups limits.
my_vg, nel gruppo di volumi attivo o inattivo databases fornendo informazioni verbose sul runtime.
vgmerge -v databases my_vg
vgmerge -v databases my_vg
4.3.12. Esecuzione del back up dei metadata del gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
lvm.conf. Per default, il backup dei metadata viene conservato in /etc/lvm/backup mentre gli archivi sono conservati su /etc/lvm/archives. È possibile eseguire il backup manuale dei metadata sul file /etc/lvm/backup attraverso il comando vgcfgbackup.
vgcfrestore ripristina i metadata di un gruppo di volumi dall'archivio, su tutti i physical volume nei gruppi di volumi.
vgcfgrestore command to recover physical volume metadata, see Sezione 6.4, «Recupero dei metadata del Physical Volume».
4.3.13. Come rinominare un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
vgrename per rinominare un guppo di volumi esistente.
vg02 in my_volume_group
vgrename /dev/vg02 /dev/my_volume_group
vgrename /dev/vg02 /dev/my_volume_group
vgrename vg02 my_volume_group
vgrename vg02 my_volume_group
4.3.14. Come spostare un gruppo di volumi su di un altro sistema Copia collegamentoCollegamento copiato negli appunti!
vgexport e vgimport.
vgexport rende un gruppo di volumi inattivo inaccessibile al sistema, ciò vi permetterà di distaccare i rispettivi physical volume. Il comando vgimport rende un gruppo di volumi accessibile ad una macchina dopo che il comando vgexport lo ha reso inattivo.
- Assicuratevi che nessun utente stia cercando di accedere ai file sui volumi attivi nel gruppo di volumi, successivamente smontate i volumi logici.
- Usate
-a ndel comandovgchangeper segnare il gruppo di volumi come inattivo, questo impedisce qualsiasi attività sul gruppo in questione. - Usate il comando
vgexportper esportare il gruppo di volumi. Ciò impedisce il suo accesso da parte del sistema dal quale lo state rimuovendo.Dopo aver esportato il gruppo di volumi, il physical volume verrà visualizzato in un gruppo di volumi esportato quando eseguirete il comandopvscan, come riportato nel seguente esempio.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Prima di arrestare il sistema sarà possibile staccare i dischi che costituiscono il gruppo di volumi, ricollegandoli al nuovo sistema. - Una volta aver collegato i dischi al nuovo sistema, utilizzate il comando
vgimportper importare il gruppo di volumi, rendendolo accessibile al nuovo sistema. - Attivate il gruppo di volumi con l'argomento
-a ydel comandovgchange. - Montate il file system in modo da renderlo accessibile ed utilizzabile.
4.3.15. Come ricreare una directory del gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
vgmknodes. Questo comando controlla i file speciali di LVM2 nella directory /dev necessari per attivare i volumi logici. Esso crea qualsiasi file speciale mancante e rimuove quelli non utilizzati.
vgmknodes nel comando vgscan, specificando l'argomento --mknodes sul comando usato.
4.4. Amministrazione del volume logico Copia collegamentoCollegamento copiato negli appunti!
4.4.1. Creazione dei volume logico Copia collegamentoCollegamento copiato negli appunti!
lvcreate. Sarà possibile creare volumi lineari, volumi striped e volumi speculari, come descritto nelle seguenti sottosezioni.
lvol#, dove # è il numero interno del volume logico.
4.4.1.1. Creazione volumi lineari Copia collegamentoCollegamento copiato negli appunti!
vg1.
lvcreate -L 10G vg1
lvcreate -L 10G vg1
testlv nel gruppo di volume testvg, creando il dispositivo a blocchi /dev/testvg/testlv.
lvcreate -L1500 -n testlv testvg
lvcreate -L1500 -n testlv testvg
gfslv dalle tre estensioni nel gruppo di volumi vg0.
lvcreate -L 50G -n gfslv vg0
lvcreate -L 50G -n gfslv vg0
-l del comando lvcreate per specificare la dimensione in estensioni del volume logico. È possibile utilizzare questo argomento per specificare la percentuale del gruppo di volumi da utilizzare per il volume logico. Il seguente comando crea un volume logico chiamato mylv, che utilizza il 60% dello spazio totale nel gruppo di volumi testvol
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 60%VG -n mylv testvg
-l del comando lvcreate, per specificare la percentuale dello spazio libero restante in un gruppo di volumi come dimensione del volume logico. Il seguente comando crea un volume logico chiamato yourlv, il quale utilizza tutto lo spazio non assegnato nel gruppo di volumi testvol.
lvcreate -l 100%FREE -n yourlv testvg
lvcreate -l 100%FREE -n yourlv testvg
-l argument of the lvcreate command to create a logical volume that uses the entire volume group. Another way to create a logical volume that uses the entire volume group is to use the vgdisplay command to find the "Total PE" size and to use those results as input to the the lvcreate command.
mylv in grado di riempire il gruppo di volumi chiamato testvg.
vgdisplay testvg | grep "Total PE" Total PE 10230 lvcreate -l 10230 testvg -n mylv
# vgdisplay testvg | grep "Total PE"
Total PE 10230
# lvcreate -l 10230 testvg -n mylv
lvcreate. Il seguente comando crea un logical volume chiamato testlv nel gruppo di volumi testvg, assegnato dal physical volume /dev/sdg1,
lvcreate -L 1500 -ntestlv testvg /dev/sdg1
lvcreate -L 1500 -ntestlv testvg /dev/sdg1
/dev/sda1, e dalle estensioni 50 fino a 125 del volume fisico/dev/sdb1 nel gruppo di volumi testvg.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25 /dev/sdb1:50-125
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25 /dev/sdb1:50-125
/dev/sda1, continuando la creazione del volume logico dall'estensione 100.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-
inherit, which applies the same policy as for the volume group. These policies can be changed using the lvchange command. For information on allocation policies, see Sezione 4.3.1, «Creazione dei gruppi di volumi».
4.4.1.2. Creazione dei volumi striped Copia collegamentoCollegamento copiato negli appunti!
-i del comando lvcreate. Ciò determina su quanti volumi fisici il volume logico verrà scritto. Il numero di bande non può essere maggiore del numero di physical volume presenti nel gruppo di volumi (se l'argomento --alloc anywhere non è stato utilizzato).
gfslv, ed è ottenuto dal gruppo di volumi vg0:
lvcreate -L 50G -i2 -I64 -n gfslv vg0
lvcreate -L 50G -i2 -I64 -n gfslv vg0
stripelv, e si trova nel gruppo di volumi testvg. La banda userà i settori 0-50 di /dev/sda1 ed i settori 50-100 di /dev/sdb1.
lvcreate -l 100 -i2 -nstripelv testvg /dev/sda1:0-50 /dev/sdb1:50-100 Using default stripesize 64.00 KB Logical volume "stripelv" created
# lvcreate -l 100 -i2 -nstripelv testvg /dev/sda1:0-50 /dev/sdb1:50-100
Using default stripesize 64.00 KB
Logical volume "stripelv" created
4.4.1.3. Creazione volumi speculari Copia collegamentoCollegamento copiato negli appunti!
-m del comando lvcreate. Se usate -m1 verrà creato un mirror, il quale da' luogo a due copie del file system: un volume logico lineare più una copia. Allo stesso modo, se specificate -m2 verranno creati due mirror, dando luogo a tre copie del file system.
mirrorlv, e creato dal gruppo di volumi vg0:
lvcreate -L 50G -m1 -n gfslv vg0
lvcreate -L 50G -m1 -n gfslv vg0
-R. LVM mantiene un log molto piccolo usato per controllare quale regione è sincronizzata con i mirror. Per default il suddetto log viene conservato sul disco, mantenendolo uguale durante i vari processi di riavvio. Se desiderate mantenere il suddetto log all'interno della memoria, allora potrete utilizzare l'opzione --corelog, ciò elimina la necessità di un dispositivo di log aggiuntivo, ma al tempo stesso avrà bisogno di una sincronizzazione dell'intero mirror ad ogni riavvio.
bigvg. Il suddetto volume viene chiamato ondiskmirvol e possiede un mirror singolo. Il volume è di 12MB e mantiene il log del mirror all'interno della memoria.
lvcreate -L 12MB -m1 --corelog -n ondiskmirvol bigvg Logical volume "ondiskmirvol" created
# lvcreate -L 12MB -m1 --corelog -n ondiskmirvol bigvg
Logical volume "ondiskmirvol" created
--alloc anywhere del comando vgcreate. Tale procedura potrebbe deteriorare le prestazioni, ma permette di creare un mirror anche se siete solo in possesso di due dispositivi.
mirrorlv, e creato dal gruppo di volumi vg0:
lvcreate -L 500M -m1 -n mirrorlv -alloc anywhere vg0
lvcreate -L 500M -m1 -n mirrorlv -alloc anywhere vg0
nosync in modo da indicare che la sincronizzazione iniziale dal primo dispositivo non risulta necessaria.
mirrorlv, ed è stato ottenuto dal gruppo di volumi vg0. La prima gamba del mirror si trova sul dispositivo /dev/sda1, la seconda sul dispositivo /dev/sdb1, ed il log è su /dev/sdc1.
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
mirrorlv, ed è ottenuto dal gruppo di volumi vg0. La prima gamba del mirror è posizionata sulle estensioni da 0 a 499 del dispositivo /dev/sda1, la seconda gamba è posizionata sulle estensioni da 0 a 499 del dispositivo /dev/sdb1, ed il log del mirror inizia sull'estensione 0 di /dev/sdc1. Esse sono estensioni di 1MB. Se qualsiasi delle estensioni specificate è stata assegnata, essa verrà ignorata.
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0
lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0
Nota
4.4.1.4. Come modificare la configurazione del volume speculare Copia collegamentoCollegamento copiato negli appunti!
lvconvert. È possibile usare questo comando per riconfigurare altri parametri del mirror di un volume logico esistente, come ad esempio corelog.
lvconvert command to restore the mirror. This procedure is provided in Sezione 6.3, «Processo di recupero da un LVM Mirror Failure».
vg00/lvol1 in un volume logico speculare.
lvconvert -m1 vg00/lvol1
lvconvert -m1 vg00/lvol1
vg00/lvol1 in un volume logico lineare, rimuovendo la gamba del mirror.
lvconvert -m0 vg00/lvol1
lvconvert -m0 vg00/lvol1
4.4.2. Numeri del dispositivo persistenti Copia collegamentoCollegamento copiato negli appunti!
lvcreate e lvchange utilizzando i seguenti argomenti:
--persistent y --major major --minor minor
--persistent y --major major --minor minor
fsid nel file di esportazione, potreste non aver bisongo d'impostare un numero del dispositivo persistente all'interno di LVM.
4.4.3. Modifica della dimensione dei logical volumes Copia collegamentoCollegamento copiato negli appunti!
lvreduce. Se il volume logico contiene un file system, assicuratevi di ridurre prima il file system (o utilizzate la GUI di LVM), in modo che il volume logico abbia una dimensione uguale a quella prevista dal file system.
lvol1 nel gruppo di volumi vg00, di 3 estensioni logiche.
lvreduce -l -3 vg00/lvol1
lvreduce -l -3 vg00/lvol1
4.4.4. Modifica dei parametri di un gruppo di volumi logici Copia collegamentoCollegamento copiato negli appunti!
lvchange. Per un elenco di parametri modificabili consultate la man page di lvchange(8).
lvchange command to activate and deactivate logical volumes. To activate and deactivate all the logical volumes in a volume group at the same time, use the vgchange command, as described in Sezione 4.3.7, «Modifica dei parametri di un gruppo di volumi».
lvol1 nel gruppo di volumi vg00 in sola lettura.
lvchange -pr vg00/lvol1
lvchange -pr vg00/lvol1
4.4.5. Modifica del nome dei volumi logici Copia collegamentoCollegamento copiato negli appunti!
lvrename.
lvold nel gruppo di volumi vg02 in lvnew.
lvrename /dev/vg02/lvold /dev/vg02/lvnew
lvrename /dev/vg02/lvold /dev/vg02/lvnew
lvrename vg02 lvold lvnew
lvrename vg02 lvold lvnew
4.4.6. Rimozione dei volumi logici Copia collegamentoCollegamento copiato negli appunti!
lvremove. Prima di poter eseguire la rimozione è necessario disattivare il volume logico con il comando umount. In aggiunta, in un ambiente clusterizzato è necessario disattivare un volume logico prima di poterlo rimuovere.
/dev/testvg/testlv dal gruppo di volumi testvg. Da notare che in questo caso il volume logico non è stato disattivato.
lvremove /dev/testvg/testlv Do you really want to remove active logical volume "testlv"? [y/n]: y Logical volume "testlv" successfully removed
[root@tng3-1 lvm]# lvremove /dev/testvg/testlv
Do you really want to remove active logical volume "testlv"? [y/n]: y
Logical volume "testlv" successfully removed
lvchange -an, in questo caso non sarete in grado di visualizzare il prompt attraverso il quale potete verificare se rimuovere un volume logico attivo.
4.4.7. Visualizzazione dei volumi logici Copia collegamentoCollegamento copiato negli appunti!
lvs, lvdisplay, e lvscan.
lvs command provides logical volume information in a configurable form, displaying one line per logical volume. The lvs command provides a great deal of format control, and is useful for scripting. For information on using the lvs command to customize your output, see Sezione 4.9, «Personalizzazione dei riporti per LVM».
lvdisplay mostra le proprietà del volume logico (come ad esempio dimensione, schema e mappatura) in un formato fisso.
lvol2 in vg00. Se sono stati creati i volumi logici della snapshotper il volume logico originale in questione, il comando mostrerà un elenco di tutti i volumi logici della snapshot e del loro stato (attivo o inattivo).
lvdisplay -v /dev/vg00/lvol2
lvdisplay -v /dev/vg00/lvol2
lvscan esegue la scansione di tutti i logical volume nel sistema elencondoli, in modo simile al seguente esempio.
lvscan ACTIVE '/dev/vg0/gfslv' [1.46 GB] inherit
# lvscan
ACTIVE '/dev/vg0/gfslv' [1.46 GB] inherit
4.4.8. Come aumentare la dimensione dei volumi logici Copia collegamentoCollegamento copiato negli appunti!
lvextend.
/dev/myvg/homevol a 12 gigabyte.
lvextend -L12G /dev/myvg/homevol lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB lvextend -- doing automatic backup of volume group "myvg" lvextend -- logical volume "/dev/myvg/homevol" successfully extended
# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
/dev/myvg/homevol.
lvextend -L+1G /dev/myvg/homevol lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB lvextend -- doing automatic backup of volume group "myvg" lvextend -- logical volume "/dev/myvg/homevol" successfully extended
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
lvcreate, è possibile usare l'opzione -l del comando lvextend per specificare il numero di estensioni attraverso le quali aumentare la dimensione del volume logico. È possibile utilizzare questa opzione per specificare anche una percentuale del gruppo di volumi, o una percentuale di spazio libero disponibile nel gruppo di volumi. Il seguente comando estende il logical volume chiamato testlv, in modo da usare tutto lo spazio non assegnato nel gruppo di volumi myvg.
lvextend -l +100%FREE /dev/myvg/testlv Extending logical volume testlv to 68.59 GB Logical volume testlv successfully resized
[root@tng3-1 ~]# lvextend -l +100%FREE /dev/myvg/testlv
Extending logical volume testlv to 68.59 GB
Logical volume testlv successfully resized
4.4.9. Come estendere un volume striped Copia collegamentoCollegamento copiato negli appunti!
vg il quale consiste in due physical volume, come mostrato dal seguente comando vgs.
vgs VG #PV #LV #SN Attr VSize VFree vg 2 0 0 wz--n- 271.31G 271.31G
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz--n- 271.31G 271.31G
vgs VG #PV #LV #SN Attr VSize VFree vg 2 1 0 wz--n- 271.31G 0
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
lvextend iniziale.
4.4.10. Come ridurre le dimensione dei volumi logici Copia collegamentoCollegamento copiato negli appunti!
lvreduce per ridurre il volume. Dopo aver ridotto il volume, rimontate il file system.
Avvertimento
lvol1 nel gruppo di volume vg00, viene ridotta di 3 estensioni logiche.
lvreduce -l -3 vg00/lvol1
lvreduce -l -3 vg00/lvol1
4.5. Creazione dei volumi della snapshot Copia collegamentoCollegamento copiato negli appunti!
-s del comando lvcreate per creare un volume della snapshot. Il suddetto volume è modificabile.
Nota
/dev/vg00/snap. Ciò creerà una snapshot del volume logico dell'origine chiamata /dev/vg00/lvol1. Se il volume logico originale contiene un file system, allora sarà possibile montare il volume logico della snapshot su di una directory arbitraria, in modo da accedere ai contenuti del file system ed eseguire il backup durante l'aggiornamento del file system.
lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
lvdisplay dà luogo ad un output il quale include un elenco di tutti i logical volume della snapshot e del rispettivo stato (attivo o inattivo).
/dev/new_vg/lvol0, per il quale è stato creato un volume della snapshot /dev/new_vg/newvgsnap.
lvs visualizza il volume d'origine e la percentuale corrente usata del volume della snapshot. Il seguente esempio mostra l'output predefinito per il comando lvs per un sistema che include il volume logico /dev/new_vg/lvol0, per il quale è stato creato un volume della snapshot /dev/new_vg/newvgsnap.
lvs LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 new_vg owi-a- 52.00M newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
Nota
lvs in modo da assicurarsi che non venga del tutto utilizzata. Una snapshot utilizzata al 100% viene completamente persa, poichè il processo di scrittura su sezioni non modificate dell'origine non andrà a buon fine, in caso contrario verrà corrotta la snapshot.
4.6. Controllo delle scansioni del dispositivo LVM con i filtri Copia collegamentoCollegamento copiato negli appunti!
vgscan esegue la scansione dei dispositivi a blocchi sul sistema, andando alla ricerca di etichette LVM per determinare i physical volume, leggere i metadata, e creare un elenco di gruppi di volumi. I nomi dei physical volume sono conservati nel file di cache di ogni nodo nel sistema, /etc/lvm/.cache. I comandi che ne seguono possono leggere il file in modo da evitarne successive scansioni.
lvm.conf. I filtri consistono in una serie di espressioni regolari semplici, applicate ai nomi del dispositivo nella directory /dev, per decidere se accettare o rifiutare ogni dispositivo a blocchi trovato.
a/loop/ è equivalente a a/.*loop.*/ e corrisponderebbe a /dev/solooperation/lvol1.
filter = [ "a/.*/" ]
filter = [ "a/.*/" ]
filter = [ "r|/dev/cdrom|" ]
filter = [ "r|/dev/cdrom|" ]
filter = [ "a/loop.*/", "r/.*/" ]
filter = [ "a/loop.*/", "r/.*/" ]
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
lvm.conf file, see Appendice B, File di configurazione di LVM and the lvm.conf(5) man page.
4.7. Riassegnazione dati online Copia collegamentoCollegamento copiato negli appunti!
pvmove.
pvmove divide i dati da spostare in sezioni, e crea un mirror provvisorio per poter muovere ogni sezione. Per maggiori informazioni sul funzionamento di pvmove, consultate la pagina man di pvmove(8).
pvmove command uses mirroring, it is not cluster-aware and needs exclusive access to a volume. For information on activating logical volumes on individual nodes in a cluster, see Sezione 4.8, «Attivazione dei volumi logici su nodi individuali in un cluster».
/dev/sdc1 ad altri physical volume presenti nel gruppo di volumi:
pvmove /dev/sdc1
pvmove /dev/sdc1
MyLV.
pvmove -n MyLV /dev/sdc1
pvmove -n MyLV /dev/sdc1
pvmove potrebbe richiedere molto tempo, è consigliato eseguirlo nel background in modo da evitare la visualizzazione del progresso degli aggiornamenti. Il seguente comando sposta tutte le estensioni assegnate al physical volume /dev/sdc1 su /dev/sdf1 nel background.
pvmove -b /dev/sdc1 /dev/sdf1
pvmove -b /dev/sdc1 /dev/sdf1
pvmove -i5 /dev/sdd1
pvmove -i5 /dev/sdd1
4.8. Attivazione dei volumi logici su nodi individuali in un cluster Copia collegamentoCollegamento copiato negli appunti!
pvmove non è cluster-aware e ha bisogno di un accesso esclusivo ad un volume. Anche le snapshot di LVM richiedono un accesso esclusivo ad un volume.
lvchange -aey. Alternativamente, potrete utilizzare lvchange -aly per attivare i volumi logici solo, ma non esclusivamente, sul nodo locale. Successivamente potrete attivarli simultaneamente su nodi aggiuntivi.
4.9. Personalizzazione dei riporti per LVM Copia collegamentoCollegamento copiato negli appunti!
pvs, lvs, e vgs. I riporti generati da questi comandi includono un output di una sola riga per ogni oggetto. Ogni riga contiene un elenco ordinato di campi relativi alle proprietà dell'oggetto. È possibile selezionare gli oggetti da riportare in cinque modi diversi: attraverso il volume fisico, il gruppo di volumi, volume logico, il segmento del volume fisico ed il segmento del volume logico.
- Un sommario degli argomenti del comando utilizzabili per controllare il formato del riporto generato.
- Un elenco dei campi selezionabili per ogni oggetto LVM.
- Un sommario degli argomenti del comando utilizzabili per ordinare il riporto generato.
- Le informazioni su come specificare le unità dell'output del riporto.
4.9.1. Controllo del formato Copia collegamentoCollegamento copiato negli appunti!
pvs, lvs, o vgs determinerete il set predefinito dei campi visualizzati ed il tipo di ordine da seguire. Potrete controllare l'output dei suddetti comandi con i seguenti argomenti:
- Sarete in grado di modificare i campi visualizzati in modo da avere una selezione diversa dall'impostazione predefinita utilizzando l'opzione
-o. Per esempio, il seguente output è il display predefinito per il comandopvs(il quale mostra le informazioni sui physcial volume).Copy to Clipboard Copied! Toggle word wrap Toggle overflow È possibile visualizzare solo la dimensione ed il nome del physical volume con il seguente comando.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - È possibile aggiungere un campo all'output utilizzando il segno più (+); il suddetto segno viene usato in combinazione con l'opzione -o.Il seguente esempio mostra l'UUID del physical volume insieme ai campi predefiniti.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Aggiungendo l'opzione
-vad un comando, includerete alcuni campi aggiuntivi. Per esempio, il comandopvs -vmostrerà i campiDevSizeePV UUIDinsieme ai campi predefiniti.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - L'opzione
--noheadingsrimuove la riga delle intestazioni. Ciò può essere utile per la scrittura di script.Il seguente esempio utilizza l'opzione--noheadingsinsieme apv_name, generando un elenco di tutti i physical volume.pvs --noheadings -o pv_name /dev/sdb1 /dev/sdc1 /dev/sdd1
# pvs --noheadings -o pv_name /dev/sdb1 /dev/sdc1 /dev/sdd1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - L'opzione
--separator separatorutilizza separator per separare ogni campo. Ciò può essere utile in uno script se state eseguendogrepper l'output.Il seguente esempio separa i campi predefiniti per l'output dipvscon il segno uguale (=).Copy to Clipboard Copied! Toggle word wrap Toggle overflow Per mantenere i campi allineati durante l'utilizzo delseparator, utilizzate l'opzioneseparatorinsieme con--aligned.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-P argument of the lvs or vgs command to display information about a failed volume that would otherwise not appear in the output. For information on the output this argument yields, see Sezione 6.2, «Come visualizzare le informazioni su dispositivi falliti».
pvs(8), vgs(8) e lvs(8).
4.9.2. Selezione dell'oggetto Copia collegamentoCollegamento copiato negli appunti!
pvs, vgs, e lvs.
pvs, name significa pv_name, mentre con il comando vgs, name viene interpretato come vg_name.
pvs -o pv_free.
Il comando pvs Copia collegamentoCollegamento copiato negli appunti!
pvs command, along with the field name as it appears in the header display and a description of the field.
| Opzione | Intestazione | Descrizione |
|---|---|---|
dev_size | DevSize | Misura del dispositivo sul quale è stato creato il physical volume |
pe_start | 1st PE | L'offset all'inizio della prima estensione fisica del dispositivo interessato |
pv_attr | Attr | Stato del physical volume: (a)ssegnabile o e(s)portato |
pv_fmt | Fmt | Il formato dei metadata del physical volume (lvm2 o lvm1) |
pv_free | PFree | Lo spazio libero restante sul physical volume |
pv_name | PV | Il nome del physical volume |
pv_pe_alloc_count | Alloc | Numero di estensioni fisiche usate |
pv_pe_count | PE | Numero di estensioni fisiche |
pvseg_size | SSize | La dimensione del segmento del physical volume |
pvseg_start | Start | L'estensione fisica iniziale del segmento del physical volume |
pv_size | PSize | La dimensione del physical volume |
pv_tags | PV Tags | Le etichette di LVM relative al physical volume |
pv_used | Used | La quantità di spazio attualmente usato sul physical volume |
pv_uuid | PV UUID | L'UUID del physical volume |
pvs mostra per default i seguenti campi: pv_name, vg_name, pv_fmt, pv_attr, pv_size, pv_free. L'ordine seguito viene indicato dall'opzione pv_name.
-v con il comando pvs, aggiungerete i seguenti campi al display predefinito: dev_size, pv_uuid.
--segments del comando pvs, per visualizzare le informazioni su ogni segmento del physical volume. Un segmento è rappresentato da un gruppo di estensioni. Una vista del segmento può essere utile per controllare se il vostro volume logico è frammentato.
pvs --segments mostra per default i seguenti campi: pv_name, vg_name, pv_fmt, pv_attr, pv_size, pv_free, pvseg_start, pvseg_size. L'elenco è ordinato in base al pv_name e pvseg_size all'interno del physical volume.
pvs -a.
Il comando vgs Copia collegamentoCollegamento copiato negli appunti!
vgs command, along with the field name as it appears in the header display and a description of the field.
| Opzione | Intestazione | Descrizione |
|---|---|---|
lv_count | #LV | Il numero di volumi logici contenuti nel gruppo di volumi |
max_lv | MaxLV | Il numero massimo di volumi logici permessi nel gruppo di volumi (0 se illimitato) |
max_pv | MaxPV | Il numero massimo di physical volume permessi nel gruppo di volumi (0 se illimitato) |
pv_count | #PV | Il numero di physical volume che definisce il gruppo di volumi |
snap_count | #SN | Il numero di snapshot contenute nel gruppo di volumi |
vg_attr | Attr | Stato del gruppo di volumi: (w)riteable, (r)eadonly, resi(z)eable, e(x)ported, (p)artial e (c)lustered. |
vg_extent_count | #Ext | Il numero di estensioni fisiche nel gruppo di volumi |
vg_extent_size | Ext | La dimensione delle estensioni fisiche nel gruppo di volumi |
vg_fmt | Fmt | Il formato dei metadata del gruppo di volumi (lvm2 o lvm1) |
vg_free | VFree | La dimensione dello spazio libero restante nel gruppo di volumi |
vg_free_count | Free | Il numero di estensioni fisiche libere presenti nel gruppo di volumi |
vg_name | VG | Il nome del gruppo di volumi |
vg_seqno | Seq | Il numero che rappresenta la revisione del gruppo di volumi |
vg_size | VSize | La dimensione del gruppo di volumi |
vg_sysid | SYS ID | ID del sistema LVM1 |
vg_tags | VG Tags | Le etichette di LVM relative al gruppo di volumi |
vg_uuid | VG UUID | L'UUID del gruppo di volumi |
vgs visualizza per default i seguenti campi: vg_name, pv_count, lv_count, snap_count, vg_attr, vg_size, vg_free. L'elenco viene ordinato in base al vg_name.
vgs VG #PV #LV #SN Attr VSize VFree new_vg 3 1 1 wz--n- 51.42G 51.36G
# vgs
VG #PV #LV #SN Attr VSize VFree
new_vg 3 1 1 wz--n- 51.42G 51.36G
-v del comando vgs, verranno aggiunti all'impostazione predefinita i seguenti campi: vg_extent_size, vg_uuid.
Il comando lvs Copia collegamentoCollegamento copiato negli appunti!
lvs command, along with the field name as it appears in the header display and a description of the field.
| Opzione | Intestazione | Descrizione | ||||||
|---|---|---|---|---|---|---|---|---|
| Chunk | Dimensione unità in un volume della snapshot | ||||||
copy_percent | Copy% | La percentuale di sincronizzazione di un volume logico speculare; usato anche quando le estensioni fisiche vengono spostate con il comando pv_move | ||||||
devices | Dispositivi | I dispositivi che costituiscono il volume logico: i volumi fisici, volumi logici, e le estensioni fisiche e logiche iniziali | ||||||
lv_attr | Attr | Stato del volume logico. Di seguito vengono riportati i bit per l'attributo del volume logico:
| ||||||
lv_kernel_major | KMaj | Numero maggiore del dispositivo del volume logico (-1 se inattivo) | ||||||
lv_kernel_minor | KMIN | Numero minore del dispositivo del volume logico (-1 se inattivo) | ||||||
lv_major | Maj | Il numero maggiore persistente del dispositivo del volume logico (-1 se non specificato) | ||||||
lv_minor | Min | Il numero minore persistente del dispositivo del volume logico (-1 se non specificato) | ||||||
lv_name | LV | Il nome del volume logico | ||||||
lv_size | LSize | La dimensione del volume logico | ||||||
lv_tags | LV Tags | Le etichette di LVM relative al volume logico | ||||||
lv_uuid | LV UUID | L'UUID del volume logico. | ||||||
mirror_log | Log | Dispositivo nel quale risiede il log del mirror | ||||||
modules | Moduli | Il target device-mapper del kernel corrispondente necessario per utilizzare questo volume logico | ||||||
move_pv | Move | physical volume sorgente di un volume logico provvisorio creato con il comando pvmove | ||||||
origin | Origine | Il dispositivo d'origine di un volume della snapshot | ||||||
| Regione | La dimensione dell'unità di un volume logico speculare | ||||||
seg_count | #Seg | Il numero di segmenti nel volume logico | ||||||
seg_size | SSize | La dimensione dei segmenti nel volume logico | ||||||
seg_start | Start | L'offset del segmento nel volume logico | ||||||
seg_tags | Seg Tags | Le etichette di LVM relative ai segmenti del volume logico | ||||||
segtype | Tipo | IL tipo di segmento di un volume logico (per esempio: mirror, striped, lineare) | ||||||
snap_percent | Snap% | Percentuale corrente del volume della snapshot in uso | ||||||
stripes | #Str | Numero di bande o mirror in un volume logico | ||||||
| Banda | Dimensione dell'unità della banda in un volume logico striped |
lvs mostra per default i seguenti campi: lv_name, vg_name, lv_attr, lv_size, origin, snap_percent, move_pv, mirror_log, copy_percent. L'elenco viene visualizzato in base al vg_name e lv_name all'interno del gruppo di volumi.
lvs LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 new_vg owi-a- 52.00M newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
-v con il comando lvs aggiungerete i seguenti campi all'impostazione predefinita: seg_count, lv_major, lv_minor, lv_kernel_major, lv_kernel_minor, lv_uuid.
--segments del comando lvs. Quando utilizzate l'opzione segments il prefisso seg diventa facoltativo. Il comando lvs --segments mostra per default i seguenti campi: lv_name, vg_name, lv_attr, stripes, segtype, seg_size. Il display predefinito viene visualizzato in base al vg_name, lv_name all'interno del gruppo di volumi, e seg_start all'interno del volume logico. Se i logical volume sono frammentati, l'output del suddetto comando sarà in grado di mostrarlo.
-v con il comando lvs --segments aggiungerete i seguenti campi al display predefinito: seg_start, stripesize, chunksize.
lvs su di un sistema con un volume logico configurato, seguito dall'output predefinito di lvs con segments specificato.
4.9.3. Come ordinare i riporti di LVM Copia collegamentoCollegamento copiato negli appunti!
lvs, vgs, o pvs deve essere generato e conservato internamente prima di poterlo ordinare, ed eseguire un allineamento corretto delle colonne. Specificate l'opzione --unbuffered per visualizzare gli output non ordinati appena generati.
-O di uno qualsiasi dei comandi usati per il riporto. Non è necessario includere questi campi all'interno dell'output.
pvs il quale mostra il nome, la dimensione e lo spazio disponibile del physical volume.
- subito dopo il campo che contiene l'opzione -O.
4.9.4. Come specificare le unità Copia collegamentoCollegamento copiato negli appunti!
--units del comando di riporto. È possibile specificare (b)ytes, (k)ilobytes, (m)egabytes, (g)igabytes, (t)erabytes, (e)xabytes, (p)etabytes, e (h)uman-readable. L'impostazione predefinita è human-readable. Potrete sovrascrivere l'impostazione predefinita impostando il parametro units nella sezione global del file lvm.conf.
pvs in megabyte e non in gigabytea.
pvs come un numero di settori.
pvs in unità di 4 megabyte.
Capitolo 5. Esempi di configurazione LVM Copia collegamentoCollegamento copiato negli appunti!
5.1. Creazione di un volume logico LVM su tre dischi Copia collegamentoCollegamento copiato negli appunti!
new_logical_volume il quale consiste nei dischi /dev/sda1, /dev/sdb1, e /dev/sdc1
5.1.1. Creazione dei physical volume Copia collegamentoCollegamento copiato negli appunti!
Avvertimento
/dev/sda1, /dev/sdb1, e /dev/sdc1.
pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 Physical volume "/dev/sda1" successfully created Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully created
[root@tng3-1 ~]# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
5.1.2. Creazione del gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
new_vol_group.
vgcreate new_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1 Volume group "new_vol_group" successfully created
[root@tng3-1 ~]# vgcreate new_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1
Volume group "new_vol_group" successfully created
vgs per visualizzare gli attributi del nuovo gruppo di volumi.
vgs VG #PV #LV #SN Attr VSize VFree new_vol_group 3 0 0 wz--n- 51.45G 51.45G
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
new_vol_group 3 0 0 wz--n- 51.45G 51.45G
5.1.3. Creazione del volume logico Copia collegamentoCollegamento copiato negli appunti!
new_logical_volume dal gruppo di volumi new_vol_group. In questo esempio viene creato un volume logico che utilizza 2 GB del gruppo di volumi.
lvcreate -L2G -n new_logical_volume new_vol_group Logical volume "new_logical_volume" created
[root@tng3-1 ~]# lvcreate -L2G -n new_logical_volume new_vol_group
Logical volume "new_logical_volume" created
5.1.4. Creazione del file system Copia collegamentoCollegamento copiato negli appunti!
5.2. Creazione di un volume logico Striped Copia collegamentoCollegamento copiato negli appunti!
striped_logical_volume il quale scrive i dati attraverso i dischi su /dev/sda1, /dev/sdb1, e /dev/sdc1.
5.2.1. Creazione dei physical volume Copia collegamentoCollegamento copiato negli appunti!
Avvertimento
/dev/sda1, /dev/sdb1, e /dev/sdc1.
pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 Physical volume "/dev/sda1" successfully created Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully created
[root@tng3-1 ~]# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdc1" successfully created
5.2.2. Creazione del gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
striped_vol_group.
vgcreate striped_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1 Volume group "striped_vol_group" successfully created
[root@tng3-1 ~]# vgcreate striped_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1
Volume group "striped_vol_group" successfully created
vgs per visualizzare gli attributi del nuovo gruppo di volumi.
vgs VG #PV #LV #SN Attr VSize VFree striped_vol_group 3 0 0 wz--n- 51.45G 51.45G
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
striped_vol_group 3 0 0 wz--n- 51.45G 51.45G
5.2.3. Creazione del volume logico Copia collegamentoCollegamento copiato negli appunti!
striped_logical_volume dal gruppo di volumi striped_vol_group. In questo esempio viene creato un volume logico con una misura di 2 gigabyte, con tre bande con una dimensione di 4 kilobyte l'una.
lvcreate -i3 -I4 -L2G -nstriped_logical_volume striped_vol_group Rounding size (512 extents) up to stripe boundary size (513 extents) Logical volume "striped_logical_volume" created
[root@tng3-1 ~]# lvcreate -i3 -I4 -L2G -nstriped_logical_volume striped_vol_group
Rounding size (512 extents) up to stripe boundary size (513 extents)
Logical volume "striped_logical_volume" created
5.2.4. Creazione del file system Copia collegamentoCollegamento copiato negli appunti!
5.3. Separazione di un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
mylv viene ottenuto dal gruppo di volumi myvol, il quale a sua volta consiste di tre physical volume, /dev/sda1, /dev/sdb1, e /dev/sdc1.
myvg consisterà in /dev/sda1 e /dev/sdb1. Un secondo gruppo di volumi, yourvg, consisterà in /dev/sdc1.
5.3.1. Come determinare lo spazio disponibile Copia collegamentoCollegamento copiato negli appunti!
pvscan.
5.3.2. Come spostare i dati Copia collegamentoCollegamento copiato negli appunti!
/dev/sdc1 su /dev/sdb1 tramite pvmove. pvmove può richiedere un periodo molto lungo per la sua esecuzione.
/dev/sdc1 è ora disponibile.
5.3.3. Come dividere il gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
yourvg, utilizzate il comando vgsplit per dividere il gruppo di volumi myvg.
lvchange o vgchange. Il seguente comando rende inattivo il volume logico mylv, e successivamente divide il gruppo di volumi yourvg dal gruppo di volumi myvg, spostando il physical volume /dev/sdc1 nel nuovo gruppo di volumi yourvg.
lvchange -a n /dev/myvg/mylv vgsplit myvg yourvg /dev/sdc1 Volume group "yourvg" successfully split from "myvg"
[root@tng3-1 ~]# lvchange -a n /dev/myvg/mylv
[root@tng3-1 ~]# vgsplit myvg yourvg /dev/sdc1
Volume group "yourvg" successfully split from "myvg"
vgs per visualizzare gli attributi dei due gruppi di volumi.
vgs VG #PV #LV #SN Attr VSize VFree myvg 2 1 0 wz--n- 34.30G 10.80G yourvg 1 0 0 wz--n- 17.15G 17.15G
[root@tng3-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 2 1 0 wz--n- 34.30G 10.80G
yourvg 1 0 0 wz--n- 17.15G 17.15G
5.3.4. Creazione di un nuovo volume logico Copia collegamentoCollegamento copiato negli appunti!
yourlv.
lvcreate -L5G -n yourlv yourvg Logical volume "yourlv" created
[root@tng3-1 ~]# lvcreate -L5G -n yourlv yourvg
Logical volume "yourlv" created
5.3.5. Creazione di un file system e montaggio di un nuovo volume logico Copia collegamentoCollegamento copiato negli appunti!
5.3.6. Attivazione e montaggio del volume logico originale Copia collegamentoCollegamento copiato negli appunti!
mylv, sarà necessario riattivarlo prima di poterlo montare.
5.4. Rimozione di un disco da un volume logico Copia collegamentoCollegamento copiato negli appunti!
5.4.1. Come spostare le estensioni su physical volume esistenti Copia collegamentoCollegamento copiato negli appunti!
myvg.
/dev/sdb1 in modo da poter rimuoverlo dal gruppo di volumi.
pvmove senza alcuna opzione sul dispositivo che desiderate rimuovere, così facendo le estensioni verranno distribuite su altri disposiviti.
pvmove, la distribuzione delle estensioni risulta essere:
vgreduce per rimuovere il physical volume /dev/sdb1 dal gruppo di volumi.
5.4.2. Come spostare le estensioni su di un nuovo disco Copia collegamentoCollegamento copiato negli appunti!
myvg nel modo seguente:
/dev/sdb1> su di un nuovo dispositivo, /dev/sdd1.
5.4.2.1. Creazione di un nuovo Physical Volume Copia collegamentoCollegamento copiato negli appunti!
/dev/sdd1.
pvcreate /dev/sdd1 Physical volume "/dev/sdd1" successfully created
[root@tng3-1 ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created
5.4.2.2. Aggiungete il nuovo Physical Volume al gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
/dev/sdd1 sul gruppo di volumi esistente myvg.
5.4.2.3. Come spostare i dati Copia collegamentoCollegamento copiato negli appunti!
pvmove per spostare i dati da /dev/sdb1 a /dev/sdd1.
5.4.2.4. Rimozione del Physical Volume vecchio dal gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
/dev/sdb1, potrete eseguire la sua rimozione dal gruppo di volumi.
vgreduce myvg /dev/sdb1 Removed "/dev/sdb1" from volume group "myvg"
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
Capitolo 6. Troubleshooting LVM Copia collegamentoCollegamento copiato negli appunti!
6.1. Informazioni diagnostiche per il troubleshooting Copia collegamentoCollegamento copiato negli appunti!
- Utilizzate le opzioni
-v,-vv,-vvv, o-vvvvdi qualsiasi comando, per livelli sempre più verbosi dell'output. - If the problem is related to the logical volume activation, set 'activation = 1' in the 'log' section of the configuration file and run the command with the
-vvvvargument. After you have finished examining this output be sure to reset this parameter to 0, to avoid possible problems with the machine locking during low memory situations. - Eseguite il comando
lvmdumpil quale fornisce le informazioni relative al dump per scopi diagnostici. Per informazioni consultate la pagina man (8) dilvmdump. - Eseguite il comando
lvs -v,pvs -aodmsetup info -cper informazioni aggiuntive del sistema. - Esaminate l'ultimo backup dei metadata in
/etc/lvm/backupe le versioni archiviate in/etc/lvm/archive. - Controllate le informazioni correnti sulla configurazione, eseguendo il comando
lvm dumpconfig. - Controllate il file
.cachein/etc/lvmper informazioni relative a quale dispositivo possiede i physical volume.
6.2. Come visualizzare le informazioni su dispositivi falliti Copia collegamentoCollegamento copiato negli appunti!
-P del comando lvs o vgs, per visualizzare le informazioni sul volume fallito che potrebbero non apparire all'interno dell'output. Questa opzione permette alcune operazioni anche se i metadata non sono completamente uguali all'interno. Per esempio, se uno dei dispositivi che compone il gruppo di volumi vg fallisce, il comando vgs potrebbe mostrare il seguente output.
vgs -o +devices Volume group "vg" not found
[root@link-07 tmp]# vgs -o +devices
Volume group "vg" not found
-P di vgs, il gruppo di volumi risulta essere ancora non utilizzabile, ma sarete in grado di visualizzare maggiori informazioni sul dispositivo fallito.
lvs senza l'opzione -P mostra il seguente output.
lvs -a -o +devices Volume group "vg" not found
[root@link-07 tmp]# lvs -a -o +devices
Volume group "vg" not found
-P visualizzerete i volumi logici falliti.
pvs e lvs con l'opzione -P specificata quando una parte del volume logico speculare è fallita.
6.3. Processo di recupero da un LVM Mirror Failure Copia collegamentoCollegamento copiato negli appunti!
vg ed i volumi speculari groupfs.
lvs per verificare la disposizione del volume speculare, e dei dispositivi relativi alla parte del mirror e del log. Da notare che nel primo esempio il mirror non è ancora completamente sincronizzato; dovreste attendere fino a quando il campo Copy% mostra il valore 100.00 prima di continuare.
/dev/sda1 fallisce. Ogni attività di scrittura sul volume speculare, causa il rilevamento da parte di LVM del mirror fallito. Quando ciò accade, LVM converte il mirror in un volume lineare singolo. In questo caso per attivare la conversione, verrà eseguito un comando dd
dd if=/dev/zero of=/dev/vg/groupfs count=10 10+0 records in 10+0 records out
[root@link-08 ~]# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
lvs per verificare che il dispositivo risulta essere un dispositivo lineare. A causa del disco fallito si verificheranno errori I/O.
pvcreate command.
lvconvert -m 1 /dev/vg/groupfs /dev/sda1 /dev/sdb1 /dev/sdc1 Logical volume mirror converted.
[root@link-08 ~]# lvconvert -m 1 /dev/vg/groupfs /dev/sda1 /dev/sdb1 /dev/sdc1
Logical volume mirror converted.
lvs per verificare che il mirror sia stato ripristinato.
6.4. Recupero dei metadata del Physical Volume Copia collegamentoCollegamento copiato negli appunti!
Avvertimento
/etc/lvm/archive. Verificate il file VolumeGroupName_xxxx.vg per gli ultimi metadata di LVM validi archiviati, per quel gruppo di volumi.
partial (-P), potrebbe permettervi di trovare l'UUID del physical volume corrotto mancante.
--uuid e --restorefile di pvcreate per ripristinare il physical volume. Il seguente esempio etichetta il dispositivo /dev/sdh1 come physical volume con il seguente UUID, FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk. Questo comando ripristina le informazioni relative ai metadata con contenuti VG_00050.vg, il più recente metadata corretto archiviato per il gruppo di volumi . L'opzione restorefile indica al comando pvcreate di rendere il nuovo physical volume compatibile con quello vecchio presente sul gruppo di volumi, assicurando che la nuova versione dei metadata non venga posizionata dove il physical volume precedente conteneva i dati (tale comportamento si potrebbe verificare se per esempio, il comando pvcreate originale avesse usato gli argomenti della linea di comando per controllare il posizionamento dei metadata, o se il physical volume fosse stato creato originariamente utilizando una versione diversa di software che utilizza impostazioni predefinite differenti).Il comando pvcreate sovrascrive solo le aree dei metadata di LVM e non interessa le aree dei dati esistenti.
pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1 Physical volume "/dev/sdh1" successfully created
[root@link-07 backup]# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
Physical volume "/dev/sdh1" successfully created
vgcfgrestore command to restore the volume group's metadata.
vgcfgrestore VG Restored volume group VG
[root@link-07 backup]# vgcfgrestore VG
Restored volume group VG
lvs -a -o +devices LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0) stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
[root@link-07 backup]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
fsck.
6.5. Sostituzione di un Physical Volume mancante Copia collegamentoCollegamento copiato negli appunti!
--partial and --verbose arguments of the vgdisplay command to display the UUIDs and sizes of any physical volumes that are no longer present. If you wish to substitute another physical volume of the same size, you can use the pvcreate command with the --restorefile and --uuid arguments to initialize a new device with the same UUID as the missing physical volume. You can then use the vgcfgrestore command to restore the volume group's metadata.
6.6. Rimozione dei physical volume persi da un gruppo di volumi Copia collegamentoCollegamento copiato negli appunti!
--partial del comando vgchange. È possibile rimuovere tutti i volumi logici che utilizzano il volume fisico dal gruppo di volumi tramite l'opzione --removemissing del comando vgreduce.
vgreduce con l'opzione --test, per verificare ciò che state eliminando.
vgreduce è reversibile, ciò significa che è possibile utilizzare immediatamente il comando vgcfgrestore, per ripristinare i metadata del gruppo di volumi al loro stato precedente. Per esempio, se avete usato l'opzione --removemissing del comando vgreduce senza l'opzione --test, e se avete rimosso i volumi logici che desideravate mantenere, sarà ancora possibile sostituire il physical volume ed utilizzare un altro comando vgcfgrestore, per ritornare lo stato del gruppo di volumi al suo stato precedente.
6.7. Estensioni disponibili insufficienti per un volume logico Copia collegamentoCollegamento copiato negli appunti!
vgdisplay or vgs commands. This is because these commands round figures to 2 decimal places to provide human-readable output. To specify exact size, use free physical extent count instead of some multiple of bytes to determine the size of the logical volume.
vgdisplay per default include questa riga la quale indica le estensioni fisiche disponibili.
vgdisplay --- Volume group --- ... Free PE / Size 8780 / 34.30 GB
# vgdisplay
--- Volume group ---
...
Free PE / Size 8780 / 34.30 GB
vg_free_count e vg_extent_count di vgs, per visualizzare le estensioni disponibili ed il numero totale di estensioni.
vgs -o +vg_free_count,vg_extent_count VG #PV #LV #SN Attr VSize VFree Free #Ext testvg 2 0 0 wz--n- 34.30G 34.30G 8780 8780
[root@tng3-1 ~]# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 0 0 wz--n- 34.30G 34.30G 8780 8780
lvcreate -l8780 -n testlv testvg
# lvcreate -l8780 -n testlv testvg
vgs -o +vg_free_count,vg_extent_count VG #PV #LV #SN Attr VSize VFree Free #Ext testvg 2 1 0 wz--n- 34.30G 0 0 8780
# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 1 0 wz--n- 34.30G 0 0 8780
-l argument of the lvcreate command. For information, see Sezione 4.4.1.1, «Creazione volumi lineari».
Capitolo 7. Amministrazione di LVM con la GUI di LVM Copia collegamentoCollegamento copiato negli appunti!
system-config-lvm. Il capitolo di LVM della Red Hat Enterprise Linux Deployment Guide fornisce le informazioni utili passo-dopo-passo, su come configurare un volume logico LVM utilizzando questa utilità.
Appendice A. Device Mapper Copia collegamentoCollegamento copiato negli appunti!
dmraid utilizzano il Device Mapper. L'interfaccia dell'applicazione per il Device Mapper è la chiamata del sistema ioctl. L'interfaccia utente è il comando dmsetup.
dmsetup command. For information about the format of devices in a mapping table, see Sezione A.1, «Tabella di mappatura del dispositivo». For information about using the dmsetup command to query a device, see Sezione A.2, «Il comando dmsetup».
A.1. Tabella di mappatura del dispositivo Copia collegamentoCollegamento copiato negli appunti!
start length mapping [mapping_parameters...]
start length mapping [mapping_parameters...]
start deve essere uguale a 0. I parametri start + length su di una riga, devono essere uguali a start sulla riga successiva. I parametri di mappatura da specificare sulla riga della tabella, dipendono dal tipo di mapping specificato sulla riga.
/dev/hda), o dai numeri minore e maggiore nel formato major:minor. Il formato major:minor viene preferito poichè evita i lookup del percorso.
0 35258368 linear 8:48 65920 35258368 35258368 linear 8:32 65920 70516736 17694720 linear 8:16 17694976 88211456 17694720 linear 8:16 256
0 35258368 linear 8:48 65920
35258368 35258368 linear 8:32 65920
70516736 17694720 linear 8:16 17694976
88211456 17694720 linear 8:16 256
lineare. Il resto della riga consiste in parametri per un target lineare.
- lineare
- striped
- mirror
- snapshot e snapshot-origin
- error
- zero
- multipath
- crypt
A.1.1. Target di mappatura lineare Copia collegamentoCollegamento copiato negli appunti!
start length linear device offset
start length linear device offset
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
device- dispositivo a blocchi, indicato dal nome del dispositivo nel filesystem o dai numeri maggiore e minore nel formato
major:minor offset- offset iniziale della mappatura sul dispositivo
0 16384000 linear 8:2 41156992
0 16384000 linear 8:2 41156992
/dev/hda specificato come parametro del dispositivo.
0 20971520 linear /dev/hda 384
0 20971520 linear /dev/hda 384
A.1.2. Target di mappatura striped Copia collegamentoCollegamento copiato negli appunti!
start length striped #stripes chunk_size device1 offset1 ... deviceN offsetN
start length striped #stripes chunk_size device1 offset1 ... deviceN offsetN
device e offset per ogni striscia.
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
#stripes- numero di strisce per il dispositivo virtuale
chunk_size- numero dei settori scritti su ogni fascia prima di smistarsi su quella successiva; deve essere una potenza di 2 e grande almeno quanto la dimensione della pagina del kernel
device- dispositivo a blocchi, indicato dal nome del dispositivo nel filesystem o dai numeri maggiore e minore nel formato
major:minor. offset- offset iniziale della mappatura sul dispositivo
0 73728 striped 3 128 8:9 384 8:8 384 8:7 9789824
0 73728 striped 3 128 8:9 384 8:8 384 8:7 9789824
- 0
- blocco iniziale in un dispositivo virtuale
- 73728
- lunghezza di questo segmento
- striped 3 128
- striscia attraverso tre dispositivi con un segmento di 128 blocchi
- 8:9
- major:minor numeri del primo dispositivo
- 384
- offset d'avvio della mappatura sul primo dispositivo
- 8:8
- numeri major:minor del secondo dispositivo
- 384
- offset d'inizio della mappatura sul secondo dispositivo
- 8:7
- numeri major:minor del terzo dispositivo
- 9789824
- offset d'inizio della mappatura sul terzo dispositivo
0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0
0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0
A.1.3. Il target di mappatura mirror Copia collegamentoCollegamento copiato negli appunti!
start length mirror log_type #logargs logarg1 ... logargN #devs device1 offset1 ... deviceN offsetN
start length mirror log_type #logargs logarg1 ... logargN #devs device1 offset1 ... deviceN offsetN
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
log_type- I tipi possibili di log ed i rispettivi argomenti sono di seguito riportati:
core- Il mirror è locale ed il mirror log viene conservato nella memoria principale. Questo tipo di log richiede 1 - 3 argomenti:regionsize [[
no]sync] [block_on_error] disk- Il mirror è locale ed il mirror log viene conservato sul disco. Questo tipo di log richiede 2 - 4 argomenti:logdevice regionsize [[
no]sync] [block_on_error] clustered_core- Il mirror è clusterizzato ed il mirror log viene conservato nella memoria principale. Questo tipo di log richiede 2 - 4 argomenti:regionsize UUID [[
no]sync] [block_on_error] clustered_disk- Il mirror è clusterizzato ed il mirror log viene conservato sul disco. Questo tipo di log richiede 3 - 5 argomenti:logdevice regionsize UUID [[
no]sync] [block_on_error]
LVM conserva un piccolo log il quale viene utilizzato per controllare le regioni in sincronizzazione con i mirror. L'argomento regionsize specifica la dimensione di queste regioni.In un ambiente clusterizzato l'argomento UUID è un identificatore unico associato con il dispositivo mirror log, in modo da poter mantenere lo stato del log sull'intero cluster.The optional[no]syncargument can be used to specify the mirror as "in-sync" or "out-of-sync". Theblock_on_errorargument is used to tell the mirror to respond to errors rather than ignoring them. #log_args- numero di argomenti di log che verranno specificati nella mappatura.
logargs- gli argomenti di log per il mirror; il numero di argomenti di log forniti viene specificato dal parametro
#log-args, e gli argomenti di log validi sono determinati dal parametrolog_type. #devs- il numero di gambe (o sezioni) nel mirror; viene specificato un dispositivo ed un offset per ogni sezione.
device- dispositivo a blocchi per ogni gamba del mirror, indicato dal nome del dispositivo nel filesystem o dai numeri major e minor nel formato
major:minor. Un dispositivo a blocchi e l'offset sono specificati per ogni gamba del mirror, come riportato dal parametro#devs. offset- offset d'inizio per la mappatura sul dispositivo. Un dispositivo a blocchi ed un offset sono specificati per ogni gamba del mirror, come indicato dal parametro
#devs.
0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0
0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0
- 0
- blocco iniziale in un dispositivo virtuale
- 52428800
- lunghezza di questo segmento
- mirror clustered_disk
- target del mirror con un tipo di log il quale specifica un mirror clusterizzato con un mirror log conservato sul disco
- 4
- seguiranno 4 argomenti del mirror log
- 253:2
- major:minor numeri del dispositivo di log
- 1024
- dimensione della regione usata dal mirror log per controllare tutto ciò che è sincronizzato
UUID- UUID del dispositivo del mirror log per conservare le informazioni di un intero cluster
block_on_error- il mirror dovrebbe rispondere agli errori
- 3
- numero di gambe nel mirror
- 253:3 0 253:4 0 253:5 0
- numeri major:minor e offset per dispositivi che costituiscono ogni gamba del mirror
A.1.4. Target di mappatura snapshot e snapshot-origin Copia collegamentoCollegamento copiato negli appunti!
- Un dispositivo con una mappatura
linearecontenente la tabella di mappatura originale del volume sorgente. - Un dispositivo con una mappatura
lineareutilizzato come dispositivo copy-on-write (COW) per il volume sorgente; per ogni scrittura, i dati originali vengono salvati nel dispositivo COW di ogni snapshot per mantenere il proprio contenuto visibile invariato (fino al riempimento del dispositivo COW). - Un dispositivo con una mappatura
snapshotche combina #1 e #2, il quale risulta essere il volume snapshot visibile. - The "original" volume (which uses the device number used by the original source volume), whose table is replaced by a "snapshot-origin" mapping from device #1.
base, ed un volume snapshot chiamato snap basato sul quel volume.
lvcreate -L 1G -n base volumeGroup lvcreate -L 100M --snapshot -n snap volumeGroup/base
# lvcreate -L 1G -n base volumeGroup
# lvcreate -L 100M --snapshot -n snap volumeGroup/base
snapshot-origin è il seguente:
start length snapshot-origin origin
start length snapshot-origin origin
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
origin- volume di base di snapshot
snapshot-origin avrà normalmente uno o più snapshot basati su di esso. I processi di lettura verranno mappati direttamente sul dispositivo di supporto. Per ogni processo di scrittura, i dati originali saranno salvati nel dispositivo COW di ogni snapshot, in modo da mantenere il proprio contenuto visibile invariato fino all'utilizzo completo del dispositivo COW.
snapshot è il seguente:
start length snapshot origin COW-device P|N chunksize
start length snapshot origin COW-device P|N chunksize
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
origin- volume di base di snapshot
COW-device- Dispositivo sul quale vengono conservati sezioni di dati modificati
- P|N
- P (Persistent) o N (Not persistent); indicano se snapshot sopravviverà dopo il riavvio. Per snapshot transitorie (N), una quantità minore di metadata deve essere salvata sul disco; essi possono essere conservati in memoria dal kernel.
chunksize- Dimensione in settori dei segmenti modificati di dati che verranno conservati sul dispositivo COW.
snapshot-origin con un dispositivo d'origine di 254:11.
0 2097152 snapshot-origin 254:11
0 2097152 snapshot-origin 254:11
snapshot con un dispositivo d'origine di 254:11, ed un dispositivo COW di 254:12. Il dispositivo snapshot è persistente dopo ogni riavvio e la dimensione del segmento per i dati conservati sul dispositivo COW è di 16 settori.
0 2097152 snapshot 254:11 254:12 P 16
0 2097152 snapshot 254:11 254:12 P 16
A.1.5. Il target di mappatura error Copia collegamentoCollegamento copiato negli appunti!
error non accetta parametri aggiuntivi oltre ai parametri start e length.
error.
0 65536 error
0 65536 error
A.1.6. Target di mappatura zero Copia collegamentoCollegamento copiato negli appunti!
zero è un dispositivo a blocchi equivalente a /dev/zero. Un processo di lettura per questo tipo di mappatura ritorna blocchi di zero. I dati scritti su questa mappatura vengono scartati, ma il processo di scrittura avrà successo. Il target di mappatura zero non accetta parametri aggiuntivi oltre ai parametri start e length.
zero per un dispositivo a 16Tb.
0 65536 zero
0 65536 zero
A.1.7. Il target di mappatura multipath Copia collegamentoCollegamento copiato negli appunti!
multipath è il seguente:
start length multipath #features [feature1 ... featureN] #handlerargs [handlerarg1 ... handlerargN] #pathgroups pathgroup pathgroupargs1 ... pathgroupargsN
start length multipath #features [feature1 ... featureN] #handlerargs [handlerarg1 ... handlerargN] #pathgroups pathgroup pathgroupargs1 ... pathgroupargsN
pathgroupargs per ogni gruppo di percorsi.
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
#features- Il numero di funzioni multipath, seguito dalle funzioni in questione. Se questo parametro è zero allora non sarà disponibile alcun parametro
feature, ed il parametro di mappatura del dispositivo successivo è#handlerargs. Attualmente è supportata solo una funzione multipath,queue_if_no_path. Ciò indica che il dispositivo 'multipathed' in questone è attualmente impostato per mettere in coda le operazioni I/O se non è disponibile alcun percorso.Per esempio, se l'opzioneno_path_retry, nel filemultipath.conf, è stata impostata in modo da mettere in coda le operazioni I/O solo fino a quando tutti i percorsi sono stati contrassegnati come falliti dopo un certo numero di tentativi fatti per utilizzare il percorso in questione, la mappatura apparirà nel modo seguente fino a quando tutti i controllori del percorso non avranno fallito il numero di controlli specificato.0 71014400 multipath 1 queue_if_no_path 0 2 1 round-robin 0 2 1 66:128 \ 1000 65:64 1000 round-robin 0 2 1 8:0 1000 67:192 1000
0 71014400 multipath 1 queue_if_no_path 0 2 1 round-robin 0 2 1 66:128 \ 1000 65:64 1000 round-robin 0 2 1 8:0 1000 67:192 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dopo che tutti i controllori del percorso hanno fallito il numero di controlli specificato, la mappatura apparirà nel modo seguente.0 71014400 multipath 0 0 2 1 round-robin 0 2 1 66:128 1000 65:64 1000 \ round-robin 0 2 1 8:0 1000 67:192 1000
0 71014400 multipath 0 0 2 1 round-robin 0 2 1 66:128 1000 65:64 1000 \ round-robin 0 2 1 8:0 1000 67:192 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow #handlerargs- Il numero di argomenti del gestore hardware seguito dagli argomenti. Un gestore hardware specifica il modulo che verrà utilizzato, per eseguire le azioni hardware specifiche durante lo smistamento tra gruppi dei percorsi o durante la gestione degli errori I/O. Se impostato su 0 il parametro successivo è
#pathgroups. #pathgroups- Il numero dei gruppi di percorsi. Un gruppo di percorsi rappresenta un insieme di percorsi attraverso i quali un dispositivo 'multipathed' bilancerà il carico. È disponibile un set di parametri
pathgroupargsper ogni gruppo di percorsi. pathgroup- Il gruppo di percorsi successivo da provare.
pathgroupsargs- Ogni gruppo di percorsi presenta i seguenti argomenti:
pathselector #selectorargs #paths #pathargs device1 ioreqs1 ... deviceN ioreqsN
pathselector #selectorargs #paths #pathargs device1 ioreqs1 ... deviceN ioreqsNCopy to Clipboard Copied! Toggle word wrap Toggle overflow È disponibile un set di argomenti per ogni percorso presente nel gruppo di percorsi.pathselector- Specifica l'algoritmo utilizzato per determinare il percorso, presente all'interno del gruppo, da utilizzare per l'operazione I/O successiva.
#selectorargs- Il numero di argomenti del selettore del percorso che segue questo argomento nella mappatura multipath. Attualmente il valore di questo argomento è sempre 0.
#paths- Il numero di percorsi in questo gruppo di percorsi.
#pathargs- Il numero di argomenti del percorso specificati per ogni percorso in questo gruppo. Attualmente questo numero è sempre 1, l'argomento
ioreqs. device- Il numero del dispositivo a blocchi del percorso, indicato dai numeri major e minor nel formato
major:minor ioreqs- Il numero delle richieste I/O per l'instradamento per questo percorso prima di smistarsi sul percorso successivo nel gruppo corrente.
Figura A.1. Target di mappatura Multipath
0 71014400 multipath 0 0 4 1 round-robin 0 1 1 66:112 1000 \ round-robin 0 1 1 67:176 1000 round-robin 0 1 1 68:240 1000 \ round-robin 0 1 1 65:48 1000
0 71014400 multipath 0 0 4 1 round-robin 0 1 1 66:112 1000 \
round-robin 0 1 1 67:176 1000 round-robin 0 1 1 68:240 1000 \
round-robin 0 1 1 65:48 1000
0 71014400 multipath 0 0 1 1 round-robin 0 4 1 66:112 1000 \ 67:176 1000 68:240 1000 65:48 1000
0 71014400 multipath 0 0 1 1 round-robin 0 4 1 66:112 1000 \
67:176 1000 68:240 1000 65:48 1000
A.1.8. Target di mappatura crypt Copia collegamentoCollegamento copiato negli appunti!
crypt cifra i dati che passano attraverso il dispositivo specificato. Esso utilizza il kernel Crypto API.
crypt è il seguente:
start length crypt cipher key IV-offset device offset
start length crypt cipher key IV-offset device offset
start- blocco iniziale in un dispositivo virtuale
length- lunghezza di questo segmento
cipher- Cipher consiste di
cipher[-chainmode]-ivmode[:iv options].cipher- I Cipher disponibili sono riportati in
/proc/crypto(per esempio,aes). chainmode- Utilizza sempre
cbc. Non utilizzareebc; esso non utilizza un initial vector (IV). ivmode[:iv options]- IV è un initial vector utilizzato per variare la cifratura. La modalità IV può essere
plainoessiv:hash. Univmodedi-plainutilizza il numero del settore (più l'offset IV) di IV. Univmodedi-essivè il modo migliore per non avere problemi con il watermark.
key- Chiave di cifratura fornita in esadecimale
IV-offset- Offset Initial Vector (IV)
device- dispositivo a blocchi, indicato dal nome del dispositivo nel filesystem o dai numeri maggiore e minore nel formato
major:minor offset- offset iniziale della mappatura sul dispositivo
crypt.
0 2097152 crypt aes-plain 0123456789abcdef0123456789abcdef 0 /dev/hda 0
0 2097152 crypt aes-plain 0123456789abcdef0123456789abcdef 0 /dev/hda 0
A.2. Il comando dmsetup Copia collegamentoCollegamento copiato negli appunti!
dmsetup è un wrapper della linea di comando per le comunicazioni con il Device Mapper. Per informazioni generali del sistema sui dispositivi LVM, le opzioni info, ls, status, e deps del comando dmsetup potranno risultare utili, come descritto nelle seguenti sottosezioni.
dmsetupconsultate la pagina man (8) di dmsetup.
A.2.1. Il comando dmsetup info Copia collegamentoCollegamento copiato negli appunti!
dmsetup info device fornisce le informazioni sui dispositivi Device Mapper. Se non specificate alcun nome del dispositivo, l'output conterrà le informazioni di tutti i dispositivi Device Mapper attualmente configurati. Se al contrario viene specificato un dispositivo, le informazioni fornite riguarderanno solo il dispositivo interessato.
dmsetup info fornisce le informazioni nelle seguenti categorie:
Name- Il nome del dispositivo. Un dispositivo LVM viene indicato come nome del gruppo di volumi e nome del volume logico separato da un trattino. Un trattino nel nome originale viene tradotto in due trattini.
State- Gli stati possibili del dispositivo sono
SUSPENDED,ACTIVE, eREAD-ONLY. Il comandodmsetup suspendimposta lo stato suSUSPENDED. Quando un dispositivo risulta sospeso, tutte le operazioni I/O per quel dispositivo verranno arrestate. Il comandodmsetup resumeripristina lo stato del dispositivo suACTIVE. Read Ahead- Il numero di blocchi dati letti a priori dal sistema per qualsiasi file aperto, sul quale sono in corso le operazioni di lettura. Nell'impostazione predefinita il kernel seleziona automaticamente un valore idoneo. È possibile modificare questo valore con l'opzione
--readaheaddel comandodmsetup. Tables present- Possible states for this category are
LIVEandINACTIVE. AnINACTIVEstate indicates that a table has been loaded which will be swapped in when admsetup resumecommand restores a device state toACTIVE, at which point the table's state becomesLIVE. For information, see thedmsetupman page. Open count- L'open reference count indica il numero di volte che un dispositivo viene aperto. Un comando
mountapre il dispositivo. Event number- The current number of events received. Issuing a
dmsetup wait ncommand allows the user to wait for the n'th event, blocking the call until it is received. Major, minor- I numeri maggiore e minore del dispositivo
Number of targets- Il numero di frammenti che costituisce un dispositivo. Per esempio, un dispositivo lineare che si estende su 3 dischi avrà 3 target. Un dispositivo lineare composto dall'inizio e fine di un disco, ma non dal centro, avrà 2 target.
UUID- UUID del dispositivo.
dmsetup info.
A.2.2. Il comando dmsetup ls Copia collegamentoCollegamento copiato negli appunti!
dmsetup ls. Si possono elencare i dispositivi con almeno un target specificato con il comando dmsetup ls --target target_type. Per altre opzioni di dmsetup ls, consultare la pagina man dmsetup.
A.2.3. Il comando dmsetup status Copia collegamentoCollegamento copiato negli appunti!
dmsetup status device fornisce le informazioni sullo stato per ogni target in un dispositivo specifico. Se non specificate alcun nome, l'output conterrà le informazioni di tutti i dispositivi Device Mapper attualmente configurati. È possibile elencare lo stato dei dispositivi con almeno un target di tipo specifico specificato con il comando dmsetup status --target target_type.
A.2.4. Il comando dmsetup deps Copia collegamentoCollegamento copiato negli appunti!
dmsetup deps device fornisce un elenco di coppie (maggiore, minore) per dispositivi indicati dalla tabella di mappatura per il dispositivo specificato. Se non specificate il nome del dispositivo, le informazioni contenute dall'output riguarderanno tutti i dispositivi Device Mapper attualmente configurati.
lock_stress-grant--02.1722:
dmsetup deps lock_stress-grant--02.1722 3 dependencies : (253, 33) (253, 32) (253, 31)
[root@grant-01 ~]# dmsetup deps lock_stress-grant--02.1722
3 dependencies : (253, 33) (253, 32) (253, 31)
Appendice B. File di configurazione di LVM Copia collegamentoCollegamento copiato negli appunti!
lvm.conf viene caricato dalla directory specificata per mezzo della variabile dell'ambiente LVM_SYSTEM_DIR, la quale è impostata per default su /etc/lvm.
lvm.conf è in grado di specificare i file aggiuntivi di configurazione da caricare. Le impostazioni dei file più recenti sovrascrivono le impostazioni dei file meno recenti. Per visualizzare le impostazioni in uso dopo aver caricato tutti i file di configurazione, eseguite il comando lvm dumpconfig.
B.1. File di configurazione di LVM Copia collegamentoCollegamento copiato negli appunti!
- /etc/lvm/lvm.conf
- file di configurazione centrale letto dai tool.
- etc/lvm/lvm_hosttag.conf
- For each host tag, an extra configuration file is read if it exists:
lvm_hosttag.conf. If that file defines new tags, then further configuration files will be appended to the list of tiles to read in. For information on host tags, see Sezione C.2, «Tag dell'host».
- /etc/lvm/.cache
- file di cache del filtro del nome del dispositivo (configurabile).
- /etc/lvm/backup/
- directory per backup automatici dei metadata del gruppo di volumi (configurabili).
- /etc/lvm/archive/
- directory per archivi automatici di metadata per il gruppo di volumi (configurabile in relazione al percorso della directory ed alla cronologia).
- /var/lock/lvm
- In una configurazione host singolo eseguite il lock dei file per prevenire la corruzione dei metadata da parte del parallel tool; in un cluster viene usato il cluster-wide DLM.
B.2. Esempio di file lvm.conf Copia collegamentoCollegamento copiato negli appunti!
lvm.conf. Il suddetto file di configurazione è il file predefinito per la versione RHEL 5.3. Se il vostro sistema ha una versione diversa di RHEL5, alcune delle impostazioni predefinite potrebbero differire.
Appendice C. Tag dell'oggetto LVM Copia collegamentoCollegamento copiato negli appunti!
database.
lvs @database
lvs @database
C.1. Come aggiungere e rimuovere i tag dagli oggetti Copia collegamentoCollegamento copiato negli appunti!
--addtag o --deltag del comando pvchange.
--addtag o --deltag dei comandi vgchange o vgcreate.
--addtag o --deltag dei comandi lvchange o lvcreate.
C.2. Tag dell'host Copia collegamentoCollegamento copiato negli appunti!
hosttags = 1 in the tags section, a host tag is automatically defined using the machine's hostname. This allow you to use a common configuration file which can be replicated on all your machines so they hold identical copies of the file, but the behavior can differ between machines according to the hostname.
tag1, e definisce tag2 se l'hostname è host1.
tags { tag1 { } tag2 { host_list = ["host1"] } }
tags { tag1 { } tag2 { host_list = ["host1"] } }
C.3. Controllo attivazione con i tag Copia collegamentoCollegamento copiato negli appunti!
vgchange -ay), attivando solo vg1/lvol0 e qualsiasi altro logical volume o gruppo di volumi con tag database nei metadata su quell'host.
activation { volume_list = ["vg1/lvol0", "@database" ] }
activation { volume_list = ["vg1/lvol0", "@database" ] }
tags { hosttags = 1 }
tags { hosttags = 1 }
vg1/lvol2 solo su host db2, fate quanto segue:
- Eseguite
lvchange --addtag @db2 vg1/lvol2da qualsiasi host nel cluster. - Eseguite
lvchange -ay vg1/lvol2.
Appendice D. Metadata del gruppo di volumi di LVM Copia collegamentoCollegamento copiato negli appunti!
--metadatacopies 0 del comando pvcreate. Una volta selezionato il numero di copie metadata che il physical volume deve contenere, tale valore non potrà essere più modificato in futuro. Selezionando 0, ne risulterà in aggiornamenti più veloci delle modifiche relative alla configurazione. Da notare tuttavia che in ogni momento il gruppo di volumi deve contenere almeno un physical volume con un'area di metadata (se non state utilizzando impostazioni avanzate di configurazione che vi permetteranno di conservare i metadata del gruppo di volumi in un file system). Se desiderate dividere il gruppo di volumi in futuro, ogni gruppo di volumi avrà bisogno di almeno una copia di metadata.
--metadatasize del comando pvcreate. La dimensione predefinita è troppo piccola per i gruppi di volumi con un numero elevato di logical volume o physical volume.
D.1. Etichetta del physical volume Copia collegamentoCollegamento copiato negli appunti!
pvcreate posiziona l'etichetta del physical volume nel secondo settore di 512-byte. La suddetta etichetta può essere posizionata in qualsiasi dei primi quattro settori, poichè i tool di LVM alla ricerca di una etichetta del physical volume, controllano i primi quattro settori. L'etichetta del physical volume inizia con la stringa LABELONE.
- UUID del Physical Volume
- La dimensione del dispositivo a blocchi in byte
- Un elenco terminato da NULL delle posizioni dell'area dei dati
- Elenchi terminati da NULL di posizioni dell'area dei metadata.
D.2. Contenuti dei metadata Copia collegamentoCollegamento copiato negli appunti!
- Informazioni su quando e come sono stati creati
- Informazioni sul gruppo di volumi:
- Nome ed id unico
- Un numero della versione il quale viene incrementato ogni qualvolta vengono aggiornati i metadata
- Qualsiasi proprietà: Lettura/Scrittura? Ridimensionabile?
- Qualsiasi limite amministrativo sul numero di logical/physical volume che si possono contenere
- L'entità della dimensione (in unità di secondi definiti come 512 byte)
- Un elenco non ordinato di physical volume che costituiscono il gruppo di volumi, ognuno con:
- Il proprio UUID, viene usato per determinare il dispositivo a blocchi che lo contiene
- Qualsiasi proprietà, come ad esempio se il Physical Volume è assegnabile
- L'offset per l'inizio della prima estensione all'interno del Physical Volume (in settori)
- Il numero delle estensioni
- Un elenco non ordinato di logical volume. Ognuno costituito da
- Un elenco ordinato di segmenti di volume logico. Per ogni segmento i metadata includono una mappatura applicata ad un elenco ordinato di segmenti del Physical Volume o segmenti di logical volume
D.3. Esempio di metadata Copia collegamentoCollegamento copiato negli appunti!
myvg.
Appendice E. Cronologia della revisione Copia collegamentoCollegamento copiato negli appunti!
| Diario delle Revisioni | |||
|---|---|---|---|
| Revisione 3-6.400 | 2013-10-31 | ||
| |||
| Revisione 3-6 | 2012-07-18 | ||
| |||
| Revisione 1.0-0 | Thu Jan 29 2009 | ||
|
| |||
Indice analitico
A
- activating logical volumes
- individual nodes, Attivazione dei volumi logici su nodi individuali in un cluster
- activating volume groups, Attivazione e disattivazione dei gruppi di volumi
- individual nodes, Attivazione e disattivazione dei gruppi di volumi
- local node only, Attivazione e disattivazione dei gruppi di volumi
- administrative procedures, Panoramica sull'amministrazione di LVM
- allocation
- archive file, Backup del volume logico, Esecuzione del back up dei metadata del gruppo di volumi
B
- backup
- backup file, Esecuzione del back up dei metadata del gruppo di volumi
- block device
- scanning, Scansione per dispositivi a blocchi
C
- cache file
- cluster environment, LVM Logical Volume Manager (CLVM), Creazione dei volumi LVM in un cluster
- CLVM
- definition, LVM Logical Volume Manager (CLVM)
- clvmd daemon, LVM Logical Volume Manager (CLVM)
- command line units, Come utilizzare i comandi CLI
- configuration examples, Esempi di configurazione LVM
- creating
- logical volume, Creazione dei volume logico
- logical volume, example, Creazione di un volume logico LVM su tre dischi
- LVM volumes in a cluster, Creazione dei volumi LVM in un cluster
- physical volumes, Creazione dei physical volume
- striped logical volume, example, Creazione di un volume logico Striped
- volume group, clustered, Creazione dei gruppi di volumi in un cluster
- volume groups, Creazione dei gruppi di volumi
- creating LVM volumes
D
- data relocation, online, Riassegnazione dati online
- deactivating volume groups, Attivazione e disattivazione dei gruppi di volumi
- exclusive on one node, Attivazione e disattivazione dei gruppi di volumi
- local node only, Attivazione e disattivazione dei gruppi di volumi
- device numbers
- major, Numeri del dispositivo persistenti
- minor, Numeri del dispositivo persistenti
- persistent, Numeri del dispositivo persistenti
- device path names, Come utilizzare i comandi CLI
- device scan filters, Controllo delle scansioni del dispositivo LVM con i filtri
- device size, maximum, Creazione dei gruppi di volumi
- device special file directory, Creazione dei gruppi di volumi
- display
- sorting output, Come ordinare i riporti di LVM
- displaying
- logical volumes, Visualizzazione dei volumi logici, Il comando lvs
- physical volumes, Visualizzazione dei physical volume, Il comando pvs
- volume groups, Come visualizzare i gruppi di volumi, Il comando vgs
E
- extent
- allocation, Creazione dei gruppi di volumi
- definition, Gruppi di volumi, Creazione dei gruppi di volumi
F
- failed devices
- feedback, Suggerimenti
- file system
- growing on a logical volume, Sviluppo di un file system su di un volume logico
- filters, Controllo delle scansioni del dispositivo LVM con i filtri
G
- growing file system
- logical volume, Sviluppo di un file system su di un volume logico
H
- help display, Come utilizzare i comandi CLI
I
- initializing
- partitions, Inizializzazione dei physical volume
- physical volumes, Inizializzazione dei physical volume
- Insufficient Free Extents message, Estensioni disponibili insufficienti per un volume logico
L
- linear logical volume
- converting to mirrored, Come modificare la configurazione del volume speculare
- creation, Creazione volumi lineari
- definition, Volumi lineari
- logging, Registrazione
- logical volume
- administration, general, Amministrazione del volume logico
- changing parameters, Modifica dei parametri di un gruppo di volumi logici
- creation, Creazione dei volume logico
- creation example, Creazione di un volume logico LVM su tre dischi
- definition, Volumi logici, Volumi logici LVM
- displaying, Visualizzazione dei volumi logici, Personalizzazione dei riporti per LVM, Il comando lvs
- exclusive access, Attivazione dei volumi logici su nodi individuali in un cluster
- extending, Come aumentare la dimensione dei volumi logici
- growing, Come aumentare la dimensione dei volumi logici
- linear, Creazione volumi lineari
- local access, Attivazione dei volumi logici su nodi individuali in un cluster
- lvs display arguments, Il comando lvs
- mirrored, Creazione volumi speculari
- reducing, Come ridurre le dimensione dei volumi logici
- removing, Rimozione dei volumi logici
- renaming, Modifica del nome dei volumi logici
- resizing, Modifica della dimensione dei logical volumes
- shrinking, Come ridurre le dimensione dei volumi logici
- snapshot, Creazione dei volumi della snapshot
- striped, Creazione dei volumi striped
- lvchange command, Modifica dei parametri di un gruppo di volumi logici
- lvconvert command, Come modificare la configurazione del volume speculare
- lvcreate command, Creazione dei volume logico
- lvdisplay command, Visualizzazione dei volumi logici
- lvextend command, Come aumentare la dimensione dei volumi logici
- LVM
- architecture overview, Panoramica sull'architettura di LVM
- clustered, LVM Logical Volume Manager (CLVM)
- components, Panoramica sull'architettura di LVM, Componenti di LVM
- custom report format, Personalizzazione dei riporti per LVM
- directory structure, Creazione dei gruppi di volumi
- help, Come utilizzare i comandi CLI
- history, Panoramica sull'architettura di LVM
- label, Physical Volumes
- logging, Registrazione
- logical volume administration, Amministrazione del volume logico
- physical volume administration, Amministrazione del Physical Volume
- physical volume, definition, Physical Volumes
- volume group, definition, Gruppi di volumi
- LVM1, Panoramica sull'architettura di LVM
- LVM2, Panoramica sull'architettura di LVM
- lvmdiskscan command, Scansione per dispositivi a blocchi
- lvreduce command, Modifica della dimensione dei logical volumes, Come ridurre le dimensione dei volumi logici
- lvremove command, Rimozione dei volumi logici
- lvrename command, Modifica del nome dei volumi logici
- lvs command, Personalizzazione dei riporti per LVM, Il comando lvs
- display arguments, Il comando lvs
- lvscan command, Visualizzazione dei volumi logici
M
- man page display, Come utilizzare i comandi CLI
- metadata
- mirrored logical volume
- converting to linear, Come modificare la configurazione del volume speculare
- creation, Creazione volumi speculari
- definition, Volumi logici speculari
- failure recovery, Processo di recupero da un LVM Mirror Failure
- reconfiguration, Come modificare la configurazione del volume speculare
O
- online data relocation, Riassegnazione dati online
P
- partition type, setting, Impostazione del tipo di partizione
- partitions
- multiple, Partizioni multiple su di un disco
- path names, Come utilizzare i comandi CLI
- persistent device numbers, Numeri del dispositivo persistenti
- physical extent
- preventing allocation, Come impedire l'assegnazione su di un physical volume
- physical volume
- adding to a volume group, Aggiunta di physical volume ad un gruppo di volumi
- administration, general, Amministrazione del Physical Volume
- creating, Creazione dei physical volume
- definition, Physical Volumes
- display, Il comando pvs
- displaying, Visualizzazione dei physical volume, Personalizzazione dei riporti per LVM
- illustration, LVM Physical Volume Layout
- initializing, Inizializzazione dei physical volume
- layout, LVM Physical Volume Layout
- pvs display arguments, Il comando pvs
- recovery, Sostituzione di un Physical Volume mancante
- removing, Rimozione dei physical volume
- removing from volume group, Rimozione dei physical volume da un gruppo di volumi
- removing lost volume, Rimozione dei physical volume persi da un gruppo di volumi
- resizing, Come variare la dimensione di un Physical Volume
- pvdisplay command, Visualizzazione dei physical volume
- pvmove command, Riassegnazione dati online
- pvremove command, Rimozione dei physical volume
- pvresize command, Come variare la dimensione di un Physical Volume
- pvs command, Personalizzazione dei riporti per LVM
- display arguments, Il comando pvs
- pvscan command, Visualizzazione dei physical volume
R
- removing
- disk from a logical volume, Rimozione di un disco da un volume logico
- logical volume, Rimozione dei volumi logici
- physical volumes, Rimozione dei physical volume
- renaming
- logical volume, Modifica del nome dei volumi logici
- volume group, Come rinominare un gruppo di volumi
- report format, LVM devices, Personalizzazione dei riporti per LVM
- resizing
- logical volume, Modifica della dimensione dei logical volumes
- physical volume, Come variare la dimensione di un Physical Volume
S
- scanning
- block devices, Scansione per dispositivi a blocchi
- scanning devices, filters, Controllo delle scansioni del dispositivo LVM con i filtri
- snapshot logical volume
- creation, Creazione dei volumi della snapshot
- snapshot volume
- definition, Volumi delle snapshot
- striped logical volume
- creation, Creazione dei volumi striped
- creation example, Creazione di un volume logico Striped
- definition, Volumi logici striped
- extending, Come estendere un volume striped
- growing, Come estendere un volume striped
T
- troubleshooting, Troubleshooting LVM
U
- units, command line, Come utilizzare i comandi CLI
V
- verbose output, Come utilizzare i comandi CLI
- vgcfbackup command, Esecuzione del back up dei metadata del gruppo di volumi
- vgcfrestore command, Esecuzione del back up dei metadata del gruppo di volumi
- vgchange command, Modifica dei parametri di un gruppo di volumi
- vgcreate command, Creazione dei gruppi di volumi, Creazione dei gruppi di volumi in un cluster
- vgdisplay command, Come visualizzare i gruppi di volumi
- vgexport command, Come spostare un gruppo di volumi su di un altro sistema
- vgextend command, Aggiunta di physical volume ad un gruppo di volumi
- vgimport command, Come spostare un gruppo di volumi su di un altro sistema
- vgmerge command, Come unire i gruppi di volumi
- vgmknodes command, Come ricreare una directory del gruppo di volumi
- vgreduce command, Rimozione dei physical volume da un gruppo di volumi
- vgrename command, Come rinominare un gruppo di volumi
- vgs command, Personalizzazione dei riporti per LVM
- display arguments, Il comando vgs
- vgscan command, Scansione dischi per i gruppi di volumi per la creazione del file di cache
- vgsplit command, Separazione di un gruppo di volumi
- volume group
- activating, Attivazione e disattivazione dei gruppi di volumi
- administration, general, Amministrazione del gruppo di volumi
- changing parameters, Modifica dei parametri di un gruppo di volumi
- combining, Come unire i gruppi di volumi
- creating, Creazione dei gruppi di volumi
- creating in a cluster, Creazione dei gruppi di volumi in un cluster
- deactivating, Attivazione e disattivazione dei gruppi di volumi
- definition, Gruppi di volumi
- displaying, Come visualizzare i gruppi di volumi, Personalizzazione dei riporti per LVM, Il comando vgs
- extending, Aggiunta di physical volume ad un gruppo di volumi
- growing, Aggiunta di physical volume ad un gruppo di volumi
- merging, Come unire i gruppi di volumi
- moving between systems, Come spostare un gruppo di volumi su di un altro sistema
- reducing, Rimozione dei physical volume da un gruppo di volumi
- removing, Rimozione dei gruppi di volumi
- renaming, Come rinominare un gruppo di volumi
- shrinking, Rimozione dei physical volume da un gruppo di volumi
- splitting, Separazione di un gruppo di volumi
- example procedure, Separazione di un gruppo di volumi
- vgs display arguments, Il comando vgs