Mostrando entradas con la etiqueta lvm. Mostrar todas las entradas
Mostrando entradas con la etiqueta lvm. Mostrar todas las entradas

Montar LVM desde LiveCD

Ya hemos comentado en varias ocasiones cómo manejar volúmenes LVM en el sistema y poder hacer cosas más que interesantes con ellos. Sin embargo, hay una cosa de la que nunca hablamos, cómo acceder a dichos volúmenes si el sistema que empleamos no es el de la instalación.
Esto no suele ser muy habitual, pero si tenemos la necesidad de arrancar el sistema desde un livecd, por ejemplo, los discos normales, /dev/sda1, por ejemplo, se suelen montar de forma automática, mientras que los volúmenes LVM no lo suelen hacer. El principal motivo por el que pasa esto es por que el sistema del CD no suele traer soporte para LVM. Así que vamos a describir los pasos para darle soporte y montar nuestras particiones.


  • Instalando herramientas LVM
    Lo primero que necesitamos es instalar las herramientas para trabajar con LVM en caso de que el sistema no las traiga. Si usamos un live basado en Debian, emplearemos directamente apt.
    shell> apt-get install lvm2
    
    Todos los paquetes que acabamos de instalar son un añadido al sistema. Estos se almacenan en memoria y por lo tanto, una vez reiniciado, desaparecerá. Si volvemos a arrancar desde el livecd necesitaremos volverlos a instalar.
  • Buscando los volúmenes
    Una vez tengamos ya el soporte LVM, necesitamos forzar un escaneo de los grupos de volúmenes (herramienta vg*). Aquí ya nos tendría que aparecer el volumen que tiene el sistema original.
    shell> vgscan 
      Reading all physical volumes.  This may take a while...
      Found volume group "vg0_samsung" using metadata type lvm2
    
  • Buscando los dispositivos
    Ya tenemos acceso a las particiones, y las podemos listar.
    shell> lvdisplay
      --- Logical volume ---
      LV Path                /dev/vg0_samsung/home
      LV Name                home
      VG Name                vg0_samsung
      LV UUID                V10K7C-MeqC-ApXw-TUIA-...
      LV Write Access        read/write
      LV Creation host, time samsung, 2013-11-29 10:12:42 +0100
      LV Status              NOT available
      # open                 1
      ...
    
    El problema ahora está en que no están disponibles para poderlas montar. Para hacerlo, necesitamos forzar su estado a "available". Lo haremos tal que así,
    shell> vgchange -a y
      1 logical volume(s) in volume group "vg0_samsung" now active
    
    shell> lvdisplay
      --- Logical volume ---
      LV Path                /dev/vg0_samsung/home
      LV Name                home
      VG Name                vg0_samsung
      LV UUID                V10K7C-MeqC-ApXw-TUIA-...
      LV Write Access        read/write
      LV Creation host, time samsung, 2013-11-29 10:12:42 +0100
      LV Status              available
      # open                 1
      ...
    
Llegados a este punto ya tememos acceso a las particiones LVM y lo más probable es que el sistema las monte automáticamente. En caso contrario lo tendremos que hacer con mount.

La entrada Montar LVM desde LiveCD la puedes leer en El mundo en bits.
Leer más

LVM: Can't open /dev/sdc1 exclusively

Una vez que esa parte la tenemos solucionada, tenemos que cambiar el disco y volver a poner a funcionar el equipo con toda su capacidad. Para hacerlo, nada mejor que comprar un disco nuevo y enchufarlo al equipo. Tras ello, lo primero es crear una partición de tipo LMV (8E) y luego añadirla a volumen físico. Para ello hacemos uso de pvcreate. Y cómo no, ya puestos a tener problemas, qué mejor que seguir teniéndolos! Pues efectivamente eso es lo que nos ha sucedido. Acabamos de encontrar uno de esos fallos que no suelen suceder, pero han sucedido.
Al intentar crear el PV nos dice que ya tenemos la partición montada. ¿Será cierto?

