Ampliación de FS

CASO 1: Expandir en caliente con disco nuevo (sin reinicio)

Añadimos un disco NUEVO a la máquina virtual e introducimos los siguientes comandos

root@luna:~# lsscsi
Creamos /dev/sdc:

root@luna:~# pvcreate /dev/sdc

Physical volume "/dev/sdc" successfully created

root@luna:~# vgs  VG     #PV #LV #SN Attr   VSize  VFree  system   2   7   0 wz--n- 57.90G    0

Extendemos el vg system con el pv:

root@luna:~# vgextend system /dev/sdc

Volume group "system" successfully extended

root@luna:~# vgs VG

#PV #LV #SN Attr   VSize   VFree  system

3   7   0 wz--n- 107.89G 50.00G

Comprobamos los LV:

root@luna:~# lvs LV   VG

Attr   LSize  Origin Snap

Move Log Copy%

home system -wi-ao 50.00G

opt  system -wi-ao  1.00G

root system -wi-ao  1.90G

srv  system -wi-ao  1.00G

swap system -wi-ao  1.00G

usr  system -wi-ao  2.000

var  system -wi-ao  1.00G

Extendemos el lv de system (srv) y hacemos el resize2fs (también podemos hacer lvextend -r -L 8G system/srv y nos ahorramos el comando resize):

root@luna:~# lvextend -L 8G system/srv

Extending logical volume srv to 8.00 GB

Logical volume srv successfully resized
root@luna:~# resize2fs /dev/system/srv
resize2fs 1.40.8 (13-Mar-2008)

Filesystem at /dev/system/srv is mounted on /srv; on-line resizing required
old desc\_blocks = 1, new\_desc\_blocks = 1

Performing an on-line resize of /dev/system/srv to 2097152 (4k) blocks.

The filesystem on /dev/system/srv is now 2097152 blocks long.

· Otro ejemplo:

```
rescan-scsi-bus.sh à para que coja el disco nuevo. Hay que instalarlo con el comando siguiente.
apt-get install scsitools #para Ubuntu

```

yum install sg3\_utils #para Red Hat
zypper in sg3\_utils #para SuSE
rescan-scsi-bus.sh

```
lsscsi
pvcreate /dev/sdb
vgs
vgextend v0 /dev/sdb
vgdisplay

```

lvs
vgdisplay
lvdisplay

```
df -a
lvcreate -l 100%FREE --name v0-home à Crea la lv con todo el espacio libre disponible
vgdisplay
lvcreate -l 100%FREE --name v0-home v0
lvdelete v0-v0--home
lvremove /dev/mapper/v0-v0--home
lvcreate -l 100%FREE --name home v0
lvdisplay
mount /dev/mapper/v0-home /home
mkfs.ext4 /dev/mapper/v0-home
mount /dev/mapper/v0-home /home

```

CASO 2.1:

Ampliar disco sin particiones (sin reinicio)

echo "- - -" >/sys/class/scsi\_host/host0/scan o echo 1 > /sys/block/sdX/device/rescan

pvresize /dev/sdc

lvextend -L 8G system/sdc

CASO 2.2:

Ampliar disco con particiones (/dev/sda1 /dev/sda2) (requiere reinicio).

1º Escaneamos los discos para ver si el disco ha detectado la ampliación:

Hacemos un fdisk –l y si vemos que no ha detectado el nuevo espacio, tendremos que reiniciar y volver a lanzarlo (en este caso /dev/sda ha pasado de 30GB a 214GB):

El objetivo es ampliar /data y como está en /dev/sda2, tendremos que rehacer la partición con fdisk /dev/sda. Con print (p) mostramos el estado previo:

Borramos la partición (d), seleccionamos cual vamos a eliminar (2) y volvemos a imprimir (p) para mostrar que se ha borrado correctamente:

Creamos nueva partición (n), primaria (p), añadimos el label (t) (8e) y mostramos las particiones actuales (p)

La comparamos con el estado anterior y vemos que ha aumentado sda2:

w para escribir los cambios, reboot y ampliamos el physical volume con pvresize

Si se extiende con el pvresize, aparecerá así

En caso contrario, habrá que usar vgextend nombredevg
Hacemos lvdisplay para ver el lv a ampliar (en este caso /dev/system/data:

Comprobamos de nuevo y efectivamente tiene 180GB (214GB menos los asignados a otros LV):

df –h para comprobar las particiones

CASO 2.3:

Ampliar disco con particiones, expandiendo la partición (sin reinicio)

Normalmente cuando trabajamos con lv en Linux, cuando tenemos que aumentar el tamaño de un filesystem en un lv lo más fácil es hacerlo agregando un disco nuevo. En este caso no vamos a hacerlo de la forma anterior, vamos a hacerlo de la siguiente forma:

Aumentaremos el tamaño de un disco ya existente.

Crearemos una nueva partición en dicho disco utilizando ese tamaño aumentado.

Utilizaremos esa nueva partición para aumentar el tamaño del lv y luego aumentaremos el tamaño del filesystem.

Pasos:

Aumentamos el tamaño del disco en VMware.

echo "- - -" >/sys/class/scsi\_host/host0/scan à Forzamos que el servidor detecte el aumento de tamaño del disco.

fdisk -l à Para anotar el número de cilindros donde termina la última partición que tenemos en el disco. En este caso la partición es la /dev/sda2 del disco /dev/sda y los cilindros son 10240.

Creamos la nueva partición:

fdisk /dev/sda à Entramos en el gestor de particiones del disco /dev/sda.

Para crear la nueva partición.

Tipo de partición. Elegiremos primary partition.

3 o el número que corresponda à Partition number. El siguiente número de partición libre, en este caso el 3 ya que ya existen 2 particiones.

10241 à First cylinder. El número de cilindros que anotamos + 1, por lo tanto, 10241.

Enter à Last cylinder. Enter para que sea por defecto.

Para cambiar el tipo de partición que acabamos de crear.

Elegimos la partición que acabamos de crear.

Elegimos como tipo de partición Linux LVM.

 Escribimos los cambios y salimos de fdisk.

 fdisk /dev/sda à Entramos en el gestor de particiones del disco /dev/sda y vemos la partición que acabamos de crear, la /dev/sda3, que es la que vamos a utilizar para aumentar el lv.

Una vez creada la partición vamos a extender el lv con la misma y luego el filesystem. El caso del ejemplo es un poco especial porque el lv contiene un filesystem que es además una swap. Vamos a ver como se haría en el caso swap y no swap así vemos ambos casos.

vgextend VolGroup00 /dev/sda3 à Extendemos el vg VolGroup00 con la partición /dev/sda3.

swapoff /dev/VolGroup00/LogVol\_swap à Desactivamos la swap en el lv /dev/VolGroup00/LogVol\_swap. No haría falta este comando en un lv que no fuera swap.

lvresize /dev/mapper/VolGroup00-LogVol\_swap -L 7.9G o +100%FREE à Expandimos el lv a 7.9 GB.

mkswap /dev/VolGroup00/LogVol\_swap à Volvemos a dar formato swap al lv lo cual extiende ya el filesystem. No haría falta este comando en un lv que no fuera swap.

En el caso de que fuera un lv que no fuera swap habría que extender el filesystem con à resize2fs /dev/mapper/VolGroup/LogVol

swapon /dev/VolGroup00/LogVol\_swap à Activamos la swap en el lv. No haría falta este comando en un lv que no fuera swap.free

Comprobamos que el lv de la swap tiene 7.9 GB.

En el caso de que fuera un lv que no fuera swap podríamos comprobarlo con

df -h