Ampliar FileSystem en cluster AIX HACMP

Vamos a listar de FS que tenemos

[AIXServer].root:/ > df -m
Filesystem    MB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4         256.00    140.58   46%     3021     3% /
/dev/hd2        2688.00    740.54   73%    34655     6% /usr
/dev/hd9var     5120.00   1268.55   76%     2043     1% /var
/dev/hd3         512.00    477.04    7%     1053     1% /tmp
/dev/hd1         128.00     97.62   24%      412     2% /home
/proc                 –         –    –         –     –  /proc
/dev/hd10opt     256.00     91.47   65%     3065     5% /opt
/dev/inst_lv    1920.00    617.22   68%      402     1% /usr/sys/inst.images
/dev/admin    128.00     73.79   43%      102     1% /usr/local/admin
/dev/tempinglv   1920.00    593.36   70%      753     1% /temping
/dev/loglv      1024.00    251.11   76%      977     1% /logs
/dev/securitelv   2432.00      0.00  100%      938     1% /tools/securite
/dev/rcu_lv    17408.00   3071.92   83%    65214     9% /home/app
/dev/lv1         496.00    495.60    1%       10     1% /nfs1test

Queremos ampliar el FS /dev/rcu_lv de 17Gb a 20Gb

Vamos a listar el tamaño de este FS (se muestra en bloques de 512, cosas de la historia)

[AIXServer].root:/ > lsfs /dev/rcu_lv
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/dev/rcu_lv     —         /home/app              jfs2  35651584 rw         no   no

Calculamos el nuevo espacio. En nuestro caso pasamos de 17Gb a 20Gb

[AIXServer].root:/ > bc
35651584/2                                        (dividimos por 2 por el tema de los bloques de 512)
17825792
17825792/1024                                  (para mostrar el tamaño en Mb)
17408
17408/1024                                        (para mostrar el tamaño de Gb)
17                                                       (los 17Gb que tenemos tendremos que calcular el tamaño nuevo)
20*1024*1024*2                               (queremos 20Gb y vamos a pasarlo en bloques de 512)
41943040 (este es el nuevo tamaño)

Ampliaremos el FS por smitty desde la opción de HACMP. si lo hicieramos directamente en la maquina, el nodo pasivo no se daria cuenta del cambio y al balancear el servicio tendriamos problemas

Vamos a Smitty HACMP
[AIXServer].root:/ > smitty hacmp

Vamos a System Management (C-SPOC)

HACMP Logical Volume Management

Shared File Systems

Enhanced Journaled File Systems

Nota! Tal y como dice Carlos-Vindobona en los comentarios, si el FS es JFS en vez de JFS2 (que es con el que trabajamos ahora) marcariamos “Journaled File Systems”

Change / Show Characteristcs of a Shared Enhanced Journaled File Systems

Ahora ponemos en SIZE of file system el resultado de 20Gb*1024*1024*2=41943040

 

Enter y…

Ya tenemos el resultado, el nuevo FS tiene 20Gb de espacio

Vamos a verlo;

[AIXServer].root:/ > df -m
Filesystem    MB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4         256.00    140.58   46%     3021     3% /
/dev/hd2        2688.00    740.54   73%    34655     6% /usr
/dev/hd9var     5120.00   1277.39   76%     2043     1% /var
/dev/hd3         512.00    477.04    7%     1053     1% /tmp
/dev/hd1         128.00     97.62   24%      412     2% /home
/proc                 –         –    –         –     –  /proc
/dev/hd10opt     256.00     91.47   65%     3065     5% /opt
/dev/inst_lv    1920.00    617.22   68%      402     1% /usr/sys/inst.images
/dev/admin    128.00     73.79   43%      102     1% /usr/local/admin
/dev/tempinglv   1920.00    593.36   70%      753     1% /temping
/dev/loglv      1024.00    251.10   76%      977     1% /logs
/dev/securitelv   2432.00      0.00  100%      938     1% /tools/securite
/dev/rcu_lv    20480.00   6143.82   71%    65214     5% /home/app
/dev/lv1         496.00    495.60    1%       10     1% /nfs1test

Advertisements

ServeRAID Manager para servidores IBM

Hace unos días me llego mi “nuevo” servidor. Un IBM XSeries 345 con controladora ServeRAID 6i

