Crear almacenamiento flexible con LVM.

Posted on diciembre 19, 2007. Filed under: Gestion de Almacenamiento y Copias de Seguridad. |

Es impresionante lo necesario que es poder manipular el espacio para guardar informacion en nuestros sistemas linux. “Las necesidades de los usuarios se expanden hasta consumir todo el espacio disponible”.

Nos podemos anticipar a esto usando LVM (Logical Volumen Management, Gestion de Volumenes Logicos).

Haz click aqui para mas informacion de conceptos de LVM

Luego de buscar con google, y revizar material que poseo, pues he tomado la iniciativa de crear este tutorial paso a paso para crear volumenes logicos, tambien pueden visitar el siguiente enlace para instalar desde cero sus sistemas con LVM, que es la mejor opcion cuando se trata de sistemas que estaran en produccion.

Vamos entonces a materia…

Cuando se usan volumenes logicos, el fondo de espacio de almacenamiento, desde el cual se crean volumenes especificos, es conocido como un grupo de volumen (Volume Group), normalmente el nombre que asume en un HP-UX es vg00, pero ese es el nombre por defecto el cual se puede cambiar, en Linux, le pueden poner el que deseen, pero considero que siempre es bueno seguir un standard.

Para poder tener un Grupo de Volumen / Volume Group, primero tenemos que formatear los dispositivos fisicos o particiones especificas como “Volumenes Fisicos o Phisical Volume”, esto lo hacemos con el comando pvcreate, y ejecutando despues el comando vgcreate para crear el grupo de volumen en si sobre cierto numero de volumenes fisicos.

En pocas palabras puedes agrupar varios volumenes fisicos en uno solo que tomara el nombre del Grupo de Volumen, el cual podra controlar los espacios, pues a medida que necesites mas puedes integrar mas volumenes fisicos a este Grupo de Volumen.

Primero que nada tenemos que asignar volumenes fisicos, podemos usar bien particiones existentes o bien discos completos como almacenamiento para volumenes logicos.

Hay varias maneras de asignar un disco entero para que sea usado con LVM2:

  • Asegurese de que el disco no contiene una tabla de particiones y cree solo un volumen fisico en el disco.
  • Cree una sola particion en el disco y un volumen fisico en dicha particion.
  • Cree multiples particiones en su disco y cree volumenes fisicos en cada una de ellas.

Cada una de las anteriores tiene sus ventajas y sus inconvenientes, pero la tercera opcion es la preferida por norma general.

Las dos primeras no localizan problemas de disco, lo que quiere decir que los fallos de sector en el disco pueden echar a patadas al volumen fisico del grupo de volumen, y por tanto, con bastante probabilidad, impedir cualquier recuperacion o reparacion. Podemos minimizar el fastidio inherente a esta situacion combinando RAID y LVM, pero podemos minimizar los dolores de cabeza y los datos perdidos en primer lugar (sin usar RAID) creando particiones manualmente en el disco, y asignando cada una de esas particiones mas pequenas como volumenes fisicos. Para hacer esto, usaremos el comando fdisk para crear particiones manejables, de tamano razonable, que sean claramente identificadas como almacenamiento LVM de Linux, y entonces usar el comando pvcreate para crear volumenes fisicos en cada una de ellas, como el siguiente ejemplo:

Para crear particionamiento utilizamos fdisk, en este caso sera sobre la unidad hda.

# fdisk /dev/hdb

Nos aparecera un mensaje del tamano de nuestro disco, cilindros, etc, tambien tendremos la opcion de linea de comandos, si queremos conocer mas de fdisk, le colocamos la letra m y enter para ver las opciones.

Ahora escogeremos (p) para poder ver las particiones creadas.

Luego escogemos (n) y escogemos que tipo de particion vamos a crear bien sea primaria o extendidas.

Despues que escojamos el tamano de la particion y como la queremos, viene la parte interesante que es indicarle el tipo de particion que sera, entonces le daremos la opcion (t).

Y escogeremos 8e que es tipo (Linux LVM).

Finalmente hacemos otro (p) para ver que tal quedaron las particiones, y guardamos con(w).

Si luego queremos ver que partiones tenemos podemos hacer un fdisk -l el cual listara las particiones de disco que tenemos en el sistema.

Ahora crearemos de estas particiones creadas los volumenes fisicos.

