Logical Volume Manager Administration
Guida per l'amministratore LVM
Edizione 3
Sommario
Introduzione
1. Informazioni su questa guida
2. A chi è rivolto
3. Versioni software
Tabella 1. Versioni software
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
- 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
rh-cs
.
Bugzilla component: Documentation-cluster Book identifier: Cluster_Logical_Volume_Manager(EN)-5 (2009-01-05T15:20)
Capitolo 1. LVM Logical Volume Manager
1.1. Volumi logici
- 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
- 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)
- 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
clvmd
non è stato iniziato sarà possibile eseguire un comando service ... start
sul servizio clvmd
nel modo seguente:
# 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
- 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
2.1. Physical Volumes
2.1.1. LVM Physical Volume Layout
Nota

Figura 2.1. Disposizione del Physical Volume
2.1.2. Partizioni multiple su di un disco
- 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
2.3. Volumi logici LVM
2.3.1. Volumi lineari

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
- 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

Figura 2.6. Mirrored Logical Volume
Nota
2.3.4. Volumi delle snapshot
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
fsck
sul 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
3.1. Creazione dei volumi LVM in un cluster
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
- 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
fstab
per ogni nodo nel sistema.
3.3. Sviluppo di un file system su di un volume logico
- 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
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
- 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
Nota
clvmd
daemon. For information, see see Sezione 3.1, «Creazione dei volumi LVM in un cluster».
4.1. Come utilizzare i comandi CLI
--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
con l'argomento -v
.
# lvcreate -v -L 50MB new_vg
Finding volume group "new_vg"
Rounding up size to full physical extent 52.00 MB
Archiving volume group "new_vg" metadata (seqno 4).
Creating logical volume lvol0
Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
Found volume group "new_vg"
Creating new_vg-lvol0
Loading new_vg-lvol0 table
Resuming new_vg-lvol0 (253:2)
Clearing start of logical volume "lvol0"
Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
Logical volume "lvol0" created
-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
.
# lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:913 Processing: lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:916 O_DIRECT will be used
#config/config.c:864 Setting global/locking_type to 1
#locking/locking.c:138 File-based locking selected.
#config/config.c:841 Setting global/locking_dir to /var/lock/lvm
#activate/activate.c:358 Getting target version for linear
#ioctl/libdm-iface.c:1569 dm version OF [16384]
#ioctl/libdm-iface.c:1569 dm versions OF [16384]
#activate/activate.c:358 Getting target version for striped
#ioctl/libdm-iface.c:1569 dm versions OF [16384]
#config/config.c:864 Setting activation/mirror_region_size to 512
...
--help
del comando.
commandname --help
man
:
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
4.2.1. Creazione dei physical volume
4.2.1.1. Impostazione del tipo di partizione
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
4.2.1.2. Inizializzazione dei physical volume
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
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
4.2.1.3. Scansione per dispositivi a blocchi
lvmdiskscan
, come riportato nel seguente esempio.
# lvmdiskscan
/dev/ram0 [ 16.00 MB]
/dev/sda [ 17.15 GB]
/dev/root [ 13.69 GB]
/dev/ram [ 16.00 MB]
/dev/sda1 [ 17.14 GB] LVM physical volume
/dev/VolGroup00/LogVol01 [ 512.00 MB]
/dev/ram2 [ 16.00 MB]
/dev/new_vg/lvol0 [ 52.00 MB]
/dev/ram3 [ 16.00 MB]
/dev/pkl_new_vg/sparkie_lv [ 7.14 GB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/ram6 [ 16.00 MB]
/dev/ram7 [ 16.00 MB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/ram10 [ 16.00 MB]
/dev/ram11 [ 16.00 MB]
/dev/ram12 [ 16.00 MB]
/dev/ram13 [ 16.00 MB]
/dev/ram14 [ 16.00 MB]
/dev/ram15 [ 16.00 MB]
/dev/sdb [ 17.15 GB]
/dev/sdb1 [ 17.14 GB] LVM physical volume
/dev/sdc [ 17.15 GB]
/dev/sdc1 [ 17.14 GB] LVM physical volume
/dev/sdd [ 17.15 GB]
/dev/sdd1 [ 17.14 GB] LVM physical volume
7 disks
17 partitions
0 LVM physical volume whole disks
4 LVM physical volumes
4.2.2. Visualizzazione dei physical volume
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.
# pvdisplay
--- Physical volume ---
PV Name /dev/sdc1
VG Name new_vg
PV Size 17.14 GB / not usable 3.40 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 4388
Free PE 4375
Allocated PE 13
PV UUID Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
pvscan
esegue la scansione di tutti i dispositivi a blocchi di LVM nel sistema per physical volume.
# pvscan
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 0 free]
PV /dev/sdc1 VG vg0 lvm2 [964.00 MB / 428.00 MB free]
PV /dev/sdc2 lvm2 [964.84 MB]
Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
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
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
-xy
del comando pvchange
, per abilitare l'assegnazione dove precedentemente non permessa.
4.2.4. Come variare la dimensione di un Physical Volume
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
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
4.3. Amministrazione del gruppo di volumi
4.3.1. Creazione dei gruppi di volumi
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
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/
myvg1
e myvg2
, ognuno dei quali con tre logical volumes chiamati lvo1
, lvo2
, e lvo3
, ciò creerà sei file speciali del dispositivo:
/dev/myvg1/lv01 /dev/myvg1/lv02 /dev/myvg1/lv03 /dev/myvg2/lv01 /dev/myvg2/lv02 /dev/myvg2/lv03
4.3.2. Creazione dei gruppi di volumi in un cluster
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
-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
.
[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
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
4.3.4. Come visualizzare i gruppi di volumi
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.
# vgdisplay new_vg
--- Volume group ---
VG Name new_vg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 11
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 51.42 GB
PE Size 4.00 MB
Total PE 13164
Alloc PE / Size 13 / 52.00 MB
Free PE / Size 13151 / 51.37 GB
VG UUID jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32
4.3.5. Scansione dischi per i gruppi di volumi per la creazione del file di cache
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
4.3.6. Rimozione dei physical volume da un gruppo di volumi
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
.
# pvdisplay /dev/hda1
-- Physical volume ---
PV Name /dev/hda1
VG Name myvg
PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB]
PV# 1
PV Status available
Allocatable yes (but full)
Cur LV 1
PE Size (KByte) 4096
Total PE 499
Free PE 0
Allocated PE 499
PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7
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
4.3.7. Modifica dei parametri di un gruppo di volumi
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
, consultate la pagina man di vgchange
(8).
4.3.8. Attivazione e disattivazione dei gruppi di volumi
-a
(--available
) del comando vgchange
.
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
vgremove
.
# vgremove officevg
Volume group "officevg" successfully removed
4.3.10. Separazione di un gruppo di volumi
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"
4.3.11. Come unire i gruppi di volumi
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
4.3.12. Esecuzione del back up dei metadata del gruppo di volumi
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
vgrename
per rinominare un guppo di volumi esistente.
vg02
in my_volume_group
vgrename /dev/vg02 /dev/my_volume_group
vgrename vg02 my_volume_group
4.3.14. Come spostare un gruppo di volumi su di un altro sistema
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 n
del comandovgchange
per segnare il gruppo di volumi come inattivo, questo impedisce qualsiasi attività sul gruppo in questione. - Usate il comando
vgexport
per 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.[root@tng3-1]#
pvscan
PV /dev/sda1 is in exported VG myvg [17.15 GB / 7.15 GB free] PV /dev/sdc1 is in exported VG myvg [17.15 GB / 15.15 GB free] PV /dev/sdd1 is in exported VG myvg [17.15 GB / 15.15 GB free] ...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
vgimport
per importare il gruppo di volumi, rendendolo accessibile al nuovo sistema. - Attivate il gruppo di volumi con l'argomento
-a y
del comandovgchange
. - Montate il file system in modo da renderlo accessibile ed utilizzabile.
4.3.15. Come ricreare una directory del gruppo di volumi
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
4.4.1. Creazione dei volume logico
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
vg1
.
lvcreate -L 10G vg1
testlv
nel gruppo di volume testvg
, creando il dispositivo a blocchi /dev/testvg/testlv
.
lvcreate -L1500 -n testlv testvg
gfslv
dalle tre estensioni nel gruppo di volumi 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
-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
-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
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
/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
/dev/sda1
, continuando la creazione del volume logico dall'estensione 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
-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
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
4.4.1.3. Creazione volumi speculari
-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
-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
--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
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
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
Nota
4.4.1.4. Come modificare la configurazione del volume speculare
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
vg00/lvol1
in un volume logico lineare, rimuovendo la gamba del mirror.
lvconvert -m0 vg00/lvol1
4.4.2. Numeri del dispositivo persistenti
lvcreate
e lvchange
utilizzando i seguenti argomenti:
--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
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
4.4.4. Modifica dei parametri di un gruppo di volumi logici
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
4.4.5. Modifica del nome dei volumi logici
lvrename
.
lvold
nel gruppo di volumi vg02
in lvnew
.
lvrename /dev/vg02/lvold /dev/vg02/lvnew
lvrename vg02 lvold lvnew
4.4.6. Rimozione dei volumi logici
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.
[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
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
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
4.4.8. Come aumentare la dimensione dei volumi logici
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
/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
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
.
[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
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
#lvcreate -n stripe1 -L 271.31G -i 2 vg
Using default stripesize 64.00 KB Rounding up size to full physical extent 271.31 GB Logical volume "stripe1" created #lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe1 vg -wi-a- 271.31G /dev/sda1(0),/dev/sdb1(0)
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
# vgextend vg /dev/sdc1 Volume group "vg" successfully extended # vgs VG #PV #LV #SN Attr VSize VFree vg 3 1 0 wz--n- 406.97G 135.66G
# lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB
Extending logical volume stripe1 to 406.00 GB
Insufficient suitable allocatable extents for logical volume stripe1: 34480
more required
#vgextend vg /dev/sdd1
Volume group "vg" successfully extended #vgs
VG #PV #LV #SN Attr VSize VFree vg 4 1 0 wz--n- 542.62G 271.31G #lvextend vg/stripe1 -L 542G
Using stripesize of last segment 64.00 KB Extending logical volume stripe1 to 542.00 GB Logical volume stripe1 successfully resized
lvextend
iniziale.
#lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB Extending logical volume stripe1 to 406.00 GB Insufficient suitable allocatable extents for logical volume stripe1: 34480 more required #lvextend -i1 -l+100%FREE vg/stripe1
4.4.10. Come ridurre le dimensione dei volumi logici
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
4.5. Creazione dei volumi della snapshot
-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
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
.
# lvdisplay /dev/new_vg/lvol0
--- Logical volume ---
LV Name /dev/new_vg/lvol0
VG Name new_vg
LV UUID LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
LV Write Access read/write
LV snapshot status source of
/dev/new_vg/newvgsnap1 [active]
LV Status available
# open 0
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2
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
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
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 = [ "r|/dev/cdrom|" ]
filter = [ "a/loop.*/", "r/.*/" ]
filter =[ "a|loop.*|", "a|/dev/hd.*|", "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
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
MyLV
.
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 -i5 /dev/sdd1
4.8. Attivazione dei volumi logici su nodi individuali in un cluster
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
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
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).#
pvs
PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd1 new_vg lvm2 a- 17.14G 17.14GÈ possibile visualizzare solo la dimensione ed il nome del physical volume con il seguente comando.#
pvs -o pv_name,pv_size
PV PSize /dev/sdb1 17.14G /dev/sdc1 17.14G /dev/sdd1 17.14G - È 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.
#
pvs -o +pv_uuid
PV VG Fmt Attr PSize PFree PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G Joqlch-yWSj-kuEn-IdwM-01S9-X08M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-UqkCS - Aggiungendo l'opzione
-v
ad un comando, includerete alcuni campi aggiuntivi. Per esempio, il comandopvs -v
mostrerà i campiDevSize
ePV UUID
insieme ai campi predefiniti.#
pvs -v
Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS - L'opzione
--noheadings
rimuove la riga delle intestazioni. Ciò può essere utile per la scrittura di script.Il seguente esempio utilizza l'opzione--noheadings
insieme apv_name
, generando un elenco di tutti i physical volume.#
pvs --noheadings -o pv_name
/dev/sdb1 /dev/sdc1 /dev/sdd1 - L'opzione
--separator separator
utilizza separator per separare ogni campo. Ciò può essere utile in uno script se state eseguendogrep
per l'output.Il seguente esempio separa i campi predefiniti per l'output dipvs
con il segno uguale (=).#
pvs --separator =
PV=VG=Fmt=Attr=PSize=PFree /dev/sdb1=new_vg=lvm2=a-=17.14G=17.14G /dev/sdc1=new_vg=lvm2=a-=17.14G=17.09G /dev/sdd1=new_vg=lvm2=a-=17.14G=17.14GPer mantenere i campi allineati durante l'utilizzo delseparator
, utilizzate l'opzioneseparator
insieme con--aligned
.#
pvs --separator = --aligned
PV =VG =Fmt =Attr=PSize =PFree /dev/sdb1 =new_vg=lvm2=a- =17.14G=17.14G /dev/sdc1 =new_vg=lvm2=a- =17.14G=17.09G /dev/sdd1 =new_vg=lvm2=a- =17.14G=17.14G
-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).
# vgs -o +pv_name
VG #PV #LV #SN Attr VSize VFree PV
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdc1
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdd1
new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdb1
4.9.2. Selezione dell'oggetto
pvs
, vgs
, e lvs
.
pvs
, name
significa pv_name
, mentre con il comando vgs
, name
viene interpretato come vg_name
.
pvs -o pv_free
.
# pvs -o free
PFree
17.14G
17.09G
17.14G
Il comando pvs
pvs
command, along with the field name as it appears in the header display and a description of the field.
Tabella 4.1. campi relativi a pvs
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
.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd1 new_vg lvm2 a- 17.14G 17.13G
-v
con il comando pvs
, aggiungerete i seguenti campi al display predefinito: dev_size
, pv_uuid
.
# pvs -v
Scanning for physical volume names
PV VG Fmt Attr PSize PFree DevSize PV UUID
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
/dev/sdd1 new_vg lvm2 a- 17.14G 17.13G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS
--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 --segments
PV VG Fmt Attr PSize PFree Start SSize
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 0 1172
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1172 16
/dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1188 1
/dev/sda1 vg lvm2 a- 17.14G 16.75G 0 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 26 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 50 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 76 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 100 26
/dev/sda1 vg lvm2 a- 17.14G 16.75G 126 24
/dev/sda1 vg lvm2 a- 17.14G 16.75G 150 22
/dev/sda1 vg lvm2 a- 17.14G 16.75G 172 4217
/dev/sdb1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdc1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdd1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sde1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdf1 vg lvm2 a- 17.14G 17.14G 0 4389
/dev/sdg1 vg lvm2 a- 17.14G 17.14G 0 4389
pvs -a
.
# pvs -a
PV VG Fmt Attr PSize PFree
/dev/VolGroup00/LogVol01 -- 0 0
/dev/new_vg/lvol0 -- 0 0
/dev/ram -- 0 0
/dev/ram0 -- 0 0
/dev/ram2 -- 0 0
/dev/ram3 -- 0 0
/dev/ram4 -- 0 0
/dev/ram5 -- 0 0
/dev/ram6 -- 0 0
/dev/root -- 0 0
/dev/sda -- 0 0
/dev/sdb -- 0 0
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc -- 0 0
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd -- 0 0
/dev/sdd1 new_vg lvm2 a- 17.14G 17.14G
Il comando vgs
vgs
command, along with the field name as it appears in the header display and a description of the field.
Tabella 4.2. Campi relativi a vgs
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
-v
del comando vgs
, verranno aggiunti all'impostazione predefinita i seguenti campi: vg_extent_size
, vg_uuid
.
# vgs -v
Finding all volume groups
Finding volume group "new_vg"
VG Attr Ext #PV #LV #SN VSize VFree VG UUID
new_vg wz--n- 4.00M 3 1 1 51.42G 51.36G jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32
Il comando lvs
lvs
command, along with the field name as it appears in the header display and a description of the field.
Tabella 4.3. Campi relativi a lvs
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
-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
.
# lvs -v
Finding all logical volumes
LV VG #Seg Attr LSize Maj Min KMaj KMin Origin Snap% Move Copy% Log LV UUID
lvol0 new_vg 1 owi-a- 52.00M -1 -1 253 3 LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
newvgsnap1 new_vg 1 swi-a- 8.00M -1 -1 253 5 lvol0 0.20 1ye1OU-1cIu-o79k-20h2-ZGF0-qCJm-CfbsIx
--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.
# lvs --segments
LV VG Attr #Str Type SSize
LogVol00 VolGroup00 -wi-ao 1 linear 36.62G
LogVol01 VolGroup00 -wi-ao 1 linear 512.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 104.00M
lv vg -wi-a- 1 linear 88.00M
-v
con il comando lvs --segments
aggiungerete i seguenti campi al display predefinito: seg_start
, stripesize
, chunksize
.
# lvs -v --segments
Finding all logical volumes
LV VG Attr Start SSize #Str Type Stripe Chunk
lvol0 new_vg owi-a- 0 52.00M 1 linear 0 0
newvgsnap1 new_vg swi-a- 0 8.00M 1 linear 0 8.00K
lvs
su di un sistema con un volume logico configurato, seguito dall'output predefinito di lvs
con segments
specificato.
#lvs
LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 new_vg -wi-a- 52.00M #lvs --segments
LV VG Attr #Str Type SSize lvol0 new_vg -wi-a- 1 linear 52.00M
4.9.3. Come ordinare i riporti di LVM
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.
# pvs -o pv_name,pv_size,pv_free
PV PSize PFree
/dev/sdb1 17.14G 17.14G
/dev/sdc1 17.14G 17.09G
/dev/sdd1 17.14G 17.14G
# pvs -o pv_name,pv_size,pv_free -O pv_free
PV PSize PFree
/dev/sdc1 17.14G 17.09G
/dev/sdd1 17.14G 17.14G
/dev/sdb1 17.14G 17.14G
# pvs -o pv_name,pv_size -O pv_free
PV PSize
/dev/sdc1 17.14G
/dev/sdd1 17.14G
/dev/sdb1 17.14G
-
subito dopo il campo che contiene l'opzione -O
.
# pvs -o pv_name,pv_size,pv_free -O -pv_free
PV PSize PFree
/dev/sdd1 17.14G 17.14G
/dev/sdb1 17.14G 17.14G
/dev/sdc1 17.14G 17.09G
4.9.4. Come specificare le unità
--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 --units m
PV VG Fmt Attr PSize PFree
/dev/sda1 lvm2 -- 17555.40M 17555.40M
/dev/sdb1 new_vg lvm2 a- 17552.00M 17552.00M
/dev/sdc1 new_vg lvm2 a- 17552.00M 17500.00M
/dev/sdd1 new_vg lvm2 a- 17552.00M 17552.00M
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 17.14G 17.14G
/dev/sdc1 new_vg lvm2 a- 17.14G 17.09G
/dev/sdd1 new_vg lvm2 a- 17.14G 17.14G
# pvs --units G
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 18.40G 18.40G
/dev/sdc1 new_vg lvm2 a- 18.40G 18.35G
/dev/sdd1 new_vg lvm2 a- 18.40G 18.40G
pvs
come un numero di settori.
# pvs --units s
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 35946496S 35946496S
/dev/sdc1 new_vg lvm2 a- 35946496S 35840000S
/dev/sdd1 new_vg lvm2 a- 35946496S 35946496S
pvs
in unità di 4 megabyte.
# pvs --units 4m
PV VG Fmt Attr PSize PFree
/dev/sdb1 new_vg lvm2 a- 4388.00U 4388.00U
/dev/sdc1 new_vg lvm2 a- 4388.00U 4375.00U
/dev/sdd1 new_vg lvm2 a- 4388.00U 4388.00U
Capitolo 5. Esempi di configurazione LVM
5.1. Creazione di un volume logico LVM su tre dischi
new_logical_volume
il quale consiste nei dischi /dev/sda1
, /dev/sdb1
, e /dev/sdc1
5.1.1. Creazione dei physical volume
Avvertimento
/dev/sda1
, /dev/sdb1
, e /dev/sdc1
.
[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
new_vol_group
.
[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.
[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
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.
[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
[root@tng3-1 ~]#gfs_mkfs -plock_nolock -j 1 /dev/new_vol_group/new_logical_volume
This will destroy any data on /dev/new_vol_group/new_logical_volume. Are you sure you want to proceed? [y/n]y
Device: /dev/new_vol_group/new_logical_volume Blocksize: 4096 Filesystem Size: 491460 Journals: 1 Resource Groups: 8 Locking Protocol: lock_nolock Lock Table: Syncing... All Done
[root@tng3-1 ~]#mount /dev/new_vol_group/new_logical_volume /mnt
[root@tng3-1 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/new_vol_group/new_logical_volume 1965840 20 1965820 1% /mnt
5.2. Creazione di un volume logico Striped
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
Avvertimento
/dev/sda1
, /dev/sdb1
, e /dev/sdc1
.
[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
striped_vol_group
.
[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.
[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
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.
[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
[root@tng3-1 ~]#gfs_mkfs -plock_nolock -j 1 /dev/striped_vol_group/striped_logical_volume
This will destroy any data on /dev/striped_vol_group/striped_logical_volume. Are you sure you want to proceed? [y/n]y
Device: /dev/striped_vol_group/striped_logical_volume Blocksize: 4096 Filesystem Size: 492484 Journals: 1 Resource Groups: 8 Locking Protocol: lock_nolock Lock Table: Syncing... All Done
[root@tng3-1 ~]#mount /dev/striped_vol_group/striped_logical_volume /mnt
[root@tng3-1 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 13902624 1656776 11528232 13% / /dev/hda1 101086 10787 85080 12% /boot tmpfs 127880 0 127880 0% /dev/shm /dev/striped_vol_group/striped_logical_volume 1969936 20 1969916 1% /mnt
5.3. Separazione di un gruppo di volumi
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
pvscan
.
[root@tng3-1 ~]# pvscan
PV /dev/sda1 VG myvg lvm2 [17.15 GB / 0 free]
PV /dev/sdb1 VG myvg lvm2 [17.15 GB / 12.15 GB free]
PV /dev/sdc1 VG myvg lvm2 [17.15 GB / 15.80 GB free]
Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0 ]
5.3.2. Come spostare i dati
/dev/sdc1
su /dev/sdb1
tramite pvmove
. pvmove
può richiedere un periodo molto lungo per la sua esecuzione.
[root@tng3-1 ~]# pvmove /dev/sdc1 /dev/sdb1
/dev/sdc1: Moved: 14.7%
/dev/sdc1: Moved: 30.3%
/dev/sdc1: Moved: 45.7%
/dev/sdc1: Moved: 61.0%
/dev/sdc1: Moved: 76.6%
/dev/sdc1: Moved: 92.2%
/dev/sdc1: Moved: 100.0%
/dev/sdc1
è ora disponibile.
[root@tng3-1 ~]# pvscan
PV /dev/sda1 VG myvg lvm2 [17.15 GB / 0 free]
PV /dev/sdb1 VG myvg lvm2 [17.15 GB / 10.80 GB free]
PV /dev/sdc1 VG myvg lvm2 [17.15 GB / 17.15 GB free]
Total: 3 [51.45 GB] / in use: 3 [51.45 GB] / in no VG: 0 [0 ]
5.3.3. Come dividere il gruppo di volumi
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
.
[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.
[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
yourlv
.
[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
[root@tng3-1 ~]#gfs_mkfs -plock_nolock -j 1 /dev/yourvg/yourlv
This will destroy any data on /dev/yourvg/yourlv. Are you sure you want to proceed? [y/n]y
Device: /dev/yourvg/yourlv Blocksize: 4096 Filesystem Size: 1277816 Journals: 1 Resource Groups: 20 Locking Protocol: lock_nolock Lock Table: Syncing... All Done [root@tng3-1 ~]#mount /dev/yourvg/yourlv /mnt
5.3.6. Attivazione e montaggio del volume logico originale
mylv
, sarà necessario riattivarlo prima di poterlo montare.
root@tng3-1 ~]#lvchange -a y mylv
[root@tng3-1 ~]#mount /dev/myvg/mylv /mnt
[root@tng3-1 ~]#df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/yourvg/yourlv 24507776 32 24507744 1% /mnt /dev/myvg/mylv 24507776 32 24507744 1% /mnt
5.4. Rimozione di un disco da un volume logico
5.4.1. Come spostare le estensioni su physical volume esistenti
myvg
.
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdb1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
/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.
[root@tng3-1 ~]# pvmove /dev/sdb1
/dev/sdb1: Moved: 2.0%
...
/dev/sdb1: Moved: 79.2%
...
/dev/sdb1: Moved: 100.0%
pvmove
, la distribuzione delle estensioni risulta essere:
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G
vgreduce
per rimuovere il physical volume /dev/sdb1
dal gruppo di volumi.
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
[root@tng3-1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 myvg lvm2 a- 17.15G 7.15G
/dev/sdb1 lvm2 -- 17.15G 17.15G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G
5.4.2. Come spostare le estensioni su di un nuovo disco
myvg
nel modo seguente:
[root@tng3-1]# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G
/dev/sdb1>
su di un nuovo dispositivo, /dev/sdd1
.
5.4.2.1. Creazione di un nuovo Physical Volume
/dev/sdd1
.
[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
/dev/sdd1
sul gruppo di volumi esistente myvg
.
[root@tng3-1 ~]#vgextend myvg /dev/sdd1
Volume group "myvg" successfully extended [root@tng3-1]#pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 17.15G 0
5.4.2.3. Come spostare i dati
pvmove
per spostare i dati da /dev/sdb1
a /dev/sdd1
.
[root@tng3-1 ~]#pvmove /dev/sdb1 /dev/sdd1
/dev/sdb1: Moved: 10.0% ... /dev/sdb1: Moved: 79.7% ... /dev/sdb1: Moved: 100.0% [root@tng3-1]#pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used /dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G /dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0 /dev/sdc1 myvg lvm2 a- 17.15G 15.15G 2.00G /dev/sdd1 myvg lvm2 a- 17.15G 15.15G 2.00G
5.4.2.4. Rimozione del Physical Volume vecchio dal gruppo di volumi
/dev/sdb1
, potrete eseguire la sua rimozione dal gruppo di volumi.
[root@tng3-1 ~]# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
Capitolo 6. Troubleshooting LVM
6.1. Informazioni diagnostiche per il troubleshooting
- Utilizzate le opzioni
-v
,-vv
,-vvv
, o-vvvv
di 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
-vvvv
argument. 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
lvmdump
il quale fornisce le informazioni relative al dump per scopi diagnostici. Per informazioni consultate la pagina man (8) dilvmdump
. - Eseguite il comando
lvs -v
,pvs -a
odmsetup info -c
per informazioni aggiuntive del sistema. - Esaminate l'ultimo backup dei metadata in
/etc/lvm/backup
e le versioni archiviate in/etc/lvm/archive
. - Controllate le informazioni correnti sulla configurazione, eseguendo il comando
lvm dumpconfig
. - Controllate il file
.cache
in/etc/lvm
per informazioni relative a quale dispositivo possiede i physical volume.
6.2. Come visualizzare le informazioni su dispositivi falliti
-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.
[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.
[root@link-07 tmp]# vgs -P -o +devices
Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
vg 9 2 0 rz-pn- 2.11T 2.07T unknown device(0)
vg 9 2 0 rz-pn- 2.11T 2.07T unknown device(5120),/dev/sda1(0)
lvs
senza l'opzione -P
mostra il seguente output.
[root@link-07 tmp]# lvs -a -o +devices
Volume group "vg" not found
-P
visualizzerete i volumi logici falliti.
[root@link-07 tmp]# lvs -P -a -o +devices
Partial mode. Incomplete volume groups will be activated read-only.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
linear vg -wi-a- 20.00G unknown device(0)
stripe vg -wi-a- 20.00G unknown device(5120),/dev/sda1(0)
pvs
e lvs
con l'opzione -P
specificata quando una parte del volume logico speculare è fallita.
root@link-08 ~]# vgs -a -o +devices -P
Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
corey 4 4 0 rz-pnc 1.58T 1.34T my_mirror_mimage_0(0),my_mirror_mimage_1(0)
corey 4 4 0 rz-pnc 1.58T 1.34T /dev/sdd1(0)
corey 4 4 0 rz-pnc 1.58T 1.34T unknown device(0)
corey 4 4 0 rz-pnc 1.58T 1.34T /dev/sdb1(0)
[root@link-08 ~]# lvs -a -o +devices -P
Partial mode. Incomplete volume groups will be activated read-only.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
my_mirror corey mwi-a- 120.00G my_mirror_mlog 1.95 my_mirror_mimage_0(0),my_mirror_mimage_1(0)
[my_mirror_mimage_0] corey iwi-ao 120.00G unknown device(0)
[my_mirror_mimage_1] corey iwi-ao 120.00G /dev/sdb1(0)
[my_mirror_mlog] corey lwi-ao 4.00M /dev/sdd1(0)
6.3. Processo di recupero da un LVM Mirror Failure
[root@link-08 ~]# pvcreate /dev/sd[abcdefgh][12]
Physical volume "/dev/sda1" successfully created
Physical volume "/dev/sda2" successfully created
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdc1" successfully created
Physical volume "/dev/sdc2" successfully created
Physical volume "/dev/sdd1" successfully created
Physical volume "/dev/sdd2" successfully created
Physical volume "/dev/sde1" successfully created
Physical volume "/dev/sde2" successfully created
Physical volume "/dev/sdf1" successfully created
Physical volume "/dev/sdf2" successfully created
Physical volume "/dev/sdg1" successfully created
Physical volume "/dev/sdg2" successfully created
Physical volume "/dev/sdh1" successfully created
Physical volume "/dev/sdh2" successfully created
vg
ed i volumi speculari groupfs
.
[root@link-08 ~]#vgcreate vg /dev/sd[abcdefgh][12]
Volume group "vg" successfully created [root@link-08 ~]#lvcreate -L 750M -n groupfs -m 1 vg /dev/sda1 /dev/sdb1 /dev/sdc1
Rounding up size to full physical extent 752.00 MB Logical volume "groupfs" created
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.
[root@link-08 ~]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices groupfs vg mwi-a- 752.00M groupfs_mlog 21.28 groupfs_mimage_0(0),groupfs_mimage_1(0) [groupfs_mimage_0] vg iwi-ao 752.00M /dev/sda1(0) [groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdb1(0) [groupfs_mlog] vg lwi-ao 4.00M /dev/sdc1(0) [root@link-08 ~]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices groupfs vg mwi-a- 752.00M groupfs_mlog 100.00 groupfs_mimage_0(0),groupfs_mimage_1(0) [groupfs_mimage_0] vg iwi-ao 752.00M /dev/sda1(0) [groupfs_mimage_1] vg iwi-ao 752.00M /dev/sdb1(0) [groupfs_mlog] vg lwi-ao 4.00M i /dev/sdc1(0)
/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
[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.
[root@link-08 ~]# lvs -a -o +devices
/dev/sda1: read failed after 0 of 2048 at 0: Input/output error
/dev/sda2: read failed after 0 of 2048 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg -wi-a- 752.00M /dev/sdb1(0)
pvcreate
command.
[root@link-08 ~]#pvcreate /dev/sda[12]
Physical volume "/dev/sda1" successfully created Physical volume "/dev/sda2" successfully created [root@link-08 ~]#pvscan
PV /dev/sdb1 VG vg lvm2 [67.83 GB / 67.10 GB free] PV /dev/sdb2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sda1 lvm2 [603.94 GB] PV /dev/sda2 lvm2 [603.94 GB] Total: 16 [2.11 TB] / in use: 14 [949.65 GB] / in no VG: 2 [1.18 TB]
[root@link-08 ~]#vgextend vg /dev/sda[12]
Volume group "vg" successfully extended [root@link-08 ~]#pvscan
PV /dev/sdb1 VG vg lvm2 [67.83 GB / 67.10 GB free] PV /dev/sdb2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdc2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdd2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sde2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdf2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdg2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh1 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sdh2 VG vg lvm2 [67.83 GB / 67.83 GB free] PV /dev/sda1 VG vg lvm2 [603.93 GB / 603.93 GB free] PV /dev/sda2 VG vg lvm2 [603.93 GB / 603.93 GB free] Total: 16 [2.11 TB] / in use: 16 [2.11 TB] / in no VG: 0 [0 ]
[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.
[root@link-08 ~]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg mwi-a- 752.00M groupfs_mlog 68.62 groupfs_mimage_0(0),groupfs_mimage_1(0)
[groupfs_mimage_0] vg iwi-ao 752.00M /dev/sdb1(0)
[groupfs_mimage_1] vg iwi-ao 752.00M /dev/sda1(0)
[groupfs_mlog] vg lwi-ao 4.00M /dev/sdc1(0)
6.4. Recupero dei metadata del Physical Volume
Avvertimento
[root@link-07 backup]# lvs -a -o +devices
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
...
/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.
[root@link-07 backup]# vgchange -an --partial
Partial mode. Incomplete volume groups will be activated read-only.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
...
--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.
[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.
[root@link-07 backup]# vgcfgrestore VG
Restored volume group VG
[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)
[root@link-07 backup]#lvchange -ay /dev/VG/stripe
[root@link-07 backup]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe VG -wi-a- 300.00G /dev/sdh1 (0),/dev/sda1(0) stripe VG -wi-a- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
fsck
.
6.5. Sostituzione di un Physical Volume mancante
--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
--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
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
vg_free_count
e vg_extent_count
di vgs
, per visualizzare le estensioni disponibili ed il numero totale di estensioni.
[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
# 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
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
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
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
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
start length
lineardevice 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
/dev/hda
specificato come parametro del dispositivo.
0 20971520 linear /dev/hda 384
A.1.2. Target di mappatura striped
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
- 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
A.1.3. Il target di mappatura mirror
start length
mirrorlog_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]sync
argument can be used to specify the mirror as "in-sync" or "out-of-sync". Theblock_on_error
argument 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
- 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
- Un dispositivo con una mappatura
lineare
contenente la tabella di mappatura originale del volume sorgente. - Un dispositivo con una mappatura
lineare
utilizzato 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
snapshot
che 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
#dmsetup table|grep volumeGroup
volumeGroup-base-real: 0 2097152 linear 8:19 384 volumeGroup-snap-cow: 0 204800 linear 8:19 2097536 volumeGroup-snap: 0 2097152 snapshot 254:11 254:12 P 16 volumeGroup-base: 0 2097152 snapshot-origin 254:11 #ls -lL /dev/mapper/volumeGroup-*
brw------- 1 root root 254, 11 29 ago 18:15 /dev/mapper/volumeGroup-base-real brw------- 1 root root 254, 12 29 ago 18:15 /dev/mapper/volumeGroup-snap-cow brw------- 1 root root 254, 13 29 ago 18:15 /dev/mapper/volumeGroup-snap brw------- 1 root root 254, 10 29 ago 18:14 /dev/mapper/volumeGroup-base
snapshot-origin
è il seguente:
start length
snapshot-originorigin
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
snapshotorigin COW-device
P|Nchunksize
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
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
A.1.5. Il target di mappatura error
error
non accetta parametri aggiuntivi oltre ai parametri start e length.
error
.
0 65536 error
A.1.6. Target di mappatura zero
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
A.1.7. Il target di mappatura multipath
multipath
è il seguente:
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
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
#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
pathgroupargs
per 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
È 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 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
crypt
cifra i dati che passano attraverso il dispositivo specificato. Esso utilizza il kernel Crypto API.
crypt
è il seguente:
start length
cryptcipher 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
plain
oessiv:hash
. Univmode
di-plain
utilizza il numero del settore (più l'offset IV) di IV. Univmode
di-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
A.2. Il comando dmsetup
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.
dmsetup
consultate la pagina man (8) di dmsetup
.
A.2.1. Il comando dmsetup info
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 suspend
imposta lo stato suSUSPENDED
. Quando un dispositivo risulta sospeso, tutte le operazioni I/O per quel dispositivo verranno arrestate. Il comandodmsetup resume
ripristina 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
--readahead
del comandodmsetup
. Tables present
- Possible states for this category are
LIVE
andINACTIVE
. AnINACTIVE
state indicates that a table has been loaded which will be swapped in when admsetup resume
command restores a device state toACTIVE
, at which point the table's state becomesLIVE
. For information, see thedmsetup
man page. Open count
- L'open reference count indica il numero di volte che un dispositivo viene aperto. Un comando
mount
apre il dispositivo. Event number
- The current number of events received. Issuing a
dmsetup wait n
command 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
.
[root@ask-07 ~]# dmsetup info
Name: testgfsvg-testgfslv1
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 253, 2
Number of targets: 2
UUID: LVM-K528WUGQgPadNXYcFrrf9LnPlUMswgkCkpgPIgYzSvigM7SfeWCypddNSWtNzc2N
...
Name: VolGroup00-LogVol00
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 0
Number of targets: 1
UUID: LVM-tOcS1kqFV9drb0X1Vr8sxeYP0tqcrpdegyqj5lZxe45JMGlmvtqLmbLpBcenh2L3
A.2.2. Il comando dmsetup ls
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
.
[root@ask-07 ~]# dmsetup ls
testgfsvg-testgfslv3 (253, 4)
testgfsvg-testgfslv2 (253, 3)
testgfsvg-testgfslv1 (253, 2)
VolGroup00-LogVol01 (253, 1)
VolGroup00-LogVol00 (253, 0)
[root@grant-01 ~]# dmsetup ls --target mirror
lock_stress-grant--02.1722 (253, 34)
lock_stress-grant--01.1720 (253, 18)
lock_stress-grant--03.1718 (253, 52)
lock_stress-grant--02.1716 (253, 40)
lock_stress-grant--03.1713 (253, 47)
lock_stress-grant--02.1709 (253, 23)
lock_stress-grant--01.1707 (253, 8)
lock_stress-grant--01.1724 (253, 14)
lock_stress-grant--03.1711 (253, 27)
A.2.3. Il comando dmsetup status
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
.
[root@ask-07 ~]# dmsetup status
testgfsvg-testgfslv3: 0 312352768 linear
testgfsvg-testgfslv2: 0 312352768 linear
testgfsvg-testgfslv1: 0 312352768 linear
testgfsvg-testgfslv1: 312352768 50331648 linear
VolGroup00-LogVol01: 0 4063232 linear
VolGroup00-LogVol00: 0 151912448 linear
A.2.4. Il comando dmsetup deps
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.
[root@ask-07 ~]# dmsetup deps
testgfsvg-testgfslv3: 1 dependencies : (8, 16)
testgfsvg-testgfslv2: 1 dependencies : (8, 16)
testgfsvg-testgfslv1: 1 dependencies : (8, 16)
VolGroup00-LogVol01: 1 dependencies : (8, 2)
VolGroup00-LogVol00: 1 dependencies : (8, 2)
lock_stress-grant--02.1722
:
[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
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
- /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
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.
[root@tng3-1 lvm]# cat /etc/lvm/lvm.conf
# This is an example configuration file for the LVM2 system.
# It contains the default settings that would be used if there was no
# /etc/lvm/lvm.conf file.
#
# Refer to 'man lvm.conf' for further information including the file layout.
#
# To put this file in a different directory and override /etc/lvm set
# the environment variable LVM_SYSTEM_DIR before running the tools.
# This section allows you to configure which block devices should
# be used by the LVM system.
devices {
# Where do you want your volume groups to appear ?
dir = "/dev"
# An array of directories that contain the device nodes you wish
# to use with LVM2.
scan = [ "/dev" ]
# If several entries in the scanned directories correspond to the
# same block device and the tools need to display a name for device,
# all the pathnames are matched against each item in the following
# list of regular expressions in turn and the first match is used.
preferred_names = [ ]
# Try to avoid using undescriptive /dev/dm-N names, if present.
# preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
# A filter that tells LVM2 to only use a restricted set of devices.
# The filter consists of an array of regular expressions. These
# expressions can be delimited by a character of your choice, and
# prefixed with either an 'a' (for accept) or 'r' (for reject).
# The first expression found to match a device name determines if
# the device will be accepted or rejected (ignored). Devices that
# don't match any patterns are accepted.
# Be careful if there there are symbolic links or multiple filesystem
# entries for the same device as each name is checked separately against
# the list of patterns. The effect is that if any name matches any 'a'
# pattern, the device is accepted; otherwise if any name matches any 'r'
# pattern it is rejected; otherwise it is accepted.
# Don't have more than one filter line active at once: only one gets used.
# Run vgscan after you change this parameter to ensure that
# the cache file gets regenerated (see below).
# If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
# By default we accept every block device:
filter = [ "a/.*/" ]
# Exclude the cdrom drive
# filter = [ "r|/dev/cdrom|" ]
# When testing I like to work with just loopback devices:
# filter = [ "a/loop/", "r/.*/" ]
# Or maybe all loops and ide drives except hdc:
# filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
# Use anchors if you want to be really specific
# filter = [ "a|^/dev/hda8$|", "r/.*/" ]
# The results of the filtering are cached on disk to avoid
# rescanning dud devices (which can take a very long time).
# By default this cache is stored in the /etc/lvm/cache directory
# in a file called '.cache'.
# It is safe to delete the contents: the tools regenerate it.
# (The old setting 'cache' is still respected if neither of
# these new ones is present.)
cache_dir = "/etc/lvm/cache"
cache_file_prefix = ""
# You can turn off writing this cache file by setting this to 0.
write_cache_state = 1
# Advanced settings.
# List of pairs of additional acceptable block device types found
# in /proc/devices with maximum (non-zero) number of partitions.
# types = [ "fd", 16 ]
# If sysfs is mounted (2.6 kernels) restrict device scanning to
# the block devices it believes are valid.
# 1 enables; 0 disables.
sysfs_scan = 1
# By default, LVM2 will ignore devices used as components of
# software RAID (md) devices by looking for md superblocks.
# 1 enables; 0 disables.
md_component_detection = 1
# By default, if a PV is placed directly upon an md device, LVM2
# will align its data blocks with the the chunk_size exposed in sysfs.
# 1 enables; 0 disables.
md_chunk_alignment = 1
# If, while scanning the system for PVs, LVM2 encounters a device-mapper
# device that has its I/O suspended, it waits for it to become accessible.
# Set this to 1 to skip such devices. This should only be needed
# in recovery situations.
ignore_suspended_devices = 0
}
# This section that allows you to configure the nature of the
# information that LVM2 reports.
log {
# Controls the messages sent to stdout or stderr.
# There are three levels of verbosity, 3 being the most verbose.
verbose = 0
# Should we send log messages through syslog?
# 1 is yes; 0 is no.
syslog = 1
# Should we log error and debug messages to a file?
# By default there is no log file.
#file = "/var/log/lvm2.log"
# Should we overwrite the log file each time the program is run?
# By default we append.
overwrite = 0
# What level of log messages should we send to the log file and/or syslog?
# There are 6 syslog-like log levels currently in use - 2 to 7 inclusive.
# 7 is the most verbose (LOG_DEBUG).
level = 0
# Format of output messages
# Whether or not (1 or 0) to indent messages according to their severity
indent = 1
# Whether or not (1 or 0) to display the command name on each line output
command_names = 0
# A prefix to use before the message text (but after the command name,
# if selected). Default is two spaces, so you can see/grep the severity
# of each message.
prefix = " "
# To make the messages look similar to the original LVM tools use:
# indent = 0
# command_names = 1
# prefix = " -- "
# Set this if you want log messages during activation.
# Don't use this in low memory situations (can deadlock).
# activation = 0
}
# Configuration of metadata backups and archiving. In LVM2 when we
# talk about a 'backup' we mean making a copy of the metadata for the
# *current* system. The 'archive' contains old metadata configurations.
# Backups are stored in a human readeable text format.
backup {
# Should we maintain a backup of the current metadata configuration ?
# Use 1 for Yes; 0 for No.
# Think very hard before turning this off!
backup = 1
# Where shall we keep it ?
# Remember to back up this directory regularly!
backup_dir = "/etc/lvm/backup"
# Should we maintain an archive of old metadata configurations.
# Use 1 for Yes; 0 for No.
# On by default. Think very hard before turning this off.
archive = 1
# Where should archived files go ?
# Remember to back up this directory regularly!
archive_dir = "/etc/lvm/archive"
# What is the minimum number of archive files you wish to keep ?
retain_min = 10
# What is the minimum time you wish to keep an archive file for ?
retain_days = 30
}
# Settings for the running LVM2 in shell (readline) mode.
shell {
# Number of lines of history to store in ~/.lvm_history
history_size = 100
}
# Miscellaneous global LVM2 settings
global {
library_dir = "/usr/lib64"
# The file creation mask for any files and directories created.
# Interpreted as octal if the first digit is zero.
umask = 077
# Allow other users to read the files
#umask = 022
# Enabling test mode means that no changes to the on disk metadata
# will be made. Equivalent to having the -t option on every
# command. Defaults to off.
test = 0
# Default value for --units argument
units = "h"
# Whether or not to communicate with the kernel device-mapper.
# Set to 0 if you want to use the tools to manipulate LVM metadata
# without activating any logical volumes.
# If the device-mapper kernel driver is not present in your kernel
# setting this to 0 should suppress the error messages.
activation = 1
# If we can't communicate with device-mapper, should we try running
# the LVM1 tools?
# This option only applies to 2.4 kernels and is provided to help you
# switch between device-mapper kernels and LVM1 kernels.
# The LVM1 tools need to be installed with .lvm1 suffices
# e.g. vgscan.lvm1 and they will stop working after you start using
# the new lvm2 on-disk metadata format.
# The default value is set when the tools are built.
# fallback_to_lvm1 = 0
# The default metadata format that commands should use - "lvm1" or "lvm2".
# The command line override is -M1 or -M2.
# Defaults to "lvm1" if compiled in, else "lvm2".
# format = "lvm1"
# Location of proc filesystem
proc = "/proc"
# Type of locking to use. Defaults to local file-based locking (1).
# Turn locking off by setting to 0 (dangerous: risks metadata corruption
# if LVM2 commands get run concurrently).
# Type 2 uses the external shared library locking_library.
# Type 3 uses built-in clustered locking.
locking_type = 3
# If using external locking (type 2) and initialisation fails,
# with this set to 1 an attempt will be made to use the built-in
# clustered locking.
# If you are using a customised locking_library you should set this to 0.
fallback_to_clustered_locking = 1
# If an attempt to initialise type 2 or type 3 locking failed, perhaps
# because cluster components such as clvmd are not running, with this set
# to 1 an attempt will be made to use local file-based locking (type 1).
# If this succeeds, only commands against local volume groups will proceed.
# Volume Groups marked as clustered will be ignored.
fallback_to_local_locking = 1
# Local non-LV directory that holds file-based locks while commands are
# in progress. A directory like /tmp that may get wiped on reboot is OK.
locking_dir = "/var/lock/lvm"
# Other entries can go here to allow you to load shared libraries
# e.g. if support for LVM1 metadata was compiled as a shared library use
# format_libraries = "liblvm2format1.so"
# Full pathnames can be given.
# Search this directory first for shared libraries.
# library_dir = "/lib"
# The external locking library to load if locking_type is set to 2.
# locking_library = "liblvm2clusterlock.so"
}
activation {
# How to fill in missing stripes if activating an incomplete volume.
# Using "error" will make inaccessible parts of the device return
# I/O errors on access. You can instead use a device path, in which
# case, that device will be used to in place of missing stripes.
# But note that using anything other than "error" with mirrored
# or snapshotted volumes is likely to result in data corruption.
missing_stripe_filler = "error"
# How much stack (in KB) to reserve for use while devices suspended
reserved_stack = 256
# How much memory (in KB) to reserve for use while devices suspended
reserved_memory = 8192
# Nice value used while devices suspended
process_priority = -18
# If volume_list is defined, each LV is only activated if there is a
# match against the list.
# "vgname" and "vgname/lvname" are matched exactly.
# "@tag" matches any tag set in the LV or VG.
# "@*" matches if any tag defined on the host is also set in the LV or VG
#
# volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
# Size (in KB) of each copy operation when mirroring
mirror_region_size = 512
# Setting to use when there is no readahead value stored in the metadata.
#
# "none" - Disable readahead.
# "auto" - Use default value chosen by kernel.
readahead = "auto"
# 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define
# how a device failure affecting a mirror is handled.
# A mirror is composed of mirror images (copies) and a log.
# A disk log ensures that a mirror does not need to be re-synced
# (all copies made the same) every time a machine reboots or crashes.
#
# In the event of a failure, the specified policy will be used to
# determine what happens:
#
# "remove" - Simply remove the faulty device and run without it. If
# the log device fails, the mirror would convert to using
# an in-memory log. This means the mirror will not
# remember its sync status across crashes/reboots and
# the entire mirror will be re-synced. If a
# mirror image fails, the mirror will convert to a
# non-mirrored device if there is only one remaining good
# copy.
#
# "allocate" - Remove the faulty device and try to allocate space on
# a new device to be a replacement for the failed device.
# Using this policy for the log is fast and maintains the
# ability to remember sync state through crashes/reboots.
# Using this policy for a mirror device is slow, as it
# requires the mirror to resynchronize the devices, but it
# will preserve the mirror characteristic of the device.
# This policy acts like "remove" if no suitable device and
# space can be allocated for the replacement.
# Currently this is not implemented properly and behaves
# similarly to:
#
# "allocate_anywhere" - Operates like "allocate", but it does not
# require that the new space being allocated be on a
# device is not part of the mirror. For a log device
# failure, this could mean that the log is allocated on
# the same device as a mirror device. For a mirror
# device, this could mean that the mirror device is
# allocated on the same device as another mirror device.
# This policy would not be wise for mirror devices
# because it would break the redundant nature of the
# mirror. This policy acts like "remove" if no suitable
# device and space can be allocated for the replacement.
mirror_log_fault_policy = "allocate"
mirror_device_fault_policy = "remove"
}
####################
# Advanced section #
####################
# Metadata settings
#
# metadata {
# Default number of copies of metadata to hold on each PV. 0, 1 or 2.
# You might want to override it from the command line with 0
# when running pvcreate on new PVs which are to be added to large VGs.
# pvmetadatacopies = 1
# Approximate default size of on-disk metadata areas in sectors.
# You should increase this if you have large volume groups or
# you want to retain a large on-disk history of your metadata changes.
# pvmetadatasize = 255
# List of directories holding live copies of text format metadata.
# These directories must not be on logical volumes!
# It's possible to use LVM2 with a couple of directories here,
# preferably on different (non-LV) filesystems, and with no other
# on-disk metadata (pvmetadatacopies = 0). Or this can be in
# addition to on-disk metadata areas.
# The feature was originally added to simplify testing and is not
# supported under low memory situations - the machine could lock up.
#
# Never edit any files in these directories by hand unless you
# you are absolutely sure you know what you are doing! Use
# the supplied toolset to make changes (e.g. vgcfgrestore).
# dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
#}
# Event daemon
#
dmeventd {
# mirror_library is the library used when monitoring a mirror device.
#
# "libdevmapper-event-lvm2mirror.so" attempts to recover from
# failures. It removes failed devices from a volume group and
# reconfigures a mirror as necessary. If no mirror library is
# provided, mirrors are not monitored through dmeventd.
mirror_library = "libdevmapper-event-lvm2mirror.so"
# snapshot_library is the library used when monitoring a snapshot device.
#
# "libdevmapper-event-lvm2snapshot.so" monitors the filling of
# snapshots and emits a warning through syslog, when the use of
# snapshot exceedes 80%. The warning is repeated when 85%, 90% and
# 95% of the snapshot are filled.
snapshot_library = "libdevmapper-event-lvm2snapshot.so"
}
Appendice C. Tag dell'oggetto LVM
database
.
lvs @database
C.1. Come aggiungere e rimuovere i tag dagli oggetti
--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
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"] } }
C.3. Controllo attivazione con i tag
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" ] }
tags { hosttags = 1 }
vg1/lvol2
solo su host db2
, fate quanto segue:
- Eseguite
lvchange --addtag @db2 vg1/lvol2
da qualsiasi host nel cluster. - Eseguite
lvchange -ay vg1/lvol2
.
Appendice D. Metadata del gruppo di volumi di LVM
--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
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
- 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
myvg
.
# Generated by LVM2: Tue Jan 30 16:28:15 2007 contents = "Text Format Volume Group" version = 1 description = "Created *before* executing 'lvextend -L+5G /dev/myvg/mylv /dev/sdc'" creation_host = "tng3-1" # Linux tng3-1 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 creation_time = 1170196095 # Tue Jan 30 16:28:15 2007 myvg { id = "0zd3UT-wbYT-lDHq-lMPs-EjoE-0o18-wL28X4" seqno = 3 status = ["RESIZEABLE", "READ", "WRITE"] extent_size = 8192 # 4 Megabytes max_lv = 0 max_pv = 0 physical_volumes { pv0 { id = "ZBW5qW-dXF2-0bGw-ZCad-2RlV-phwu-1c1RFt" device = "/dev/sda" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } pv1 { id = "ZHEZJW-MR64-D3QM-Rv7V-Hxsa-zU24-wztY19" device = "/dev/sdb" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } pv2 { id = "wCoG4p-55Ui-9tbp-VTEA-jO6s-RAVx-UREW0G" device = "/dev/sdc" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } pv3 { id = "hGlUwi-zsBg-39FF-do88-pHxY-8XA2-9WKIiA" device = "/dev/sdd" # Hint only status = ["ALLOCATABLE"] dev_size = 35964301 # 17.1491 Gigabytes pe_start = 384 pe_count = 4390 # 17.1484 Gigabytes } } logical_volumes { mylv { id = "GhUYSF-qVM3-rzQo-a6D2-o0aV-LQet-Ur9OF9" status = ["READ", "WRITE", "VISIBLE"] segment_count = 2 segment1 { start_extent = 0 extent_count = 1280 # 5 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv0", 0 ] } segment2 { start_extent = 1280 extent_count = 1280 # 5 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv1", 0 ] } } } }
Appendice E. Cronologia della revisione
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