shell> pvcreate /dev/sdc1
  Can't open /dev/sdc1 exclusively. Mounted filesystem?

shell> mount
  /dev/sda1 on /boot type ext3 (rw,noexec,nosuid,nodev)
  /dev/sda3 on / type ext3 (rw,errors=remount-ro)
  /dev/mapper/vg0-home on /home type ext3 (rw)
Todo apunta a que no está montada. Vamos entonces a ver las particiones...
shell> fdisk -l

  Disk /dev/sda: 2000.0 GB, 2000043376640 bytes
  255 heads, 63 sectors/track, 243158 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk identifier: 0x00040391

     Device Boot      Start         End      Blocks   Id  System
  /dev/sda1   *           1          62      497983+  83  Linux
  /dev/sda2              63         305     1951897+  82  Linux swap
  /dev/sda3             306         791     3903795   83  Linux
  /dev/sda4             792      243158  1946812927+  8e  Linux LVM

  Disk /dev/sdc: 2000.0 GB, 2000041279488 bytes
  255 heads, 63 sectors/track, 243157 cylinders
  Units = cylinders 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

     Device Boot      Start         End      Blocks   Id  System
  /dev/sdc1               1      243157  1953158571   8e  Linux LVM
La partición del nuevo disco está correcta y es de tipo LVM, entonces, ¿qué está a suceder?
Para intentar averiguarlo, vamos a hacer uso del comando dmsetup, que sirve para manejar a bajo nivel la agrupación de discos. Vamos a ello,
shell> dmsetup status
  SServeRA ARRAY2         825C31A6:       0 3906330624 linear
  vg0-home:                               0 4194304    linear
  SServeRA ARRAY2         825C31A6-part1: 0 3906317142 linear

shell> dmsetup ls
  SServeRA ARRAY2         825C31A6        (254, 4)
  vg0-home                                (254, 3)
  SServeRA ARRAY2         825C31A6-part1  (254, 5)
Por lo que parece, y tras investigarlo un poco, tenemos el disco duplicado pero con diferente nombre. Al kernel ha detectado algo extraño y creó dos nombres diferentes para el dispositivo. Por esta anomalía no nos lo está dejando usar. Para solucionarlo forzamos el borrado de todas las definiciones de dispositivos y sólo volverán aquellas que estén en uso.
shell> dmsetup remove_all

shell> dmsetup ls
  vg0-home   (254, 3)
A continuación volvemos a intentar unir el nuevo disco al grupo de LVM y ya debería de funcionar.
shell> pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created

shell> pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda1
  VG Name               vg0
  PV Size               1,81 TiB / not usable 511,50 KiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              475296
  Free PE               469152
  Allocated PE          6144
  PV UUID               vX2z1t-nF17-p5rP-

  "/dev/sdb1" is a new physical volume of "1,82 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               1,82 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               p0ej2B-RQy2-dGGl-

La entrada LVM: Can't open /dev/sdc1 exclusively la puedes leer en El mundo en bits.
Leer más

LVM: Couldn't find device with uuid

Este error es uno de esos que no se ven muy a menudo, pero cuando sucede, pues no gusta nada. Estamos ante un sistema con dos discos o dos RAID y todo sobre una partición única de LVM. Uno de los discos tuvo un fallo hardware y ha muerto y el resultado que tenemos es que se perdió el acceso al mismo. La salida del comando pvdisplay nos lo indica lo que estoy aquí comentando.
Donde antes había un dispositivo /dev/sdc1, ahora ya no hay nada. Efectivamente el disco ha muerto y lo hay que cambiar y necesitamos resolver el problema de eliminar el "unknown device" antes de volver a reconstruir el physical volume. En la mayoría de los casos, si queremos sacar un disco del volumen, empleamos el comando pvremove, pero en este caso, ¿qué dispositivo le pasamos como argumento?. No existe ninguno, así que esa opción lo tenemos que descartar.
shell> pvdisplay
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-...
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg0
  PV Size               1,81 TiB / not usable 511,50 KiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              475296
  Free PE               0
  Allocated PE          475296
  PV UUID               vX2z1t-nF17-p5rP-...

  --- Physical volume ---
  PV Name               unknown device
  VG Name               vg0
  PV Size               1,82 TiB / not usable 1,26 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              476847
  Free PE               0
  Allocated PE          476847
  PV UUID               PB7Y0A-qhlM-qfSW-xbhv-
