User Tools

Site Tools


informatica:linux:discos:lvm

This is an old revision of the document!


LVM

Logical Volume Manager

Saber el sistema de ficheros de un LV (como el fdisk)

# file --special-files /dev/mapper/datavg-nom_lv
/dev/mapper/datavg-nom_lv: Linux rev 1.0 ext2 filesystem data (mounted or unclean)

Montar LVM desde Live CD

ANTECEDENTES

Tenemos un disco duro con dos particiones:

/dev/sda1 ⇒ /boot /dev/sda5 ⇒ extendida LVM

Hemos trasteado el LVM y no arranca. Para montar LVM desde una live-cd:

1. Arrancar desde la live-cd

2. Buscar el VG:

vgscan

3. Activar el VG:

vgchange -a y vg_encontrado_paso_2

4. Montar el LV en cuestión, en mi caso el raíz:

4.1 mkdir /mnt/auxiliar

4.2 mount /dev/mapper/vg_encontrado_paso_2-root /mnt/auxiliar

Reducir tamanyo LV

https://www.redhat.com/archives/linux-lvm/2006-August/msg00081.html

ANTECEDENTES

Tenemos un VG (Grupo de Volúmenes) con 3 LV (Volumen Lógico):

/
/home
/swap

Queremos achicar el LV /home para dejar espacio con el objeto de crear en ese espacio liberado un cuarto LV, donde montar /var

1. (Todo como root) obtenemos información del VG:

clear && lvdisplay

--- Logical volume ---
LV Name                /dev/volumen/root
VG Name                volumen
LV UUID                ErCMtp-5H0L-cUv9-AS7L-B1Gq-9fuM-xFtcDN
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                6,68 GB
Current LE             1709
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:0
 
--- Logical volume ---
LV Name                /dev/volumen/swap_1
VG Name                volumen
LV UUID                ly0S8s-MC2A-31yG-1dba-NYZk-ohQ0-yg1o6l
LV Write Access        read/write
LV Status              available
# open                 2
LV Size                2,59 GB
Current LE             664
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:1
 
--- Logical volume ---
LV Name                /dev/volumen/home
VG Name                volumen
LV UUID                uQkCYh-3u1z-s6yq-0dpA-Q6MK-5PIO-7zAoy9
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                65,00 GB
Current LE             16639
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:2

2. Desmontar la partición (por si las moscas, pero creo que desde el kernel 2.6 con sistemas de ficheros EXT3 NO es necesario). Es mejor si salimos del entorno gráfico:

umount /dev/mapper/volumen-home

3. Entrar en la consola de lvm y realizar unas operaciones:

3.1 lvm 3.2 Buscamos VG:

vgscan

3.3 Activamos el VG:

vgchange -a y VolGroup00

3.4 Generamos los ficheros de dispositivos ¿?:

vgmknodes

3.5 Salimos de la consola lvm:

exit

4. Achicar el sistema de ficheros

4.1 Comprobar el sistema de ficheros del LV:

e2fsck -f /dev/mapper/volumen-home

4.2 Redimensionar la partición ¿? (por ejemplo a 35 Gigas):

resize2fs /dev/mapper/volumen-home 35G

5. Achicar el LV:

5.1 Entrar en la consola lvm:

lvm

5.2 Reducir el LV (NOTA: según el tutorial la ruta es distinta, pero a mí tras avisarme que se podían perder datos me funcionó):

lvreduce -L36G /dev/volumen/home

O:

lvextend -L36G /dev/volumen/home

Creo que tanto da que da lo mismo

5.3 Salir de la consola:

exit

6. Expandir el sistema de ficheros al tamaño total del volumen.

resize2fs /dev/mapper/volumen-home

A mi me dijo que no se hacia nada

7. Aqui se puede volver a montar el sismte a de ficheros y ver los cambios. Más simple reiniciar

Forma 2 en caliente