Digamos que creamos la particion /dev/hdb1

Entonces sera tan simple como:

# pvcreate /dev/hdb1

Luego para confirmar el estado y el tamano de nuestro volumen fisico usamos el comando pvdisplay:

# pvdisplay

Tambien podemos hacer un scan de los volumenes fisicos con:

# pvscan

Y si queremos un reporte con la informacion de nuestros volumenes fisicos hacemos:

# pvs

Ahora vamos a asignar nuestros volumenes fisicos a un grupo de volumen:

# vgcreate data /dev/hdb1

Con este comando se habra creado el grupo de volumen (data) el cual contendra el volumen fisico que le hemos asignado, en este caso /dev/hdb1.

Si quisieramos crear un grupo de volumen con mas de un volumen fisico hariamos asi:

# vgcreate data /dev/hdb1 /dev/hdb2 /dev/hdb3

Si queremos agregar a un grupo de volumen de nombre (data) mas volumenes fisicos hacemos asi:

# vgextend data /dev/hdb4

No se deben olvidar que los volumenes fisicos deben estar en formato LVM para poderse agregar a un grupo de volumen.

Posterior a la creacion del grupo de volumen, necesitaran ver si en efecto fue creado.

# vgscan

Y si quieren un reporte acerca de los grupo volumen que tengan corriendo pueden hacer:

# vgs

Esto produce una salida formateada acerca de los grupos volumen.

Hasta ahora hemos creado grupos volumen, hemos anadido volumenes fisicos a estos, asi como tambien hemos aprendido a revizar nuestro grupo volumen, asi como tambien nuestros volumenes fisicos.

Ahora vamos a crear un volumen logico, a estos volumenes luego de creados, le pondremos un sistema de ficheros para poder efectivamente usarlo en nuestro equipo Linux. Esto lo haremos usando el comando mkfs, pero por ahora vamos a lo del volumen logico.

# lvcreate -L 20G data -n imagenes

Con este comando le hemos dicho a lvcreate que cree un volumen en el grupo volumen data, con 20 GB de espacio de ese grupo volumen, y con el nombre imagenes.

Si queremos ver el volumen logico hacemos:

# lvdisplay

Igual si queremos un reporte de los volumenes hacemos:

# lvs

Y si queremos una exploracion de los volumenes hacemos:

# lvscan

Cuando creamos un volumen logico, el sistema de volumenes logicos crea una entrada apropiada en el directorio /dev/mapper que hace corresponder a dicho volumen logico con el fisico desde el que fue creado, como en el siguiente ejemplo:

# ls /dev/mapper

control data-imagenes

Ahora que hemos creado un volumen logico le asignaremos un sistema de fichero que queramos usar para el mismo, en este caso yo lo voy a hacer con ext3 pues este soporta redimension del file system, tanto desde arriba como desde abajo, para ver los sistema de fichero y como soportan redimension entren aqui alli podran observar otro tutorial de LVM muy bueno.

Entonces le hacemos mkfs para hacer el file system.

# mkfs -t ext3 /dev/data/imagenes

Luego procedemos a montar el volumen logico:

1ro. Creamos el punto de montura.

# mkdir /mnt/imagenes

2do. Montamos el volumen logico.

# mount -t ext3 /dev/data/images /mnt/imagenes

Ahora si queremos ver que tal nuestro disk free:

# df

Fijese muy bien que montando el volumen logico /dev/data/imagenes ha montado realmente el dispositivo de control para ese volumen logico, el cual es /dev/mapper/data-imagenes. Esto permite al sistema de volumenes logicos seguir mejor la pista de las asignaciones, especialmente en el caso en el que un volumen logico esta compuesto de volumenes fisicos que residen en discos fisicamente distintos.

Para asegurarnos que el volumen logico se monta automaticamente cada vez que inicie su sistema, editamos el fichero /etc/fstab.

# vi /etc/fstab

Y colocamos la ruta correcta del volumen logico:

/dev/data/imagenes /mnt/imagenes

Sugerencia: Tanto / como /boot se deben mantener en particiones fisicas y usar ext3 para estos sistemas de ficheros, ademas utilice multiples particiones en su sistema.

Make a Comment

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Liked it here?
Why not try sites on the blogroll...

A %d blogueros les gusta esto: