Ampliar la partició del volum del disc disponible per a un servidor virtual (Linux)

Per utilitzar el disc dels nostres servidors virtuals cal que ampliïs la partició del volum del disc després de dur a terme l’actualització. Aquesta operació no s’executa de manera automàtica i depèn de quin sistema operatiu hi hagi instal·lat al servidor.

Per dur a terme l’ampliació de la partició el volum del disc, identifica el Sistema Operatiu i després executa les ordres següents (en funció del sistema operatiu que tinguis).

Atenció: abans de fer-ho, comprova amb l’ordre “vgscan” quin és el nom real del volum i, en cas que sigui diferent de “vg01“, substitueix-lo pel nom real.

NB: Et recordem que aquesta operació pot ser potencialment perjudicial i és recomanable fer una còpia de seguretat de les dades abans de continuar. Nominalia declina qualsevol responsabilitat per les operacions dutes a terme per l’usuari en cas que es produeixi una possible pèrdua de dades.

El procés detallat a continuació s’ha d’entendre a títol exemplificatiu.

Per a més detalls, consulta la documentació oficial de la distribució Linux que hagis triat.

Abans de continuar és important saber el tipus de partició en ús (si és GPT o MBR). Per identificar el tipus de partició, executa l’ordre següent:

parted / dev / sda d'impressió

Per al tipus de partició GPT apareixerà:

Per al tipus de partició MBR apareixerà Partion table: mbr

En aquest punt, si s’ha realitzat l’actualització, apareixerà el missatge següent:

Warning: Not all of the space available to / dev / sda appears to be used, you can fix the GPT to use all of the space (an extra 2.097.152 blocks) or continue with the current setting?

Fix / Ignore?

Confirma la solució proposada (Fix).

Si el tipus de partició és GPT, segueix els passos següents:

Executar l’ordre següent (vàlida per a tots els sistemes operatius):

export vgname=$(vgscan | grep "Found volume" | cut -f 6 -d " " | sed -e "s/\"//g")
export disk_max=$(parted -s /dev/sda unit mb print free | grep -Ei 'libre|libero|Livre|free' | awk '{print $2/1000}' | cut -d "M" -f1 | awk 'END{print}')
export disk_min=$(parted -s /dev/sda unit mb print free | grep -Ei 'libre|libero|Livre|free' | awk '{print $1/1000}' | cut -d "M" -f1 | awk 'END{print}')
parted -s /dev/sda mkpart primary $disk_min $disk_max
export partition_number=$(parted -s /dev/sda unit mb print | sort -nk1 | tail -n1 | awk '{ print $1}')
vgextend $vgname /dev/sda$partition_number
lvextend -l +100%FREE /dev/$vgname/root

Per redimensionar el file system

CentOs 7 (filesystem xfs):
xfs_growfs /dev/$vgname/root
Per a tots els altres sistemes operatius (filesystem ext4):
resize2fs /dev/$vgname/root

Si la partició és MBR, segueix als passos següents:

Aquest procediment només és vàlid per al primer canvi. Per als canvis següents, posa’t en contacte amb el servei d’atenció al client, ja que no es possible canviar la mida de la partició primària activa.

DEBIAN/UBUNTU

#Adding a secondary partition to the primary disk (Debian/Ubuntu)
export disk_max=$(parted -s /dev/sda unit mb print free | grep Free | awk ‘{print $2/1000}’ | cut -d “M” -f1 | awk ‘END{print}’)
export disk_min=$(parted -s /dev/sda unit mb print free | grep Free | awk ‘{print $1/1000}’ | cut -d “M” -f1 | awk ‘END{print}’)
parted /dev/sda unit GB mkpart primary $disk_min $disk_max
export last_partition=$(parted -s /dev/sda print | grep -v “^$” | awk ‘END{print $1}’)
vgextend vg01 /dev/sda$last_partition
lvextend -l +100%FREE /dev/vg01/root
resize2fs /dev/vg01/root

CENTOS 6

#Adding a secondary partition to the primary disk (CentOs 6)
export disk_max=$(parted -s /dev/sda unit mb print free | grep Free | awk ‘{print $2/1000}’ | cut -d “M” -f1 | awk ‘END{print}’)
export disk_min=$(parted -s /dev/sda unit mb print free | grep Free | awk ‘{print $1/1000}’ | cut -d “M” -f1 | awk ‘END{print}’)
parted /dev/sda unit GB mkpart primary $disk_min $disk_max
reboot
export last_partition=$(parted -s /dev/sda print | grep -v “^$” | awk ‘END{print $1}’)
vgextend vg01 /dev/sda$last_partition
lvextend -l +100%FREE /dev/vg01/lv_root
resize2fs /dev/vg01/lv_root

CENTOS 7

#Adding a secondary partition to the primary disk (CentOs 7)
export disk_max=$(parted -s /dev/sda unit mb print free | grep Free | awk ‘{print $2/1000}’ | cut -d “M” -f1 | awk ‘END{print}’)
export disk_min=$(parted -s /dev/sda unit mb print free | grep Free | awk ‘{print $1/1000}’ | cut -d “M” -f1 | awk ‘END{print}’)
parted /dev/sda unit GB mkpart primary $disk_min $disk_max
export last_partition=$(parted -s /dev/sda print | grep -v “^$” | awk ‘END{print $1}’)
vgextend vg01 /dev/sda$last_partition
lvextend -l +100%FREE /dev/vg01/root
xfs_growfs /dev/vg01/root