LVM Guide · 8 min read · Oct 09, 2025

Una guida per principianti a LVM - Pagina 6

6 Ritorno allo stato originale del sistema

In questo capitolo annulleremo tutte le modifiche dai capitoli precedenti per tornare allo stato originale del sistema. Questo è solo per scopi di formazione in modo che tu possa imparare come annullare una configurazione LVM.

Prima dobbiamo smontare i nostri volumi logici:

umount /var/share  
 umount /var/backup  
 umount /var/media
df -h
server1:~# df -h  
 Filesystem            Size  Used Avail Use% Mounted on  
 /dev/sda2             19G  665M   17G   4% /  
 tmpfs                 78M     0   78M   0% /lib/init/rw  
 udev                  10M   92K   10M   1% /dev  
 tmpfs                 78M     0   78M   0% /dev/shm  
 /dev/sda1             137M   17M  114M  13% /boot

Poi eliminiamo ciascuno di essi:

lvremove /dev/fileserver/share

server1:~# lvremove /dev/fileserver/share
Vuoi davvero rimuovere il volume logico attivo “share”? [y/n]: <– y
Volume logico “share” rimosso con successo

lvremove /dev/fileserver/backup

server1:~# lvremove /dev/fileserver/backup
Vuoi davvero rimuovere il volume logico attivo “backup”? [y/n]: <– y
Volume logico “backup” rimosso con successo

lvremove /dev/fileserver/media

server1:~# lvremove /dev/fileserver/media
Vuoi davvero rimuovere il volume logico attivo “media”? [y/n]: <– y
Volume logico “media” rimosso con successo

Successivamente rimuoviamo il gruppo di volumi fileserver:

vgremove fileserver
server1:~# vgremove fileserver  
 Volume group "fileserver" rimosso con successo

Infine facciamo questo:

pvremove /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
server1:~# pvremove  /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1  
 Etichette sul volume fisico "/dev/sdc1" rimosse con successo  
 Etichette sul volume fisico "/dev/sdd1" rimosse con successo  
 Etichette sul volume fisico "/dev/sde1" rimosse con successo  
 Etichette sul volume fisico "/dev/sdf1" rimosse con successo
vgdisplay
server1:~# vgdisplay  
 Nessun gruppo di volumi trovato
pvdisplay

dovrebbe non visualizzare nulla:

server1:~# pvdisplay

Ora dobbiamo annullare le nostre modifiche in /etc/fstab per evitare che il sistema provi a montare dispositivi non esistenti. Fortunatamente abbiamo fatto un backup del file originale che possiamo copiare di nuovo ora:

mv /etc/fstab_orig /etc/fstab

Riavvia il sistema:

shutdown -r now

Successivamente, l’output di

df -h

dovrebbe apparire così:

server1:~# df -h  
 Filesystem            Size  Used Avail Use% Mounted on  
 /dev/sda2             19G  666M   17G   4% /  
 tmpfs                 78M     0   78M   0% /lib/init/rw  
 udev                  10M   92K   10M   1% /dev  
 tmpfs                 78M     0   78M   0% /dev/shm  
 /dev/sda1             137M   17M  114M  13% /boot

Ora il sistema è come era all’inizio (eccetto che le partizioni /dev/sdb1 - /dev/sdf1 esistono ancora - potresti eliminarle con fdisk ma non lo facciamo ora - così come le directory /var/share, /var/backup e /var/media che non eliminiamo nemmeno).

7 LVM Su RAID1

In questo capitolo configureremo di nuovo LVM e lo sposteremo in un array RAID1 per garantire alta disponibilità. Alla fine dovrebbe apparire così:

Questo significa che creeremo l’array RAID /dev/md0 dalle partizioni /dev/sdb1 + /dev/sdc1, e l’array RAID /dev/md1 dalle partizioni /dev/sdd1 + /dev/sde1. /dev/md0 e /dev/md1 saranno quindi i volumi fisici per LVM.

Prima di arrivare a questo, configuriamo LVM come prima:

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
 vgcreate fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
 lvcreate --name share --size 40G fileserver  
 lvcreate --name backup --size 5G fileserver  
 lvcreate --name media --size 1G fileserver
