- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# LVM (Español)

From ArchWiki

## Introduccion

LVM es un Administrador de Volúmenes Lógicos para el kernel Linux. Con LVM se puede abstraer el espacio de almacenamiento y tener “particiones virtuales” para facilitar su modificación. Los bloques básicos que construyen LVM son:

- Physical volume/Volúmenes físicos (PV): Particiones en el disco rígido ( puede ser sobre tanto sobre un disco o sobre un archivo de loopback) donde se tener un grupo de volúmenes Posee una cabecera especial y esta dividida en extensiones físicas Piense en los volúmenes físicos como un gran edificio de bloques que pueden ser usados para armar tus discos rígidos

- Volume group/Grupo de volúmenes (VG): Son grupos de volúmenes físicos que son usados como volúmenes de almacenamiento ( como si fueran un solo disco). Contienen volúmenes lógicos Piense en los grupos de volúmenes como discos rígidos

- Logical volume/Volúmenes lógicos (LV): Una "partición virtual/lógica" que reside en un grupo de volúmenes y esta compuesta por extensiones físicas Piense en volúmenes lógicos como particiones normales.

- Physical extenúe/Extensiones físicas (PE): Una pequeña parte de un disco (usualmente 4MB) que puede ser asignada a un volumen lógico Piense en las Extensiones físicas como partes de los discos que pueden ser asignadas a cualquier partición

Con LVM usted puede manejar particiones (volúmenes lógicos) mas fácilmente que con las particiones comunes. Por ejemplo usted puede:

- Usar cualquier cantidad de discos como un gran disco(VG).

- Tenes particiones(LV) del tamaño de varios discos ( pueden ser del tamaño del total de todos tus discos juntos)

- Redimencionar/crear/borrar particiones(LV) y discos(VG) como quieras ( no depende de la posición del volumen lógico dentro del grupo de volúmenes, como pasa con las particiones normales)

- Redimencionar/crear/borrar particiones(LV) y discos(VG) en linea (los sistemas de archivo aun necesitan ser mencionados, pero algunos soportan dimensionamiento en linea)

- Puede nombrar a sus discos(VG) y particiones(LV) como quiera.

- Cree pequeñas particiones(LV) y dimencionelas "dinamicamente" mientras se van llenando ( agrandarlas se debe hacer a mano, pero algunos sistemas de archivos soportan hacerlo en linea)

- ...

Ejemplo:

     Disco físico

      Disco1 (/dev/sda):

         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

        |Particion1 50GB (Volumen físico)  |Particion2 80GB (Volumen físico)      |

        |/dev/sda1                         |/dev/sda2                             |

        |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |

      Disco2 (/dev/sdb):

         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

        |Particion1 120GB (Volumen físico)                  |

        |/dev/sdb1                                          |

        | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|

    Volúmenes lógicos LVM

      Grupo de volumenes1 (/dev/MiAlmacenamiento/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):

         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

        |Volumen Logico2 15GB  		|Volumen Logico2 35GB             |Volumen Logico2 200GB             |

        |/dev/MiAlmacenamiento/volroot     |/dev/MiAlmacenamiento/volhome    |/dev/MiAlmacenamiento/volmedia    |

        |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _  _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |

Para sumar todo: con LVM puede usar todo tu espacio de almacenamiento como un gran disco (Grupo de Volúmenes) y tener mas flexibilidad sobre sus particiones (Volúmenes lógicos).

# Instalación

Antes de hacer cualquier cosa, necesitamos cargar los módulos apropiados:

    #modprobe dm-mod

Si ya tiene instalado Arch Linux y solo quiere agregar/probar particiones con LVM, valla a Particionando discos.

#### Instalando Arch linux en LVM

Antes de correr el script de instalación de Arch Linux (/arch/setup), necesitamos particionar el disco con `cfdisk` (o la herramienta que mas le guste). Porque Grub legacy ( versiones de Grub anteriores a la 1.0) no pueden iniciar desde volúmenes lógicos LVM, no se puede tener `/boot` en un LVM, por eso debe crear una partición /boot separada. 100MB deberían ser suficientes. La otra solución podría ser usar lilo o una versión de Grub desde 1.95 en adelante.

