You are on page 1of 16

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Kernel Based Virtual Machine (KVM)


Etiquetas: kvm virtualizacion

Imprimir Volver a Servidor de...

Table of Contents [-]


1 Tipos de virtualizacin 1.1 Emulacin 1.2 Virtualizacin Completa. 1.3 Paravirtualizacin 2 Caractersticas KVM 3 Instalar KVM 3.1 Verificacin del modulo virtualizacin 3.2 Instalacin de KVM 3.3 Usuario KVM 3.4 Particin VM 4 RED en KVM 4.1 Bridge 4.1.1 Configuracin modo Bridge 4.2 NAT 4.2.1 Configuraron modo NAT 4.2.2 Configuracin de Dnsmasq 4.2.3 Configuracin de interfaces de red 4.3 Configuracin del firewall 5 Administracin va consola 5.1 Instalacin VM va comandos 5.2 Visualizar una MV 5.3 Conectarse al hypervisor 5.4 Listar Mquinas Virtuales 5.5 Iniciado automticamente de MV 5.6 Iniciando Mquina Virtual 5.7 Suspender Mquina Virtual 5.8 Reanudar Mquina Virtual 5.9 Apagar Mquina Virtual 5.10 Reiniciar Mquina Virtual. 5.11 Matar Mquina Virtual 5.12 Informacin Mquina Virtual 5.13 Estado de las mquinas virtuales 5.14 Informacin Mquina fsica 5.15 Capacidad de la Mquina fsica 5.16 Informacin de CPU virtuales 5.17 Editar informacin de la Mquina virtual 5.18 Memoria de intercambio de CPUS 5.19 Nombre la mquina fsica 5.20 Consola de Mquina virtual 5.21 Redes virtuales configuradas. 5.22 Informacin de redes virtuales 5.23 Crea y inicia red virtual 5.24 Crear red virtual 5.25 Iniciar red virtual. 5.26 Iniciar automticamente red virtual 5.27 Editar una red virtual 5.28 Destruir una red virtual 5.29 Listar volmenes de almacenamiento 5.30 Capacidad del volumen fisico 5.31 Editar del volumen fisico 5.32 Lista del volmenes virtuales 5.33 Capacidad de volumen virtual 5.34 Ayuda en linea 5.35 Salir del administrador 6 Administracin Grfica 6.1 Virt-Manager 6.1.1 Instalando VM con Virt-Manager 6.2 Estado de las MV 6.3 Administracin de MV 6.4 Propiedades de las MV

1 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

6.5 Configuraciones Mquina Fsica 6.5.1 Repaso 6.5.2 Redes Virtuales 6.5.3 Grupos de Almacenaje

En virtualizacin existen mltiples tipos de herramientas, pero todos poseen algo en comun, se trata de programas o herramientas que hacen creer a otros programas que son el HW y SW que necesitan. La virtualizacin hace posible tener de uno a varios sistemas operativos sobre uno ya existente, permaneciendo este sin verse afectado y pudiendo arrancarlos de manera independiente. La virtualizacin permite:
Ahorra reinicio en caso de que tengamos que cambiar habitualmente de S.O. Permite lanzar varios sistemas operativos diferentes en una misma computadora. Facilita la administracin de los sistemas operativos virtualizados. Tan puede ser ocupado para sistemas de pruebas. Migracin dinmica de aplicaciones. Y tambin porque esta de moda o para aprender. La virtualizacin favorece en los siguientes punto: Ahorro de costes de HW y alojamiento de equipos Mantenimiento de cada servidor. Sistemas centralizados. Aprovechamiento de recursos. Sistemas de prueba. Simplicidad. Compatibilidad. Seguridad. Consumo de energa.

Tipos de virtualizacin#
Solamente tenemos 3 tipo de virtualizacin: Emulacin Virtualizacin completa Paravirtualizacin

Emulacin#
La emulacin se basa en crear mquinas virtuales que emulan el hardware de una o varias plataformas hardware distintas. Este tipo de virtualizacin es la mas costosa y la menos eficiente, ya que obliga a simular completamente el comportamiento de la plataforma hardware a emular e implica tambin que cada instruccin que se ejecute en estas plataformas sea traducida al hardware real y es demasiado lento en su ejecucin.

En Linux existen varios emuladores pero los mas conocidos son: qemu, Bochs, VirtualBox y Virtuozzo.

Virtualizacin Completa.#
Con este termino se denominan aquellas soluciones que permiten ejecutar sistemas operativos husped (Guest), sin tener que modificarlos, sobre un sistema anfitrin (Host), utilizando en medio un Hypervisor o Virtual Machine Monitor que permite compartir el hardware real. Esta capa intermedia es la encargada de monitorizar los sistemas husped con el fin de capturar determinadas instrucciones protegidas de acceso al hardware, que no pueden realizar de forma nativa al no tener acceso directo a el.