La infraestructura actual que tengo (que ya explicaré en mas detalle) tiene dos servidores XSeries 345 (info) y uno de ellos viene con la controladora ServeRAID 6i (info)

Una de las particularidades de esta controladora es que por defecto no viene con ningún software para la gestión de los discos, por lo que no puedes crear RAID’s ni nada. Para poder hacerlo tienes que descargarte la versión bootable del ServeRAID Manager. Una ISO muy bonita de unos 400Mb.

Una vez descargado solo queda pasarlo a un CD, iniciar la maquina y configurar los discos. Desde el propio CD puedes hacer un upgrade de controlador (al iniciar, si lo necesitas ya te lo dice).

Como estos software son fáciles de perder en la inmensidad de internet, he colgado dos versiones 7.12.14 y 6.11 para la descarga directa desde esta web.
Aun así dejo el enlace oficial de IBM.

Para ver mas información y descargas para ServeRAID link aqui
IBM ServeRAID software matrix aqui

Versión 7.12.14 ServeRAID Manager aqui
Versión 6.11 ServeRAID Manager aqui

Recuperación LVM Logical Volume

Dejo aquí un manual de como recuperar un volumen lógico en Linux. Tengo que agradecer este manual a Jordi que se ha pasado sus horas haciendo yes.. yes… yes… 😉

Para entender ciertos conceptos técnicos va bien este manual: http://www.linuca.org/body.phtml?nIdNoticia=326

Empezamos…

pvs -v
##########
# Scanning for physical volume names
# PV VG Fmt Attr PSize PFree DevSize PV UUID
# /dev/sda2 VolGroup00 lvm2 a- 9.88G 0 9.90G 6m961T-avTg-XypB-1T5E-sgeK-6UDX-yISnmK
# /dev/sdb vgapp1 lvm2 a- 100.00G 0 100.00G U6tSIo-9gjZ-HtQa-dYgA-uCIe-nz6f-aBrIHr
##########

– Guardar UUID para compararlo

pvck -d -v /dev/sdb
##########
# Scanning /dev/sdb
# Found label on /dev/sdb, sector 1, type=LVM2 001
# Found text metadata area: offset=4096, size=192512
# Found LVM2 metadata record at offset=10752, size=1024, offset2=0 size2=0
# Found LVM2 metadata record at offset=9728, size=1024, offset2=0 size2=0
# Found LVM2 metadata record at offset=8704, size=1024, offset2=0 size2=0
# Found LVM2 metadata record at offset=7680, size=1024, offset2=0 size2=0
# Found LVM2 metadata record at offset=6656, size=1024, offset2=0 size2=0
# Found LVM2 metadata record at offset=5632, size=1024, offset2=0 size2=0
##########