#### Particionando discos

Ahora debemos crear una partición para LVM. El sistema de archivos debe ser 'Linux LVM', use el id de partición 0x8e ( tipo de sistema de archivos: 8e). Se debe crear solo una partición LVM en cada disco que se desee usar con LVM. Sus volúmenes lógicos residirán dentro de esas particiones, entonces dele un tamaño acorde. Si solo va a usar LVM y ninguna partición externa, use el total de espacio libre de cada disco.

Warning: /boot no puede estar en una partición LVM por que Grub (versión<1.95) no lo soporta.

Tip: Las particiones LVM de los discos puede configurarse para aparecer como un gran disco único

#### Creando Volúmenes físicos

Es momento de inicializar esas particiones para que puedan ser usadas por LVM. Use `fdisk -l` para encontrar aquellas particiones que tengan como sistema de archivos el tipo 'Linux LVM' y cree un volumen físico en ellas:

    # pvcreate /dev/sda2

Debe substituir `/dev/sda2` con todas las particiones para crear los volumenes fisicos en todas ellas. Este comando creara una cabecera en cada particion para que pueda ser usada por LVM.

Puede ver los volumenes fisicos creados con:

    # pvdisplay

#### Creando grupo(s) de volumenes

El siguiente paso, es crear un grupo de volumenes en este volumen fisico. Primero debe crear un grupo de volumenes en una de las nuevas particiones y luego agregarle todos los volumenes fisicos que desee:

    # vgcreate VolGroup00 /dev/sda2

    # vgextend VolGroup00 /dev/sdb1

Puede usar cualquier otro nombre en vez de VolGroup00, puede fijasre como el grupo de volumenes va aumentando con:

    # vgdisplay

Note: Puede crear mas de un grupo de volumenes si lo necesita, pero no tendra todo su almacenamiento en un solo disco.

#### Crendo volumenes logicos

Necesitaremos crear volumenes logicos en este grupo de volumenes. Para ello debe utilizar el siguiente comando, dandole como parametros el nombre del nuevo volumen logico, su tamaño, y el grupo de volumenes al que pertenecera:

    # lvcreate -L 10G VolGroup00 -n lVolHome

Luego prodra acceder con `/dev/mapper/Volgroup00-lvolhome` o `/dev/VolGroup00/lvolhome`. Se puede usar el nombre que desee para los volumenes logicos.

Para crear una swap en un volumen logico, se necesita un parametro adicional:

    # lvcreate -C y -L 10G VolGroup00 -n lvolswap

El parametro `-C y` es usado para crear particiones contiguas, significa que el espacio swap no podra ser particionado entre varios discos.

Si quiere llenar todo el espacio libre restante en un grupo de volumenes, use el siguiente comando:

    # lvcreate -l +100%FREE VolGroup00 -n lvolmedia

Verifique los volumenes logicos creados con:

    # lvdisplay

Note: Debe cargar el modulo device-mapper al kernel, de esta manera (modprobe dm-mod)

Tip: Puede empezar con una cantidad relativamente pequeña de volumenes logicos y expandirlos luego si lo necesita. Para facilitarlo, deje algo de espacio libre in el grupo de volumenes.

#### Creando el sistema de archivos y montando los volumenes logicos

Sus volumenes logicos deberian encontrarse en `/dev/mapper/` and `/dev/NombredelGrupodeV`. De no encontrarse, use el siguiente comando para cargar el modulo que crea nodos de dispositivos y hacer que los grupos de volumenes esten disponibles:

    # modprobe dm-mod

    # vgchange -ay

Ahora puede crear el sistema de archivos en los volumenes logicos, y montarlos como particiones normales ( si esta instalando arch, saltee este paso. Use el instalador de Arch para seleccinar las particiones LVM que creo):

    # mkfs.ext3 /dev/mapper/VolGroup00-lvolhome

    # mount /dev/mapper/VolGroup00-lvolhome /home