Su principal ventaja es que los sistemas operativos pueden ejecutarse sin ninguna modificacin sobre la plataforma, aunque como inconveniente frente a la emulacin, el sistema operativo debe estar soportado en la arquitectura virtualizada. Existen herramientas para poder hacer una virtualizacin completa XEN, KVM, Local Domains y VMWARE. Hay que tener en cuenta tambin que la virtualizacin completa no se refiere a todo el conjunto de hardware disponible en un equipo, sino a sus componentes principales, bsicamente el procesador y memoria.

Paravirtualizacin#
Paravirtualizacin surgi como una forma de mejorar la eficiencia de las mquinas virtuales y acercarlo al rendimiento nativo. Para ello se basa en que

2 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

los sistemas virtualizados (husped) deben estar basados en sistemas operativos especialmente modificados para ejecutarse sobre un hypervisor.

Los sistemas virtualizados (husped) deben estar basados en sistemas operativos especialmente modificados para ejecutarse sobre un hypervisor. Con la paravirtualizacin, se puede alcanzar alto rendimiento incluso en arquitecturas (x86) que no suelen conseguirse con tcnicas tradicionales de virtualizacin. A diferencia de las mquinas virtuales tradicionales, que proporcionan entornos basados en software para simular hardware.

Caractersticas KVM#
KVM (Kernel-Based Virtual Machines), es una solucin de virtualizacin completa sobre GNU/Linux que depende de la extensin de espiritualizaron de los procesador como INTEL VT o AMD-V. KVM se incluyo oficialmente en el kernel 2.6.20 y consiste en un modulo para el kernel "kvm.ko" que ororciona al nucleo la infrestructura de virtualizacion y tiene un modulo por cada tipo de procesador. INTEL "kvm-intel.ko" AMD "kvm-amd.ko"

Se completa con la version de QEMU que porciona toda funcionalidad de Hardware Virtual para los sistemas virtualizados. Todo la nuevas tecnologicas de desarrollo estan llevando acabo en KVM, ya que va hacer la solucion mas recomendada, soportada por varios sistemas operativos como GNU/Linux, BDS, Solaris, MAC y Windows. Tambien te mayor seguridad entre las maquinas virtuales y una configuracion mas amigable para los administradores, en varias distribuciones que van a cambiar a KVM por Xen entre estas ya estan debian, ubuntu, RHEL, Centos, Fedora, opensuse, mandriva y entre otras mas. Ventajas de KVM:
Esta diseado para procesadores x86, centrando en un virtualizacion total. No se modifica el kernel de GNU/Linux. Solamente es un modulo que no necesita parches. Contiene soporte de paravirtualizacin. KVM funciona en todo tipo de mquinas, servidores, escritorio o laptop. Migracin en caliente de mquinas virtuales. Tiene administarcion via web, grafica y consola. La administracion de las maquinas virtuales de hacen por medio de un usuario mortal. Podemos utilizar utilizar el comando kill para matar maquina virtuales ya con KVM son reconocidos como procesos. Maneja 3 tipos de configuracion de red, "Bridge, Route, NAT". Permite ejecutar multitples maquinas virtuales cada una con su propia instancia.

Instalar KVM#
Antes de poder instalar es necesario ver los requisitos: Como mnimo un 1 GB de memoria. Disco duro con buena capacidad. Procesador con soporte virtualizacin. Particiones independientes para el sistema ya de forma clsica o LVM: /boot /tmp / /swap /home /var Particin independiente para las mquinas virtuales: /vm Instalacin de la distribucin debian Lenny y actualizada. Tarjetas de red de buen rendimiento.

Verificacin del modulo virtualizacin#

3 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Antes de todo es necesario saber que si nuestro procesador tiene el modulo de virtualizacin integrado en el procesador. Para esto tendremos que saber si nuestro procesadores tiene soporte, para INTEL es vmx y Amd es svm. Ya sabiendo esto solo queda consultar, por medio del siguiente comando: hades:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo Nos tiene que devolver la siguiente informacin: flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc up pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm Con esto indica que el procesador es del tipo INTEL, en caso de que no muestre ninguna informacin puede ser que el modulo este desactivado y lo tendrn que dar de alta desde el BIOS o no viene integrado con el modulo. Si KVM no detecta el modulo de virtualizacin asistida por Hardware entonces KVM trabajara de modo paravirtualizacin pero sin modificar el kernel de GNU/Linux.

