Extender LVM filesystem XFS

Usar LVM Logical volume managent es muy beneficioso cuando vamos a particionar discos, sobre todo cuando se trata de integrar varios discos, una de sus principales ventajas es que se puede ampliar el tamaño de manera muy fácil y sin dejar por fuera el servicio.

A continuación se indica en procedimiento a seguir cuando necesitamos ampliar una partición con LVM.

Se asume que se ha presentado un nuevo disco al servidor (25 GB) para el presente ejemplo: /dev/sdc

1. Particionar el disco con fdisk, para el presente ejemplo se crea una sola partición primaria que ocupa todo el tamaño del disco, además se le asigna el tipo 8e para que sea tipo LVM:

[root@servidor ~]# fdisk -c /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x40eae00a.
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: cylinders as display units are deprecated. Use command ‘u’ to
change units to sectors.

Command (m for help): p

Disk /dev/sdc: 26.8 GB, 26843545600 bytes
255 heads, 63 sectors/track, 3263 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x40eae00a

Device Boot Start End Blocks Id System

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

Command (m for help): p

Disk /dev/sdc: 26.8 GB, 26843545600 bytes
255 heads, 63 sectors/track, 3263 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x40eae00a

Device Boot Start End Blocks Id System
/dev/sdc1 1 3263 26209023+ 83 Linux

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): p

Disk /dev/sdc: 26.8 GB, 26843545600 bytes
255 heads, 63 sectors/track, 3263 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x40eae00a

Device Boot Start End Blocks Id System
/dev/sdc1 1 3263 26209023+ 8e Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
2. Verificar VG (Volume Group) y PV (Physical Volume)

Verificación VG actual:

[root@servidor ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 2 0 wz–n- 19.51g 0
vg-data 1 1 0 wz–n- 200.00g 0
[root@servidor ~]# vgdisplay vg-data
— Volume group —
VG Name vg-data
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 200.00 GiB
PE Size 4.00 MiB
Total PE 51199
Alloc PE / Size 51199 / 200.00 GiB
Free PE / Size 0 / 0
VG UUID JVYGd9-qXEb-UUje-ekmF-aCsN-iHn2-TyJCqw

Verificación PV Actual:

[root@servidor ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup lvm2 a– 19.51g 0
/dev/sdb vg-data lvm2 a– 200.00g 0
3. Convertir nuevo disco a PV

[root@servidor ~]# pvcreate /dev/sdc1
Writing physical volume data to disk “/dev/sdc1”
Physical volume “/dev/sdc1” successfully created
[root@servidor ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup lvm2 a– 19.51g 0
/dev/sdb vg-data lvm2 a– 200.00g 0
/dev/sdc1 lvm2 a– 24.99g 24.99g
4. Extender VG

[root@servidor ~]# vgextend vg-data /dev/sdc1
Volume group “vg-data” successfully extended

[root@servidor ~]# vgdisplay vg-data
— Volume group —
VG Name vg-data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
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 224.99 GiB
PE Size 4.00 MiB
Total PE 57597
Alloc PE / Size 51199 / 200.00 GiB
Free PE / Size 6398 / 24.99 GiB
VG UUID JVYGd9-qXEb-UUje-ekmF-aCsN-iHn2-TyJCqw

5. Verificar LV actual

[root@servidor ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
lv_root VolGroup -wi-ao– 17.54g
lv_swap VolGroup -wi-ao– 1.97g
lv_data vg-data -wi-ao– 200.00g

[root@servidor ~]# lvdisplay /dev/vg-data/lv_data
— Logical volume —
LV Path /dev/vg-data/lv_data
LV Name lv_data
VG Name vg-data
LV UUID JoLa3T-YXB7-EUof-LyRL-xMDP-QumI-rvrFMn
LV Write Access read/write
LV Creation host, time dboss01.gye.claro.ec.intranet, 2012-11-20 10:08:43 -0500
LV Status available
# open 1
LV Size 200.00 GiB
Current LE 51199
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:2

6. Extender LVM asignando todos los PE libres (6398)

[root@servidor ~]# lvextend -l +6398 /dev/vg-data/lv_data
Extending logical volume lv_data to 224.99 GiB
Logical volume lv_data successfully resized
[root@servidor ~]# lvdisplay /dev/vg-data/lv_data
— Logical volume —
LV Path /dev/vg-data/lv_data
LV Name lv_data
VG Name vg-data
LV UUID JoLa3T-YXB7-EUof-LyRL-xMDP-QumI-rvrFMn
LV Write Access read/write
LV Creation host, time dboss01.gye.claro.ec.intranet, 2012-11-20 10:08:43 -0500
LV Status available
# open 1
LV Size 224.99 GiB
Current LE 57597
Segments 2
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:2

7. Incrementar el File System

En el caso del presente ejemplo el File System es XFS por lo que se utilizará el comando xfs_growfs

[root@servidor ~]# xfs_growfs /datos
meta-data=/dev/mapper/vg–mysqldata-lv_data isize=256 agcount=4, agsize=13106944 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=52427776, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=25599, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 52427776 to 58979328
[root@servidor ~]#
Nota: Para el caso de File System ext3/ext4 se usaría el comando resize2fs

[root@servidor ~]# resize2fs /dev/vg-data/lv_data
De manera automática ya se puede visualizar el incremento en el tamaño de la partición.

ANTES:
[root@servidor ~]# df -h
Filesystem                                     Size Used   Avail     Use%  Mounted on
/dev/mapper/VolGroup-lv_root      18G  10G    6.5G      61%    /
tmpfs                                             7.8G     0     7.8G        0%    /dev/shm
/dev/sda1                                     485M 127M  333M     28%    /boot
/dev/mapper/vg–data-lv_data   200G 194G  6.4G      97%    /datos

DESPUES:
[root@servidor ~]# df -h
Filesystem                                     Size Used   Avail     Use%  Mounted on
/dev/mapper/VolGroup-lv_root      18G  10G    6.5G       61%    /
tmpfs                                             7.8G      0     7.8G         0%   /dev/shm
/dev/sda1                                     485M 127M  333M       28%   /boot
/dev/mapper/vg–data-lv_data   225G 194G    32G       87%   /datos

 

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *