Aggiungere spazio ad un volume LVM, tipico di Centos e RedHat
Mettiamo caso di avere un server linux con un volume LVM, tipico di Centos / Redhat, ma LVM è disponibile su ogni distribuzione linux moderna, io ne ho in corso di installazione proprio uno in questi giorni con jboss, oracle e un remote desktop, il cui spazio (nel nostro caso 15 giga) è insufficente per il lavoro che deve svolgere
LVM ha la simpatica caratteristica di poter aggiungere, in alcuni casi a caldo, spazio ai suoi volumi, vediamo come fare:
Per prima cosa aggiungiamo un altro disco, nel mio caso da 6 giga e, riavviato il server, vediamo che le partizioni sono:
fdisk -l
Disco /dev/sda: 15.0 GB, 15032385536 byte
255 heads, 63 sectors/track, 1827 cylinders Unità = cilindri di 16065 * 512 = 8225280 byte
Dispositivo Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1827 14570955 8e Linux LVM
Disco /dev/sdb: 6442 MB, 6442450944 byte 255 heads, 63 sectors/track, 783 cylinders Unità = cilindri di 16065 * 512 = 8225280 byte
Il disco /dev/sdb non contiene una tabella delle partizioni valida
———————
Creiamo una partizione e formattiamola ext3
fdisk /dev/sdb
n – p – 1 – un paio di invii e w per scrivere le modifiche.
mkfs.ext3 /dev/sdb1 per creare il file system in EXT3
Rifacciamo fdisk -l per sincerarci che la partizione sia formattata come si deve:
Disco /dev/sda: 15.0 GB, 15032385536 byte
255 heads, 63 sectors/track, 1827 cylinders Unità = cilindri di 16065 * 512 = 8225280 byte
Dispositivo Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1827 14570955 8e Linux LVM
Disco /dev/sdb: 6442 MB, 6442450944 byte 255 heads, 63 sectors/track, 783 cylinders Unità = cilindri di 16065 * 512 = 8225280 byte
Dispositivo Boot Start End Blocks Id System /dev/sdb1 1 783 6289447 83 Linux
Adesso colleghiamo la partizione formattata al volume dinamico e passeremo da cosi:
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 13,88 GB <------ PE Size 32,00 MB Total PE 444 Alloc PE / Size 444 / 13,88 GB Free PE / Size 0 / 0 VG UUID AGNhTW-HXd3-lYjM-a6DC-8Don-zaqP-dwSpVG
diamo il comando di estensione del volume:
vgextend /dev/VolGroup00 /dev/sdb1
/dev/hda: open failed: Read-only file system No physical volume label read from /dev/sdb1 Physical volume "/dev/sdb1" successfully created Volume group "VolGroup00" successfully extended
a cosi:
vgdisplay
--- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 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 2 Act PV 2 VG Size 19,84 GB <------ PE Size 32,00 MB Total PE 635 Alloc PE / Size 444 / 13,88 GB Free PE / Size 191 / 5,97 GB VG UUID AGNhTW-HXd3-lYjM-a6DC-8Don-zaqP-dwSpVG
adesso aggiungiamo lo spazio:
lvextend -L +SIZE VolGroup00/LogVol00
dove SIZE è la dimenisone, in mega, di quanto si vuole incrementare il volume.
Per divertimento ho usato dei pezzetti da mezzo giga e dando il comando a ripetizione fino all’esaurimento dello spazio libero disponibile, l’ho fatto crescere.
A questo punto, per fare il resize del file system, che ricordo essere EXT3 nel mi caso, servirebbe il comando resize2fs che però funziona solo se il filesystem è smontato, quindi, visto io devo far crescere la root dovrò usare una live.
Ho usato quello che avevo sotto mano: una ubuntu desktop LTS 10.4 32bit. Una volta avviata la Ubuntu si deve andare a prompt di shell e dare questi comandi:
sudo su (per diventare root, a me usare sudo continuamente mi da fastidio)
apt-get update
apt-get install lvm2
modprobe dm_mod
2 logical volume(s) in volume group "VolGroup00" now active
vgchange -a y
e2fsck -f /dev/VolGroup00/LogVol00
e2fsck 1.41.11 (14-Mar-2010) Adding dirhash hint to filesystem.
Passo 1: Controllo di inode, blocco(i) e dimensioni Passo 2: Analisi della struttura delle directory Passo 3: Controllo della connettività di directory Pass 4: Controllo del numero dei riferimenti Pass 5: Checking gruppo summary information
/dev/VolGroup00/LogVol00: ***** IL FILESYSTEM E' STATO MODIFICATO ***** /dev/VolGroup00/LogVol00: 116413/3112960 files (0.4% non-contiguous), 1420333/3112960 blocks
resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.41.11 (14-Mar-2010) Resizing the filesystem on /dev/VolGroup00/LogVol00 to 4669440 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 4669440 blocks long.
init 6 (per riavviare il server)
Una volta riavviato facciamo un ultimo controllo
df -h
Filesystem Dimens. Usati Disp. Uso% Montato su /dev/mapper/VolGroup00-LogVol00 18G 5,1G 12G 31% / /dev/sda1 99M 13M 82M 13% /boot tmpfs 506M 0 506M 0% /dev/shm
e vedremo che il file system è cresciuto, facile come farsi mettere un bel paio di tette finte come da foto dell’articolo.
Si, lo so, è vecchio, deprecato e insicuro, ma me l’hanno chiesto, ed io, dopo aver fatto notare che ssh è più sicuro, attivo di default e fà anche da ftp (sicuro) l’ho dovuto mettere su una RedHat che ho installato l’altra settimana.
RPM e’ un cesso.
…che alla fine, ai fini pratici, sono quasi la stessa cosa, visto che la prima e’ creata a partire dai sorgenti della seconda.