mkfs.ext3 /dev/fileserver/share  
 mkfs.xfs /dev/fileserver/backup  
 mkfs.reiserfs /dev/fileserver/media

Poi montiamo i nostri volumi logici:

mount /dev/fileserver/share /var/share  
 mount /dev/fileserver/backup /var/backup  
 mount /dev/fileserver/media /var/media

L’output di

df -h

ora dovrebbe apparire così:

server1:~# df -h  
 Filesystem            Size  Used Avail Use% Mounted on  
 /dev/sda2             19G  666M   17G   4% /  
 tmpfs                 78M     0   78M   0% /lib/init/rw  
 udev                  10M   92K   10M   1% /dev  
 tmpfs                 78M     0   78M   0% /dev/shm  
 /dev/sda1             137M   17M  114M  13% /boot  
 /dev/mapper/fileserver-share  
                      40G  177M   38G   1% /var/share  
 /dev/mapper/fileserver-backup  
                      5.0G  144K  5.0G   1% /var/backup  
 /dev/mapper/fileserver-media  
                      1.0G   33M  992M   4% /var/media

Ora dobbiamo spostare il contenuto di /dev/sdc1 e /dev/sde1 ( /dev/sdc1 è la seconda partizione del nostro futuro /dev/md0, /dev/sde1 la seconda partizione del nostro futuro /dev/md1) nelle partizioni rimanenti, perché successivamente le rimuoveremo da LVM e le formatteremo con il tipo fd (Linux RAID autodetect) e le sposteremo in /dev/md0 rispettivamente /dev/md1.

modprobe dm-mirror  
 pvmove /dev/sdc1
vgreduce fileserver /dev/sdc1  
 pvremove /dev/sdc1
pvdisplay
server1:~# pvdisplay  
 --- Volume fisico ---  
 PV Name               /dev/sdb1  
 VG Name               fileserver  
 PV Size               23.29 GB / not usable 0  
 Allocatable           yes (but full)  
 PE Size (KByte)      4096  
 Total PE              5961  
 Free PE               0  
 Allocated PE          5961  
 PV UUID               USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
 --- Volume fisico ---  
 PV Name               /dev/sdd1  
 VG Name               fileserver  
 PV Size               23.29 GB / not usable 0  
 Allocatable           yes  
 PE Size (KByte)      4096  
 Total PE              5961  
 Free PE               4681  
 Allocated PE          1280  
 PV UUID               qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN  
   
 --- Volume fisico ---  
 PV Name               /dev/sde1  
 VG Name               fileserver  
 PV Size               23.29 GB / not usable 0  
 Allocatable           yes  
 PE Size (KByte)      4096  
 Total PE              5961  
 Free PE               1426  
 Allocated PE          4535  
 PV UUID               4vL1e0-sr2M-awGd-qDJm-ZrC9-wuxW-2lEqp2
pvmove /dev/sde1
vgreduce fileserver /dev/sde1  
 pvremove /dev/sde1
pvdisplay
server1:~# pvdisplay  
 --- Volume fisico ---  
 PV Name               /dev/sdb1  
 VG Name               fileserver  
 PV Size               23.29 GB / not usable 0  
 Allocatable           yes (but full)  
 PE Size (KByte)      4096  
 Total PE              5961  
 Free PE               0  
 Allocated PE          5961  
 PV UUID               USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
 --- Volume fisico ---  
 PV Name               /dev/sdd1  
 VG Name               fileserver  
 PV Size               23.29 GB / not usable 0  
 Allocatable           yes  
 PE Size (KByte)      4096  
 Total PE              5961  
 Free PE               146  
 Allocated PE          5815  
 PV UUID               qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN

Ora formattiamo /dev/sdc1 con il tipo fd (Linux RAID autodetect):

fdisk /dev/sdc

server1:~# fdisk /dev/sdc
Il numero di cilindri per questo disco è impostato su 10443.
Non c’è nulla di sbagliato in questo, ma è più grande di 1024,
e potrebbe in alcune configurazioni causare problemi con:

  1. software che gira all’avvio
    (e.g., vecchie versioni di LILO)
  2. software di avvio e partizionamento di altri OS
    (e.g., DOS FDISK, OS/2 FDISK)