Toda investigar un poco acerca del estado de LVM en nuestro sistema...
shell> pvscan
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  PV /dev/sdb1        VG vg0   lvm2 [1,81 TiB / 0    free]
  PV unknown device   VG vg0   lvm2 [1,82 TiB / 0    free]
  Total: 2 [3,63 TiB] / in use: 2 [3,63 TiB] / in no VG: 0 [0   ]

shell> vgscan
  Reading all physical volumes.  This may take a while...
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  Found volume group "vg0" using metadata type lvm2
Tenemos y debemos de encontrar la solución. Si nos fijamos, nos damos cuenta que el grupo de volúmenes también detecta lo mismo, que un UUID falta y no puede acceder a dichos datos. Puesto que asumimos que el disco está perdido, vamos a sacarlo.
shell> vgreduce --removemissing vg0
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  WARNING: Partial LV srv needs to be repaired or removed.
  WARNING: Partial LV opt needs to be repaired or removed.
  WARNING: There are still partial LVs in VG vg0.
  To remove them unconditionally use: vgreduce --removemissing --force.
  Proceeding to remove empty missing PVs.
Bien, nos dice que lo podemos sacar, pero que está siendo usado actualmente por un volumen lógico. Vamos a pensar un poco: PV -> VG -> LV, de más físico a más lógico, esa es la jerarquía. Así que sí, tiene sentido tener que eliminar los LV, para poder eliminar el VG y así solucionar el problema del PV. Vamos a ello entonces,
shell> lvdisplay
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  --- Logical volume ---
  LV Name                /dev/vg0/home
  VG Name                vg0
  LV UUID                W00ijC-8T2V-0H1T-
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                2,00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:3

  --- Logical volume ---
  LV Name                /dev/vg0/srv
  VG Name                vg0
  LV UUID                6ndFCu-E5n6-3YLV-
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                2,61 TiB
  Current LE             683855
  Segments               5
  Allocation             inherit
  Read ahead sectors     auto

  --- Logical volume ---
  LV Name                /dev/vg0/opt
  VG Name                vg0
  LV UUID                cf18M0-ja1w-8iXC-
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                1,00 TiB
  Current LE             262144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto

shell> lvremove /dev/vg0/srv
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  Logical volume "srv" successfully removed

shell> lvremove /dev/vg0/opt
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  Logical volume "opt" successfully removed
Y ahora probamos nuevamente a sacar el disco perdido del grupo.
shell> vgreduce --removemissing vg0
  Couldn't find device with uuid PB7Y0A-qhlM-qfSW-xbhv-
  Wrote out consistent volume group vg0
Y comprobamos que ha funcionado correctamente.
shell> vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  22
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               4
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1,81 TiB
  PE Size               4,00 MiB
  Total PE              475296
  Alloc PE / Size       6144 / 24,00 GiB
  Free  PE / Size       469152 / 1,79 TiB
  VG UUID               FrOinx-PLi6-e040-

shell> pvscan
  PV /dev/sdb1   VG vg0   lvm2 [1,81 TiB / 1,79 TiB free]
  Total: 1 [1,81 TiB] / in use: 1 [1,81 TiB] / in no VG: 0 [0   ]
Hemos perdido datos, no por que LVM haya fallado, sino por que un disco falló. Para evitar este tipo de catástrofes están los RAID.

Leer más

lvm, montar particiones desde disco externo

