martes, 24 de octubre de 2017

Agregar espacio a un filesystem agregando un disco con lvm

Tenemos un equipo, para el que necesitamos hacer crecer un filesystem de aplicacion en 50gb.

Asi se ve el fs antes de aplicar cualquier cambio.

[root@linux3 ~]# df -h | grep opt
/dev/mapper/VG_optaplicacion-lv_optaplicacion
                      118G  100G   13G  89% /opt/aplicacion

La tarea se divide en cuatro partes principales
#1   Agregar el disco/lun fisicamente.
#2   Reconocer/Formatear el disco dentro del sistema operativo.
#3   Agregar el device dentro de lvm.
#4   Hacer crecer el file system.


#1   Agregar el disco/lun fisicamente.
Este equipo es una virtual de vmware, lo vemos asi

[root@linux3 ~]#  dmidecode -t system | less
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0001, DMI type 1, 27 bytes

System Information
        Manufacturer: VMware, Inc.
        Product Name: VMware Virtual Platform

Por lo que, el disco, se lo agrego desde el vcenter, como muestra en las siguientes imagenes (estan editadas para no mostrar info sensible)

Edit Settings:
 Add:
 Hard Disk:






#2   Reconocer/Formatear el disco dentro del sistema operativo.

El disco ya esta asignado al equipo fisicamente, lo buscamos con:
[root@linux3 ~]# fdisk -l
...
...
Disk /dev/sdg: 53.7 GB, 53687091200 bytes
64 heads, 32 sectors/track, 51200 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Como vemos, el disco, no tiene particion, asi que se la creamos con fdisk

[root@linux3 ~]#  fdisk /dev/sdg
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x5883c851.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


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').

Command (m for help): n

Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-51200, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-51200, default 51200): 
Using default value 51200

Command (m for help): t

Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.
[root@linux3 ~]# 



#3   Agregar el device dentro de lvm.

Necesito meter el disco recien agregado dentro del vg de lvm que estoy utilizando. Arriba de todo, habia tirado un df -h que me mostraba que el vg en cuestion es VG_optaplicacion

[root@linux3 ~]# vgs
  VG            #PV #LV #SN Attr   VSize   VFree
  VG_logaplicacion   1   1   0 wz--n- 249.99g    0 
  VG_optaplicacion   3   1   0 wz--n- 119.99g    0 
  VolGroup00      2   7   0 wz--n- 149.56g 9.56g

lo amplio:

[root@linux3 ~]# vgextend VG_optaplicacion /dev/sdg1  
  Physical volume "/dev/sdg1" successfully created
  Volume group "VG_optaplicacion" successfully extended

Ahora, hago crecer el lv del tamaño de todo el disco que le puse.

[root@linux3 ~]# lvextend /dev/VG_optaplicacion/lv_optaplicacion /dev/sdg1
  Size of logical volume VG_optaplicacion/lv_optaplicacion changed from 119.99 GiB (30717 extents) to 169.98 GiB (43516 extents).
  Logical volume lv_optaplicacion successfully resized.


#4   Hacer crecer el file system.

Ahora, solo hace falta hacer crecer el fs, o sea, que se vea cuando tiro un df y que se pueda usar.

[root@linux3 ~]# resize2fs /dev/VG_optaplicacion/lv_optaplicacion 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VG_optaplicacion/lv_optaplicacion is mounted on /opt/aplicacion; on-line resizing required
old desc_blocks = 8, new_desc_blocks = 11
Performing an on-line resize of /dev/VG_optaplicacion/lv_optaplicacion to 44560384 (4k) blocks.
The filesystem on /dev/VG_optaplicacion/lv_optaplicacion is now 44560384 blocks long.


Chequeo que todo este bien y listo el pollo.

[root@linux3 ~]# df -h | grep opt
/dev/mapper/VG_optaplicacion-lv_optaplicacion
                      168G  100G   60G  63% /opt/aplicacion