Si estas instalando Arch Linux, ejecute /arch/setup, calla a Prepare Hard Drive y luego al paso 3 Set Filesystem Mountpoints y lea la seccion Improtante antes de proceder con la instalacion!

### Importante

Hay un par de cosas con las que se debe tener cuidado cuando se instala/usa Arch en una LVM ( use los menues correspondientes durante la instalacion):

1. Cuando eleja los puntos de montaje, solo seleccione los volumenes logicos creados (use: `/dev/mapper/Volgroup00-lvolhome`).
   NO seleccione la particion donde el volumen logico fue creado (no use: `/dev/sda2`). (Set Filesystem Mountpoints)

1. Asegurese que cambio USELVM="no" a USELVM="yes" en `/etc/rc.conf` (Configure System)

1. Asegurese que lvm2 esta en la seccion de HOOKS del archivo `/etc/mkinitcpio.conf`, justo antes de filesystems para que el kernel encuentre los volumenes LVM cuando intente iniciar (boot). Si quiere usar los Snapshots/instantaneas de LVM, agregue dm-snapshot a la variable MODULES. (Configure System)

1. Asegurese que el archivo `/boot/grub/menu.lst` use los volumenes correctos para root. Deberia quedar algo como esto: (Install Bootloader)

    ...
    # (0) Arch Linux
    title  Arch Linux
    root   (hd0,0)
    kernel /vmlinuz26 root=/dev/mapper/VolGroup00-lvolroot resume=/dev/mapper/VolGroup00-lvolswap ro
    initrd /kernel26.img
    ...

Si usa LILO verifique `/etc/lilo.conf`:

    image=/boot/vmlinuz26
           label=arch
           append="root=/dev/mapper/VolGroup00-lvolroot resume=/dev/mapper/VolGroup00-lvolswap ro"
           initrd=/boot/kernel26.img

# Configuracion

## Agrandando volumenes logicos

Para agrandar un volumen logico, se debe agrandar el volumen logico y luego el sistema de archivos para poder usar el nuevo espacio libre creado. Digamos que tenemos un volumen logico de 15GB con ext3, y queremos agrandarlo a 20GB. Debe seguir los siguientes pasos:

    # lvextend -L 20G VolGroup00/lvolhome (o lvresize -L +5G VolGroup00/lvolhome)

    # resize2fs /dev/VolGroup00/lvolhome

Puede usar `lvresize` en vez de `lvextend`.

Si quiere llenar todo el espacio lobre de un grupo de volumenes, use el siguiente comando:

    # lvextend -l +100%FREE VolGroup00/lvolhome

Warning: No todos los sistemas de archivos soportan ser agrandados sin perder datos, o ser agrandados en linea.

{{Note|Si no le cambia el tamaño al sistema de archivos, este mantendra el tamaño que tenia antes ( El volumen sera mas grande, pero usado en parte)

## Partir volumenes logicos

Probablemente el sistema de archivos sea tan grande como el volumen logico en el que reside, para partirlo, se debe partir primero el sistema de archivos, y luego el volumen logico. Dependiendo del sistema de arhcivos, puede que lo deba desmontar antes. Digamos que tenemos un volumen logico de 15GB con ext3 y lo queremos dejar de 10GB. Seguiremos los siguientes pasos:

    # resize2fs /dev/VolGroup00/lvolhome 9G

    # lvreduce -L 10G VolGroup00/lvolhome (o lvresize -L -5G VolGroup00/lvolhome)

    # resize2fs /dev/VolGroup00/lvolhome

Ya hemos partido el sistema de archivos, mas de lo que debiamos para que cuando sea partido el volumen logico, no cortemos accidentalmente el final del sistema de archivos. Luego agrandaremos normalmente el sistema de archivos para llenar todo el espacio libre del volumen logico.You may use `lvresize` instead of `lvreduce`.

Warning: No reduzca el sistema de archivos a un tamaño menor al ocupado por los datos, por que se arriesga a perderlos.

Warning: No todos los sistemas de archivos soportan ser partidos sin perder datos, o ser partidos en linea.

Note: Es mejor reducir el sistema de archivos a un tamaño menor que el volumen logico, para que accidentalmente no cortemos el final del sistema de archivos.

## Agregar una particion al grupo de volumenes

Para agregar una particion al grupo de volumenes primero debe darle a la particion el tipo 'Linux LVM' (por ejemplo con `cfdisk`). Luego necesitara crear un volumen fisico dentro y estender el grupo de volumenes sobre la particion:

    # pvcreate /dev/sdb1

    # vgextend VolGroup00 /dev/sdb1

Ahora tendras el espacio libre en tu grupo de volumenes, que puede ser usado por los volumenes logicos del grupo.

Tip: Se puede agregar una particion desde cualquier disco, al grupo de volumenes.

## Remover una particion de un grupo de volumenes

Todos los datos de la particion debe ser movida a otra particion. Afortunadamente, LVM lo hace sencillo:

    # pvmove /dev/sdb1

Si quiere tener los datos en un volumen fisico especifico, agreguelo como segundo argumento a `pvmove`:

    # pvmove /dev/sdb1 /dev/sdf1

Luego removemos los volumenes fisicos del grupo de volumenes:

    # vgreduce myVg /dev/sdb1

O removemos todos los volumenes vacios:

    # vgreduce --all vg0

Por ultimo, si quiere usar la particion para algo mas, y quiere evitar a LVM, piense que esa particion es un volumen fisico mas:

    # pvremove /dev/sdb1

## Instantáneas/Snapshots

#### Introducción

LVM permite tomar instantaneas/snapshots de su sitema lo que es mucho mas eficiente que el tradicional backup. Podemos hacer esto usano una politica COW (copy-on-write)/(copia-cuando-escribe).La instantanea inicial simplemente contiene enlaces fuertes a los inodos de tus datos actuales. Mientras los datos esten descargados, la instantanea simplemente contara con punteros a sus respectivos inodos y no a los datos en si mismos. Cada vez que se modifica un archivo o un directorio a la que apunte la isntantanea, LVM automaticamente colonara los datos. Por lo tanto puede tener instantaneas de un sistema de 35GB de datos usando solo 2GB de espacio libre, mientras sean modificadas menos de 2GB de datos ( en el original y en la instantanea).

#### Configuracion

Los volumenes logicos para las instantaneas se crean igual que los normales:

    # lvcreate --size 100M --snapshot --name snap01 /dev/mapper/vg0-pv

Con dicho volumen, podra modificar menos de 100MB de datos, antes de que el volumen para las instantaneas se llene.

Es importante tener el modulo dm-snapshot agregado en la cariable MODULOS de `/etc/mkinitcpio.conf`, de otra manera el sistema no iniciara. Si hizo esto en un sistema ya instalado, asegurese de reconstruir la imagen del kernel con:

    # mkinitcpio -g /boot/kernel26.img

Tip: Hay scripts que automatizan la inclusion de las instantaneas en el archivo `menu.lst` para poder iniciar en ellas.

# Solucionando problemas

#### Los comandos LVM no funcionan

- Cargue los modulos apropiados:

    # modprobe dm-mod

- Anteponga lvm al comando:

    # lvm pvdisplay

#### No se ven los volumenes logicos

Si esta instalando en un sistema donde hay un grupo de volumenes existentes, es posible que luego de hacer "modprobe dm-mod" siga sin ver los volumenes logicos.

En este caso, debe hacer lo siguiente:

    # vgchange -ay <volgroup>

Ordenadamente para activar el grupo de volumenes y hacer accesible los volumenes logicos.

# Mas recursos ( en ingles)

Otros articulos sobre LVM en Archwiki:

- Instalando con softwared de RAID o LVM

- Encriptacion de RAID en LVM

Recursos externos:

- LVM en wikipedia

- LVM CÓMO en tldp.org

- Instalando LVM2 en Gentoo, gentoo.org

- LVM en en.gentoo-wiki.com

- Espejos LVM2 vs MD raid 1

Retrieved from "https://wiki.archlinux.org/index.php?title=LVM_(Español)&oldid=209260"
Categories:

- Getting and installing Arch (Español)
- File systems (Español)

## Navigation menu