Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LVM es una implementación de un administrador de volúmenes lógicos para el kernel Linux. Se escribió
originalmente en 1998 por Heinz Mauelshagen, que se basó en el administrador de volúmenes de
Veritas usado en sistemas HP-UX.
LVM incluye muchas de las características que se esperan de un administrador de volúmenes,
incluyendo:
• La gestión de volúmenes lógicos proporciona una vista de alto nivel sobre el almacenamiento en un
ordenador, en vez de la tradicional vista de discos y particiones.
• Los volúmenes de almacenamiento bajo el control de LVM pueden ser redimensionados y movidos
a voluntad, aunque esto quizá necesite actualizar las herramientas del sistema.
• LVM también permite la administración en grupos definidos por el usuario, permitiendo al
administrador del sistema tratar con volúmenes llamados, por ejemplo, "ventas" o "desarrollo", en vez
de nombres de dispositivos físicos, como "sda" o "sdb".
• Con el uso de un administrador de volúmenes lógicos, el disco completo puede ser asignado a un
único grupo lógico y definir distintos volúmenes lógicos para almacenar /home u otros directorios. En
el caso de que nos quedemos sin espacio, por ejemplo, en /home, y tenemos espacio en /opt,
podríamos redimensionar /home y /opt y usar el espacio que le hemos quitado a /opt y añadírselo
a /home. Hay que tener en cuenta, que para realizar esto, nuestro sistema de ficheros debe soportar
el redimensionado por arriba y por abajo, como ReiserFS.
• Otra alternativa sería dejar una cierta cantidad de espacio del disco sin asignar y cuando fuera
necesario, expandir el volumen.
• Administrar un sistema con muchos discos es un trabajo que consume tiempo, y se hace
particularmente complejo si el sistema contiene discos de distintos tamaños. Equilibrar los
requerimientos de almacenamiento de distintos usuarios (a menudo conflictivos) puede ser una tarea
muy laboriosa y compleja.
• Los grupos de usuarios (llamémosles por ejemplo administración, desarrollo, etc.) pueden tener sus
volúmenes lógicos y éstos pueden crecer lo que sea necesario, y el administrador puede realizar las
operaciones oportunas sobre dichos volúmenes.
Cuando un nuevo disco se añade al sistema, no es necesario mover los datos de los usuarios.
Simplemente se añade el nuevo disco al grupo lógico correspondiente y se expanden los volúmenes
lógicos todo lo que se considere adecuado. También se pueden migrar los datos de discos antiguos a
otros nuevos, de forma totalmente transparente al usuario.
• A su vez, un PV se divide en chunks de datos, que se conocen como PE (physical extents), que son
del mismo tamaño que los PE del VG. Además, un LV se divide también en LE (logical extents), cuyo
tamaño es el mismo para todos los LV del VG.
Por ejemplo, teniendo como referencia la imagen del comienzo del artículo, supongamos que
tenemos un VG llamado CASA, con 4MB de PE, al que queremos añadir un LV para /tmp/. Añadimos
dos particiones de disco, /dev/sda4 y /dev/sdb3, que se llamarán PV1 y PV2 (se las puede renombrar
a discreción del usuario). Los PV's pueden ser de distinto tamaño y por lo tanto, tendrán un número
distinto de PE, por lo que supongamos que tenemos para PV1 99 PE's y para PV2 248 PE's. Ahora,
podemos crear el LV que necesitamos, que puede ser de cualquier tamaño entre 1 y 347 (99+248)
PE. De esta forma se crea una tabla que relaciona PE's y LE's y si, por ejemplo, escribimos 4 MB en
el LE número 1 del LV, se corresponderán con el PE 51 de la PV1.
• La tabla que relaciona PE's y LE's, se llama tabla de mapeo, y la correspondencia puede ser de dos
tipos:
• Directo: se asigna un rango de PE's a otro rango de LE's en orden. Por ejemplo, las LE's del
número 1 al 99 se mapean sobre las PE's del 100 al 347 de PV2.
• Entrelazado: las LE's se entrelazan sobre las PE's de los volúmenes físicos, por ejemplo:
Destino Origen
Primer chunk de la LE1 Primer chunk de la PV1
Segundo chunk de la LE1 Primer chunk de la PV2
Tercer chunk de la LE1 Segundo chunk de la PV1
... ...
Instantáneas (snapshots)
Las instantáneas (snapshots) permiten al administrador crear un nuevo dispositivo que será una copia
exacta del LV, congelada en algún punto del tiempo. Normalmente esto se realiza de forma automática,
para no alterar el funcionamiento normal del sistema. Cuando la instantánea ha terminado, el
administrador puede quitar el dispositivo sin mayor complicación. Además, no es necesario que los datos
en el LV se encuentren en un estado consistente, ya que muchos sistemas de ficheros en el kernel 2.6 lo
realizan de forma automática.
INFONET SOLUCIONES EIRL – Celular_WhatsApp +51 944123529
Email: cursos@infonetperu.pe / polcrito@hotmail.com
System Admin Linux Technical - I
Una diferencia importante entre la versión 1 de LVM (LVM1 a partir de ahora) y la versión 2 (LVM2) es
que, en la primera, los snapshots eran de sólo lectura, mientras que en LVM2 son de lectura y escritura.
¿Cuál es la diferencia? En LVM1, se crea lo que se llama una tabla de excepciones, que se usa para
mantener una lista de qué bloques en disco han cambiado. Si un bloque va a ser modificado en el origen,
primero se copia en la instantánea, se marca como copiado en la tabla de excepciones y luego los
nuevos datos se copian al volumen original. En LVM2, las instantáneas funcionan como en LVM1, pero
con la característica de que si los datos se escriben en el snapshot (una vez montado), ese bloque se
marca como usado en la tabla de excepciones y no se copia al volumen original. Esta característica es
muy útil debido a que podemos crear nuestra instantánea, montarla y probar un programa o un nuevo
navegador de ficheros. Si ocurre algo desastroso, la desmontamos, la borramos y volvemos a colocar el
volumen original.
• Silicon Graphics
Desarrollador
• Red Hat
Estructuras
Límites
Características
Fechas registradas Sí
Bifurcaciones Sí
Compresión transparente No
Cifrado transparente No
Historia
XFS es el más antiguo de los sistemas de archivos con journaling disponible para la plataforma UNIX,
tiene un código maduro, estable y bien depurado. Su desarrollo lo comenzó en 1993 en la compañía
Silicon Graphics Inc., y apareció por primera vez en el IRIX 5.3 en 1994. El sistema de archivos fue
liberado bajo la GNU General Public License en mayo de 2000 y posteriormente portado a GNU/Linux,
apareciendo por primera vez en una distribución entre el 2001 y el 2002.
Características
Capacidad
XFS soporta un sistema de archivos de hasta 8 exabytes, aunque esto puede variar dependiendo de los
límites impuestos por el sistema operativo. En sistemas GNU/Linux de 32 bits, el límite es 16 terabytes.
LVM
Es posible aumentar la capacidad de sistemas de ficheros XFS: xfsgrowfs es ideal para particiones LVM
Actualidad
La distribución comercial de linux Red Hat Enterprise Linux incorporó en su versión 7 XFS como su
sistema de archivos por defecto, destacando su capacidad de manejar una partición de hasta 500
terabytes.
La versión de OpenSUSE "Leap" 42.1, liberada el 4 de noviembre de 2015, propone por defecto este
sistema de archivos para algunos puntos de montaje como /home.
CentOS 7.2, versión liberada el 19 de noviembre de 2015, propone el uso de XFS para sus puntos de
montaje "/home" y "/" al igual que lo hace Red Hat.
Listando todo
ssm list
------------------------------------------------------------------------------
Device Free Used Total Pool Mount point
------------------------------------------------------------------------------
/dev/sda 100.00 GB PARTITIONED
/dev/sda1 20.00 GB /boot
/dev/sda2 0.00 KB 79.75 GB 79.75 GB infonet
/dev/sdb 100.00 GB
/dev/sdb1 0.00 KB 99.75 GB 99.75 GB infonet
/dev/sdc 200.00 GB
/dev/sdc1 0.00 KB 199.75 GB 199.75 GB infonet
/dev/sdd 200.00 GB
/dev/sdd1 0.00 KB 199.75 GB 199.75 GB infonet
/dev/sde 931.51 GB
/dev/sde1 931.51 GB /run/media/root/POLCRITO_HD
------------------------------------------------------------------------------
-----------------------------------------------------
Pool Type Devices Free Used Total
-----------------------------------------------------
infonet lvm 4 0.00 KB 579.00 GB 579.00 GB
-----------------------------------------------------
--------------------------------------------------------------------------------------------------------
Volume Pool Volume size FS FS size Free Type Mount point
--------------------------------------------------------------------------------------------------------
/dev/infonet/root infonet 379.00 GB xfs 378.81 GB 374.09 GB linear /
/dev/infonet/swap infonet 16.00 GB linear
/dev/infonet/var infonet 64.00 GB xfs 63.97 GB 63.68 GB linear /var
/dev/infonet/home infonet 80.00 GB xfs 79.96 GB 79.95 GB linear /home
/dev/infonet/opt infonet 40.00 GB xfs 39.98 GB 38.83 GB linear /opt
/dev/sda1 20.00 GB xfs 19.99 GB 19.76 GB part /boot
/dev/sde1 931.51 GB ntfs /run/media/root/POLCRITO_HD
Eliminar volúmenes
ssm remove infonet
Usando herramienta fdisk para el disco /dev/sde, para crear particiones, etc.
fdisk /dev/sde
OPCIONES:
P listar tabla de particiones
N crear partición
D eliminar partición
W grabar los cambios
M ayuda
Expandir volúmenes
Verificar sistema de archivos de forma, espacio libre y usado, para el volumen opt, del grupo infonet
xfs_info /dev/infonet/opt
La opción de tamaño -D hace que el sistema de archivos crezca al tamaño especificado (expresado en
bloques de sistema de archivos). Sin la opción de tamaño -D, xfs_growfs hará crecer el sistema de
archivos al tamaño máximo admitido por el dispositivo. Antes de crear un sistema de archivos XFS con
tamaño -D, asegúrese de que el dispositivo de bloques subyacente sea del tamaño adecuado para
mantener el sistema de archivos más tarde. Utilice los métodos de redimensionamiento apropiados para
el dispositivo de bloque afectado. Mientras que los sistemas de archivos XFS pueden crecer mientras
están montados, su tamaño no puede reducirse en absoluto. El sistema de archivos se puede hacer
La única forma de poder reducir un sistema de archivos XFS sería respaldar éste con xfsdump, volver a
formatear con mkfs.xfs y restaurar con xfsrestore.
Si se trata de un caso donde el sistema inicia en modo de sólo lectura y se requiere reparar sistema
de archivos, puede utilizarse xfs_repair con la opción -d.
xfs_repair -d /dev/sde1
La utilidad xfs_repair es altamente escalable y está diseñada para reparar incluso sistemas de archivos
muy grandes con muchos inodos de manera eficiente. A diferencia de otros sistemas de archivos Linux,
xfs_repair no se ejecuta en el momento del arranque, incluso cuando un sistema de archivos XFS no se
desinstaló limpiamente. En el caso de un desmontaje sucio, xfs_repair simplemente reproduce el registro
en tiempo de montaje, lo que garantiza un sistema de archivos coherente.
Bibliografía
https://es.wikipedia.org/wiki/Logical_Volume_Manager
https://es.wikipedia.org/wiki/XFS