Aunque no es algo habitual encontrar un disco duro usb con particiones lvm, ésto puede ocurrir ya que con discos duros más grandes, la necesidad de modificar particiones cada vez es mayor. Por defecto al conectar el disco al sistema éste será reconocido, pero no así sus particiones de tipo lvm, por lo que no podrá ser empleado. Antes de poder montar una de las nuevas particiones, habrá, por lo tanto que activarlas para el sistema,
shell> vgchange -ay
Una vez sean descubiertos y activados los nuevos recursos lvm ya se podrán montar como siempre,
shell> mount /dev/vg1/ext_2 /mnt/usb
Leer más

lvm: "connect() failed on local socket"



Tras hacer algunas pruebas y jugar un poco con lvm y la posibilidad de hacer cluster's, intenté volver al uso normal y cotidiano del mismo, pero cada vez que ejecutaba algún comando que accedía a un recurso lvm, obtenía un maravilloso error, tal como el que sigue. Aunque dicho error no impedía el funcionamiento de los volúmenes lógicos, sí era cuando menos incómodo, ya que daba la sensación de que realmente algo iba a fallar y no se sabía exactamente lo qué.



shell> lvdisplay
connect() failed on local socket: No existe el fichero o el directorio
Internal cluster locking initialisation failed.
WARNING: Falling back to local file-based locking.
Volume Groups with the clustered attribute will be inaccessible.

shell> vgscan
connect() failed on local socket: No existe el fichero o el directorio
Internal cluster locking initialisation failed.
WARNING: Falling back to local file-based locking.
Volume Groups with the clustered attribute will be inaccessible.
Reading all physical volumes.  This may take a while...
Found volume group "vg0" using metadata type lvm2
Así que puse a investigar cómo poder suprimirlo, y la mejor forma es deshacer todo lo que había hecho, es decir, puesto que estuve jugando a hacer cluster's, lo lógico es deshabilitar el uso de los mismos si ya no se tiene acceso a resto de nodos. Por lo tanto,
shell> lvmconf --disable-cluster
Y como se puede ver, ahora al ejecutar cualquier comando relacionado con lvm, ya no aparece el molesto error que da la sensación de que algo falla al acceder a los grupos. Una vez que ha desaparecido el error, sólo queda reescanear los grupos accesibles localmente, para poder así seguir usándolo. Para ello,
shell> vgchange -a n
  0 logical volume(s) in volume group "vg0" now active
shell> lvscan
  ACTIVE            '/dev/vg0/datos' [53,00 GiB] inherit
  ACTIVE            '/dev/vg0/casa'  [15,00 GiB] inherit
Y ahora, una vez que hemos detectado los dispositivos que hay, los volvemos a activar, para poder usarlos.
shell> vgchange -a y
  2 logical volume(s) in volume group "vg0" now active
shell> lvscan
  ACTIVE            '/dev/vg0/datos' [53,00 GiB] inherit
  ACTIVE            '/dev/vg0/casa'  [15,00 GiB] inherit
Leer más

Redimensionar partición LVM