– Convertir los offset de decimal a hexadecimal y anotarlos.
– Buscar e instalar el programa hexedit
hexedit /dev/sdb
##########
#00001180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#000011A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#000011C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#000011E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#00001200 76 67 61 70 70 31 20 7B 0A 69 64 20 3D 20 22 31 74 4E 74 55 44 2D 75 68 35 61 2D 76 6B 4E 6E 2D vgapp1 {.id = “1tNtUD-uh5a-vkNn-
#00001220 55 76 76 73 2D 4D 79 4F 52 2D 72 70 30 44 2D 7A 51 44 6B 79 46 22 0A 73 65 71 6E 6F 20 3D 20 33 Uvvs-MyOR-rp0D-zQDkyF”.seqno = 3
#00001240 0A 73 74 61 74 75 73 20 3D 20 5B 22 52 45 53 49 5A 45 41 42 4C 45 22 2C 20 22 52 45 41 44 22 2C .status = [“RESIZEABLE”, “READ”,
#00001260 20 22 57 52 49 54 45 22 5D 0A 66 6C 61 67 73 20 3D 20 5B 5D 0A 65 78 74 65 6E 74 5F 73 69 7A 65 “WRITE”].flags = [].extent_size
#00001280 20 3D 20 38 31 39 32 0A 6D 61 78 5F 6C 76 20 3D 20 30 0A 6D 61 78 5F 70 76 20 3D 20 30 0A 0A 70 = 8192.max_lv = 0.max_pv = 0..p
#000012A0 68 79 73 69 63 61 6C 5F 76 6F 6C 75 6D 65 73 20 7B 0A 0A 70 76 30 20 7B 0A 69 64 20 3D 20 22 55 hysical_volumes {..pv0 {.id = “U
#000012C0 36 74 53 49 6F 2D 39 67 6A 5A 2D 48 74 51 61 2D 64 59 67 41 2D 75 43 49 65 2D 6E 7A 36 66 2D 61 6tSIo-9gjZ-HtQa-dYgA-uCIe-nz6f-a
#000012E0 42 72 49 48 72 22 0A 64 65 76 69 63 65 20 3D 20 22 2F 64 65 76 2F 73 64 62 22 0A 0A 73 74 61 74 BrIHr”.device = “/dev/sdb”..stat
#00001300 75 73 20 3D 20 5B 22 41 4C 4C 4F 43 41 54 41 42 4C 45 22 5D 0A 66 6C 61 67 73 20 3D 20 5B 5D 0A us = [“ALLOCATABLE”].flags = [].
#00001320 64 65 76 5F 73 69 7A 65 20 3D 20 32 30 39 37 31 35 32 30 30 0A 70 65 5F 73 74 61 72 74 20 3D 20 dev_size = 209715200.pe_start =
#00001340 33 38 34 0A 70 65 5F 63 6F 75 6E 74 20 3D 20 32 35 35 39 39 0A 7D 0A 7D 0A 0A 6C 6F 67 69 63 61 384.pe_count = 25599.}.}..logica
#00001360 6C 5F 76 6F 6C 75 6D 65 73 20 7B 0A 0A 6C 76 61 70 70 31 20 7B 0A 69 64 20 3D 20 22 6D 68 66 4E l_volumes {..lvapp1 {.id = “mhfN
#00001380 64 4F 2D 48 65 4B 32 2D 4A 71 54 64 2D 5A 5A 5A 55 2D 37 6D 33 4C 2D 35 70 74 53 2D 78 42 76 61 dO-HeK2-JqTd-ZZZU-7m3L-5ptS-xBva
#000013A0 48 4B 22 0A 73 74 61 74 75 73 20 3D 20 5B 22 52 45 41 44 22 2C 20 22 57 52 49 54 45 22 2C 20 22 HK”.status = [“READ”, “WRITE”, ”
#000013C0 56 49 53 49 42 4C 45 22 5D 0A 66 6C 61 67 73 20 3D 20 5B 5D 0A 73 65 67 6D 65 6E 74 5F 63 6F 75 VISIBLE”].flags = [].segment_cou
#000013E0 6E 74 20 3D 20 31 0A 0A 73 65 67 6D 65 6E 74 31 20 7B 0A 73 74 61 72 74 5F 65 78 74 65 6E 74 20 nt = 1..segment1 {.start_extent
#00001400 3D 20 30 0A 65 78 74 65 6E 74 5F 63 6F 75 6E 74 20 3D 20 32 35 35 39 39 0A 0A 74 79 70 65 20 3D = 0.extent_count = 25599..type =
#00001420 20 22 73 74 72 69 70 65 64 22 0A 73 74 72 69 70 65 5F 63 6F 75 6E 74 20 3D 20 31 09 23 20 6C 69 “striped”.stripe_count = 1.# li
#00001440 6E 65 61 72 0A 0A 73 74 72 69 70 65 73 20 3D 20 5B 0A 22 70 76 30 22 2C 20 30 0A 5D 0A 7D 0A 7D near..stripes = [.”pv0″, 0.].}.}
#00001460 0A 7D 0A 7D 0A 23 20 47 65 6E 65 72 61 74 65 64 20 62 79 20 4C 56 4D 32 20 76 65 72 73 69 6F 6E .}.}.# Generated by LVM2 version
#00001480 20 32 2E 30 32 2E 34 30 2D 52 48 45 4C 35 20 28 32 30 30 38 2D 31 30 2D 32 34 29 3A 20 46 72 69 2.02.40-RHEL5 (2008-10-24): Fri
#000014A0 20 44 65 63 20 20 33 20 30 38 3A 35 31 3A 34 37 20 32 30 31 30 0A 0A 63 6F 6E 74 65 6E 74 73 20 Dec 3 08:51:47 2010..contents
#000014C0 3D 20 22 54 65 78 74 20 46 6F 72 6D 61 74 20 56 6F 6C 75 6D 65 20 47 72 6F 75 70 22 0A 76 65 72 = “Text Format Volume Group”.ver
#000014E0 73 69 6F 6E 20 3D 20 31 0A 0A 64 65 73 63 72 69 70 74 69 6F 6E 20 3D 20 22 22 0A 0A 63 72 65 61 sion = 1..description = “”..crea
#00001500 74 69 6F 6E 5F 68 6F 73 74 20 3D 20 22 41 52 51 4F 50 46 53 52 30 32 22 09 23 20 4C 69 6E 75 78 tion_host = “ARQOPFSR02”.# Linux
#00001520 20 41 52 51 4F 50 46 53 52 30 32 20 32 2E 36 2E 31 38 2D 31 32 38 2E 65 6C 35 20 23 31 20 53 4D ARQOPFSR02 2.6.18-128.el5 #1 SM
#00001540 50 20 57 65 64 20 44 65 63 20 31 37 20 31 31 3A 34 31 3A 33 38 20 45 53 54 20 32 30 30 38 20 78 P Wed Dec 17 11:41:38 EST 2008 x
#00001560 38 36 5F 36 34 0A 63 72 65 61 74 69 6F 6E 5F 74 69 6D 65 20 3D 20 31 32 39 31 33 36 32 37 30 37 86_64.creation_time = 1291362707
#00001580 09 23 20 46 72 69 20 44 65 63 20 20 33 20 30 38 3A 35 31 3A 34 37 20 32 30 31 30 0A 0A 00 00 00 .# Fri Dec 3 08:51:47 2010…..
#000015A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#000015C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#000015E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………………………..
#00001600 76 67 61 70 70 31 20 7B 0A 69 64 20 3D 20 22 31 74 4E 74 55 44 2D 75 68 35 61 2D 76 6B 4E 6E 2D vgapp1 {.id = “1tNtUD-uh5a-vkNn-
#00001620 55 76 76 73 2D 4D 79 4F 52 2D 72 70 30 44 2D 7A 51 44 6B 79 46 22 0A 73 65 71 6E 6F 20 3D 20 32 Uvvs-MyOR-rp0D-zQDkyF”.seqno = 2
#00001640 0A 73 74 61 74 75 73 20 3D 20 5B 22 52 45 53 49 5A 45 41 42 4C 45 22 2C 20 22 52 45 41 44 22 2C .status = [“RESIZEABLE”, “READ”,
#00001660 20 22 57 52 49 54 45 22 5D 0A 66 6C 61 67 73 20 3D 20 5B 5D 0A 65 78 74 65 6E 74 5F 73 69 7A 65 “WRITE”].flags = [].extent_size
#00001680 20 3D 20 38 31 39 32 0A 6D 61 78 5F 6C 76 20 3D 20 30 0A 6D 61 78 5F 70 76 20 3D 20 30 0A 0A 70 = 8192.max_lv = 0.max_pv = 0..p
#000016A0 68 79 73 69 63 61 6C 5F 76 6F 6C 75 6D 65 73 20 7B 0A 0A 70 76 30 20 7B 0A 69 64 20 3D 20 22 55 hysical_volumes {..pv0 {.id = “U
#########

