Aumentare la dimensione di un disco virtuale in Centos 6

Questa mini guida spiega come aumentare la dimensione di un disco di una macchina virtuale Linux Centos 6 su sistema VMware.

Ci sono diverse guide a proposito ma poche coprono tutti i seguenti aspetti:

  • Macchina virtuale su VMWare
  • Sistema Linux Centos 6
  • Dischi gestiti con LVM
  • Evitare di dover definire una partizione aggiuntiva

Ecco i passaggi che ho fatto.

Installazione base di Centos 6.4 su VMPlayer o VMware Fusion su Mac

Il disco di base era dimensionato a 6 GB

Ora voglio portarlo a 12 GB

Controllo lo spazio a disposizione inizialmente:

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Montato su
/dev/mapper/VolGroup-lv_root
 3,5G 620M 2,8G 19% /
tmpfs 497M 0 497M 0% /dev/shm
/dev/sda1 485M 32M 429M 7% /boot

Controllo la dimensione delle partizioni in settori:

[root@localhost ~]# fdisk -ul /dev/sda
 
Disco /dev/sda: 6442 MB, 6442450944 byte
255 testine, 63 settori/tracce, 783 cilindri, totale 12582912 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0009fd66
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
La partizione 1 non termina al limite del cilindro.
/dev/sda2         1026048    12582911     5778432   8e  Linux LVM
La partizione 2 non termina al limite del cilindro.

Prendo nota del settore  1026048 iniziale della partizione /dev/sda2

Spengo la macchina virtuale con

[root@localhost ~]# halt

e aumento la dimensione del disco fisso a 12 GB. Avvio nuovamente la macchina e uso fdisk per ridimensionare la partizione /dev/sda2

[root@localhost ~]# fdisk /dev/sda
 
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
 
Comando (m per richiamare la guida): p
 
Disco /dev/sda: 12.9 GB, 12884901888 byte
 
255 testine, 63 settori/tracce, 1566 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0009fd66
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
La partizione 1 non termina al limite del cilindro.
/dev/sda2              64         784     5778432   8e  Linux LVM
La partizione 2 non termina al limite del cilindro.
 
Comando (m per richiamare la guida): d
Numero della partizione (1-4): 2
 
Comando (m per richiamare la guida): n
Azione comando
    e   estesa
   p   partizione primaria (1-4)
p
Numero della partizione (1-4): 2
Primo cilindro (64-1566, predefinito 64):
Utilizzo del valore predefinito 64
Last cilindro, +cilindri or +size{K,M,G} (64-1566, predefinito 1566):
Utilizzo del valore predefinito 1566
 
Comando (m per richiamare la guida): t
Numero della partizione (1-4): 2
Codice esadecimale (digitare L per elencare i codici): 8e
Modificato il tipo di sistema della partizione 2 in 8e (Linux LVM)
 
Comando (m per richiamare la guida): u
Modifica delle unità di visualizzazione/immissione su settori
 
Comando (m per richiamare la guida): p
 
Disco /dev/sda: 12.9 GB, 12884901888 byte
 
255 testine, 63 settori/tracce, 1566 cilindri, totale 25165824 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0009fd66
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
La partizione 1 non termina al limite del cilindro.
/dev/sda2         1026048    25157789    12065871   8e  Linux LVM

Se il primo settore della partizione /dev/sda2 non e’ uguale a prima del ridimensionamento possiamo utilizzare la modalitò avanzata di fdisk

Comando (m per richiamare la guida): x
 
Comando per esperti (m per richiamare la guida): b
Numero della partizione (1-4): 2
Nuovo inizio dati (1026048-25157789, predefinito 1026048): 1026048
 
Comando per esperti (m per richiamare la guida): w
La tabella delle partizioni è stata alterata!
 
Chiamata di ioctl() per rileggere la tabella delle partizioni.
 
WARNING: Re-reading the partition table failed with error 16: Dispositivo o risorsa occupata.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Sincronizzazione dei dischi in corso.

Riavvio per applicare le modifiche

[root@localhost ~]# reboot

Controllo la dimensione dei Gruppi di volume LVM

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
  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               5,51 GiB
  PE Size               4,00 MiB
  Total PE              1410
  Alloc PE / Size       1410 / 5,51 GiB
  Free  PE / Size       0 / 0
  VG UUID               cGePzQ-4rCO-T6XB-dmAu-S8Vl-OvrU-09IU5I

Ridimensione il gruppo in base alla partizione

[root@localhost ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

Controllo ora il risultato

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  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               11,50 GiB
  PE Size               4,00 MiB
  Total PE              2945
  Alloc PE / Size       1410 / 5,51 GiB
  Free  PE / Size       1535 / 6,00 GiB
  VG UUID               cGePzQ-4rCO-T6XB-dmAu-S8Vl-OvrU-09IU5I

Estendo ora il volume logico lv_root

[root@localhost ~]# lvextend -l +100%FREE /dev/VolGroup/lv_root
  Extending logical volume lv_root to 9,54 GiB
  Logical volume lv_root successfully resized
[root@localhost ~]# lvdisplay /dev/VolGroup/lv_root --- Logical volume --- LV Path /dev/VolGroup/lv_root LV Name lv_root VG Name VolGroup LV UUID HlpgVs-YQ2L-ve3n-p3S8-N2gC-USV2-3nROu4 LV Write Access read/write LV Creation host, time localhost.localdomain, 2013-06-27 00:10:38 +0200 LV Status available # open 1 LV Size 9,54 GiB Current LE 2441 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0

Alla fine espando il filesystem

[root@localhost ~]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/VolGroup/lv_root to 2499584 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 2499584 blocks long.

E verifico finalmente il risultato

[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Montato su
/dev/mapper/VolGroup-lv_root
                      9,4G  621M  8,4G   7% /
tmpfs                 497M     0  497M   0% /dev/shm
/dev/sda1             485M   32M  429M   7% /boot

Leave a Reply

Your email address will not be published.

Time limit is exhausted. Please reload CAPTCHA.