lvm es una implementación de un administrador de volúmenes lógicos para el kernel de Linux. Gracias a ello podemos administrar y modificar dinámicamente el tamaño de las particiones de nuestro sistema. Ya vimos algunas utilidades y formas de trabajar con LVM en otros post's y hoy vamos a ver cómo poder aumentar el tamaño de una disco LVM y luego de las particiones que lo conforman, de tal forma que tengamos más espacio libre en la partición. Con lvm esto es sencillo.
Partimos de un escenario en el que ya tenemos un disco con una partición lvm creada y sin espacio libre y se engancha al sistema un nuevo disco. Para comenzar, hay que establecer una partición en dicho disco de tipo 8E (LVM) para poder luego crear los volúmenes en ella. Comenzamos pues.
  1. Preparamos la nueva partición de tipo lvm
    shell> pvcreate /dev/sdc1 
      Physical volume "/dev/sdc1" successfully created
  2. Miramos las características del volumen ya existente
    shell> vgdisplay 
      --- Volume group ---
      VG Name               vg0
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               139,75 GiB
      PE Size               4,00 MiB
      Total PE              35775
      Alloc PE / Size       35775 / 139,75 GiB
      Free  PE / Size       0 / 0   
      VG UUID               MG5Axj-0oYw-PmFV-JSoo-rPQv-uNoE-cDE2Ag
  3. Añadimos el nuevo disco al volumen
    shell> vgextend vg0 /dev/sdc1
      Volume group "vg0" successfully extended
    shell> vgdisplay 
      --- Volume group ---
      VG Name               vg0
      System ID             
      Format                lvm2
      Metadata Areas        3
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                3
      Act PV                3
      VG Size               605,50 GiB
      PE Size               4,00 MiB
      Total PE              155009
      Alloc PE / Size       35775 / 139,75 GiB
      Free  PE / Size       119234 / 465,76 GiB
      VG UUID               MG5Axj-0oYw-PmFV-JSoo-rPQv-uNoE-cDE2Ag
  4. Extendemos la partición que nos interese
    shell> lvextend -L +465G /dev/vg0/var 
      Extending logical volume var to 604,75 GiB
      Logical volume var successfully resized
  5. Extendemos el sistema de ficheros
    shell> resize2fs /dev/vg0/var 
    resize2fs 1.41.12 (17-May-2010)
    Filesystem at vg0/var is mounted on /var; on-line resizing required
    old desc_blocks = 9, new_desc_blocks = 38
    Performing an on-line resize of /dev/vg0/var to 158530560 (4k) blocks.
    El sistema de ficheros en /dev/vg0/var tiene ahora 158530560 bloques.
    
Y ya tenemos más espacio en la partición y de forma muy simple ;-)
Leer más

Usando LVM (VI): vgmerge



Siguiendo con los post's interesantes de LVM, tenemos una nueva entrega en la que vamos a comentar cómo poder unir dos grupos de volúmenes en uno único.
Los sistemas van evolucionando y puede darse el caso de donde antes era de interés dos grupos de volúmenes (vg0 y vg1) ahora es mejor tener todo el espacio unido en un único volumen. Para conseguir esto, LVM tiene las herramientas necesarias para realizar el merge de dichos vg.
Partimos por lo tanto del siguiente escenario.

shell> vgdisplay 
  --- Volume group ---
    VG Name               vg0
    System ID             
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  684
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                30
    Open LV               15
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               459,40 GiB
    PE Size               4,00 MiB
    Total PE              117606
    Alloc PE / Size       53888 / 210,50 GiB
    Free  PE / Size       63718 / 248,90 GiB
    VG UUID               XSNV2N-ACNL-TgLX-77D4-bYko-wUP6-bg3jPn
   
  --- Volume group ---
    VG Name               vg1
    System ID             
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  11
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                2
    Open LV               0
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               81,53 GiB
    PE Size               4,00 MiB
    Total PE              20871
    Alloc PE / Size       17408 / 68,00 GiB
    Free  PE / Size       3463 / 13,53 GiB
    VG UUID               6WA2Va-KNEq-7I9u-4G0G-Tsrc-6tTi-akrBbU

Para unir ambos grupos por lo tanto, usaremos el comando vgmerge, pasándole ambos como parámetro. El primero será el que "absorba" al segundo, quedando por lo tanto el primero como único.
shell> vgmerge vg0 vg1
  Logical volumes in "vg1" must be inactive

Si sale el anterior fallo mensaje, es debido a que el volumen origen de datos, vg1, está siendo usado y antes de continuar habrá de marcarlo como inactivo, para ello emplearemos el comando vgchange.
shell> vgchange -an vg1
  0 logical volume(s) in volume group "vg1" now active

Una vez deshabilitado, ya se puede realizar el merge.
shell> vgmerge vg0 vg1
  Volume group "vg1" successfully merged into "vg0"

Una vez finalizado, ya sólo existe el primer grupo.
shell> vgdisplay 
  --- Volume group ---
    VG Name               vg0
    System ID             
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  684
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                30
    Open LV               15
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               540,93 GiB
    PE Size               4,00 MiB
    Total PE              138477
    Alloc PE / Size       71296 / 278,50 GiB
    Free  PE / Size       67181 / 262,43 GiB
    VG UUID               XSNV2N-ACNL-TgLX-77D4-bYko-wUP6-bg3jPn

