Appendix C: Virtualization tools

Presentaremos ahora una serie de herramientas que son muy útiles a la hora de desplegar entornos virtualizados, desde la gestión de discos hasta la construcción y manejo de instancias de máquinas virtuales.

LVM

LVM (Logical Volume Manager) [1] es un sistema del núcleo de Linux para virtualizar la gestión de los dispositivos de almacenamiento. Permite añadir y eliminar discos a un grupo, crear volúmenes lógicos dentro de un grupo y cambiar su tamaño dinámicamente sin interrumpir el funcionamiento.

[1]http://sources.redhat.com/lvm/

La mayoría de las distribuciones incluyen el soporte para LVM en el núcleo por defecto así que, en todo caso, sería necesario tener el paquete lvm2 instalado para poder ser utilizado en nuestro sistema.

Para configurar LVM procederemos en primer lugar a formatear los discos con el tipo de partición específico de Linux LVM (8E). Sobre estas particiones (que pueden ocupar la totalidad del disco o no) crearemos uno o más grupos. Un grupo puede estar formado por varios discos (particiones) físicos. Dentro de cada grupo se pueden crear uno o varios volúmenes lógicos.

Ejemplo de configuración LVM

Ejemplo de configuración LVM

En este ejemplo tenemos un grupo vdisk sobre 3 discos físicos sda1, sdb1 y sdc1. Este grupo tiene dos volúmenes srv y var.

Utilizar LVM tiene sentido incluso cuando tenemos un único disco duro en el sistema, pues nos permitirá cambiar dinámicamente el tamaño de las particiones donde guardamos los datos. E incluso alargar el tamaño de nuestro sistema dinámicamente si añadimos nuevos discos físicos.

Una configuración típica de LVM es instalar el sistema en una partición pequeña (unos 4GB) ext3 al principio del disco y usar el resto para una partición con un volumen físico LVM en un grupo donde repartimos el espacio para puntos de montaje donde residen datos que esperamos que varíen a lo largo del tiempo como /var, /srv o /home.

Practical examples

Practical example A

LVM Configuration:

user@host:~$ sudo aptitude update

user@host:~$ sudo aptitude install lvm2 xfsprogs

user@host:~$ sudo cfdisk /dev/sda
  • Go to Free Space ‣ New ‣ Primary and press enter.
  • Then go to Type, press enter and enter 8E.
  • Next, select Write and press yes.
  • Finally, exit the program with Quit.

Reboot the system in order to reload the partition table, altough it could also be done with kpartx:

user@host:~$ sudo pvcreate /dev/sda4

user@host:~$ sudo pvdisplay

user@host:~$ sudo pvdisplay -C

user@host:~$ sudo vgcreate vdisk /dev/sda4

user@host:~$ sudo vgdisplay

user@host:~$ sudo vgdisplay -C

user@host:~$ sudo lvcreate vdisk --name home --size 3G

user@host:~$ sudo lvcreate vdisk --name srv --size 1.7G

user@host:~$ sudo lvdisplay

user@host:~$ sudo lvdisplay -C

user@host:~$ sudo lvremove vdisk/srv

user@host:~$ sudo lvdisplay -C

user@host:~$ sudo lvcreate vdisk --name srv --size 1G

user@host:~$ sudo mkfs.xfs /dev/vdisk/srv ; sudo mkfs.xfs /dev/vdisk/home

user@host:~$ sudo mount -t xfs /dev/vdisk/srv /srv

user@host:~$ df -h

user@host:~$ sudo lvextend /dev/vdisk/srv -L+0.7G

user@host:~$ sudo xfs_growfs /srv

user@host:~$ df -h

añadimos a /etc/fstab:

/dev/mapper/vdisk-srv  /srv     xfs     noatime         0       2
/dev/mapper/vdisk-home /home    xfs     noatime         0       2

user@host:~$ sudo mount -a

For more information about LVM you can go to http://www.howtoforge.com/linux_lvm

Practical example B

Creating a virtual machine with vmbuilder:

user@host:~$ sudo aptitude install ubuntu-vm-builder

user@host:~$ sudo vmbuilder kvm ubuntu --suite hardy --arch i386

user@host:~$ cd ubuntu-kvm ; \
             qemu-img convert -f qcow2 disk0.qcow2 -O raw disk0.raw

user@host:~/ubuntu-kvm$ vboxmanage convertdd disk0.raw disk0.vdi

English

Table Of Contents

Other documents

Previous topic

Appendix B: Advanced network scenarios

Next topic

Appendix A: Test environment with VirtualBox