Instalacin de KVM#
Ya que tenemos toda la informacin para poder iniciar la instalacin, se requieren los siguientes paquetes: kvm: El paquete kvm instalar el modulo para el kernel en el cual permitir tener mquina virtuales husped libvirt-bin: La librera libvirt-bin es la encargada de la virtualizar a las mquinas husped. virtinst: La herramienta virtinst nos ayudara a la instalacin, administracin y configuracin de la mquinas husped.

Con esto ya sabremos para que nos sirve cada paquete solo queda instalarlos.
hades:~# apt-get install kvm libvirt-bin virtinst

Usuario KVM#
Cuando se termine la instalacin, tendremos que asignar un usuario mortal el cual sera el encargado de instalar, administrar y configurar las mquinas virtuales, este usuario se ocupa como medida de seguridad ya que la configuracin con XEN es por medio del usuario root y es muy peligroso. Por eso KVM usa un usuario mortal y que que pertenezca al grupo de libvirt. hades:~# adduser administrador libvirt Aadiendo al usuario `administrador' al grupo `libvirt' ... Aadiendo al usuario administrador al grupo libvirt Hecho. Como podemos ver agregamos al usuario administrador al grupo libvirt.

Particin VM#
Se recomienda tener las mquinas virtuales dentro de una particin del disco duro independiente o si se puede mejor en otro disco duro y particin se llamada /vm. La particin debe tener un tamao superior y dependiendo de cuantas mquinas virtuales se van a alojar con su capacidad de cada disco virtual. Debe pertenecer al grupo libvirt con los siguientes permisos. hades:~# chown root.libvirt /vm hades:~# chmod 775 /vm

RED en KVM#
Existen tres tipos de redes en la configuracin KVM: bridge Nat

Pero se recomienda la configuracin tipo bridge ya que es la fcil de configurar y la que mas se ocupa en los servidores.

Bridge#
Este tipo de configuracin nos permite crear un puente entre las tarjeta de red fsica y las virtuales, permitindonos conectarnos a la red local de la empresa como si fueran otras mquinas que estuvieran en la red local. Para pode tener este tipo de configuracin es necesario instalar el siguiente paquete.

4 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

hades:~# apt-get install bridge-utils

Configuracin modo Bridge#

Como sabemos estamos ocupando la distribucin debian lenny, por cual tendremos que configurar nuestro puente en el archivo /etc/network/interfaces. Abrimos el archivo con nuestro editor vim.
hades:~# vim /etc/network/interfaces Dentro de este archivo de configuracin encontraremos la interfaz loopbak o local lo y la interfaz de red eth0, por el cual obtendr una IP Dinmica de nuestra red. # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp Con esta configuracin no podremos hacer el puente, lo que tenemos que hacer es cambiar la configuracin de la tarjeta de red eth0. allow-hotplug eth0 iface eth0 inet dhcp por auto eth0 iface eth0 inet manual

Con esto hemos cambiado la interfaz eth0 a un modo de configuracin especial en nuestro caso la vamos a hacer tipo puente. Agregaremos dentro de mismo archivo la configuracin la interfaz br0 la cual se encargara de crear y dejar funcionando nuestro puente entre las mquinas virtuales para que sean visibles dentro de nuestra red local.
auto br0 iface br0 inet static address 192.168.1.244 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 bridge_ports eth0 bridge_stp off bridge_maxwait 5 A esta interfaz tendremos que asignar una IP esttica, mascara de red, segmento de red, broadcast, puerta de enlace, tarjeta fsica que esta permitiendo el puente. Con esto guardamos el archivo y reiniciamos el servicio de red de debian lenny. hades:~# /etc/init.d/networking restart Para comprobar que nuestra configuracin quedo realizada ejecutamos el comando ifconfig, para que nos muestre las interfaces de red que tiene nuestro sistema. hades:~# ifconfig br0 Link encap:Ethernet HWaddr 00:b0:c4:00:35:c1 inet addr:192.168.1.244 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2b0:c4ff:fe00:35c1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1319 errors:0 dropped:0 overruns:0 frame:0 TX packets:774 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1414607 (1.3 MiB) TX bytes:73115 (71.4 KiB) eth0 Link encap:Ethernet HWaddr 00:b0:c4:00:35:c1 inet6 addr: fe80::2b0:c4ff:fe00:35c1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6541519 errors:0 dropped:0 overruns:0 frame:0 TX packets:3021817 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

5 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

lo

RX bytes:1286103822 (1.1 GiB) TX bytes:205104301 (195.6 MiB) Interrupt:20 Base address:0xa000 Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1008 (1008.0 B) TX bytes:1008 (1008.0 B)

