Aumentare spazio disco su sistema CentOS VMWARE

Centos - VmwareNel momento in cui si procede all’acquisto di un VPS (Virtual Private Server) si tende ad impostare le risorse ai livelli minimi ottimali per i propri scopi, ma col passare del tempo si può aver bisogno di eseguire qualche upgrade, in modo particolare allo spazio disco disponibile. Di seguito una guida su come estendere lo spazio disco disponibile sul proprio sistema cloud senza perdita di dati, in modo particolare il vps in questione è un CentOS 6.4 x86_64 virtualizzato su VMWARE. Il primo passo da seguire è quello di collegarsi al pannello di amministrazione del proprio vps e richiedere maggior spazio fisico sul proprio drive, una volta che questa procedura ha avuto termine bisogna collegarsi al vps tramite terminale.
La prima cosa da fare è controllare le partizioni presenti sul disco:

[root@myhost ~]# fdisk -l

L’output del precedente comando dovrebbe essere simile al seguente:

Disk /dev/sda: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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        1958    15623212+  8e  Linux LVM

L’obiettivo in questo caso è estendere la partizione LVM presente sul drive /dev/sda quindi rilanciamo di nuovo il comando fdisk sul disco in questione e tramite l’opzione (‘n’) creiamo una nuova partizione primaria il cui numero è 3, ma che può essere cambiato se necessario.

[root@myhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 13054.
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)
 
Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (1959-13054, default 1959):
Using default value 1959
Last cylinder or +size or +sizeM or +sizeK (1959-13054, default 13054):
Using default value 13054

Sin qui abbiamo modificato la struttura della tabella delle partizioni, anche se ancora non abbiamo reso effettive tali modifiche. Digitando l’opzione (‘p’) possiamo avere un’idea delle variazioni effettuate:

Command (m for help): p
 
Disk /dev/sda: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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        1958    15623212+  8e  Linux LVM
/dev/sda3            1959       13054    89128620   83  Linux

fdisk ha aggiunto una nuova partizione soltanto che bisogna cambiarne il tipo che deve essere 8e Linux LVM. Per fare ciò digitare l’opzione (‘t’) ed indicare come numero di partizione 3:

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Prima di rendere effettive le modifiche stampiamo di nuovo lo stato delle partizioni tramite l’opzione (‘p’) e verifichiamo che non vi siano incongruenze. In sostanza dovremmo avere un output simile a questo:

Command (m for help): p
 
Disk /dev/sda: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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        1958    15623212+  8e  Linux LVM
/dev/sda3            1959       13054    89128620   8e  Linux LVM

Non rimane che rendere effettive le modifiche alla tabella delle partizioni attraverso l’opzione (‘w’):

Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

A questo punto è necessario un riavvio del server vps:

[root@myhost ~]# shutdown -r now

Dopo il riavvio bisogna ricollegarsi al server vps e occuparsi del volume logico LVM in modo particolare eseguiamo una scansione dei volumi fisici (PV Physical volume) presenti:

[root@myhost ~]# pvscan
PV /dev/sda2   VG VolGroup00   lvm2 [14.88 GB / 0    free]
Total: 1 [14.88 GB] / in use: 1 [14.88 GB] / in no VG: 0 [0   ]

Creiamo un nuovo Volume fisico (Physical volume) a partire dalla partizione /dev/sda3 che è quella che abbiamo creato in precedenza.

[root@myhost ~]# pvcreate /dev/sda3
Physical volume “/dev/sda3″ successfully created

A questo punto è importante ricordarsi l’output del comando pvscan, in modo particolare ci occorre il nome del Gruppo di volume (Volume group), nel nostro caso: VolGroup00 in quanto lo stesso verrà esteso inglobando lo spazio della partizione /dev/sda3.

[root@myhost ~]# vgextend VolGroup00 /dev/sda3
Volume group “VolGroup00″ successfully extended

Se controlliamo di nuovo lo stato dei Volumi fisici ora dovremmo ottenere un output diverso simile al seguente:

[root@myhost ~]# pvscan
PV /dev/sda2   VG VolGroup00   lvm2 [14.88 GB / 0    free]
PV /dev/sda3   VG VolGroup00   lvm2 [84.97 GB / 84.97 GB free]
Total: 2 [99.84 GB] / in use: 2 [99.84 GB] / in no VG: 0 [0   ]

Ora bisogna estendere uno o più Volumi logici esistenti attraverso il comando lvextend:

[root@myhost ~]# lvextend -L+84G /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 87.00 GB
Logical volume LogVol00 successfully resized

Se tutto è andato a buon fine bisogna occuparsi del filesystem in modo tale che lo stesso sia in grado di gestire la nuova dimensione del volume logico per far ciò usiamo l’utility resize2fs:

[root@myhost ~]# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /;
on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to
22806528 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 22806528 blocks long.

La procedura per estendere il disco è giunta finalmente a termine e la capacità è aumentata della quantità voluta. Una piccola verifica può essere fatta attraverso il comando df -h.

3 commenti
  1. Giacomo dice:

    Sul finale lvextend -L+84G /dev/VolGroup00/LogVol00 non è spiegato come ottenere il LogVol00.
    è utile fare lvdisplay e scoprire quindi il VG Name.

    Poi sempre per lvextend con i parametri lvextend -l +100%FREE si occupa tutto lo spazio libero appena creato.

    Rispondi

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

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