Espandere un volume logico (LVM) sotto CentOS 2


Lo spazio non basta mai!Penso che la frase citata, prima o poi, assilli ognuno di noi nei campi più disparati nella quale può essere applicata.

Tornando al mio ramo applicativo, spesso mi trovo nella necessità di avere a che fare con sistemi server linux con spazio disponibile sotto la soglia del 10%; per tale motivo ho pensato che descrivere la corretta procedura per aumentare lo spazio di un volume logico possa aiutare SysAdmin.

Come direbbero gli inglesi: Let’s start!

Per prima cosa entriamo in SSH nel nostro amato server e digitiamo il comando di seguito per verificare lo spazio effettivo a nostra disposizione:

df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       28G   24G  2.2G  92% /
/dev/sda1   99M   18M   76M  20% /boot
tmpfs         498M     0  498M   0% /dev/shm

 

Come potete notare vi ho evidenziano in rosso la nostra percentuale di spazio occupato.

Adesso andiamo ad aggiungere uno spazio di 10GB alla nostra macchina per dargli un po’ di respiro; una volta aggiunto un disco aggiuntivo, sia esso virtuale o reale, andatene a verificare la presenza con il comando:

fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        3916    31350847+  8e  Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn’t contain a valid partition table

Analizzando il responso del comando dato, notiamo che, il nuovo disco da 10GB inserito viene identificato come sdb e non contiene ancora una partizione valida; andiamo quindi a creare una nuova partizione e di conseguenza a formattarla in ext3. Digitiamo:

fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1): [enter]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): [enter]
Using default value 1305

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

In neretto vi ho evidenziato tutta la sequenza di tasti che vanno digitati per vedere un output simile a quello mostrato nell’esempio sopra.

Benissimo, se siete arrivati indenni a questa fase, digitate un’altra volta il comando:

fdisk -l

troveremo una sistuazione che ci mostra un output simile:

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1305    10482381   83  Linux

Prepariamo il nuovo disco per l’aggiunta al nostro volume con:

pvcreate /dev/sdb1

Colleghiamo il nostro nuovo disco formattato al volume esistente.

Per prima cosa analizziamo il nostro volume logico con il comando:

vgdisplay

— Volume group —
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               29.88 GB
  PE Size               32.00 MB
  Total PE              956
  Alloc PE / Size       956 / 29.88 GB
  Free  PE / Size       0 / 0   
  VG UUID               omNGhX-16b5-zeOS-uzcp-KqXg-u3uO-V8MJjj

Come evidenziato dal comando precedente, andremo ad espandere il volume attuale della dimensione di 29.88GB andandoci a sommare il disco che abbiamo aggiunto e formattato:

vgextend /dev/VolGroup00 /dev/sdb1

Volume group “VolGroup00” successfully extended

Ok, adesso ci dovremmo essere…abbiamo aggiunto il nuovo volume fisico al volume logico. Andiamo ora ad estendere il volume logico:

lvextend -L +SIZE  VolGroup00/LogVol00

fate attenzione a sostituire SIZE con la nuova dimensione del disco che andrà ad aumentare il volume (ad esempio per aggiungere 50GB basta che scriviate +50G ).
Passiamo ora ad estendere finalmente il nostro filesystem esistente con:

resize2fs /dev/mapper/VolGroup00-LogVol00

Dopo una breve attesa per l’esecuzione “on the fly” del comando precedente potremo finalmente deliziarci con un bel:

df -h

e verificare di avere a disposizione il nuovo spazio aggiuntivo.

Spero che questo articolo sia  di aiuto ad altri sistemisti.

[Voti: 12    Media Voto: 7/5]
Scritto da Alessandro Consorti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

2 commenti su “Espandere un volume logico (LVM) sotto CentOS