Como podemos ver nos mostr 3 tres interfaces: interfaz lo: como interfaz loopback o local. interfaz eth0: configuracin en modo puente. Interfaz br0: conexin a la red para la mquinas virtuales.

Con todos estos pasos hemos creado un puente para que las mquinas virtuales pertenezcan a la red local de nuestra empresa

NAT#
Este tipo de configuracin nos permitir tener nuestra mquinas virtuales dentro de una red virtual, que nos ayudara tener mayor seguridad para las MV. Para poder tener este tipo de configuracin es necesario instalar el siguiente paquete. lucifer:~# apt-get install uml-utilities En este tipo de caso la mquina fsica toma la peticin de algn servicio, la analiza y si se cuenta con el acceso a este mismo de una MV sera permitido conectarse de lo contrario la peticin sera denegada, todas estas solicitudes sern analizadas por medio de un firewall.

Configuraron modo NAT#


Para poder configurar este tipo de red, primero tendremos que checar que tipo de redes tenemos habilitadas dentro de nuestro KVM, para eso ejecutaremos el siguiente comando. lucifer:~# virsh net-list --all Name State Autostart ----------------------------------------En nuestro caso no tenemos configurada ninguna red dentro de KVM, por lo cual procederemos a crear nuestra red virtual. Por default KVM ya tiene configurado una red virtual controlada por un servidor DHCP integrado en KVM. Definimos nuestra red virtual que utilizara kvm. Lucifer:~# virsh net-define /etc/libvirt/qemu/networks/default.xml Network default defined from /etc/libvirt/qemu/networks/default.xml Indicamos que cada vez que se inicie el sistema KVM levantara la red virtual. Lucifer:~# virsh net-autostart default Network default marked as autostarted Iniciamos la red virtual. lucifer:~# virsh net-start default Network default started Como va ser una configuracin tipo NAT, es conveniente habilitar el reenvo de paquetes a la red virtual. Para esto editamos el archivo de configuracin sysctl.conf. lucifer:~# vim /etc/sysctl.conf Buscamos el parmetro net.ipv4.ip_forward y lo modificamos. net.ipv4.ip_forward = 0 por net.ipv4.ip_forward = 1

Con esto ya tendremos configurada nuestra red virtual.


Configuracin de Dnsmasq#

6 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Dnsmasq es un servidor que tiene agregado los servicios de DNS/DHCP, por lo cual puede resolver los nombres tus equipo, como tambin puede ser un servidor DNS Cache el cual almacenara las IP consultadas, con esto hacemos que sea mas rpido el acceso a internet. Lo que vamos hacer es permitir la resoluciones de dominios de las MV dentro de la red virtual. Para esto editaremos el archivo de configuracin dnsmasq.conf. lucifer:~# vim /etc/dnsmasq.conf Modificaremos el parmetro listen-address, para indicarle en donde se encuentra escuchando el servicio. listen-address=eth0 por listen-address=127.0.0.1 Habilitaremos el parmetro bind-interfaces, obliga a escuchar en la tarjeta o la IP especificada. #bind-interfaces por bind-interfaces Reiniciamos el servicio. lucifer:~# /etc/init.d/dnsmasq restart

Configuracin de interfaces de red#


Tambin tendremos que configurar nuestra tarjeta de red vlan0, la cual se encargara del controlar la red virtual para eso tenemos que agregarla dentro del fichero interfaces. lucifer:~# vim /etc/network/interfaces Se recomienda que la tarjeta de red fsica siempre tenga una IP esttica. allow-hotplug eth0 iface eth0 inet dhcp por auto eth0 iface eth0 inet static address 192.168.1.248 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1

Agregaremos la configuracin de la interfaz vlan0, encargada de la red virtual.


auto virbr0 iface virbr0 inet static address 192.168.122.1 netmask 255.255.255.0 network 192.168.122.0 broadcast 192.168.122.255 Reiniciamos el servicio de red. lucifer:~# /etc/init.d/networking restart Para comprobar que nuestra configuracin quedo realizada ejecutamos el comando ifconfig, para que nos muestre las interfaces de red que tiene nuestro sistema. lucifer:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:08:54:b2:d9:74 inet addr:192.168.1.248 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::208:54ff:feb2:d974/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17905 errors:0 dropped:0 overruns:0 frame:0 TX packets:3638 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2470005 (2.3 MiB) TX bytes:978871 (955.9 KiB)

