Ads 468x60px

viernes, 31 de mayo de 2013

Implementar LVM En GNU/Linux

Implementar LVM En GNU/Linux

Aunque yo particularmente no soy muy partidaria a la utilizacion de las particiones utilizando LVM en GNU/Linux, se que aveces por defecto nos encontramos con un servidor linux previamente instalado con este mecanismo ya habilitado o sencillamente por peticion de darle uso o hasta por aprender como usarle. Por ese motivo, aca se expone un tutorial de como crear volumenes logicos en un disco duro fisico y dentro del mismo crear las respectivas particiones logicas.
El Logical Volume Manager (LVM), nos permite el uso de volúmenes lógicos en Linux. Un volumen lógico esta compuesto por particiones de disco o discos enteros. LVM nos va a permitir tener una visión de alto nivel del almacenamiento de nuestro servidor en lugar del tradicional uso de discos y particiones.

Vamos a ver paso a paso como podemos implementar y administrar sistemas de archivos con LVM.

Indice:

1.· Discos o particiones.
2.· Inicializar volúmenes físicos - physical volume PV.
3. Crear grupo de volúmenes - volume group VG.
4.· Crear volúmenes lógicos - logical volume LV.
5.· Crear filesystem basado en LVM.
6.· Mantenimiento de filesystem.
7.· Manatenimiento de volume group.

1.  Discos o particiones.

Para trabajar con LVM podemos hacerlo con particiones de disco o discos enteros, esto dependerá de la cantidad de discos que tengamos y de su tamaño. Siempre que se pueda es mejor trabajar con discos enteros que con particiones de disco.

En el tutorial vamos a trabajar con una partición y un disco entero para ver que con LVM podemos usar sin problemas ambas soluciones

El particionamiento de disco se realiza con la herramienta fdisk, para crear una partición lo haremos así.

Con fdisk -l obtenemos una lista de los discos disponibles.

#fdisk -l
Disco /dev/sda: 10.7 GB, 10737418240 bytes
255 cabezas, 63 sectores/pista, 1305 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         892     7164958+  83  Linux
/dev/sda2             893        1147     2048287+  82  Linux swap

Disco /dev/sdb: 5368 MB, 5368709120 bytes
255 cabezas, 63 sectores/pista, 652 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disposit. Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         652     5237158+  83  Linux
Disco /dev/sdc: 5368 MB, 5368709120 bytes
255 cabezas, 63 sectores/pista, 652 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disposit. Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1         652     5237158+  83  Linux
Disco /dev/sdd: 5368 MB, 5368709120 bytes
255 cabezas, 63 sectores/pista, 652 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disposit. Boot      Start         End      Blocks   Id  System
/dev/sdd1   *           1         652     5237158+  83  Linux

El siguiente paso es crear una partición, vamos a crear una partición de 2GB en el disco /dev/sdb, ejecutamos fdisk /dev/sdb y el prompt de fdisk tecleamos la n de nuevo y seguimos los pasos del cuadro de abajo.

#fdisk /dev/sdb

Orden (m para obtener ayuda): n
Acción de la orden
e   Partición extendida
p   Partición primaria (1-4)
p
Número de partición (1-4): 1
Primer cilindro (1-652, default 1):
Using default value 1
Último cilindro o +tamaño o +tamañoM o +tamañoK (1-652, default 652): +2048M

Orden (m para obtener ayuda): p

Disco /dev/sdb: 5368 MB, 5368709120 bytes
255 cabezas, 63 sectores/pista, 652 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         250     2008093+  83  Linux


*Importante con q salimos sin guardar cambios, con w salimos y guardamos cambios

Repetiríamos el proceso por cada partición que deseáramos crear y listo, salimos de fdisk con w para que nos guarde los cambios. Para este tutorial vamos a utilizar la partición que hemos creado de 2 GB /dev/sdb1 y un disco entero de 5GB, el /dev/sdc1.

2.  Inicializar volúmenes físicos - physical volume PV.

Los dispositivos que vamos a usar son /dev/sdb1 (2GB) y /dev/sdc1 (5GB) y utilizaremos el comando pvcreate para inicializarlos.

Desde el prompt del sistema ejecutamos lo siguiente:

Tutorial sobre sistemas de archivos LVM en Linux. - Página 2






2.  Inicializar volúmenes físicos - physical volume PV.

Los dispositivos que vamos a usar son /dev/sdb1 (2GB) y /dev/sdc1 (5GB) y utilizaremos el comando pvcreate para inicializarlos.