lvreduce -L19G /dev/mapper/fixe-home
fixe:/home/jose/Desktop/Downloads# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/fixe/root
  VG Name                fixe
  LV UUID                pi5FAr-znWl-Wkma-a5FB-Lvku-Mmv3-e1vcJO
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                332.00 MB
  Current LE             83
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0
   
  --- Logical volume ---
  LV Name                /dev/fixe/usr
  VG Name                fixe
  LV UUID                AHwTdB-ev37-LmDi-4ldW-k0fT-GD3Z-ajzZjl
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.66 GB
  Current LE             1192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1
   
  --- Logical volume ---
  LV Name                /dev/fixe/var
  VG Name                fixe
  LV UUID                41g0b1-YrLd-cHte-AoOT-Wtuz-4OSy-B59aJl
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                2.79 GB
  Current LE             715
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:2
   
  --- Logical volume ---
  LV Name                /dev/fixe/swap_1
  VG Name                fixe
  LV UUID                ndI2u3-Si6h-tB1U-lLoB-b7o6-cjQt-pIGoAH
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                3.84 GB
  Current LE             983
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:3
   
  --- Logical volume ---
  LV Name                /dev/fixe/tmp
  VG Name                fixe
  LV UUID                PuyyLe-lwAF-xsK3-XSbX-UabV-YKea-ZUnLl4
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                380.00 MB
  Current LE             95
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:4
   
  --- Logical volume ---
  LV Name                /dev/fixe/home
  VG Name                fixe
  LV UUID                DTGGm1-lOem-0po1-BApp-ave5-wh2p-qLWCVk
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                19.00 GB
  Current LE             4864
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:5
lvreduce -L19G /dev/mapper/fixe-home
  WARNING: Reducing active and open logical volume to 19.00 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce home? [y/n]: y
  Reducing logical volume home to 19.00 GB
  Logical volume home successfully resized

lvextend -L1G /dev/mapper/fixe-root

  Extending logical volume root to 1.00 GB
  Logical volume root successfully resized
resize2fs /dev/mapper/fixe-root
resize2fs 1.41.3 (12-Oct-2008)
Filesystem at /dev/mapper/fixe-root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 4
Performing an on-line resize of /dev/mapper/fixe-root to 1048576 (1k) blocks.
The filesystem on /dev/mapper/fixe-root is now 1048576 blocks long.
resize2fs /dev/mapper/fixe-home 
resize2fs 1.41.3 (12-Oct-2008)
Filesystem at /dev/mapper/fixe-home is mounted on /home; on-line resizing required
On-line shrinking from 6564864 to 4980736 not supported.

Reducir un LV y crear uno nuevo

Tenemos 80 Gb en home y queremos pasar 20 a una unidad de apoyo

Reducimos tamaño del primer LV:

lvreduce -L60G /dev/mapper/vol64-64_home 

Creamos el LV de apoyo:

lvcreate vol64 --name apoyo --size=20G

Formatemos el LV:

mkfs.ext3 /dev/mapper/vol64-apoyo

Ya está listo para montar

Renombrar volumenes

Renombrar un Grupo de Volúmenes (VG)

(Creo que todo como root)

1. Obtenemos el nombre del Grupo de Volúmenes

calero:~# vgscan
Reading all physical volumes.  This may take a while...
Found volume group "calero" using metadata type lvm2

2. Renombramos:

vgrename calero nuevo_nombre_vg

Renombrar un Volumen Lógico (LV)

(Creo que todo como root)

1. Obtenemos el nombre de todos los Volúmenes Lógicos del Grupo de Volúmenes:

calero:~# clear && lvdisplay 
  1. – Logical volume —

LV Name /dev/calero/root

VG Name                calero
LV UUID                KopwfX-2SZG-JJNg-H0xs-6dnb-zwmB-zBUMZR
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                6,52 GB
Current LE             1668
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:0
 
--- Logical volume ---
LV Name                /dev/calero/swap_1
VG Name                calero
LV UUID                sGM4EI-QMBx-428v-B7nc-OcHB-KSnj-H9I1ze
LV Write Access        read/write
LV Status              available
# open                 2
LV Size                2,53 GB
Current LE             648
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:1
 
--- Logical volume ---
LV Name                /dev/calero/home
VG Name                calero
LV UUID                jlNSaR-X2mN-l6Cs-epeu-PDRv-3iqi-izAUBP
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                65,24 GB
Current LE             16702
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:2

2. Renombramos el Volumen Lógico que queramos:

lvrename /dev/calero/home nuevo_nombre_lv
informatica/linux/discos/lvm.1389250859.txt.gz · Last modified: 2015/04/13 20:19 (external edit)