7 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Interrupt:20 Base address:0xa000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:280 (280.0 B) TX bytes:280 (280.0 B) Link encap:Ethernet HWaddr 00:ff:20:05:7a:85 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 inet6 addr: fe80::502d:d9ff:fe75:474/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:107 errors:0 dropped:0 overruns:0 frame:0 TX packets:120 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:9675 (9.4 KiB) TX bytes:9928 (9.6 KiB) Link encap:Ethernet HWaddr 00:ff:20:05:7a:85 inet6 addr: fe80::2ff:20ff:fe05:7a85/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:54 errors:0 dropped:0 overruns:0 frame:0 TX packets:4294 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:6108 (5.9 KiB) TX bytes:225566 (220.2 KiB)

virbr0

vnet0

Con este tipo de configuracin deben aparecer 4 interfaces de red:


interfaz interfaz Interfaz Interfaz lo: como interfaz loopback o local. eth0: configuracin en modo puente. virbr0: conexin a la red virtual. vnet#: esta interfaz sera levantada cada ves que una MV se conecta a la red virtual.

Configuracin del firewall#


Debemos crear las reglas de iptables para poder permitir el acceso a los servicios que tienen alojados las MV, pero desde la IP fsica con el manejo de puertos. Ejemplos Todas la peticiones hacia el puerto 80 de la red local, redirigirlas hacia la red virtual con la MV con IP 192.168.122.10 al puerto 80. iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.122.10:80 Todas la peticiones hacia el puerto 59345 de la red local, redirigirlas hacia la red virtual con la MV con IP 192.168.122.20 al puerto 22. iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 59345 -j DNAT --to 192.168.122.20:22

Esta la configuracin de KVM en modo NAT, en este diagrama se tienen varios servicios como 2 Servidores Apache, 1 FTP y conexin remota va ssh a los 3 servidores virtuales. Toda la peticiones sern analizadas en el servidor por el firewall, si una peticin es verdadera entonces la redireccionara dentro de la red virtual hacia la MV que esta ofreciendo el servicio, de lo contrario denegara la peticin.

Administracin va consola#
La administracin de Mquinas Virtuales, es muy importante dentro KVM, ya por medio de esta nosotros podremos: Instalar MV. Eliminar MV. Estado MV.

Caractersticas.Modificar recursos.Configuracin de red.

Para esto ocuparemos la herramienta virsh, esta herramienta funciona bajo la librera libvirt y funciona de modo de solo lectura para el usuario con permisos al grupo libvirt y el usuario administrador es el nico que puede modificar los datos. Nos conectaremos de la siguiente manera:
administrador@hades:~$ virsh -c qemu:///system

8 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # Tendremos la habilidad de tener un interprete de comandos internos de la herramienta virsh, con los cuales administraremos las MV.

Instalacin VM va comandos#
Para poder hacer la instalacin desde consola de una MV, tendremos que ejecutar el comando virt-install. virt-install [conexin][opciones] En tipo de conexin siempre va hacer --connect qemu:/system y en opciones podremos poner los siguientes parmetros: Parmetro -n -r -f -s -c -l --network=br0 Descripcin Nombre la mquina virtual. Memoria RAM virtual. Ruta del Disco Duro Virtual. Tamao del disco duro Unidad DVD/CDRom o imagen ISO. Indicamos si la instalacin va hacer va red por medio de http, ftp o nfs. Modo de conexin a la red fsica en puente.

-w network=defaultModo de conexin a la red virtual en NAT. -vcpus Numero de CPU virtuales. --vnc Conexin tipo VNC.

Ejemplos:
Modo BRIDGE virt-install --connect qemu:///system -n Centos-db -r 512 -f /vm/centos-db.img -s 20 -c CentOS-5.3-i386-bin-DVD.iso --network=br0 Modo NAT virt-install --connect qemu:///system -n mantis -r 512 -f /vm/mantis.img -s 20 -l [http://192.168.1.109/isos/centos] -w network=default Con esto nos desplegara la pantalla de instalacin de S.O a instalar, la instalacin depende de cada S.O

Visualizar una MV#


Cuando hayamos terminado de instalar o ya tengamos instalada una mquina virtual y queremos visualizar que esta pasando en un modo grfico para esto nos sirve la herramienta virt-viewer, ver figura 2.1. administrador@lucifer:~$ virt-viewer -c qemu:///system belzebu

Conectarse al hypervisor#
Para poder conectarse al hypervisor para poder ejecutar comandos de administracin en consola. administrador@lucifer:~$ virsh -c qemu:///system

Listar Mquinas Virtuales#


Para poder listar las mquinas virtuales que estn encendidas. virsh # list Id Name State ---------------------------------1 ascariote running Podemos ver todas las mquinas de la siguiente manera: virsh # list --all Id Name State ----------------------------------

9 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

1 ascariote - belzebu

running shut off

Iniciado automticamente de MV#