Si ahora vemos los volúmenes que hay, podremos observar que los todos pertenecen al vg0, pero sin embargo los que antes pertenecían al vg1, ahora su status es NOT available y por lo tanto no se podrán usar.
shell> lvdisplay
  --- Logical volume ---
    LV Name                /dev/vg0/ldap
    VG Name                vg0
    LV Status              available
    (...)

  --- Logical volume ---
    LV Name                /dev/vg0/puppet
    VG Name                vg0
    LV Status              NOT available
    (...)

Antes de usarlos, habrá que activarlos, para ello emplearemos el comando lvchange y los activamos, tal como sigue.
shell> lvchange -ay /dev/vg0/puppet
Leer más

lvm + xen, la combinación perfecta

La importación actual de lvm es tal, que está presente para poder ser usada incluso como particiones en sistemas de vurtualización, tales como xen o virtualbox. La versión xen gratuita, en sistemas debian/ubuntu, gracias al script xen-create-image puede crear nuevos volúmenes lógicos en un grupo y usarlos para la instalación del nuevo sistema operativo.
shell> xen-create-image --lvm=vg0 \
--hostname=syslog-server \
--memory=512M \
--ip=192.168.1.100 \
--role=udev
El resultado final es una fichero de configuración de la nueva máquina sobre el que se puede observar cómo las particiones están presentes sobre volúmenes lógicos y no sobre ficheros en disco, consiguiendo así un mayor rendimiento.
Leer más

Usando LVM (V)

Para borrar un volumen previamente creado, usaremos lvremove.
shell> lvremove /dev/vg0/home 
Do you really want to remove active logical volume home? [y/n]: y
  Logical volume "home" successfully removed
Leer más

Usando LVM (IV)

lvm, creación avanzada de volúmenes lógicos
lvm permite crear volúmenes más a medida y especificar determinados parámetros para obtener un mejor rendimiento a la hora de crear un volumen lógico.
La forma rápida de crear un volumen es, donde se crea un nuevo volumen de 2 Gb de tamaño, llamado tmp sobre el grupo vg0.
shell> lvcreate -L 2GB -n tmp vg0

lvcreate también permite crear un nuevo volumen con porcentajes de espacio libre o total referente al grupo al que pertenezca. Por ejemplo, para crear un nuevo volumen que tenga el 25% del espacio total del grupo, sería:
shell> lvcreate -l 25%VG -n tmp vg0

Y si nos interesa crear un volumen que tenga el 50% del espacio libre que haya en ese momento...
shell> lvcreate -l 50%FREE -n tmp vg0
Leer más

Usando LVM (III)

Una de las ventajas que presentaba lvm era precisamente el poder redimensionar una partición (un volumen lógico) en caliente para poder así aumentar o disminuir el tamaño del mismo.
A continuación se explicará cómo poder expandir un volumen y también su sistema de ficheros. A la hora de expandir el sistema de ficheros no hay problema de pérdida de datos, por lo que no habrá que realizar nada especial sobre la partición.



Partimos del caso en el que la partición /home está casi llena e interesa aumentarle el tamaño a la misma para así poder seguir usándola.
shell> df -h
S.ficheros            Size  Used Avail Use% Montado en
/dev/sda1             1,9G  293M  1,5G  17% /
/dev/mapper/vg0-home  1,0G  850M  154M  85% /home
/dev/mapper/vg0-tmp  1008M   39M  919M   4% /tmp
/dev/mapper/vg0-usr   2,0G  633M  1,3G  34% /usr
/dev/mapper/vg0-var   2,0G  316M  1,6G  17% /var

