SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Paolo Pedaletti www.OpenLabs.it
LVM21
Logical Volume Manager (ver.2)
last update:
giovedì 15 gennaio 2015
1 Creative Commons - Attribuzione-Condividi allo stesso modo
Tu sei libero:
• di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera
• di modificare quest'opera
alle seguenti condizioni:
• Attribuzione. Devi attribuire la paternità dell'opera nei modi indicati dall'autore o da chi ti ha dato l'opera in licenza e in
modo tale da non suggerire che essi avallino te o il modo in cui tu usi l'opera.
• Condividi allo stesso modo. Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera
risultante solo con una licenza identica o equivalente a questa.
15/01/2015 1 di 24
Paolo Pedaletti www.OpenLabs.it
Indice generale
Introduzione..............................................................................................................................................................................................3
Vantaggi...............................................................................................................................................................................................3
Implementazione.................................................................................................................................................................................4
Strumenti di verifica............................................................................................................................................................................4
Terminologia.............................................................................................................................................................................................5
Physical Volumes.................................................................................................................................................................................5
Volume Groups....................................................................................................................................................................................5
Logical Volumes..................................................................................................................................................................................5
Extents.................................................................................................................................................................................................5
RAID con mdadm.....................................................................................................................................................................................6
Verifica................................................................................................................................................................................................6
Marcare come difettoso un intero HD (2 partizioni) di un RAID.......................................................................................................9
Rimuovere un HD (2 partizioni) difettoso da 2 RAID........................................................................................................................9
Marcare & rimuovere un HD (2 partizioni) difettoso da 2 RAID.......................................................................................................9
Aggiungere un HD in sostituzione di uno difettoso..........................................................................................................................10
Verifica dell'avanzamento della sincronizzazione tra i dischi del RAID..........................................................................................10
Con kernel > 2.6.16.....................................................................................................................................................................10
Disabilitare un RAID.........................................................................................................................................................................10
Recupero della configurazione di un RAID software:......................................................................................................................11
LVM2......................................................................................................................................................................................................12
Creazione di Phisical Volume............................................................................................................................................................12
Creazione o estensione del Volume Group........................................................................................................................................12
Creazione Logical Volume................................................................................................................................................................12
Formattazione & mount.....................................................................................................................................................................13
Ridimensionare un LV.......................................................................................................................................................................13
Allargare la partizione.................................................................................................................................................................13
Restringere la partizione..............................................................................................................................................................13
Salvare la configurazione LVM2.......................................................................................................................................................13
Spostare un Volume Group................................................................................................................................................................14
Snapshot............................................................................................................................................................................................15
Rimozione di un sistema LVM2........................................................................................................................................................16
Recupero di un sistema LVM2..........................................................................................................................................................16
RAID “LVM2”..................................................................................................................................................................................17
Elenco comandi utili...............................................................................................................................................................................18
In mancanza di dispositivi fisici..............................................................................................................................................................21
Linkografia..............................................................................................................................................................................................23
15/01/2015 2 di 24
Paolo Pedaletti www.OpenLabs.it
Introduzione
LVM (ora alla versione 2) permette di gestire in modo moderno (= flessibile e sicuro) il
sistema di archiviazione di massa (storage) online di un computer. LVM astrae
l'hardware sottostante e presenta al sistema operativo dei device virtuali, estendibili a
piacere e riposizionabili su altro device fisico in caso di problemi, con in più la
possibilità di eseguire snaturato (immagini immutabili nel tempo ma usabili in modo
trasparente alle applicazioni) dei filesystem in tempo reale.
Vantaggi
• Ridimensionare i Volumi Logici (LV/partizioni) mantenendole sempre online
• Ridimensionare i Volumi Fisici (PV/dischi) mantenendoli sempre online
• creare snapshots read-only e read/write
• disporre i Volumi Logici (LV/partizioni) su piu' Volumi Fisici (PV/dischi) come un
RAID0
• disporre i Volumi Logici (LV/partizioni) come un RAID1
• separare o unire o spostare Gruppi Volumi (VG) su diversi HD fisici (in caso di
sostituzione/aggiornamento di hardware storage)
Schematicamente la configurazione di una installazione GNU/Linux che utilizza LVM si
può rappresentare in questo modo:
mount
point
/ /usr /var /var/log /var/lib |
/var/cache |
/var/spool |
/var/tmp | ...
/tmp /opt /home
Logical
Volume
usr var var_log var_lib |
var_cache |
var_spool |
var_tmp | ...
tmp opt free |
snapshot
home free |
snapshot
Volume
Group
sistema dati
Physical
Volume
md0 md1 sdc sdd sde
~~~~~~~~~~~~~~
RAID
software
md0 md1 md0 md1
partizioni sda1 sda2 sdb1 sdb2 -2
- -
device fisici sda sdb sdc sdd sde
In pratica si passa da:
2 Per dischi NON di boot le partizioni sono superflue se non addirittura inopportune.
15/01/2015 3 di 24
Paolo Pedaletti www.OpenLabs.it
Hard Disk
→ Partizione
→ Filesystem
a
PV (Hard Disk intero o Partizione [facoltativa] o device RAID md)
→ VG (ex “HD” )
→ LV (ex “partizioni”)
→ Filesystem
Implementazione
Un sistema basato su LVM, se si basa su un RAID sottostante, garantisce flessibilità
nella gestione delle partizioni e indipendenza da eventuali malfunzionamenti hardware
dei dischi fisici. Se il computer non ha un controller hardware integrato e' necessario
configurare prima un sistema RAID software.
Lo schema precedente e' intenzionalmente misto RAID e non-RAID per poter
dimostrare (nella parte non-RAID) alcune caratteristiche di LVM che con un sistema
RAID sottostante si complicherebbero inutilmente.
La procedura seguente si basa sullo schema precedente che suppone di avere 5 dischi
fisici
Strumenti di verifica
$ iostat
$ systat
$ iozone
$ bonnie++
numero seriale per identificare gli HD:
$ hdparm -I /dev/sda | grep -i serial
$ smartctl -i /dev/sda
$ udevadm info --query=property –name=sda | grep -i serial
$ scsi_id -gus /block/sda
$ sdparm --vendor sea /dev/sda
$ lshw
per il BIOS:
$ dmidecode
15/01/2015 4 di 24
Paolo Pedaletti www.OpenLabs.it
Terminologia
Physical Volumes
I Physical Volumes (PV) Sono i dischi fisici o partizioni (esempio: /dev/hda o /dev/hda1)
oppure device RAID md (esempio /dev/md0). Sono i dispositivi che vengono formattati
e montati di solito se non si usa LVM. Quando si intende usarli con LVM bisogna
marcarli di tipo 0x8E (Linux LVM).
Volume Groups
Un Volume Group (VG) e' un'insieme di PV. Si possono considerare dei dischi “virtuali”
che verranno utilizzati per creare le partizioni “virtuali” da formattare e montare.
Logical Volumes
Partendo dai VG si creano i Logical Volumes (LV) in pratica le partizioni che vengono
poi formattare e montate nel modo classico.
Extents
L'equivalente dei settori, unita' base di allocazione dei file. Di default sono 4MiB
15/01/2015 5 di 24
Paolo Pedaletti www.OpenLabs.it
RAID con mdadm
Personalmente preferisco avere la partizione / non gestita da LVM ma solo dal RAID.
In genere, se uso LVM, creo 3 partizioni, una per la /, una per lo swap, e una come PV
per LVM3
. Avere la / separata dal resto mi velocizza il resync tra i dischi in caso di
necessita' (ricostruzione del RAID)
Marcare le partizioni come partizioni di tipo Linux raid autodetect (type FD) tramite
{c|s}fdisk
Per sicurezza azzero il superblocco di un eventuale software RAID precedente:
$ mdadm --zero-superblock /dev/sda1
Assemblare le partizioni sda1 e sdb1 nel raid di livello 1 md0 configurando
contemporaneamente un disco di scorta “spare” al momento inesistente (supponendo
di aggiungerlo in seguito)
$ mdadm /dev/md0 --create --verbose --chunk=128 --level=1 --raid-devices=2 /dev/sda1
/dev/sdb1 --spare-device=1 missing
stessa cosa per sda2 + sdb2 → md1
$ mdadm /dev/md1 --create --verbose --chunk=128 --level=1 --raid-devices=2 /dev/sda2
/dev/sdb2 --spare-device=1 missing
oppure
$ mdadm /dev/md1 --create --verbose --level=1 --raid-devices=2 /dev/sda2 missing
se il secondo disco del RAID non e' disponibile al momento
Verifica
dettagli hd di un md:
$ mdadm --examine /dev/sdf
/dev/sdf:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : e0d407ba:ab11cb33:7e6ca813:6eaa1eff
Name : pta-pp02:0 (local to host pta-pp02)
Creation Time : Tue Oct 25 09:10:47 2011
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 976771120 (465.76 GiB 500.11 GB)
Array Size : 976770848 (465.76 GiB 500.11 GB)
Used Dev Size : 976770848 (465.76 GiB 500.11 GB)
Data Offset : 2048 sectors
3) [2009/11/09] ho verificato che almeno con Ubuntu 9.10 server e' possibile installare
tutto il sistema (/ e swap incluso) su LVM2, anche se non lo consiglio.
15/01/2015 6 di 24
Paolo Pedaletti www.OpenLabs.it
Super Offset : 8 sectors
State : clean
Device UUID : 9fcb710a:7f153461:67cd6abc:b5f6e0e8
Update Time : Fri Nov 4 15:14:58 2011
Checksum : 2b52445f - correct
Events : 12568
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing)
$ mdadm --examine --scan
ARRAY /dev/md/0 metadata=1.2 UUID=e0d407ba:ab11cb33:7e6ca813:6eaa1eff name=pta-pp02:0
$ mdadm --assemble --scan
dettagli di un device md:
$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[2] sdb1[0]
488385424 blocks super 1.2 [2/2] [UU]
unused devices: <none>
$ mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Oct 25 09:10:47 2011
Raid Level : raid1
Array Size : 488385424 (465.76 GiB 500.11 GB)
Used Dev Size : 488385424 (465.76 GiB 500.11 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Fri Nov 4 15:13:58 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
15/01/2015 7 di 24
Paolo Pedaletti www.OpenLabs.it
Name : pta-pp02:0 (local to host pta-pp02)
UUID : e0d407ba:ab11cb33:7e6ca813:6eaa1eff
Events : 12568
Number Major Minor RaidDevice State
0 8 80 0 active sync /dev/sdf
2 8 96 1 active sync /dev/sdg
monitor 1-shot:
$ mdadm --monitor --scan -1
$ mdadm --monitor --scan --mail root@localhost -p /root/script/mdadm-handle-events.sh
-1
15/01/2015 8 di 24
Paolo Pedaletti www.OpenLabs.it
----------------------8<----------------8<------------------8<------------------
#!/bin/bash
# /root/script/mdadm-handle-events.sh
# script di gestione degli eventi generati dal sistema raid software
LOGFILE=/var/log/mdadm-handle-events.log
MESSAGGIO="$@"
logger "$MESSAGGIO"
echo -e "$MESSAGGIO" | mutt -s "mail from $0" root@localhost
echo $(date) >> $LOGFILE
echo $MESSAGGIO >> $LOGFILE
echo "-------------" >> $LOGFILE
----------------------8<----------------8<------------------8<------------------
Marcare come difettoso un intero HD (2 partizioni) di un RAID
$ mdadm /dev/md0 --fail /dev/sdb1
$ mdadm /dev/md1 --fail /dev/sdb2
prima:
:[~]$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdb3[2](F) sda3[0]
136721088 blocks [2/1] [U_]
$ mdadm /dev/md3 --fail /dev/sdb3
$ mdadm /dev/md3 --remove /dev/sdb3
dopo:
:[~]$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda3[0]
136721088 blocks [2/1] [U_]
Rimuovere un HD (2 partizioni) difettoso da 2 RAID
$ mdadm /dev/md0 --remove /dev/sdb1
$ mdadm /dev/md1 --remove /dev/sdb2
Marcare & rimuovere un HD (2 partizioni) difettoso da 2 RAID
$ mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1
$ mdadm /dev/md1 --fail /dev/sdb2 --remove /dev/sdb2
15/01/2015 9 di 24
Paolo Pedaletti www.OpenLabs.it
Aggiungere un HD in sostituzione di uno difettoso
Dopo aver sostituito fisicamente l'HD difettoso con uno identico lo aggiungo al RAID,
duplicando prima le partizioni (da sda a sdb in questo caso):
$ sfdisk /dev/sda | sfdisk /dev/sdb
$ mdadm /dev/md0 --add /dev/sdb1
$ mdadm /dev/md1 --add /dev/sdb2
Verifica dell'avanzamento della sincronizzazione tra i dischi del RAID
$ cat /prc/mdstat
$ mdadm --query --detail /dev/md0
Con kernel > 2.6.16
$ echo "check" > /sys/block/md0/md/sync_action
$ echo "repair" > /sys/block/md0/md/sync_action
Disabilitare un RAID
$ mdadm --manage --stop /dev/md0
$ mdadm --manage --remove /dev/md0
$ mdadm –zero-superblock /dev/sda /dev/sdb
“Toggle the partition to 83 if it is fd. This will prevent the kernel from auto starting the
array on the next bootup.”
15/01/2015 10 di 24
Paolo Pedaletti www.OpenLabs.it
Recupero di un RAID software:
$ mdadm --examine --scan >> /etc/mdadm/mdadm.conf
$ mdadm --monitor --daemonise --scan
$ mdadm --run
$ cat /proc/mdstat
$ mdadm --query --detail /dev/md0
$ mdadm --assemble --scan -v
$ mdadm --examine --scan -v > mdadm.conf
In caso di problemi:
1. Preserving RAID superblock information4
= backup stato del RAID
$ mdadm --examine /dev/sd[abcdefghijklmn][1-9] >> raid.status
$ mdadm --examine /dev/sd[a-z] | egrep 'Event|/dev/sd'
1. forzare mdadm ad assemblare il RAID in ogni caso:
$ mdadm --stop /dev/mdX
$ mdadm --assemble --force /dev/mdX <list of devices>
$ mdadm --assemble --run --force --update=resync /dev/md1 /dev/sd[abcd]2
1. estrema risorsa:
(mdadm is smart enough to detect the existing data, and shouldn't overwrite it)5
$ mdadm --create --assume-clean --level=L --raid-devices=N --size=SIZE /dev/md0
/dev/sdb1 /dev/sdc1 missing /dev/sdl1 /dev/sd.....
$ mdadm --create /dev/md1 -v –level=5 –raid-disks=4 /dev/sd[abcd]2
mount: /dev/sda2: can't read superblock
Find out superblock location for /dev/sda2:
dumpe2fs /dev/sda2 | grep superblock
Now check and repair a Linux file system using alternate superblock # 32768:
fsck -b 32768 /dev/sda2
4 https://raid.wiki.kernel.org/index.php/RAID_Recovery
5 The solution was to recreate the RAID array. This sound counter-intuitive: if we recreate a raid array over an existing one, it will
be erased ! Right ? Wrong ! As it is said on debian-user-french, mdadm is smart enough to “see” that HDD of the new array were
elements of a previous one. Knowing that, mdadm will try to do its best (i.e. if parameters match the previous array
configuration) and rebuild the new array upon the previous one in a non-destructive way, by keeping HDD content.
15/01/2015 11 di 24
Paolo Pedaletti www.OpenLabs.it
15/01/2015 12 di 24
Paolo Pedaletti www.OpenLabs.it
LVM2
Creazione di Phisical Volume
Marcare il device md1, sd... come partizione di tipo Linux LVM (8e) tramite
{c|s}fdisk, quindi
$ pvcreate /dev/md1
$ pvcreate /dev/sdc1
$ pvcreate /dev/sdd1
$ pvcreate /dev/sde1
Creazione o estensione del Volume Group
$ vgcreate -v sistema /dev/md1
$ vgcreate -v dati /dev/sdc1
$ vgcreate -v film /dev/md1 --physicalextentsize 128M
se esiste già e deve essere esteso su un nuovo device:
$ vgextend -v dati /dev/sdd1
al posto del default di 4MiB imposto la dimesione degli extent a 128M per migliorare il
seek time di una grossa partizione destinata a contenere file di grosse dimensioni.
Verifica:
$ pvs
$ vgs
$ lvs
$ pvdisplay
$ vgdisplay
$ lvdisplay
Creazione Logical Volume
Ora creo la partizioni “virtuali”
$ lvcreate sistema -n usr --size 5g
$ lvcreate sistema -n var -L 5g
$ lvcreate sistema -n var_log --size 1g
$ lvcreate sistema -n tmp --size 3g
$ lvcreate sistema -n opt -L 2g
$ lvcreate dati -n home --size 10g
Verifico:
$ lvs
$ lvdisplay
15/01/2015 13 di 24
Paolo Pedaletti www.OpenLabs.it
Formattazione & mount
Per i filesystem ext* (ext2/3/4) sui filesystem non di sistema e' meglio aggiungere
l'opzione -m 0 cioe' non riserva alcuna percentuale del disco per l'utente root (sugli
attuali dischi di grosse dimensioni si sprecherebbe troppo spazio per nulla)
$ mkfs.xfs /dev/sistema/usr ; mount /dev/mapper/sistema-usr /usr
$ mkfs.xfs /dev/sistema/var ; mount /dev/mapper/sistema-var /var
$ mkfs.xfs /dev/sistema/var_log ; mount /dev/mapper/sistema-var_log /var/log
$ mkfs.xfs /dev/sistema/tmp ; mount /dev/mapper/sistema-tmp /tmp
$ mkfs.xfs /dev/sistema/opt ; mount /dev/mapper/sistema-opt /opt
$ mkfs.xfs /dev/dati/home ; mount /dev/mapper/sistema-home /home
Ridimensionare un LV
Allargare la partizione
$ lvextend -L +1G /dev/sistema/usr
e successivamente il filesystem associato
$ xfs_growfs /dev/sistema/usr
oppure, per ext{2,3,4}
$ resize2fs /dev/sistema/usr
Restringere la partizione
Non tutti i filesystem permettono di essere ristretti, praticamente tutti permettono di
essere allargati (qui $VG e $LV rappresentano rispettivamente VG e LV su cui
lavorare)
$ umount /dev/$VG/$LV
imposto la dimensione del filesystem a 4G:
$ resize2fs /dev/$VG/$LV 4G
$ xfs_growfs -s 4G /dev/$VG/$LV
imposto la dimensione del LV a 4Gb:
$ lvreduce -L 4G /dev/$VG/$LV
Salvare la configurazione LVM2
Per salvare una copia di sicurezza della configurazione di LVM in /etc/lvm/backup/:
$ vgcfgbackup -f LVM2.cfg
oppure
$ lvmdump -d tmpdir
crea un archivio .tgz in /root/ concernente tutti i dettagli del sistema LVM attivo sulla
macchina.
15/01/2015 14 di 24
Paolo Pedaletti www.OpenLabs.it
Recuperare la configurazione di LVM2
$ vgcfgrestore -l LVM2.cfg
$ vgcfgrestore -f LVM2.cfg
Spostare un Volume Group
Lo scopo e' quello di sostituire un device fisico con potenziali problemi di
malfunzionamento con uno nuovo senza interrompere il servizio.
Aggiungo il nuovo device al VG esistente
$ pvcreate /dev/sde1
$ vgextend dati /dev/sde1
verifico
$ vgdisplay dati
Disabilito il PV da liberare:
$ pvchange -xn /dev/sdd1
Sposto i dati fuori dal device mal-funzionante
$ pvmove -c -i 10 /dev/sdd1
oppure, esplicitando la destinazione
$ pvmove -c -i 10 /dev/sdd1 /dev/sdde1
Aspetto che i dati siano trasferiti fuori dal device e alla fine sconnetto il device mal-
funzionante dal VG
$ vgreduce dati /dev/sdd1
$ pvremove /dev/sdd1
15/01/2015 15 di 24
Paolo Pedaletti www.OpenLabs.it
Snapshot
Fare uno “snapshot” di un filesystem significa ottenere una immagine del filesystem
che rimane inalterata per tutto il tempo dell'esistenza dello snapshot, senza per questo
interferire in alcun modo con le applicazioni che contemporaneamente lo usano in
lettura ma soprattutto in scrittura, visto che le scritture vengono effettuate altrove,
tramite il meccanismo di COW (Copy On Write, in pratica leggi da una parte e scrivi
dall'altra)
Lo snapshot e' utile per esempio per effettuare backup di database, che non possono
essere arrestati ma che possono molto probabilmente cambiare tra l'inizio e la fine
della procedura di backup.
Se non si usasse uno snapshot per fare il backup, il backup ottenuto conterrebbe un
database in uno stato inconsistente e quindi inutilizzabile per un restore.
Creare uno snapshot significa in pratica creare un nuovo LV che appare come una
copia esatta di un filesystem congelata all'istante dello snapshot.
$ lvcreate --size 1G --snapshot --name var_lib_snap /dev/sistema/var_lib
$ mkdir /mnt/snapshot
$ mount /dev/sistema/var_lib_snap /mnt/snapshot
effettuo il backup della direcory (con rsync o altro...) dopo di che:
$ umount /mnt/snapshot
$ lvremove -f /dev/sistema/var_lib_snap
15/01/2015 16 di 24
Paolo Pedaletti www.OpenLabs.it
Rimozione di un sistema LVM2
$ lvchange -a n /dev/mapper/1tb-backup1tb
$ lvremove /dev/mapper/1tb-backup1tb
$ vgremove 1tb
$ pvremove /dev/sda1
Recupero di un sistema LVM2
In caso di necessita' e' possibile recuperare i dati di un sistema LVM partendo da un
live-cd.
I comandi da eseguire per accedere alle partizioni sono:
• vedere l'associazione UUID ↔ device in /dev : BLKID
$ blkid
/dev/sdb2: UUID="d33662cd-6cc4-48e7-92d4-4abc1882aa1f" TYPE="swap"
/dev/sdb3: UUID="uVTyQH-03pw-NGHA-9xSd-K2pq-6dXI-V6wGVs" TYPE="LVM2_member"
/dev/sdc1: UUID="cf21d5de-9d7d-964e-d86d-f15f9ae1e03e" TYPE="linux_raid_member"
/dev/sda1: UUID="cf21d5de-9d7d-964e-d86d-f15f9ae1e03e" TYPE="linux_raid_member"
/dev/sdb1: LABEL="root" UUID="828cc26e-d47a-49d5-8305-4b1fb3e3c0eb" TYPE="ext4"
/dev/md0: UUID="Yyk7aW-TQK6-TA3L-2WqV-3jAC-tulM-12HehP" TYPE="LVM2_member"
/dev/mapper/sistema-usr: LABEL="usr" UUID="a177a4e3-de4a-4013-b548-23c44fef039f"
TYPE="xfs"
/dev/mapper/sistema-var: LABEL="var" UUID="1be8f902-07f7-45c0-81b9-59fc104111f8"
TYPE="xfs"
/dev/mapper/sistema-tmp: LABEL="tmp" UUID="3b8060d2-729d-4c7a-8763-6282f7c2164a"
TYPE="xfs"
/dev/mapper/dati-home: UUID="88d7f87c-4f5c-4466-9d2f-a2236a46d93c" TYPE="xfs"
• recupero del sistema LVM2:
$ vgcfgbackup -f LVM2.cfg
$ vgcfgrestore -f VolGroup01 VolGroup01
$ pvscan
$ vgscan
$ lvmdiskscan
$ lvscan
$ vgchange -ay
15/01/2015 17 di 24
Paolo Pedaletti www.OpenLabs.it
RAID “LVM2”6
$ lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
$ lvcreate -L 3G -n DumpMirror -m 1 TCPDumpVolGRP
$ lvs -a -o +devices
“–mirrorlog core”), the log is stored in memory.
6 http://docs.redhat.com/docs/en-
US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/mirror_create.html
15/01/2015 18 di 24
Paolo Pedaletti www.OpenLabs.it
Elenco comandi utili
$ pvchange
Change attributes of a physical volume
$ pvchange -ay
$ pvck
Check physical volume metadata
$ pvck -v /dev/md0
$ pvcreate
Initialize a disk or partition for use by LVM
$ pvcreate /dev/sda1
$ pvdisplay
Display attributes of a physical volume
$ pvdisplay
$ pvmove
Move physical extents outside physical
volume
$ pvmove -v -i 3 /dev/hda2
$ pvremove
Remove a physical volume
$ pvremove -v -t /dev/sda2
$ pvresize
Resize a disk or partition in use by LVM2,
after/before alter it with fdisk
espande PV dopo aver esteso la partizione
con fdisk:
$ pvresize /dev/sda2
restringe PV prima di ridimensionarla con
fdisk
$ pvresize –setphysicalvolumesize 40G
/dev/sda2
$ pvs
Report information about physical volumes
$ pvs
$ pvscan
Scan all disks for physical volumes
$ pvscan
$ vgcfgbackup
Backup volume group descriptor area
$ vgcfgbackup
$ vgcfgrestore
Restore volume group descriptor area
$ vgcfgrestore
$ vgchange
Change attributes of a volume group
$ vgchange -ay
$ vgck
Check volume group metadata
$ vgck
$ vgcreate
Create a volume group
$ vgcreate -v dati /dev/sdc1 /dev/sdd1
$ vgdisplay
Display attributes of volume groups
$ vgdisplay
$ vgexport
Make volume groups unknown to the
system
$ umount /virtual/backup
$ lvchange -an /dev/virtual/backup
$ vgexport virtual
$ vgextend
15/01/2015 19 di 24
Paolo Pedaletti www.OpenLabs.it
Add physical volumes to a volume group
$ vgextend
$ vgimport
Make exported volume groups known to
the system
$ vgimport -a
$ vgmerge
Merge two volume groups.
$ vgmerge -t -v dati dati_new
$ vgreduce
Reduce a volume group by removing one or
more physical volumes
$ vgreduce -t -v --removemissing
$ vgremove
Remove a volume group
$ vgremove dati
$ vgrename
Rename a volume group
$ vgrename /dev/dati /dev/archivio
$ vgs
Report information about volume groups
$ vgs
$ vgscan
Scan all disks for volume groups and
rebuild caches
$ vgscan
$ vgsplit
Split a volume group into two, moving any
logical volumes from one volume group to
another by moving entire physical volumes
$ vgsplit -t -v vs1 vs2 /dev/sdb1
$ lvchange
Change attributes of a logical volume
$ lvchange -ay
$ lvconvert
Convert a logical volume from linear to
mirror or snapshot
$ lvconvert -m1 dati/home
$ lvcreate
Create a logical volume in an existing
volume group
$ lvcreate dati -n home --size 1G
crea il device /dev/dati/home
$ lvcreate --size 1G --snapshot --name
snap /dev/dati/home
crea il device /dev/dati/snap
$ lvdisplay
Display attributes of a logical volume
$ lvdisplay
$ lvextend
Extend the size of a logical volume
$ lvextend --size +5G /dev/sistema/opt
$ lvmdiskscan
Scan for all devices visible to LVM2
$ lvmdiskscan
$ lvmdump
Create lvm2 information dumps for
diagnostic purposes
$ lvmdump
$ lvreduce
Reduce the size of a logical volume
$ lvreduce - - size -1G /dev/sistema/opt
$ lvremove
15/01/2015 20 di 24
Paolo Pedaletti www.OpenLabs.it
Remove a logical volume
$ lvremove sistema/opt
$ lvrename
Rename a logical volume
$ lvrename /dev/sistema/opt /dev/sistema/srv
$ lvrename sistema opt srv
$ lvresize
Resize a logical volume
$ lvresize --size +5G /dev/sistema/usr
$ lvs
Report information about logical volumes
$ lvs
$ lvscan
Scan (all disks) for logical volumes
$ lvscan
15/01/2015 21 di 24
Paolo Pedaletti www.OpenLabs.it
In mancanza di dispositivi fisici...
#!/bin/sh
# script per automatizzare il test
# Creo i file/dispositivi
umount /mnt/test1
# disabilito l'eventuale volume:
lvchange -an /dev/vg1/test1
# rimuovo l'eventuale volume:
lvremove /dev/vg1/test1
#
vgremove vg1
vgremove vg2
NDEVMAX=4
SEQ=$(seq 1 $NDEVMAX)
for DEV in $SEQ ; do
pvremove /dev/loop$DEV
done
if [ $1 ] ; then
echo "OK, all cleaned"
exit 0
fi
for DEV in $SEQ ; do
if [ ! -f /home/hd${DEV}.img ] ; then
dd if=/dev/zero of=/home/hd${DEV}.img bs=1024 count=1000000
fi
pvremove /dev/loop$DEV
# Associo i file ai device loopback
losetup -d /dev/loop$DEV; losetup /dev/loop$DEV /home/hd${DEV}.img
# Creo un volume fisico:
pvcreate --dataalignment 64k /dev/loop$DEV
pvs -o +pe_start /dev/loop$DEV
done
15/01/2015 22 di 24
Paolo Pedaletti www.OpenLabs.it
# maximum number of physical extents is approximately 65000
# physical extent size ~= physical size / 65000
# es: 500 Gb = 500000 Mb / 65000 = 7.69 ~= 8
# Creo 2 gruppi di volume:
vgcreate --physicalextentsize 8M vg1 /dev/loop1 /dev/loop2
vgcreate --physicalextentsize 8M vg2 /dev/loop3 /dev/loop4
# Verifico:
vgs
# Creo un volume logico:
lvcreate -L 512M -n test1 vg1
# Verifico
lvs
# Formatto & monto
mkfs.btrfs /dev/vg1/test1
mkdir /mnt/test1
mount /dev/vg1/test1 /mnt/test1
# Quando ho finito ripulisco il tutto:
15/01/2015 23 di 24
Paolo Pedaletti www.OpenLabs.it
Linkografia
http://www.softpanorama.org/Commercial_linuxes/LVM/recovery_of_lvm_partitions.shtml
http://wiki.gl-como.it/index.php?title=Lvm2
http://wiki.tldp.org/LVM-on-RAID
http://www.debian-administration.org/articles/410
http://www.unixconsult.org/zfs_vs_lvm.html
http://www.mythtv.org/wiki/LVM_on_RAID
https://answers.launchpad.net/lvm2/+question/8410
http://docs.redhat.com/docs/en-
US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/mirror_create.h
tml
http://forums.opensuse.org/english/get-technical-help-here/install-boot-login/412797-
how-mount-lvm-mirror-set-different-load.html
http://old.nabble.com/LVM2-raid1-without-mdadm---Break-the-mirror-and-re-synchronize-
it--back-the-other-way-around.-td25621743.html
http://lists.debian.org/debian-amd64/2009/09/msg00044.html
http://www.markus-gattol.name/ws/lvm.html
15/01/2015 24 di 24

Más contenido relacionado

Similar a Logical Volume management 2

La Virtualizzazione 2010
La Virtualizzazione 2010La Virtualizzazione 2010
La Virtualizzazione 2010Davide Grossato
 
Presentazionelinux 110209080649-phpapp01
Presentazionelinux 110209080649-phpapp01Presentazionelinux 110209080649-phpapp01
Presentazionelinux 110209080649-phpapp01XaviOrantes
 
Manuale Configurazione Docebo
Manuale Configurazione DoceboManuale Configurazione Docebo
Manuale Configurazione DoceboFormaLms
 
We Tv Oghenoa
We Tv OghenoaWe Tv Oghenoa
We Tv Oghenoamarco
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziareSalvatore Paone
 
Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsalberto fiaschi
 
Sistemi di Virtualizzazione con Gnu/Linux Xen vs VMware
Sistemi di Virtualizzazione con Gnu/Linux Xen vs VMwareSistemi di Virtualizzazione con Gnu/Linux Xen vs VMware
Sistemi di Virtualizzazione con Gnu/Linux Xen vs VMwareClaudio Cardinali
 
Sistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxSistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxTruelite
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziareFrancesco Tucci
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMINaLUG
 
Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!festival ICT 2016
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkMassimo Schiro
 

Similar a Logical Volume management 2 (20)

La Virtualizzazione 2010
La Virtualizzazione 2010La Virtualizzazione 2010
La Virtualizzazione 2010
 
La Virtualizzazione
La VirtualizzazioneLa Virtualizzazione
La Virtualizzazione
 
Presentazionelinux 110209080649-phpapp01
Presentazionelinux 110209080649-phpapp01Presentazionelinux 110209080649-phpapp01
Presentazionelinux 110209080649-phpapp01
 
Manuale Configurazione Docebo
Manuale Configurazione DoceboManuale Configurazione Docebo
Manuale Configurazione Docebo
 
We Tv Oghenoa
We Tv OghenoaWe Tv Oghenoa
We Tv Oghenoa
 
Lvm cesvip
Lvm cesvipLvm cesvip
Lvm cesvip
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
 
Giochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfsGiochiamo ai COW-boy : zfs & btrfs
Giochiamo ai COW-boy : zfs & btrfs
 
Sistemi di Virtualizzazione con Gnu/Linux Xen vs VMware
Sistemi di Virtualizzazione con Gnu/Linux Xen vs VMwareSistemi di Virtualizzazione con Gnu/Linux Xen vs VMware
Sistemi di Virtualizzazione con Gnu/Linux Xen vs VMware
 
Sistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente LinuxSistemi di virtualizzazione in ambiente Linux
Sistemi di virtualizzazione in ambiente Linux
 
Corso java
Corso javaCorso java
Corso java
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 
Distro linux
Distro linuxDistro linux
Distro linux
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziare
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!Cosino Enigma: the encrypted GNU/LINUX system has come true!
Cosino Enigma: the encrypted GNU/LINUX system has come true!
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 Ok
 
Docker & DevOps
Docker  & DevOpsDocker  & DevOps
Docker & DevOps
 
Ambienti di virtualizzazione
Ambienti di virtualizzazioneAmbienti di virtualizzazione
Ambienti di virtualizzazione
 

Más de Paolo Pedaletti

Privacy as defence of own information portfolio
Privacy as defence of own information portfolioPrivacy as defence of own information portfolio
Privacy as defence of own information portfolioPaolo Pedaletti
 
Prontuario di frasi per riempire di vuoto il nulla
Prontuario di frasi per riempire di vuoto il nullaProntuario di frasi per riempire di vuoto il nulla
Prontuario di frasi per riempire di vuoto il nullaPaolo Pedaletti
 
Disk partition alignment
Disk partition alignmentDisk partition alignment
Disk partition alignmentPaolo Pedaletti
 

Más de Paolo Pedaletti (6)

Privacy is
Privacy isPrivacy is
Privacy is
 
Oggetto: Auguri
Oggetto: AuguriOggetto: Auguri
Oggetto: Auguri
 
Privacy as defence of own information portfolio
Privacy as defence of own information portfolioPrivacy as defence of own information portfolio
Privacy as defence of own information portfolio
 
Prontuario di frasi per riempire di vuoto il nulla
Prontuario di frasi per riempire di vuoto il nullaProntuario di frasi per riempire di vuoto il nulla
Prontuario di frasi per riempire di vuoto il nulla
 
Disk partition alignment
Disk partition alignmentDisk partition alignment
Disk partition alignment
 
Tu cosa scegli?
Tu cosa scegli?Tu cosa scegli?
Tu cosa scegli?
 

Último

cristoforo_colombo_stefano_afferrante.docx
cristoforo_colombo_stefano_afferrante.docxcristoforo_colombo_stefano_afferrante.docx
cristoforo_colombo_stefano_afferrante.docxlorenzodemidio01
 
CamploneAlessandro_caratteristicheSumeri.pptx
CamploneAlessandro_caratteristicheSumeri.pptxCamploneAlessandro_caratteristicheSumeri.pptx
CamploneAlessandro_caratteristicheSumeri.pptxcamplonealex26
 
BRUNO CECCOBELLI.pdf, anni 80 mostra a Todi
BRUNO CECCOBELLI.pdf, anni 80 mostra a TodiBRUNO CECCOBELLI.pdf, anni 80 mostra a Todi
BRUNO CECCOBELLI.pdf, anni 80 mostra a Todirapacro
 
CamploneAlessandro_caratteriBuddhismo.pptx
CamploneAlessandro_caratteriBuddhismo.pptxCamploneAlessandro_caratteriBuddhismo.pptx
CamploneAlessandro_caratteriBuddhismo.pptxcamplonealex26
 
Oman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptx
Oman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptxOman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptx
Oman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptxraffaeleoman
 
festival_chieti_poesiaaa_esperienza.docx
festival_chieti_poesiaaa_esperienza.docxfestival_chieti_poesiaaa_esperienza.docx
festival_chieti_poesiaaa_esperienza.docxlorenzodemidio01
 
Definitvo-Camplone Alessandro_L'economia-circolare.pptx
Definitvo-Camplone Alessandro_L'economia-circolare.pptxDefinitvo-Camplone Alessandro_L'economia-circolare.pptx
Definitvo-Camplone Alessandro_L'economia-circolare.pptxcamplonealex26
 
Nicola Pisano.pptx studente liceo superiore
Nicola Pisano.pptx studente liceo superioreNicola Pisano.pptx studente liceo superiore
Nicola Pisano.pptx studente liceo superioreyanmeng831
 
Lorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptx
Lorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptxLorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptx
Lorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptxlorenzodemidio01
 
Filippo Luciani I Sumeri e le ziggurat.pptx
Filippo Luciani I Sumeri  e le ziggurat.pptxFilippo Luciani I Sumeri  e le ziggurat.pptx
Filippo Luciani I Sumeri e le ziggurat.pptxfilippoluciani9
 

Último (10)

cristoforo_colombo_stefano_afferrante.docx
cristoforo_colombo_stefano_afferrante.docxcristoforo_colombo_stefano_afferrante.docx
cristoforo_colombo_stefano_afferrante.docx
 
CamploneAlessandro_caratteristicheSumeri.pptx
CamploneAlessandro_caratteristicheSumeri.pptxCamploneAlessandro_caratteristicheSumeri.pptx
CamploneAlessandro_caratteristicheSumeri.pptx
 
BRUNO CECCOBELLI.pdf, anni 80 mostra a Todi
BRUNO CECCOBELLI.pdf, anni 80 mostra a TodiBRUNO CECCOBELLI.pdf, anni 80 mostra a Todi
BRUNO CECCOBELLI.pdf, anni 80 mostra a Todi
 
CamploneAlessandro_caratteriBuddhismo.pptx
CamploneAlessandro_caratteriBuddhismo.pptxCamploneAlessandro_caratteriBuddhismo.pptx
CamploneAlessandro_caratteriBuddhismo.pptx
 
Oman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptx
Oman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptxOman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptx
Oman_Raffaele_Tosone_Christian_PPNicola_Pisano - Copia.pptx
 
festival_chieti_poesiaaa_esperienza.docx
festival_chieti_poesiaaa_esperienza.docxfestival_chieti_poesiaaa_esperienza.docx
festival_chieti_poesiaaa_esperienza.docx
 
Definitvo-Camplone Alessandro_L'economia-circolare.pptx
Definitvo-Camplone Alessandro_L'economia-circolare.pptxDefinitvo-Camplone Alessandro_L'economia-circolare.pptx
Definitvo-Camplone Alessandro_L'economia-circolare.pptx
 
Nicola Pisano.pptx studente liceo superiore
Nicola Pisano.pptx studente liceo superioreNicola Pisano.pptx studente liceo superiore
Nicola Pisano.pptx studente liceo superiore
 
Lorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptx
Lorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptxLorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptx
Lorenzo_D'Emidio_Stefano_Afferrante_Lavoro_Bioarchittetura.pptx
 
Filippo Luciani I Sumeri e le ziggurat.pptx
Filippo Luciani I Sumeri  e le ziggurat.pptxFilippo Luciani I Sumeri  e le ziggurat.pptx
Filippo Luciani I Sumeri e le ziggurat.pptx
 

Logical Volume management 2

  • 1. Paolo Pedaletti www.OpenLabs.it LVM21 Logical Volume Manager (ver.2) last update: giovedì 15 gennaio 2015 1 Creative Commons - Attribuzione-Condividi allo stesso modo Tu sei libero: • di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera • di modificare quest'opera alle seguenti condizioni: • Attribuzione. Devi attribuire la paternità dell'opera nei modi indicati dall'autore o da chi ti ha dato l'opera in licenza e in modo tale da non suggerire che essi avallino te o il modo in cui tu usi l'opera. • Condividi allo stesso modo. Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa. 15/01/2015 1 di 24
  • 2. Paolo Pedaletti www.OpenLabs.it Indice generale Introduzione..............................................................................................................................................................................................3 Vantaggi...............................................................................................................................................................................................3 Implementazione.................................................................................................................................................................................4 Strumenti di verifica............................................................................................................................................................................4 Terminologia.............................................................................................................................................................................................5 Physical Volumes.................................................................................................................................................................................5 Volume Groups....................................................................................................................................................................................5 Logical Volumes..................................................................................................................................................................................5 Extents.................................................................................................................................................................................................5 RAID con mdadm.....................................................................................................................................................................................6 Verifica................................................................................................................................................................................................6 Marcare come difettoso un intero HD (2 partizioni) di un RAID.......................................................................................................9 Rimuovere un HD (2 partizioni) difettoso da 2 RAID........................................................................................................................9 Marcare & rimuovere un HD (2 partizioni) difettoso da 2 RAID.......................................................................................................9 Aggiungere un HD in sostituzione di uno difettoso..........................................................................................................................10 Verifica dell'avanzamento della sincronizzazione tra i dischi del RAID..........................................................................................10 Con kernel > 2.6.16.....................................................................................................................................................................10 Disabilitare un RAID.........................................................................................................................................................................10 Recupero della configurazione di un RAID software:......................................................................................................................11 LVM2......................................................................................................................................................................................................12 Creazione di Phisical Volume............................................................................................................................................................12 Creazione o estensione del Volume Group........................................................................................................................................12 Creazione Logical Volume................................................................................................................................................................12 Formattazione & mount.....................................................................................................................................................................13 Ridimensionare un LV.......................................................................................................................................................................13 Allargare la partizione.................................................................................................................................................................13 Restringere la partizione..............................................................................................................................................................13 Salvare la configurazione LVM2.......................................................................................................................................................13 Spostare un Volume Group................................................................................................................................................................14 Snapshot............................................................................................................................................................................................15 Rimozione di un sistema LVM2........................................................................................................................................................16 Recupero di un sistema LVM2..........................................................................................................................................................16 RAID “LVM2”..................................................................................................................................................................................17 Elenco comandi utili...............................................................................................................................................................................18 In mancanza di dispositivi fisici..............................................................................................................................................................21 Linkografia..............................................................................................................................................................................................23 15/01/2015 2 di 24
  • 3. Paolo Pedaletti www.OpenLabs.it Introduzione LVM (ora alla versione 2) permette di gestire in modo moderno (= flessibile e sicuro) il sistema di archiviazione di massa (storage) online di un computer. LVM astrae l'hardware sottostante e presenta al sistema operativo dei device virtuali, estendibili a piacere e riposizionabili su altro device fisico in caso di problemi, con in più la possibilità di eseguire snaturato (immagini immutabili nel tempo ma usabili in modo trasparente alle applicazioni) dei filesystem in tempo reale. Vantaggi • Ridimensionare i Volumi Logici (LV/partizioni) mantenendole sempre online • Ridimensionare i Volumi Fisici (PV/dischi) mantenendoli sempre online • creare snapshots read-only e read/write • disporre i Volumi Logici (LV/partizioni) su piu' Volumi Fisici (PV/dischi) come un RAID0 • disporre i Volumi Logici (LV/partizioni) come un RAID1 • separare o unire o spostare Gruppi Volumi (VG) su diversi HD fisici (in caso di sostituzione/aggiornamento di hardware storage) Schematicamente la configurazione di una installazione GNU/Linux che utilizza LVM si può rappresentare in questo modo: mount point / /usr /var /var/log /var/lib | /var/cache | /var/spool | /var/tmp | ... /tmp /opt /home Logical Volume usr var var_log var_lib | var_cache | var_spool | var_tmp | ... tmp opt free | snapshot home free | snapshot Volume Group sistema dati Physical Volume md0 md1 sdc sdd sde ~~~~~~~~~~~~~~ RAID software md0 md1 md0 md1 partizioni sda1 sda2 sdb1 sdb2 -2 - - device fisici sda sdb sdc sdd sde In pratica si passa da: 2 Per dischi NON di boot le partizioni sono superflue se non addirittura inopportune. 15/01/2015 3 di 24
  • 4. Paolo Pedaletti www.OpenLabs.it Hard Disk → Partizione → Filesystem a PV (Hard Disk intero o Partizione [facoltativa] o device RAID md) → VG (ex “HD” ) → LV (ex “partizioni”) → Filesystem Implementazione Un sistema basato su LVM, se si basa su un RAID sottostante, garantisce flessibilità nella gestione delle partizioni e indipendenza da eventuali malfunzionamenti hardware dei dischi fisici. Se il computer non ha un controller hardware integrato e' necessario configurare prima un sistema RAID software. Lo schema precedente e' intenzionalmente misto RAID e non-RAID per poter dimostrare (nella parte non-RAID) alcune caratteristiche di LVM che con un sistema RAID sottostante si complicherebbero inutilmente. La procedura seguente si basa sullo schema precedente che suppone di avere 5 dischi fisici Strumenti di verifica $ iostat $ systat $ iozone $ bonnie++ numero seriale per identificare gli HD: $ hdparm -I /dev/sda | grep -i serial $ smartctl -i /dev/sda $ udevadm info --query=property –name=sda | grep -i serial $ scsi_id -gus /block/sda $ sdparm --vendor sea /dev/sda $ lshw per il BIOS: $ dmidecode 15/01/2015 4 di 24
  • 5. Paolo Pedaletti www.OpenLabs.it Terminologia Physical Volumes I Physical Volumes (PV) Sono i dischi fisici o partizioni (esempio: /dev/hda o /dev/hda1) oppure device RAID md (esempio /dev/md0). Sono i dispositivi che vengono formattati e montati di solito se non si usa LVM. Quando si intende usarli con LVM bisogna marcarli di tipo 0x8E (Linux LVM). Volume Groups Un Volume Group (VG) e' un'insieme di PV. Si possono considerare dei dischi “virtuali” che verranno utilizzati per creare le partizioni “virtuali” da formattare e montare. Logical Volumes Partendo dai VG si creano i Logical Volumes (LV) in pratica le partizioni che vengono poi formattare e montate nel modo classico. Extents L'equivalente dei settori, unita' base di allocazione dei file. Di default sono 4MiB 15/01/2015 5 di 24
  • 6. Paolo Pedaletti www.OpenLabs.it RAID con mdadm Personalmente preferisco avere la partizione / non gestita da LVM ma solo dal RAID. In genere, se uso LVM, creo 3 partizioni, una per la /, una per lo swap, e una come PV per LVM3 . Avere la / separata dal resto mi velocizza il resync tra i dischi in caso di necessita' (ricostruzione del RAID) Marcare le partizioni come partizioni di tipo Linux raid autodetect (type FD) tramite {c|s}fdisk Per sicurezza azzero il superblocco di un eventuale software RAID precedente: $ mdadm --zero-superblock /dev/sda1 Assemblare le partizioni sda1 e sdb1 nel raid di livello 1 md0 configurando contemporaneamente un disco di scorta “spare” al momento inesistente (supponendo di aggiungerlo in seguito) $ mdadm /dev/md0 --create --verbose --chunk=128 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1 --spare-device=1 missing stessa cosa per sda2 + sdb2 → md1 $ mdadm /dev/md1 --create --verbose --chunk=128 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2 --spare-device=1 missing oppure $ mdadm /dev/md1 --create --verbose --level=1 --raid-devices=2 /dev/sda2 missing se il secondo disco del RAID non e' disponibile al momento Verifica dettagli hd di un md: $ mdadm --examine /dev/sdf /dev/sdf: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : e0d407ba:ab11cb33:7e6ca813:6eaa1eff Name : pta-pp02:0 (local to host pta-pp02) Creation Time : Tue Oct 25 09:10:47 2011 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 976771120 (465.76 GiB 500.11 GB) Array Size : 976770848 (465.76 GiB 500.11 GB) Used Dev Size : 976770848 (465.76 GiB 500.11 GB) Data Offset : 2048 sectors 3) [2009/11/09] ho verificato che almeno con Ubuntu 9.10 server e' possibile installare tutto il sistema (/ e swap incluso) su LVM2, anche se non lo consiglio. 15/01/2015 6 di 24
  • 7. Paolo Pedaletti www.OpenLabs.it Super Offset : 8 sectors State : clean Device UUID : 9fcb710a:7f153461:67cd6abc:b5f6e0e8 Update Time : Fri Nov 4 15:14:58 2011 Checksum : 2b52445f - correct Events : 12568 Device Role : Active device 0 Array State : AA ('A' == active, '.' == missing) $ mdadm --examine --scan ARRAY /dev/md/0 metadata=1.2 UUID=e0d407ba:ab11cb33:7e6ca813:6eaa1eff name=pta-pp02:0 $ mdadm --assemble --scan dettagli di un device md: $ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sda1[2] sdb1[0] 488385424 blocks super 1.2 [2/2] [UU] unused devices: <none> $ mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Tue Oct 25 09:10:47 2011 Raid Level : raid1 Array Size : 488385424 (465.76 GiB 500.11 GB) Used Dev Size : 488385424 (465.76 GiB 500.11 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Fri Nov 4 15:13:58 2011 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 15/01/2015 7 di 24
  • 8. Paolo Pedaletti www.OpenLabs.it Name : pta-pp02:0 (local to host pta-pp02) UUID : e0d407ba:ab11cb33:7e6ca813:6eaa1eff Events : 12568 Number Major Minor RaidDevice State 0 8 80 0 active sync /dev/sdf 2 8 96 1 active sync /dev/sdg monitor 1-shot: $ mdadm --monitor --scan -1 $ mdadm --monitor --scan --mail root@localhost -p /root/script/mdadm-handle-events.sh -1 15/01/2015 8 di 24
  • 9. Paolo Pedaletti www.OpenLabs.it ----------------------8<----------------8<------------------8<------------------ #!/bin/bash # /root/script/mdadm-handle-events.sh # script di gestione degli eventi generati dal sistema raid software LOGFILE=/var/log/mdadm-handle-events.log MESSAGGIO="$@" logger "$MESSAGGIO" echo -e "$MESSAGGIO" | mutt -s "mail from $0" root@localhost echo $(date) >> $LOGFILE echo $MESSAGGIO >> $LOGFILE echo "-------------" >> $LOGFILE ----------------------8<----------------8<------------------8<------------------ Marcare come difettoso un intero HD (2 partizioni) di un RAID $ mdadm /dev/md0 --fail /dev/sdb1 $ mdadm /dev/md1 --fail /dev/sdb2 prima: :[~]$ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md1 : active raid1 sdb3[2](F) sda3[0] 136721088 blocks [2/1] [U_] $ mdadm /dev/md3 --fail /dev/sdb3 $ mdadm /dev/md3 --remove /dev/sdb3 dopo: :[~]$ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md1 : active raid1 sda3[0] 136721088 blocks [2/1] [U_] Rimuovere un HD (2 partizioni) difettoso da 2 RAID $ mdadm /dev/md0 --remove /dev/sdb1 $ mdadm /dev/md1 --remove /dev/sdb2 Marcare & rimuovere un HD (2 partizioni) difettoso da 2 RAID $ mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1 $ mdadm /dev/md1 --fail /dev/sdb2 --remove /dev/sdb2 15/01/2015 9 di 24
  • 10. Paolo Pedaletti www.OpenLabs.it Aggiungere un HD in sostituzione di uno difettoso Dopo aver sostituito fisicamente l'HD difettoso con uno identico lo aggiungo al RAID, duplicando prima le partizioni (da sda a sdb in questo caso): $ sfdisk /dev/sda | sfdisk /dev/sdb $ mdadm /dev/md0 --add /dev/sdb1 $ mdadm /dev/md1 --add /dev/sdb2 Verifica dell'avanzamento della sincronizzazione tra i dischi del RAID $ cat /prc/mdstat $ mdadm --query --detail /dev/md0 Con kernel > 2.6.16 $ echo "check" > /sys/block/md0/md/sync_action $ echo "repair" > /sys/block/md0/md/sync_action Disabilitare un RAID $ mdadm --manage --stop /dev/md0 $ mdadm --manage --remove /dev/md0 $ mdadm –zero-superblock /dev/sda /dev/sdb “Toggle the partition to 83 if it is fd. This will prevent the kernel from auto starting the array on the next bootup.” 15/01/2015 10 di 24
  • 11. Paolo Pedaletti www.OpenLabs.it Recupero di un RAID software: $ mdadm --examine --scan >> /etc/mdadm/mdadm.conf $ mdadm --monitor --daemonise --scan $ mdadm --run $ cat /proc/mdstat $ mdadm --query --detail /dev/md0 $ mdadm --assemble --scan -v $ mdadm --examine --scan -v > mdadm.conf In caso di problemi: 1. Preserving RAID superblock information4 = backup stato del RAID $ mdadm --examine /dev/sd[abcdefghijklmn][1-9] >> raid.status $ mdadm --examine /dev/sd[a-z] | egrep 'Event|/dev/sd' 1. forzare mdadm ad assemblare il RAID in ogni caso: $ mdadm --stop /dev/mdX $ mdadm --assemble --force /dev/mdX <list of devices> $ mdadm --assemble --run --force --update=resync /dev/md1 /dev/sd[abcd]2 1. estrema risorsa: (mdadm is smart enough to detect the existing data, and shouldn't overwrite it)5 $ mdadm --create --assume-clean --level=L --raid-devices=N --size=SIZE /dev/md0 /dev/sdb1 /dev/sdc1 missing /dev/sdl1 /dev/sd..... $ mdadm --create /dev/md1 -v –level=5 –raid-disks=4 /dev/sd[abcd]2 mount: /dev/sda2: can't read superblock Find out superblock location for /dev/sda2: dumpe2fs /dev/sda2 | grep superblock Now check and repair a Linux file system using alternate superblock # 32768: fsck -b 32768 /dev/sda2 4 https://raid.wiki.kernel.org/index.php/RAID_Recovery 5 The solution was to recreate the RAID array. This sound counter-intuitive: if we recreate a raid array over an existing one, it will be erased ! Right ? Wrong ! As it is said on debian-user-french, mdadm is smart enough to “see” that HDD of the new array were elements of a previous one. Knowing that, mdadm will try to do its best (i.e. if parameters match the previous array configuration) and rebuild the new array upon the previous one in a non-destructive way, by keeping HDD content. 15/01/2015 11 di 24
  • 13. Paolo Pedaletti www.OpenLabs.it LVM2 Creazione di Phisical Volume Marcare il device md1, sd... come partizione di tipo Linux LVM (8e) tramite {c|s}fdisk, quindi $ pvcreate /dev/md1 $ pvcreate /dev/sdc1 $ pvcreate /dev/sdd1 $ pvcreate /dev/sde1 Creazione o estensione del Volume Group $ vgcreate -v sistema /dev/md1 $ vgcreate -v dati /dev/sdc1 $ vgcreate -v film /dev/md1 --physicalextentsize 128M se esiste già e deve essere esteso su un nuovo device: $ vgextend -v dati /dev/sdd1 al posto del default di 4MiB imposto la dimesione degli extent a 128M per migliorare il seek time di una grossa partizione destinata a contenere file di grosse dimensioni. Verifica: $ pvs $ vgs $ lvs $ pvdisplay $ vgdisplay $ lvdisplay Creazione Logical Volume Ora creo la partizioni “virtuali” $ lvcreate sistema -n usr --size 5g $ lvcreate sistema -n var -L 5g $ lvcreate sistema -n var_log --size 1g $ lvcreate sistema -n tmp --size 3g $ lvcreate sistema -n opt -L 2g $ lvcreate dati -n home --size 10g Verifico: $ lvs $ lvdisplay 15/01/2015 13 di 24
  • 14. Paolo Pedaletti www.OpenLabs.it Formattazione & mount Per i filesystem ext* (ext2/3/4) sui filesystem non di sistema e' meglio aggiungere l'opzione -m 0 cioe' non riserva alcuna percentuale del disco per l'utente root (sugli attuali dischi di grosse dimensioni si sprecherebbe troppo spazio per nulla) $ mkfs.xfs /dev/sistema/usr ; mount /dev/mapper/sistema-usr /usr $ mkfs.xfs /dev/sistema/var ; mount /dev/mapper/sistema-var /var $ mkfs.xfs /dev/sistema/var_log ; mount /dev/mapper/sistema-var_log /var/log $ mkfs.xfs /dev/sistema/tmp ; mount /dev/mapper/sistema-tmp /tmp $ mkfs.xfs /dev/sistema/opt ; mount /dev/mapper/sistema-opt /opt $ mkfs.xfs /dev/dati/home ; mount /dev/mapper/sistema-home /home Ridimensionare un LV Allargare la partizione $ lvextend -L +1G /dev/sistema/usr e successivamente il filesystem associato $ xfs_growfs /dev/sistema/usr oppure, per ext{2,3,4} $ resize2fs /dev/sistema/usr Restringere la partizione Non tutti i filesystem permettono di essere ristretti, praticamente tutti permettono di essere allargati (qui $VG e $LV rappresentano rispettivamente VG e LV su cui lavorare) $ umount /dev/$VG/$LV imposto la dimensione del filesystem a 4G: $ resize2fs /dev/$VG/$LV 4G $ xfs_growfs -s 4G /dev/$VG/$LV imposto la dimensione del LV a 4Gb: $ lvreduce -L 4G /dev/$VG/$LV Salvare la configurazione LVM2 Per salvare una copia di sicurezza della configurazione di LVM in /etc/lvm/backup/: $ vgcfgbackup -f LVM2.cfg oppure $ lvmdump -d tmpdir crea un archivio .tgz in /root/ concernente tutti i dettagli del sistema LVM attivo sulla macchina. 15/01/2015 14 di 24
  • 15. Paolo Pedaletti www.OpenLabs.it Recuperare la configurazione di LVM2 $ vgcfgrestore -l LVM2.cfg $ vgcfgrestore -f LVM2.cfg Spostare un Volume Group Lo scopo e' quello di sostituire un device fisico con potenziali problemi di malfunzionamento con uno nuovo senza interrompere il servizio. Aggiungo il nuovo device al VG esistente $ pvcreate /dev/sde1 $ vgextend dati /dev/sde1 verifico $ vgdisplay dati Disabilito il PV da liberare: $ pvchange -xn /dev/sdd1 Sposto i dati fuori dal device mal-funzionante $ pvmove -c -i 10 /dev/sdd1 oppure, esplicitando la destinazione $ pvmove -c -i 10 /dev/sdd1 /dev/sdde1 Aspetto che i dati siano trasferiti fuori dal device e alla fine sconnetto il device mal- funzionante dal VG $ vgreduce dati /dev/sdd1 $ pvremove /dev/sdd1 15/01/2015 15 di 24
  • 16. Paolo Pedaletti www.OpenLabs.it Snapshot Fare uno “snapshot” di un filesystem significa ottenere una immagine del filesystem che rimane inalterata per tutto il tempo dell'esistenza dello snapshot, senza per questo interferire in alcun modo con le applicazioni che contemporaneamente lo usano in lettura ma soprattutto in scrittura, visto che le scritture vengono effettuate altrove, tramite il meccanismo di COW (Copy On Write, in pratica leggi da una parte e scrivi dall'altra) Lo snapshot e' utile per esempio per effettuare backup di database, che non possono essere arrestati ma che possono molto probabilmente cambiare tra l'inizio e la fine della procedura di backup. Se non si usasse uno snapshot per fare il backup, il backup ottenuto conterrebbe un database in uno stato inconsistente e quindi inutilizzabile per un restore. Creare uno snapshot significa in pratica creare un nuovo LV che appare come una copia esatta di un filesystem congelata all'istante dello snapshot. $ lvcreate --size 1G --snapshot --name var_lib_snap /dev/sistema/var_lib $ mkdir /mnt/snapshot $ mount /dev/sistema/var_lib_snap /mnt/snapshot effettuo il backup della direcory (con rsync o altro...) dopo di che: $ umount /mnt/snapshot $ lvremove -f /dev/sistema/var_lib_snap 15/01/2015 16 di 24
  • 17. Paolo Pedaletti www.OpenLabs.it Rimozione di un sistema LVM2 $ lvchange -a n /dev/mapper/1tb-backup1tb $ lvremove /dev/mapper/1tb-backup1tb $ vgremove 1tb $ pvremove /dev/sda1 Recupero di un sistema LVM2 In caso di necessita' e' possibile recuperare i dati di un sistema LVM partendo da un live-cd. I comandi da eseguire per accedere alle partizioni sono: • vedere l'associazione UUID ↔ device in /dev : BLKID $ blkid /dev/sdb2: UUID="d33662cd-6cc4-48e7-92d4-4abc1882aa1f" TYPE="swap" /dev/sdb3: UUID="uVTyQH-03pw-NGHA-9xSd-K2pq-6dXI-V6wGVs" TYPE="LVM2_member" /dev/sdc1: UUID="cf21d5de-9d7d-964e-d86d-f15f9ae1e03e" TYPE="linux_raid_member" /dev/sda1: UUID="cf21d5de-9d7d-964e-d86d-f15f9ae1e03e" TYPE="linux_raid_member" /dev/sdb1: LABEL="root" UUID="828cc26e-d47a-49d5-8305-4b1fb3e3c0eb" TYPE="ext4" /dev/md0: UUID="Yyk7aW-TQK6-TA3L-2WqV-3jAC-tulM-12HehP" TYPE="LVM2_member" /dev/mapper/sistema-usr: LABEL="usr" UUID="a177a4e3-de4a-4013-b548-23c44fef039f" TYPE="xfs" /dev/mapper/sistema-var: LABEL="var" UUID="1be8f902-07f7-45c0-81b9-59fc104111f8" TYPE="xfs" /dev/mapper/sistema-tmp: LABEL="tmp" UUID="3b8060d2-729d-4c7a-8763-6282f7c2164a" TYPE="xfs" /dev/mapper/dati-home: UUID="88d7f87c-4f5c-4466-9d2f-a2236a46d93c" TYPE="xfs" • recupero del sistema LVM2: $ vgcfgbackup -f LVM2.cfg $ vgcfgrestore -f VolGroup01 VolGroup01 $ pvscan $ vgscan $ lvmdiskscan $ lvscan $ vgchange -ay 15/01/2015 17 di 24
  • 18. Paolo Pedaletti www.OpenLabs.it RAID “LVM2”6 $ lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1 $ lvcreate -L 3G -n DumpMirror -m 1 TCPDumpVolGRP $ lvs -a -o +devices “–mirrorlog core”), the log is stored in memory. 6 http://docs.redhat.com/docs/en- US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/mirror_create.html 15/01/2015 18 di 24
  • 19. Paolo Pedaletti www.OpenLabs.it Elenco comandi utili $ pvchange Change attributes of a physical volume $ pvchange -ay $ pvck Check physical volume metadata $ pvck -v /dev/md0 $ pvcreate Initialize a disk or partition for use by LVM $ pvcreate /dev/sda1 $ pvdisplay Display attributes of a physical volume $ pvdisplay $ pvmove Move physical extents outside physical volume $ pvmove -v -i 3 /dev/hda2 $ pvremove Remove a physical volume $ pvremove -v -t /dev/sda2 $ pvresize Resize a disk or partition in use by LVM2, after/before alter it with fdisk espande PV dopo aver esteso la partizione con fdisk: $ pvresize /dev/sda2 restringe PV prima di ridimensionarla con fdisk $ pvresize –setphysicalvolumesize 40G /dev/sda2 $ pvs Report information about physical volumes $ pvs $ pvscan Scan all disks for physical volumes $ pvscan $ vgcfgbackup Backup volume group descriptor area $ vgcfgbackup $ vgcfgrestore Restore volume group descriptor area $ vgcfgrestore $ vgchange Change attributes of a volume group $ vgchange -ay $ vgck Check volume group metadata $ vgck $ vgcreate Create a volume group $ vgcreate -v dati /dev/sdc1 /dev/sdd1 $ vgdisplay Display attributes of volume groups $ vgdisplay $ vgexport Make volume groups unknown to the system $ umount /virtual/backup $ lvchange -an /dev/virtual/backup $ vgexport virtual $ vgextend 15/01/2015 19 di 24
  • 20. Paolo Pedaletti www.OpenLabs.it Add physical volumes to a volume group $ vgextend $ vgimport Make exported volume groups known to the system $ vgimport -a $ vgmerge Merge two volume groups. $ vgmerge -t -v dati dati_new $ vgreduce Reduce a volume group by removing one or more physical volumes $ vgreduce -t -v --removemissing $ vgremove Remove a volume group $ vgremove dati $ vgrename Rename a volume group $ vgrename /dev/dati /dev/archivio $ vgs Report information about volume groups $ vgs $ vgscan Scan all disks for volume groups and rebuild caches $ vgscan $ vgsplit Split a volume group into two, moving any logical volumes from one volume group to another by moving entire physical volumes $ vgsplit -t -v vs1 vs2 /dev/sdb1 $ lvchange Change attributes of a logical volume $ lvchange -ay $ lvconvert Convert a logical volume from linear to mirror or snapshot $ lvconvert -m1 dati/home $ lvcreate Create a logical volume in an existing volume group $ lvcreate dati -n home --size 1G crea il device /dev/dati/home $ lvcreate --size 1G --snapshot --name snap /dev/dati/home crea il device /dev/dati/snap $ lvdisplay Display attributes of a logical volume $ lvdisplay $ lvextend Extend the size of a logical volume $ lvextend --size +5G /dev/sistema/opt $ lvmdiskscan Scan for all devices visible to LVM2 $ lvmdiskscan $ lvmdump Create lvm2 information dumps for diagnostic purposes $ lvmdump $ lvreduce Reduce the size of a logical volume $ lvreduce - - size -1G /dev/sistema/opt $ lvremove 15/01/2015 20 di 24
  • 21. Paolo Pedaletti www.OpenLabs.it Remove a logical volume $ lvremove sistema/opt $ lvrename Rename a logical volume $ lvrename /dev/sistema/opt /dev/sistema/srv $ lvrename sistema opt srv $ lvresize Resize a logical volume $ lvresize --size +5G /dev/sistema/usr $ lvs Report information about logical volumes $ lvs $ lvscan Scan (all disks) for logical volumes $ lvscan 15/01/2015 21 di 24
  • 22. Paolo Pedaletti www.OpenLabs.it In mancanza di dispositivi fisici... #!/bin/sh # script per automatizzare il test # Creo i file/dispositivi umount /mnt/test1 # disabilito l'eventuale volume: lvchange -an /dev/vg1/test1 # rimuovo l'eventuale volume: lvremove /dev/vg1/test1 # vgremove vg1 vgremove vg2 NDEVMAX=4 SEQ=$(seq 1 $NDEVMAX) for DEV in $SEQ ; do pvremove /dev/loop$DEV done if [ $1 ] ; then echo "OK, all cleaned" exit 0 fi for DEV in $SEQ ; do if [ ! -f /home/hd${DEV}.img ] ; then dd if=/dev/zero of=/home/hd${DEV}.img bs=1024 count=1000000 fi pvremove /dev/loop$DEV # Associo i file ai device loopback losetup -d /dev/loop$DEV; losetup /dev/loop$DEV /home/hd${DEV}.img # Creo un volume fisico: pvcreate --dataalignment 64k /dev/loop$DEV pvs -o +pe_start /dev/loop$DEV done 15/01/2015 22 di 24
  • 23. Paolo Pedaletti www.OpenLabs.it # maximum number of physical extents is approximately 65000 # physical extent size ~= physical size / 65000 # es: 500 Gb = 500000 Mb / 65000 = 7.69 ~= 8 # Creo 2 gruppi di volume: vgcreate --physicalextentsize 8M vg1 /dev/loop1 /dev/loop2 vgcreate --physicalextentsize 8M vg2 /dev/loop3 /dev/loop4 # Verifico: vgs # Creo un volume logico: lvcreate -L 512M -n test1 vg1 # Verifico lvs # Formatto & monto mkfs.btrfs /dev/vg1/test1 mkdir /mnt/test1 mount /dev/vg1/test1 /mnt/test1 # Quando ho finito ripulisco il tutto: 15/01/2015 23 di 24
  • 24. Paolo Pedaletti www.OpenLabs.it Linkografia http://www.softpanorama.org/Commercial_linuxes/LVM/recovery_of_lvm_partitions.shtml http://wiki.gl-como.it/index.php?title=Lvm2 http://wiki.tldp.org/LVM-on-RAID http://www.debian-administration.org/articles/410 http://www.unixconsult.org/zfs_vs_lvm.html http://www.mythtv.org/wiki/LVM_on_RAID https://answers.launchpad.net/lvm2/+question/8410 http://docs.redhat.com/docs/en- US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/mirror_create.h tml http://forums.opensuse.org/english/get-technical-help-here/install-boot-login/412797- how-mount-lvm-mirror-set-different-load.html http://old.nabble.com/LVM2-raid1-without-mdadm---Break-the-mirror-and-re-synchronize- it--back-the-other-way-around.-td25621743.html http://lists.debian.org/debian-amd64/2009/09/msg00044.html http://www.markus-gattol.name/ws/lvm.html 15/01/2015 24 di 24