– Buscar la dirección hexadecimal del offset que queremos, marcarla (ctrl-espacio), copiarla (esc-w) y guardarla (esc-y) con el nombre que queráis. Para salir (ctrl-c).
vgchange -an vgapp1

– Usar el UUID del fichero en la instruccion de abajo y el fichero que hemos guardado.
pvcreate -ff -u U6tSIo-9gjZ-HtQa-dYgA-uCIe-nz6f-aBrIHr –restorefile 20101014new.txt /dev/sdb
vgcfgrestore -f 20101014new.txt -v vgapp1
vgchange -ay vgapp1
e2fsck -f /dev/vgapp1/lvapp1

– Con suerte, lo tendremos recuperado 🙂

Asignar disco virtual a un FS existente en Linux

Este procedimiento indica los pasos a realizar una vez tenemos disco asignado por parte de VMWare.

Comprobamos que el sistema haya detectado el nuevo disco que previamente nos ha asignado VMWare, en este caso sdc, lo hacemos con el comando fdisk –l

[root@linux ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM

Disk /dev/sdb: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13054 104856223+ 8e Linux LVM

Disk /dev/sdc: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn’t contain a valid partition table

Revisamos los FS actuales para comprobar el montaje del FS que queremos ampliar don df -h

[root@linux ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
100G 81G 14G 86% /
/dev/sda1 99M 26M 69M 27% /boot
tmpfs 2.8G 4.0K 2.8G 1% /dev/shm

Con lvmdiskscan comprobamos el formato que tiene el nuevo disco sdc:

[root@linux ~]# lvmdiskscan
/dev/ramdisk [ 16.00 MB]
/dev/root [ 102.31 GB]
/dev/ram [ 16.00 MB]
/dev/sda1 [ 101.94 MB]
/dev/VolGroup00/LogVol01 [ 7.53 GB]
/dev/ram2 [ 16.00 MB]
/dev/sda2 [ 9.90 GB] LVM physical volume
/dev/ram3 [ 16.00 MB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/ram6 [ 16.00 MB]
/dev/ram7 [ 16.00 MB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/ram10 [ 16.00 MB]
/dev/ram11 [ 16.00 MB]
/dev/ram12 [ 16.00 MB]
/dev/ram13 [ 16.00 MB]
/dev/ram14 [ 16.00 MB]
/dev/ram15 [ 16.00 MB]
/dev/sdb1 [ 100.00 GB] LVM physical volume
/dev/sdc [ 50.00 GB]
4 disks
16 partitions
0 LVM physical volume whole disks
2 LVM physical volumes

Formateamos el disco a LVM (Logical Volume Manager) con fdisk

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

The number of cylinders for this disk is set to 6527.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6527, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-6527, default 6527):
Using default value 6527

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L

0 Empty 1e Hidden W95 FAT1 80 Old Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c7 Syrinx
5 Extended 41 PPC PReP Boot 85 Linux extended da Non-FS data
6 FAT16 42 SFS 86 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set de Dell Utility
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 Hidden FAT16 ❤ 61 SpeedStor a9 NetBSD f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): ?
?: unknown command
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help): p

Disk /dev/sdc: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdc1 1 6527 52428096 8e Linux LVM

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

Calling ioctl() to re-read partition table.
Syncing disks.

Comprobamos con fdisk –l que el nuevo disco este en el formato deseado (LVM)

[root@linux ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM

Disk /dev/sdb: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13054 104856223+ 8e Linux LVM

Disk /dev/sdc: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdc1 1 6527 52428096 8e Linux LVM

Si lanzamos un pvdisplay veremos que aún no visualizamos el nuevo VolGroup sdc1


[root@linux ~]# pvdisplay
— Physical volume —
PV Name /dev/sda2
VG Name VolGroup00
PV Size 9.90 GB / not usable 22.76 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 316
Free PE 0
Allocated PE 316
PV UUID DF6SME-nD8I-LGId-4cvh-4wpe-249G-456BPJ

— Physical volume —
PV Name /dev/sdb1
VG Name VolGroup00
PV Size 100.00 GB / not usable 30.66 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 3199
Free PE 0
Allocated PE 3199
PV UUID t4uw6n-2i5R-Pup9-cccK-scHi-uVFc-cslWMd

Lanzamos un pvcreate para que inicialice el disco para usarlo por LVM

[root@linux ~]# pvcreate /dev/sdc1
Physical volume “/dev/sdc1” successfully created
[root@linux ~]# pvdisplay /sdc1
Failed to read physical volume “/sdc1”

Nota! Si aparece el error de Failed to read es que el pvcreate no ha funcionado. Este error aparece si no cremos, o no cremos bien el PV

Debemos lanzar un vgextend y asignarlo al VolGroup deseado

[root@linux ~]# vgextend VolGroup00 /dev/sdc1
Volume group “VolGroup00” successfully extended

Ahora lo asignamos al lv mediante lvextend (IMPORTANTE: poner símbolo + antes del porcentage o tamaño que queremos asignar)

[root@linux ~]# lvextend -l +100%free /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 152.28 GB
Logical volume LogVol00 successfully resized

Asignamos el LV al FS realizando un resize2fs (tarda unos segundos)

[root@linux ~]# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 39919616 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 39919616 blocks long.

Ahora validamos que todo ha ido bien y tenemos el nuevo disco asignado 🙂

[root@linux ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
148G 81G 60G 58% /
/dev/sda1 99M 26M 69M 27% /boot
tmpfs 2.8G 4.0K 2.8G 1% /dev/shm

Gracias a Albert Carreras por su manual!!!

Volúmenes lógicos (LVM) Crear, modificar VG y LV

 

LVM es mucho más flexible, permitiendo añadir espacio adicional a volúmenes ya creados de manera transparente y simple.

Pasamos a ver los conceptos para entender la base del sistema.

Estructura LVM

Para que todo funcione es necesario instalar el paquete lvm10 o lvm2, recomiendo la versión 2 aunque la mayoría de distribuciones todavía mantengan la versión 1. Hay que asegurarse de que haya un script en el arranque para poner el marcha LVM.

Lo primero de todo es hacer las particiones, puede hacerse con cfdisk. Si se usa una versión anterior a la 2 de LVM, es obligatorio definir el tipo como Linux LVM.

Hay que destacar que la partición que contenga /boot no podrá formar parte de un volumen lógico, los cargadores de arranque no suelen soportarlo. En nuestro caso se trata de hda1.

Buscamos el nuevo disco

Si hemos agregado un disco hace poco podemos ver el device que ha sido generado con un fdisk -l. En mi caso he agregado un disco de 43Gb de mi VMWare a la maquina;

root@http:~# fdisk -l
Disc /dev/sdb: 42.9 GB, 42949672960 octets
255 heads, 63 sectors/track, 5221 cylinders
Units = cilindres of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Damos soporte para LVM a las otras dos particiones, este paso borrará TODOS los datos existentes.

root@http:~# pvcreate /dev/sdb
Physical volume “/dev/sdb” successfully created

Ahora creamos el VolumGroup que contendra tantos VolumGroup como queramos.

root@http:~# vgcreate VolumGroup2 /dev/sdb
Volume group “VolumGroup2” successfully created

Vamos a ver el resultado con vgdisplay:

root@http:~# vgdisplay
— Volume group —
VG Name               VolumGroup2
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               40,00 GiB
PE Size               4,00 MiB
Total PE              10239
Alloc PE / Size       0 / 0
Free  PE / Size       10239 / 40,00 GiB
VG UUID               0er3jx-M6p7-qsDC-WiHM-Qem3-n3R6-0xqhsK

Vamos a crear los volúmenes lógicos. Crearemos 2. Uno de 5, otro de 30 y dejaremos 5 libres para poder ampliar

root@http:~# lvcreate -L5,00G -n LV5GB VolumGroup2
Logical volume “LV5GB” created
root@http:~# lvcreate -L30,00G -n LV30GB VolumGroup2
Logical volume “LV30GB” created

El parámetro -L es lo “large” que es el disco. Vamos, el tamaño que queremos de LV. El parametro -n define el nombre del LV

Vamos a ver el resultado con LVDISPLAY

root@http:~# lvdisplay VolumGroup2
— Logical volume —
LV Name                /dev/VolumGroup2/LV5GB
VG Name               VolumGroup2
LV UUID                YAKkwE-tYrp-O233-3r1B-YzNi-cOn2-dE6FQT
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                5,00 GiB
Current LE             1280
Segments               1
Allocation             inherit
Read ahead sectors     auto
– currently set to     256
Block device           254:6

— Logical volume —
LV Name                /dev/VolumGroup2/LV30GB
VG Name                VolumGroup2
LV UUID                gJTafK-o0Al-pDNt-UIXJ-nUtp-YAkx-oZgNz3
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                30,00 GiB
Current LE             7680
Segments               1
Allocation             inherit
Read ahead sectors     auto
– currently set to     256
Block device           254:7

Vamos a darle formato con mkfs. Podemos realizar distintos formatos, XFS, EXT3 etc..

root@http:~# mkfs.ext3 /dev/VolumGroup2/LV30GB
mke2fs 1.41.12 (17-May-2010)
Etiqueta del sistema de fitxers=
Tipus de sistema operatiu: Linux
Mida del bloc=4096 (log=2)
Mida del fragment=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1966080 nodes-i, 7864320 blocs
393216 blocs (5.00%) reservats per al superusuari
Bloc de dades inicial=0
Màxim de blocs del sistema de fitxers=0
240 grups de blocs
32768 blocs per grup, 32768 fragments per grup
8192 nodes-i per grup
Còpies de seguretat del superbloc desades en els blocs:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Escriptura de les taules de nodes-i: 30/240
fet
Creació del registre de transaccions (32768 blocs): fet
Escriptura de la informació dels súperblocs i de comptabilitat del sistema de fitxers:fet


Agregar en fstab

Ahora solo queda agregar el disco en el fstab para que lo monte cada vez que arranque el sistema

/dev/VolumGroup2/LV30GB  /backup ext3 defaults 0 0

El resultado final

 

root@http:~# df -h
S. fitxers                                                      Mida En ús Lliure %Ãs Muntat a
/dev/mapper/pont-root                            322M  107M  199M  35% /
tmpfs                                                            125M     0  125M   0% /lib/init/rw
udev                                                              120M  120K  120M   1% /dev
tmpfs                                                             125M     0  125M   0% /dev/shm
/dev/sda1                                                     228M   15M  202M   7% /boot
/dev/mapper/pont-home                           2,7G   78M  2,5G   3% /home
/dev/mapper/pont-tmp                           225M  6,1M  208M   3% /tmp
/dev/mapper/pont-usr                               2,7G  495M  2,1G  20% /usr
/dev/mapper/pont-var                               1,4G  935M  337M  74% /var
/dev/mapper/VolumGroup2-LV30GB 30G  173M   28G   1% /backup

root@http:~# vgdisplay
— Volume group —
VG Name               VolumGroup2
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  3
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               1
Max PV                0
Cur PV                1
Act PV                1
VG Size               40,00 GiB
PE Size               4,00 MiB
Total PE              10239
Alloc PE / Size       8960 / 35,00 GiB
Free  PE / Size       1279 / 5,00 GiB
VG UUID               0er3jx-M6p7-qsDC-WiHM-Qem3-n3R6-0xqhsK

 

Ampliar LogicalVolum

Si queremos ampliar el Volumen, tendremos que poner el nuevo tamaño, no el tamaño  ampliar

root@http:~# lvextend -L34G /dev/mapper/VolumGroup2-LV30GB
Extending logical volume LV30GB to 34,00 GiB
Logical volume LV30GB successfully resized

Indicamos al sistema el nuevo tamaño

root@http:~# resize2fs /dev/mapper/VolumGroup2-LV30GB
resize2fs 1.41.12 (17-May-2010)
El sistema de fitxers a /dev/mapper/VolumGroup2-LV30GB està muntat a /backup; cal un canvi de mida en línia
old desc_blocks = 2, new_desc_blocks = 3
Canvi de mida en línia de /dev/mapper/VolumGroup2-LV30GB a 8912896 (4k) blocs.
El sistema de fitxers a /dev/mapper/VolumGroup2-LV30GB té ara una mida de 8912896 blocs.

En XFS seria: xfs_growfs /punto_montaje

Ya tenemos ampliado el LV

root@http:~# df -h
S. fitxers                                                      Mida En ús Lliure %Ãs Muntat a
/dev/mapper/pont-root                            322M  107M  199M  35% /
tmpfs                                                            125M     0  125M   0% /lib/init/rw
udev                                                              120M  120K  120M   1% /dev
tmpfs                                                             125M     0  125M   0% /dev/shm
/dev/sda1                                                     228M   15M  202M   7% /boot
/dev/mapper/pont-home                           2,7G   78M  2,5G   3% /home
/dev/mapper/pont-tmp                           225M  6,1M  208M   3% /tmp
/dev/mapper/pont-usr                               2,7G  495M  2,1G  20% /usr
/dev/mapper/pont-var                               1,4G  935M  337M  74% /var
/dev/mapper/VolumGroup2-LV30GB 34G  177M   32G   1% /backup

 

Agregar un disco al VolumGroup

Primero detectamos el nuevo disco y creamos el soporte a VolumGroup:

pvcreate /dev/hdb1


Luego ampliamos el VolumGroup

vgextend grupo_volumen /dev/hdb1

 


Mas información en: http://www.tldp.org/HOWTO/LVM-HOWTO/