shell> mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
/dev/mapper/vg0-home on /home type ext3 (rw,nosuid,nodev)
/dev/mapper/vg0-tmp on /tmp type ext3 (rw,noexec,nosuid,nodev)
/dev/mapper/vg0-usr on /usr type ext3 (rw,nodev)
/dev/mapper/vg0-var on /var type ext3 (rw,nosuid)

Leer más

Usando LVM (II)




En el post anterior sobre lvm se habló de lo que era y las ventajas que éste tenía. Ahora toca algo más práctico: cómo usar lvm.
Lo que haremos en este post será crear un sistema lvm basado en 2 particiones, cada una de uno de los discos del sistema, tal como se muestra en la imagen de al lado.




Leer más

Usando LVM (I)


lvm es la implementación en Linux de un administrador de volúmenes lógicos. La idea es proporcionar a un administrador una capa de nivel superior al disco que permita manejar con mucha más comodidad y facilidad las particiones.
La forma de trabajar lvm es la representada en la imagen de la izquierda, dónde una serie de discos se unen en un volumen físico, para luego de ahí convertirse en un grupo que es el que ofrece los volúmenes finales, que albergarán los sistemas de ficheros. Las características más destacadas de lvm son:
  • Una vista de alto nivel a los discos duros.
  • Posibilidad de re-dimensionamiento del volumen lógico en tiempo real.
  • Posibilidad de mover entre grupos los volúmenes.
  • Permite definir nombres a 'discos', lo que hace más simple la administración y el manejo de los mismos.
  • Permite unir varios discos físicos en un único disco 'lógico' ofreciendo un único dispositivo que manejar al administrador.
  • Permite realizar snapshots de los datos, para tener copias de seguridad completas del estado en un momento dado.
  • Soporte de Xen para uso con máquinas virtuales.
lvm se compone de 3 partes principales, que son:
  • Volúmenes físicos (pv)
    Son las particiones de los discos duros de tipo lvm (8E).
  • Grupos de volúmenes (gv)
    Es la parte superior de los volúmenes físicos. En ellos se unen los volúmenes físicos y se disgregan los volúmenes lógicos. Por decirlo de alguna forma, es el contenedor de los pv. Un disco de tipo lvm que no esté en un vg, no puede ser usado.
  • Volúmenes lógicos (lv)
    Son el equivalente en nomenclatura lvm a las particiones de los discos tradicionales. Sobre ellas se monta el sistema de archivos para luego albergar los datos.
Los comandos para usar lvm son:
Leer más

fdisk y tipos de particiones

Este post es quizás uno de los más inútiles que escribiré, pero en algunas máquinas el comando cfdisk puede no estar disponible y sin interfaz gráfico la mejor forma de particionar un disco es fdisk
(viejo, pero útil).
El problema quizás vino a raíz de mi inexperiencia en su uso y el comando man fdisk, la verdad es que no facilitaba mucho las cosas. Necesitaba crear un tipo de partición primaria de tipo Linux LVM (8E). Como es lógico, comencé seleccionando el disco.
shell> fdisk /dev/sdb
Con el disco ya abierto, únicamente tenía que crear la partición y ponerle el tipo. Como quería tener todo el tamaño en una partición, simplemente presioné n (crear partición) y luego de indicarle que iba ser primaria, dejé las opciones por defecto. El tipo de partición que me creó era Linux (83) y yo necesitaba tener una de tipo Linux LVM (8E).
Realizar el cambio ahora que lo se es simple es tan simple como presionar t (cambiar) y elegir la partición deseada. Como sólo hay una, seleccionamos 1 (primera partición) y en tipo de code es donde se introduce 8E. Se finaliza con w para escribir los cambios.
Las teclas importantes son:
m: Muestra el menú de ayuda.
n: Crea una partición nueva.
l: Lista todos los tipos de partición conocidos.
p: Imprime la tabla de particiones.
t: Cambia el tipo de partición.
w: Escribe los cambios y finaliza.
Mientras que los tipos de particiones más comunes suelen ser,
Linux LVM  --> 8E
Linux      --> 83
Linux swap --> 82
NTFS       --> 86 ó 87
Linux raid --> FD
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios