====== LVM ====== LVM quiere decir Logical Volume Manager. Las particiones son estáticas. Si quieres cambiarla de tamaño, generalmente debes respaldar todo, reparticionar y restaurar. Pero se puede crear un "volumen" con varias particiones físicas y luego utilizar ese espacio combinado para construir particiones lógicas. Usar particiones lógicas en lugar físicas facilita el ampliado de particiones, y la posibilidad de tener particiones que ocupan más de un disco físico. Se usa con grandes servidores por lo general, con docenas de discos. Para usos domésticos, basta con planificar bien las particiones físicas, EL kernel debe tener soporte para LVM. Es importante contar con las utilidades para LVM en el sistema. ===== Instalando LVM ===== ==== En Debian y Debian based distros ==== # apt-get install lvm2 Esto instalará en el sistema las herramientas necesarias para trabajar con volúmenes LVM. ==== En distros basadas en RPM ==== Descargar los RPM desde internet o utilizando el manejador de paquetes de la distribución(Yast en SuSe y yum en RedHat) o directamente desde internet. En caso de utilizar esta última opción, deberán instalar el paquete manualmente usando la siguiente instrucción: # rpm i lvm2 ===== Cómo lo usamos ===== ==== Dispositivo ==== * Usamos un gestor de particiones(''fdisk'', ''cfdisk'', etc) para configurar las particiones que deseamos usar como parte de volúmenes lógicos como //"Linux LVM" - Tipo 0x8e//. * Creamos un "Volumen Físico" en cada partición. Por ejemplo: # pvcreate /dev/sdb1 Este paso debe ser repetido por cada partición que se desee utilizar como parte de volúmenes lógicos. ==== Grupo de Volúmenes ==== * Creamos un "//Grupo de Volúmenes//". Se le asigna un nombre, y se asignan las particiones que la conformarán. En el futuro puede agragarse otras particiones. **Sintaxis:** ''vgcreate ... '' # vgcreate miLVM /dev/sdb1 /dev/sdc2 para visualizar las unidades físicas podemos usar el comando ''vgdisplay''. \ **Sintaxis:** vgdisplay [] * Creamos el //"Volúmen Lógico"//, creando además el ''device''(/dev/miLVM/lvol0) para luego poder operar sobre el mismo. **Sintaxis:** ''lvcreate '' lvcreate -L 2000 miLVM En este caso estamos usando la opción ''-L'' con el valor 2000(+/-2GB). Lo que decimos es que queremos crear el volúmen lógico llamado miLVM y asignarle un tamaño de 2000 megabytes. Una vez realizado este paso, se creará un nuevo dispositivo en ''/dev'' llamado ''miLVM'' y dentro del mismo las "unidades", normalmente ''lvoln'' dónde "n" comienza de ''0'': El hecho de asignar 2000M implica que la suma de las particiones incluidas en el volúmen lógico tienen espacio igual o mayor al espacio asignado. # ls -l /dev/miL* drwx------ 2 root root 80 2008-05-04 06:00 miLVM # ls -l /dev/miLVM lrwxrwxrwx 1 root root 28 2008-05-04 06:00 lvol0 -> /dev/mapper/miLVM-lvol0 Para ver información sobre un volúmen lógico, debemos usar el comando ''lvdisplay''. \ **Sintaxis:** lvdisplay [] # lvdisplay ==== Preparando la nueva "unidad" ==== * Creamos el sistema de archivos(ext2, ext3, raiserFS, etc.) para el volúmen # mkfs.ext3 /dev/miLVM/lvol0 * Montamos el nuevo volúmen que está listo para ser usado. # mount -text3 /dev/miLVM/lvol0 /mnt Si quisieramos que el volúmen se montara automáticamente cada vez que reiniciamos el sistema, debemos modificar el archivo ''/etc/fstab'', agregando la linea: /dev/miLVM/lvol0 /mnt ext3 defaults 0 0 ===== Modificando un volúmen lógico ===== Ahora es fácil modificar, si hay espacio libre en el grupo de volúmenes: ==== "Agrandando" el volúmen ==== - Desmontar colúmen - Asignar más espacio # umount /mnt # lvexpand -L+2g /dev/miLVM/lvol0 debe haber ese espacio libre entre los volúmenes físicos asignados al volumen lógico. Si no queda más espacio disponible entre los volúmenes físicos, debemos agregar nuevas particiones, preparlas para LVM y asignarla al volumen en cuestión antes de realizar la extensión de tamaño. - Particionar - Crear volúmen físico - Formatear - Desmontar volúmen - Añadir otro volúmen físico al volúmen lógico - Asignar espacio al VL - Re-montar Asumiremos que ya está tenemos la partición creada(''/dev/sdc1'') y preparada para el LVM. # pvcreate /dev/sdc1 # lvcreate -L 2000 miLVM # mkfs. # vgextend miLVM /dev/sdc1 FIXME * Eliminar un Volúmen Lógico: # lmremove /dev/miLVM/lvol1 * Eliminar un disco con pvmove * Hacer striping para distribuir la carga de trabajo sobre varios discos. ===== Chequear particiones ===== Generalmente se hace durante el arranque si el equipo se apagó o tras un número determinado de montajes. Pero en caso de necesidad chequear una partición ya montada, es peligroso, y en el caso de / no podemos desmontarla. Para hacerlo: * Pasamos a modo linux single con "init 1" o quizás "telinit 1" * Remontamos en solo lectura (puede que al entrar en modo normal nos lo pida directamente). mount -n -o remount,ro / * Chequeamos con "fsck" (como root, el usuario normal no puede usarlo) ===== Referencias ===== * [[http://www.debian-administration.org/articles/410]]