Desde el prompt del sistema ejecutamos lo siguiente:


#pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
#pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created

Una vez creados con el comando pvdisplay podemos ver las características de los physical volumen.

3. Crear grupo de volúmenes - volume group VG.

Un grupo de volúmenes es una agrupación tanto física como lógica de volúmenes físicos,  como veremos más adelante cuando creemos un filesystem le asignaremos espacio de un grupo de volúmenes, si nuestro grupo de volúmenes se queda sin espacio libre con añadirle otro physical volume podremos ampliar los filesystem que se nos han quedado sin espacio, esta es una de las ventajas de LVM respecto al uso tradicional de particiones o discos de forma directa.

Vamos a crear un volume group para una instalación por ejemplo de software Oracle 10g u Oracle 11g y la posterior creación de una BBDD Oracle 10g u Oracle 11g.

Nuestro volume group se va a llamar vgoraclesoft y va a contener los dos physical volume que hemos creado.

#vgcreate vgoraclesoft /dev/sdb1 /dev/sdc1
Volume group "vgoraclesoft" successfully created

4.  Crear volúmenes lógicos - logical volume LV.

Una que ya tenemos nuestro volumen group creado vamos a crear un logical volume que usaremos para montar un filesystem que contendrá una instalación de Oracle 10g u Oracle 11g.

Nuestro primer logical volume que se llamará lvu01, tendrá 4GB, de espacio y en él montaremos posteriormente el filesystem /u01.

#lvcreate –L 4G -n lvu01 vgoraclesoft
Logical volume "lvu01" created

5.  Crear filesystem basado en LVM.

Una vez tenemos creado logical volumen vamos a crear filesystem /u01 sobre el logical volumen lvu01.
 
#mkfs.ext3 /dev/vgoraclesoft/lvu01

Una vez tenemos el filesystem creado vamos a crear el punto de montaje. Los pasos son crear el directorio /u01 y montar el filesystem /u01.

#mkdir –p /u01
#mount /dev/vgoraclesoft/lvu01 /u01

Para terminar esta parte ponemos los permisos y grupo adecuados al filesystem /u01.

#chown oracle:dba /u01
#chmod 755 /u01

El nuevo filesystem /u01 queda de esta manera, usamos el comando Linux/Unix df –h.

#df –h /u01
Filesystem             size   used  avail capacity  Mounted on
/dev/vgoraclesoft/lvu01
4G      0G     4G        0%   /u01

6.  Mantenimiento de filesystem.

- Ampliación de un filesystems

Lo habitual en el día día en la administración de un sistema Linux es que algún filesystem este cerca de llenarse o incluso se llegue a estar lleno por completo.

¿Como ampliamos un filesystem? Buena pregunta, realmente lo que haremos es ampliar el logical volume correspondiente. Antes de realizar la ampliación deberíamos ver el espacio libre que nos queda en el volumne group,   para ello usaremos el comando vgdisplay de siguiente manera:

#vgdisplay vgoraclesoft

Como todavía tenemos espacio libre vamos a añadirle por ejemplo 500MB al logical volumen lvu01.

#lvresize –L 500M /dev/vgoraclesoft/lvu01
Extending logical volume lvu01 to 500 MB
Logical volume lv01 successfully resized

Y por último refrescamos el filesystem /u01 para que tome la ampliación.

#resize2fs /dev/vgoraclesoft/lvu01
resize2fs 1.40.2 (12Jul2007)
Filesystem at /dev/vgoraclesoft/lvu01 is mounted on /u01; online
resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an online
resize of /dev/vgoraclesoft/lvu01 to 491520 (1k) blocks.
The filesystem on /dev/vgoracleu01/lvu01 is now 491520 blocks long.

7.  Manatenimiento de volume group.

Añadir un disco a un volume group.

Si nuestro volume group se queda sin espacio libre le añadiresmo una partición o un disco entero.

una vez tengamos preparado el phisical volume lo añadiremos nuestro volume group vgoraclesoft.

#vgextend –v vgoraclesoft /dev/sdd1
Checking for volume group "vgoraclesoft"
Archiving volume group "vgoraclesoft" metadata (seqno 5).
Adding physical volume '/dev/sdd1' to volume group 'vgoraclesoft'
Volume group "vgoraclesoft" will be extended by 1 new physical volumes
Creating volume group backup "/etc/lvm/backup/vgdatos" (seqno 6).
Volume group "vgoraclesoft" successfully extended

No hay comentarios:

Publicar un comentario