Cuando nuestro sistema tienen un apagado fsico y queremos que nuestras mquinas virtuales se enciendan automticamente, tenemos que hacer lo siguiente: virsh # autostart belzebu Domain belzebu marked as autostarted Si ya tenamos a nuestra mquina virtual en encendido automtico y lo queremos desactivar. virsh # autostart --disable ascariote Domain ascariote unmarked as autostarted

Iniciando Mquina Virtual#


Cuando nuestra mquina virtual le indicamos que no inicie en automtico, entonces haremos un encendido manual de la mquina virtual. virsh # start ascariote Domain ascariote started

Suspender Mquina Virtual#


Tambin podemos suspender una mquina virtual, es como si pusiramos en pausa la mquina virtual. virsh # suspend belzebu Domain belzebu suspended

Reanudar Mquina Virtual#


Para poder reanudar una mquina virtual suspendida solamente tendremos que hacer lo siguiente: virsh # resume belzebu Domain belzebu resumed

Apagar Mquina Virtual#


Apagar una mquina solamente tenemos que hacer lo siguiente: virsh # shutdown belzebu Domain belzebu is being shutdown

Reiniciar Mquina Virtual.#


Reiniciar mquinas virtuales es de la siguiente manera: virsh # reboot minos Domain minos is being reboot

Matar Mquina Virtual#


En caso de que nuestra mquina virtual no pueda apagarse, apagar o el sistema operativo este congelado. virsh # destroy thanatos Domain thanatos destroyed

Informacin Mquina Virtual#


Con esto obtendremos la informacin de la mquina virtual, como nombre, estado,CPU, Memoria ,etc. virsh # dominfo minos

10 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Estado de las mquinas virtuales#


Por este comando sabremos el estado de la maquina, encendido, apagado, pausado, etc. virsh # domstate belzebu

Informacin Mquina fsica#


Muestra informacin relacionada de la mquina fsica, como del CPU, memoria. virsh # nodeinfo

Capacidad de la Mquina fsica#


Muestra la capacidad de las plataforma en KVM. virsh # capabilities

Informacin de CPU virtuales#


Ver cuantos CPU virtuales tiene la mquina virtual. virsh # vcpuinfo hypnos

Editar informacin de la Mquina virtual#


Podemos editar la informacin de la mquina virtual de la siguiente manera. virsh # edit hypnos

Memoria de intercambio de CPUS#


Esta opcin solamente nos funciona cuando tenemos de dos a mas procesadores ya que verifica la memoria que se esta ocupando entre la comunicacin en los CPU. virsh # freecell

Nombre la mquina fsica#


Saber el nombre o como se llama la mquina fsica que aloja el servicio de KVM. virsh # hostname

Consola de Mquina virtual#


Dispositivo fsico de salida para la consola tty en mquinas virtuales. virsh # ttyconsole belzebu

Redes virtuales configuradas.#


Veremos las redes virtuales configuradas en KVM virsh # net-list

Informacin de redes virtuales#


Informacin sobre la configuracin y propiedades de una red virtual. virsh # net-dumpxml default

Crea y inicia red virtual#

11 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Para poder crear una red virtual, se debe generar un archivo en formato xml y se recomienda que este almacenado en /etc/libvirt/qemu/networks y debe contener la siguiente informacin. <network> <name>factor</name> <uuid>6cbbd170-c641-8d6c-ae79-6791b3288426</uuid> <forward mode='nat'/> <bridge name='virbr1' stp='on' forwardDelay='0' /> <ip address='192.168.200.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.200.100' end='192.168.200.200' /> </dhcp> </ip> </network>

Ya creado el archivo solamente tenemos que ejecutar el siguiente desde la consola de virsh e indicando la ruta del archivo de configuracin de la nueva red virtual.
virsh # net-create /etc/libvirt/qemu/networks/factor.xml

Crear red virtual#


Crea una red virtual pero no la inicia, solamente se define dentro de KVM. virsh # net-define /etc/libvirt/qemu/networks/linuxparatodos.xml

Iniciar red virtual.#


Iniciando una red virtual. virsh # net-start linuxparatodos

Iniciar automticamente red virtual#


Iniciar automticamente una red virtual cuando la mquina fsica tenga un encendido. virsh # net-autostart factor

Editar una red virtual#


Desde la consola de virsh, podemos editar el archivo de configuracin de una red virtual. virsh # net-edit factor

Destruir una red virtual#


Esta opcin nos permite detener y destruir una red virtual. virsh # net-destroy factor

Listar volmenes de almacenamiento#


Veremos en donde se encuentran almacenados los disco duros virtuales. virsh # pool-list

Capacidad del volumen fisico#


En nuestro caso el volumen vm es un particin por lo cual nos mostrara la informacin del tamao de la particin, lo ocupado y disponible que tenemos en la misma. virsh # pool-info vm

12 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Editar del volumen fisico#


Tenemos la propiedad de editar el volumen. virsh # pool-edit vm

Lista del volmenes virtuales#


Listara todos los discos duros virtuales. virsh # vol-list vm

Capacidad de volumen virtual#


Muestra la capacidad del disco duro virtual, como espacio ocupado y libre. virsh # vol-info /vm/mantis.img

Ayuda en linea#
Cuando tenemos dudas sobre algn comando que estn dentro de la herramienta virsh, solamente ejecutamos el comando help seguido del comando que tenemos duda. virsh # help vol-list

Salir del administrador#


Para poder salir del administrador de mquinas virtual, solamente tecleamos. virsh # quit

Administracin Grfica#
La instalacin de la Mquinas virtuales dentro de KVM, existen dos mtodos por el cual lo podemos realizar. virt-manager: Que es una herramienta en modo grfico que nos permite instalar la mquinas virtuales. virt-install: Este mtodo es por medio de comando desde una terminal o interprete de comandos.

Estas 2 herramientas vienen dentro del paquete virt-manager, por lo cual procederemos a su instalacin.
hades:~# apt-get install virt-manager Terminada la instalacin reiniciamos el servicio libvirt. /etc/init.d/libvirt-bin restart Con esto ya podremos instalar las mquinas virtuales.

Virt-Manager#
Esta herramienta nos permitir realizar las siguientes caractersticas: Instalacin de Mquinas Virtual. Administracin de la mquinas. Recursos de las mquinas virtuales memoria,cantidad de procesadores virtuales, entre otros dispositivos de los mismos. Uso de CPU, Memoria de la mquina fsica. Termine iniciar, pausar, reiniciar, apagar y forzar el apagado sencillamente. Permite ver el estado actual de las mquinas virtuales. Numero de proceso, Estado Ejecutndose o Callar, uso de CPU, procesadores virtuales y cantidad de memoria ocupada. Borrado de las mquinas virtuales. Configuracin del almacenaje de los discos duros de las mquinas virtuales. Configuracin de red interna por medio de DHCP. Tiempo de refresco de la informacin.

Instalando VM con Virt-Manager#

13 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Para poder ocupar la herramienta tendremos que ir al Men Aplicaciones ---> Administracin ---> Administracin de mquinas virtuales Con esto nos abrir la aplicacin y nos mostrara en pantalla la palabra localhost, ver figura 4.1, el localhost es la mquina fsica, en la cual es la que esta alojando a la mquinas virtuales. Para poder conectarnos a KVM tendremos que dar click derecho sobre localhost y nos permitir conectarnos al dominio 0. Con esto podremos crear las mquinas virtuales, tendremos que dar click sobre el botn de Nuevo para iniciar el asistente de instalacin. Dentro del asistente nos preguntara los siguientes requisitos que necesita para la instalacin de la mquina virtual:
Nombre de la MV. Virtualizacin completa o Paravirtualizacin. Mtodo de instalacin. Ruta del Disco Duro virtual. Memoria y CPU. Configuracin de la red virtual.

Primero nos pregunta el nombre de la mquina virtual. Esto nos sirve para tener un control de las mquinas virtuales ya que la administracin de ellas, es por el nombre o ID. Con esto KVM puede iniciar, apagar, reiniciar, pausar en la mquinas virtuales. Tambin por el nombre es controlado la administracin de recursos como memoria, cpu, etc. Y su estado actual de la mquina virtual. En el mtodo de virtualizacin solamente tenemos dos opciones:
Paravirtualizacin. Completamente virtual izado.

Podemos seleccionar la arquitectura del procesador de los cuales tenemos disponibles:


686 mips sparc

X86_64mipselppc

Mtodo de hipervisor lo tenemos a qemu. Tenemos a disposicin varios mtodos de instalacin como:
Imagen ISO o DVD/CDRom. Va red por medio de HTTP, FTP o NFS. Booteo por medio de red PXE.

Nos permite seleccionar que sistema operativo se va a instalar:


LinuxWindows GenricoUnixOtros

Tambin nos pregunta que versin del sistema operativo deseamos instalar o su distribucin que esta por instalar. Ubicando el medio ptico para la instalacin, en nuestro caso tenemos la imagen iso de la distribucin de debian y en su caso contramos con algn dispositivo DVD/CDRom podremos utilizarlo sin ningn problema. Este pantalla puede ser diferente dependiendo del mtodo de instalacin. Asignacin de espacio para la mquina virtual, tenemos dos opciones:
Una particin del disco duro fsico. Un archivo simple.