Comando (m per aiuto): <– m
Azione del comando
a attiva un flag avviabile
b modifica il disco bsd
c attiva il flag di compatibilità dos
d elimina una partizione
l elenca i tipi di partizione conosciuti
m stampa questo menu
n aggiungi una nuova partizione
o crea una nuova tabella delle partizioni DOS vuota
p stampa la tabella delle partizioni
q esci senza salvare le modifiche
s crea una nuova etichetta del disco Sun vuota
t cambia l’id di sistema di una partizione
u cambia le unità di visualizzazione/inserimento
v verifica la tabella delle partizioni
w scrivi la tabella su disco ed esci
x funzionalità extra (solo per esperti)

Comando (m per aiuto): <– t
Partizione selezionata 1
Codice esadecimale (tipo L per elencare i codici): <– L

0 Vuoto 1e Hidden W95 FAT1 80 Old Minix be Solaris boot
1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
5 Estesa 41 PPC PReP Boot 85 Linux esteso c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Non-FS data
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS /.
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX avviabile 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondario
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c Hidden W95 FAT3 75 PC/IX
Codice esadecimale (tipo L per elencare i codici): <– fd
Tipo di sistema della partizione 1 cambiato in fd (Linux raid autodetect)

Comando (m per aiuto): <– w
La tabella delle partizioni è stata modificata!

Chiamando ioctl() per rileggere la tabella delle partizioni.
Sincronizzazione dischi.

Ora fai lo stesso con /dev/sde1:

fdisk /dev/sde

L’output di

fdisk -l

ora dovrebbe apparire così:

server1:~# fdisk -l  
  
 Disco /dev/sda: 21.4 GB, 21474836480 bytes  
 255 heads, 63 sectors/track, 2610 cylinders  
 Units = cilindri di 16065 * 512 = 8225280 bytes  
  
    Dispositivo Boot      Start         End      Blocks   Id  System  
 /dev/sda1   *           1          18      144553+  83  Linux  
 /dev/sda2              19        2450    19535040   83  Linux  
 /dev/sda4            2451        2610     1285200   82  Linux swap / Solaris  
  
 Disco /dev/sdb: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cilindri di 16065 * 512 = 8225280 bytes  
  
    Dispositivo Boot      Start         End      Blocks   Id  System  
 /dev/sdb1               1        3040    24418768+  8e  Linux LVM  
  
 Disco /dev/sdc: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cilindri di 16065 * 512 = 8225280 bytes  
  
    Dispositivo Boot      Start         End      Blocks   Id  System  
 /dev/sdc1               1        3040    24418768+  fd  Linux raid autodetect  
  
 Disco /dev/sdd: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cilindri di 16065 * 512 = 8225280 bytes  
  
    Dispositivo Boot      Start         End      Blocks   Id  System  
 /dev/sdd1               1        3040    24418768+  8e  Linux LVM  
  
 Disco /dev/sde: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cilindri di 16065 * 512 = 8225280 bytes  
  
    Dispositivo Boot      Start         End      Blocks   Id  System  
 /dev/sde1               1        3040    24418768+  fd  Linux raid autodetect  
  
 Disco /dev/sdf: 85.8 GB, 85899345920 bytes  
 255 heads, 63 sectors/track, 10443 cylinders  
 Units = cilindri di 16065 * 512 = 8225280 bytes  
  
    Dispositivo Boot      Start         End      Blocks   Id  System  
 /dev/sdf1               1        3040    24418768+  8e  Linux LVM

Successivamente aggiungiamo /dev/sdc1 a /dev/md0 e /dev/sde1 a /dev/md1. Poiché i secondi nodi ( /dev/sdb1 e /dev/sdd1) non sono ancora pronti, dobbiamo specificare missing nei seguenti comandi:

mdadm --create /dev/md0 --auto=yes -l 1 -n 2 /dev/sdc1 missing
server1:~# mdadm --create /dev/md0 --auto=yes -l 1 -n 2 /dev/sdc1 missing  
 mdadm: array /dev/md0 avviato.
mdadm --create /dev/md1 --auto=yes -l 1 -n 2 /dev/sde1 missing
server1:~# mdadm --create /dev/md1 --auto=yes -l 1 -n 2 /dev/sde1 missing  
 mdadm: array /dev/md1 avviato.
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.