Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 7 de marzo de 2014

Redimensionar un sistema btrfs+LVM


En entradas anteriores os comentaba como instalar y crear volúmenes LVM2 y cómo instalarnos un sistema de archivos btrfs. Pues bien, lo que os explicaré hoy es como dotar de más espacio a nuestro sistema de archivos de una manera prácticamente transparente. Por ejemplo, seria el caso de comprar un nuevo disco duro y querer que ese nuevo espacio sirva para ampliar el sistema de archivos ya instalado, y no simplemente crear un nuevo punto de montaje. Es decir, tomar nuestro sistema de almacenamiento como algo escalable.

Entradas anteriores:

Si tenemos un disco duro nuevo, lo primero que tenemos que hacer es agregarlo a nuestro grupo de discos LVM.Imaginemos que tenemos un grupo LVM llamado TA en el cual lo forman dos discos de 1TB:

# vgdisplay
  --- Volume group ---
  VG Name               TA
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1,95 TiB
  PE Size               4,00 MiB
  Total PE              511486
  Alloc PE / Size       511486 / 1,95 TiB
  Free  PE / Size       0 / 0  
  VG UUID               C47LeR-oJJ6-DxBa-1J5d-h05t-bxKF-RXKrxE


Por otro lado tenemos el nuevo disco duro que queremos añadir al grupo de volumenes TA:

Disk /dev/sdh: 1072.7 GB, 1072668082176 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdh1               1  2095054847  1047527423+  ee  GPT



Lo primero que tenemos que hacer es inicializar el disco para su uso con LVM:

pvcreate /dev/sdh1
  Physical volume "/dev/sdh1" successfully created


El siguiente paso es añadir el nuevo disco al grupo LVM (VG Name):

vgextend TA /dev/sdh1
  Volume group "TA" successfully extended

Ya lo tenemos añadido. Lo podemos comprobar con pvscan:

 pvscan
  PV /dev/sdf1   VG TA   lvm2 [999,00 GiB / 0    free]
  PV /dev/sdg1   VG TA   lvm2 [999,00 GiB / 0    free]
  PV /dev/sdh1   VG TA   lvm2 [999,00 GiB / 999,00 GiB free]


Ahora nos disponemos a extender el volumen LVM con el espacio nuevo disponible. Eso lo haremos con el comando lvextend. Para ello necesitaremos asegurarnos de cual es el nombre del volumen LVM que queremos ampliar del grupo de discos, y para ello nos ayudaremos del comando lvdisplay:

lvdisplay
  --- Logical volume ---
  LV Name                /dev/TA/TA-Disc
  VG Name                TA
  LV UUID                8WBuQc-xsfW-9eeN-XsWh-jGDl-b90u-4RrCZB
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1,95 TiB
  Current LE             511486
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2


Vemos que, en nuestro ejemplo, el nombre del volumen (LV Name) es /dev/TA/TA-Disc . Pues bien, ya podemos agrandar nuestro volumen:

lvextend /dev/TA/TA-Disc /dev/sdh1
  Extending logical volume TA-Disc to 2,93 TiB
  Logical volume TA-Disc successfully resized


Ahora nos queda un último paso, ya que pese a que el volumen LVM ya lo hemos ampliado con el nuevo disco, el sistema de archivos no se ha enterado y por tanto, al hacer df veremos que tenemos el mismo espacio de antes.

df -h
/dev/mapper/TA-TA--Disc    2,0T  1,7T  258G  88% /mnt/TA

Bien, como lo que estamos usando en nuestro ejemplo es el sistema de archivos btrfs, lo haremos de la siguiente manera (además en caliente):


btrfs filesystem resize max /mnt/TA
Resize '/mnt/TA' of 'max'


Y ahora si hacemos df:

df -h
/dev/mapper/TA-TA--Disc    3,0T  1,7T  1,3T  59% /mnt/TA

Ya tenemos nuestro nuevo espacio disponible.

Resumen


pvcreate /dev/sdh1

vgextend TA /dev/sdh1
lvextend /dev/TA/TA-Disc /dev/sdh1
btrfs filesystem resize max /mnt/TA 

(TA Grupo de Volumenes, TA-Disc Volumen Lógico y /dev/sdh1 el nuevo disco)




That u don't know what you've got 'til it's gone