Indicamos la ruta en donde se encuentra el disco duro virtual para la instalacin. Siempre se ha utilizado la opcin de archivo simple para generar un disco duro es de la siguiente manera:
Con esto estamos creando un disco duro de 20 GB.

Configuracin de la red de las mquinas virtuales, tenemos la opciones de:

14 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Red virtual: Este mtodo nos sirve si tenemos una vlan en modo route o nat. Dispositivo fsico compartido: Este mtodo nos permite conectarnos a nuestra red local de nuestra oficina o casa. Configuracin por medio de MAC: Con esto ya tendremos configurado el mtodo de red de las mquinas virtuales.

Configuramos la memoria virtual que tendrn la mquina virtual por default tenemos 512 MB y nos marca que tenemos un limite de 1.48 GB en memoria virtual para la mquina virtual. Podemos asignarle cuantos CPU virtuales puede tener nuestra mquina virtual, por default siempre es uno y tenemos en nuestro caso un mximo de 16 procesadores virtuales. Este seria el ultimo paso y este nos genera un resumen total de toda la informacin solicitada por virt-manager para poder iniciar la instalacin de la mquina virtual. Muestra las siguientes caractersticas:
Nombre de la MV. Cantidad de CPU.

Mtodo de virtualizacin. Sistema operativo y versin. Memoria inicial y mxima.Ruta del disco duro virtual y tamao. Tipo de conexin red Sin sonido.

Con todos estos pasos ya instalacin comenzara sin ningn inconveniente.

Estado de las MV#


Al abrir la aplicacin de virt-manager, nos mostrara las MV que tenemos ya instaladas y configuradas. Pero con esta herramienta nos informa del estado actual de nuestra MV y sus caractersticas: Nombre de la MVNumero Identificador MVEjecutando o apagado Uso de CPU Cuantos VCPUS Uso de memoria

Nos muestra informacin en tiempo real de lo que esta pasando en las MV. Pero tambin nos muestra la informacin de la mquina fsica, comnmente llamada localhost.

Administracin de MV#
La administracin de las MV por medio de la herramienta de virt-manager, no simplifica la manera de: Iniciar Apagar MatarPausar Reiniciar

Nuestras MV instaladas dentro del servidor, por cual solamente tendremos que seleccionar la MV y dar click con el botn derecho y nos aparecern todas las opciones anteriormente comentas. Con esto nosotros podemos iniciar, apagar, reiniciar, etc una MV con un simple click de ratn.

Propiedades de las MV#


Para poder las propiedades de las MV virtuales tendremos que seleccionar la MV y dar en botn de abrir, mostrara una nueva pantalla con la informacin mas relevante del sistema.

Obtendremos las siguientes caractersticas:


Conexin a la consola o al ambiente grfico del S.O. Repaso, encontraremos la informacin actual de la cantidad usada en CPU y Memoria. Hardware, tendremos toda la informacin del hardware de la MV. Tenemos las opciones de apagar, reiniciar, pausar, matar, etc. Podremos tomar fotos de la MV. Vista completa o escalada Entre mas opciones.

Configuraciones Mquina Fsica#


Como obtener informacin y configuraciones de la mquina fsica, ya que es muy importante saber como se encuentra.. Para obtener esta informacin tendremos que ir al men de editar ---> Editar ---> Connection Details, nos desplegara una pantalla con 3 pestaas: Repaso. Redes Virtuales. Grupos de Almacenaje.

15 of 16

16/01/2012 10:39 a.m.

Kernel Based Virtual Machine (KVM) - Base de Conocimiento

http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/w...

Repaso#

Esto mostrara el estado actual de nuestra informacin de la mquina fsica.


Nombre la mquina fsicaCantidad de memoria fsica y ocupadaTipo de procesador fsico y su estado

Redes Virtuales#

En este apartado nosotros podremos configurar nuestra red interna que tendrn nuestra MV, ya que el mismo KVM tiene por default integrado un servidor DHCP. Esta configuracin nos permitir tener una red del tipo NAT dentro del mismo KVM para las MV.
Grupos de Almacenaje#

Esta ultima pestaa nos muestra la informacin en donde se encuentran los discos duros virtuales y la capacidad fsica de la misma como su porcentaje de utilizado. Para los discos duros virtuales nos mostrara:
Nombre del disco duro virtual. Tamao del disco duro virtual Ruta en donde se encuentran alojados los discos duros virtuales. 0 archivos adjuntos 19812 Accesos

Promedio (0 Votos)

Comentarios

16 of 16

16/01/2012 10:39 a.m.

You might also like