Máquinas virtuales en Linux usando KVM y QEmu

10 02 2009

Bueno tras muchos meses de inactividad del blog me he decidido a publicar un pequeño tutorial para crear máquinas virtuales usando kvm y qemu en linux.

1.Requisitos para entorno local

Necesitamos instalar los paquetes kvm y qemu. Y activar en la bios de nuestro ordenador la opcion de virtualización.

apt-get install kvm qemu

si no tenemos permisos de root

sudo apt-get install kvm qemu

O bien si estamos en ubuntu a traves del gestor de paquetes synaptic.

Cargamos los modulos necesarios dependiendo de nuestro procesador:

modprobe kvm-intel

o

modprobe kvm-amd

Añadimos sudo si no tenemos permisos de root.

Para no tener que volver a cargar el modulo necesario en cada reinicio podemos añadir el modulo que corresponda a nuestro procesador en el fichero /etc/modules

Para ello lo editamos con permisos de root y añadimos kvm-intel o kvm-amd

2.Creación de disco duro virtual

Necesitamos crear un disco duro virtual donde instalaremos nuestro sistema operativo.

Es recomendable crear los discos duros bajo una misma carpeta para tener localizadas nuestras maquinas virtuales.

Para ello ejecutaremos la siguiete línea dentro del directorio donde vamos a crear nuestras maquinas virtuales.

qemu-img create NOMBRE_MAQUINA_VIRTUAL.img -f qcow2 5G

Sustituiremos NOMBRE_MAQUINA_VIRTUAL por el nombre que queramos darle a nuestra nueva maquina, puede ser windowsXPpruebas, ubuntu810pruebas……

-f  qcow2 indica el formato que le vamos a dar a nuestra maquina virtual, para mas información sobre los formatos visitar la página oficial de qemu.

Por ultimo 5G nos indica que el espacio máximo disponible sera de 5GB, suficiente para crear un entorno windows XP para realizar pruebas.

3.Instalación del nuevo SO virtual

Podemos realizar la instalacion mediante dos metodos.

A partir de una imagen iso

kvm -m 512 -cdrom /home/user/imagenSO.iso -boot d NOMBRE_MAQUINA_VIRTUAL.img

A partir de un cd/dvd

kvm -m 512 -cdrom /dev/cdrom -boot d NOMBRE_MAQUINA_VIRTUAL.img

Breve explicacion de los parametros:

-m 512 quiere decir que arrancaremos la instalacion con una memoria ram virtual de 512

-cdrom /….. -boot d indica que arrancaremos nuestra maquina virtual a partir de un cd

NOMBRE_MAQUINA_VIRTUAL.img indica la imagen donde vamos a instalar el nuevo SO.

Se nos abrirá una nueva pantalla con el proceso de instalación de SO que hayamos elegido.

4.Arranque de máquina virtual

Existen varios parametros para configurar el arranque de una maquina virtual, para ver los parametros disponibles podemos ejecutar la siguiente instruccion por consola

kvm --help

Un ejemplo de arranque de maquina virtual podría ser el siguiente:

kvm -no-acpi -m 512 NOMBRE_MAQUINA_VIRTUAL.img

Para arrancar la maquina virtual que no se os cierre al cerrar el terminal hay que añadir la opcion -daemonize al arranque

kvm -no-acpi -daemonize -m 512 NOMBRE_MAQUINA_VIRTUAL.img

Para apagar la maquina virtual, cerramos el SO virtual de forma normal como si fuera una maquina mas y para darle un botonazo como si desenchufaramos un ordenador, jejeje simplemente cerrar la ventana que se os abrio con la maquina virtual.

Evidentemente para arrancarlo desde una carpeta distinta de donde se encuentra la maquina virtual hay que añadir la ruta completa de la maquina virtual al nombre de la maquina virtual.

Para mayor comodidad podeis crear un script de arranque, tipo arrancar_nombreMaquina.sh 🙂

5.Configuración avanzada de red.

Para que nuestra nueva máquina virtual sea acesible dentro de nuestra red es necesario realizar una serie de modificaciones.

5.1. Requisitos

Es neceario instalar el paquete bridge-utils

apt-get -u install bridge-utils

5.2. Crear interfaz de red

Necesitamos crear una nueva interfaz de red que nos haga de puente entre nuestra máquina virtual y nuestra red. Para ello modificamos el fichero /etc/network/interfaces y añadimos:

iface br0 inet dhcp
bridge_ports eth0
bridge_stp off

Con estas líneas estamos creando una nueva interfaz llamada br0, que será el bridge.

Con bridge_ports eth0, lo que estamos haciendo es añadir al bridge el puerto eth0.  Podemos añadirlo al interfaz de red que queramos, para consultar los interfaces de red disponibles ejecutar ifconfig en consola

STP (Spanning Tree Protocol) es un protocolo para correr múltiples bridges, o bridges redundantes. En nuestro caso lo desactivamos porque no aplica

5.3. Configurando interfaz de red en KVM

Es necesario editar el fichero /etc/kvm/kvm-ifup, sustituyendo su contenido por el siguiente:

ifconfig $1 0.0.0.0 promisc up
brctl addif br0 $1
exit 0

Con brctl addif br0 $1 estamos añadiendo el otro extremo del bridge. Nuestro bridge ya está completo y pasará los paquetes de eth0(el sistema host) a tap0(el sistema guest) y viceversa.

5.4. Arrancando el invento.

Tendremos que realizar los siguientes pasos para usar nuestro nuevo entorno de red.

Primero: Arrancamos la nueva interfaz de red mediante consola ejecutando.

ifup br0

Segundo: Arrancamos nuestra máquina virtual con los siguientes parámetros.

kvm -m 512 -net nic -net tap NOMBRE_MAQUINA_VIRTUAL.img

Con -net nic y -net tap estamos estableciendo el punto de union con nuestra red local.

Se pueden incluir mas parametros de arranque tales como -no-acpi , -daemonize usados anteriormente.

Tercero: Parar la nueva interfaz de red.

Tras apagar nuestra máquina virtual tenemos la opción de desactivar la nueva interfaz de red mediante el comando

ifdown bro

Bueno pues esto es todo espero que os sirva de ayuda y os sea útil, cualquier comentario, sugerencia o lo que sea será bien recibido.

AGRADECIMIENTOS.

Muchas gracias al tutorial de Alejandro Pérez García sin el cuál no habría configurado tan rapido la red local, jejeje. Podeis ver su tutorial es este enlace: Tutorial KVM Red original





Enjuto Mojamuto y Linux

24 04 2008

Bueno, bueno, bueno, el capitulo de hoy de muchachada nui nos ha regalado un episodio de Enjuto Mojamuto promocionando Linux, mas en concreto Ubuntu.

Videar, videar el video, jejejeje.

Se acerca el fin de windoce…… la revolución continua……… linux vencerá………..

No temais a los pingüinos, son el futuro!!!





Linux en HP Pavilion dv6778es

8 04 2008

Bueno os dejo un pequeño tutorial de como hacer que este portatil funcione bajo Linux. La verdad que me ha sorprendido muy gratamente ya que la mayoria de componentes de este portatil son compatibles con Linux. Al menos todo lo que he probado funciona.

Distribución elegida: Ubuntu Linux 7.10 Gutsy Gibbon.
Kernel: 2.6.22
Plataforma: 32 Bits.

1. Instalación de Ubuntu Linux.

Insertamos el live cd de ubuntu y arrancamos el ordenador.
Una vez cargado el live cd iniciamos el proceso de instalación.
Necesitamos particionar el disco duro de 250Gb. Inicialmente el disco duro esta particionado en dos, una particion d unos 11Gb para la recuperacion del sistema y el resto del disco duro para el sistema operativo windows vista.

  • Si hp nos ha facilitado los discos de recuperacion de sistema o los habeis hecho con la aplicacion correspondiente que viene instalada por hp, podremos eliminar la particion de recuperación. Si tampoco queremos mantener windows vista instalado, tambien podremos cepillarnos esa partición. Con lo que tendremos el disco duro entero disponible para instalar nuestro Linux. Ahora haremos una particion swap y las partciones que creais oportunas.
    Un ejemplo podría ser el siguiente:

    2Gb para swap y el resto para la raiz (/) en ext3. Tambien podemos particionar la raiz en las particiones que creamos mas adecuadas (/boot , /home, /).

  • Si por el contrario no queremos deshacernos de estas particiones podremos tener la siguiente distribución de particiones:

    12Gb recuperación del sistema
    115Gb Windows
    115Gb Raiz (/)
    2 Gb para swap

  • A la hora de formatear las particiones para Linux podemos optar por varios sistemas de archivos. El mas común y el que se usa por defecto en la instalación de ubuntu es el formato EXT3. Recientemente he estado mirando analisis hechos sobre los distintos sistemas de archivos para linux y he visto que tanto XFS y JFS salen mejor parados que EXT3. Yo personalmente me decanto por XFS, pero he visto que GRUB no permite ese formato como partición de arranque, así que la solucion es hacer una pequeña partición en EXT para /boot y el resto en XFS u optar por LILO en vez de GRUB, pero esto ya es parte de otro tutorial que, cuando haga las pruebas, publicaré.

Una vez particionado el disco a vuestro gusto continuamos la instalación y esperamos hasta que termine. Y reiniciamos el sistema.

Bueno a continuacion ire explicando la compatibilidad de los componentes con Linux.

2. Altavoces y microfono.

Una de las cosas que primero llama la atención es que no hay soporte de audio tras la instalación. Esto es debido a que el kernel 2.6.22 no tiene soporte para el chipset de audio Intel Santa Rosa ICH8 que trae este portatil.

Lo mas facil para dar soporte a nuestra tarjeta de audio es instalar el paquete linux-backports-modules

sudo apt-get install linux-backports-modules

Este paquete continiene los ultimos drivers desarrollados para el kenel 2.6.22 de nuestro ubuntu 7.10. En el kernel 2.6.24 que traera Ubuntu 8.04 estos drivers ya estan soportados por defecto.

Una vez instalados los driver abrimos el control del volumen, haciendo click con el boton derecho del ratón en el altavoz de la barra de tareas y seleccionamos Abrir el control del volumen. Una vez abierto el control del volumen vamos a Editar–>Preferencias y seleccionamos todos los dispositivos que alli aparezcan. Ahora el panel del control del volumen estara mas completo. Ahora ya dispondremos de las pestañas siguientes:

Reproduccion, Grabando, Conmutadores y Opciones. En la pestaña opciones podremos seleccionar el dispositivo de entrada para la grabacion, front mic son los microfonos integrados y mic es la entrada de microfono.

Por otro lado tenemos que establecer que el control del volumen sea sobre PCM y no sobre Font, por defecto esta en Font. Si el control del volumen es sobre Font al ponernos auriculares inicialmente se silenciaran los alatvoces del portatil pero cuando intentemos subir el volumen se subira el volumen de los altavoces y de los auriculares, asi que necesitamos que el control sea sobre PCM. Esto se consigue haciendo click con el boton derecho en el altavoz de la barra de tareas y seleccionar preferencias. Se nos abrira una ventana en la que pulsaremos sobre PCM y la cerraremos.

3. Video.

Tenemos la suerte de contar con una tarjeta grafica nVidia con lo que la compatibilidad con linux esta asegurada para hacer funcionar compiz. Tan solo necesitamos instalar los controladores restingidos o los drivers que nos proporciona nVidia en su pagina.

Ahora solo tendreis que seguir cualquier tutorial para habilitar compiz fusion.

Para que el control de brillo funcione correctamente:

Mediante las teclas fn+f7 y fn+f8 podremos subir y bajar el brillo de la pantalla.

Lo que ocurre es que el gnome-power-manager periodicamente chequea el brillo y lo pone al nivel que se ha establecido en Sistema->Preferencias->Gestion de Energia.

De tal forma que no se guarda las modificaciones que hacemos mediante las teclas. Para evitar este inconveniente debemos desactivar este chequeo, para ello abrir gconf-editor e ir a /apps/gnome-power-manager/backlight y desactiva la opción enable.

4. Conexiones de Red.

Intel wireless 3945ABG: La conexión wireless funciona nada mas activar el botón.

Puerto Ethernet: La conexión ethernet funciona nada mas conectar el cable.

Tan solo hay una pequeña pega con el wireless y es en el led. Normalmente esta en naranja cuando no esta activado y en azul cuando se activa. He comprobado que si esta desactivado efectivamente esta en naranja, pero al estar activado a veces se queda en naranja hasta que no se realiza alguna conexión. Yo lo veo como una mejora con respecto a la funcionalidad original.

5. Webcam.

Funciona con cualquier programa que use una webcam, como pueden ser Ekiga, Skype…

6. Touchpad Synaptics.

Como ya ihabreis comprobado el pad que hace las veces de raton funciona correctamente. Incluso funciona el desplazamiento vertical. Ubuntu 7.10 ya dispone de una configuracion basica para el touchpad en Sistema–>Preferencias–>Raton. No osbtante podemos instalar GSynaptics (KSynaptics en KDE) para una configuración un poco mas avanzada.

Si optamos por GSynaptics los instalaremos desde los repositorios y despues editaremos el fichero xorg.conf para añadir el soporte necesario. Para ello haremos lo siguiente:

sudo gedit /etc/X11/xorg.conf

Buscamos la seccion Synaptic Touchpad y añadimos la siguiente linea:

Option “SHMConfig” “true”

Guardamos los cambios y cerramos el fichero. Necesitamos tambien reiniciar las X para que los cambios surtan efecto. Para ello pulsaremos Ctrl-Alt-Retroceso.

7. Botones táctiles de función.

Funcionan correctamente. Subir, bajar y silenciar el volumen, todo correcto.

No obstante se pueden editar en Sistema–>Preferencias–>Combinaciones de teclas.

8. Mando a distancia.

Funcionan del mismo modo que los botones tactiles de función, son los mismo botones. Tener cuidado con el boton de apagar del mando a distancia que tambien funciona, jejeje, y os encendera u os apagara el portatil depende de como este el portatil cuando le deis al boton, jejeje.

9. Lector de tarjetas multimedia.

Funciona correctamente. Al insertar una tarjeta esta se monta como una unidad mas.

10. Salida VGA y HDMI.

Una vez instalado el driver de nVidia la salida VGA funciona sin problemas. Sin conectamos un monitor y pulsamos las teclas fn+f4 y nos hara un clon de la pantalla del monitor, si volvemos a pulsar se activara solo la pantalla auxiliar y si volvemos a pulsar se activara solo la pantalla del monitor, si volvemos a pulsar la combinacion de teclas se inicia el ciclo de nuevo. Tambien podremos configurar cualquier otra combinacion de monitores desde el panel de control de nVidia (Separated Screen, Twin view…), como por ejemplo tener dos escritorios independientes en ambos monitores.

La salida HDMI aun no he podido testearla.

11. Entradas Firewire y USB.

Funcionan sin ningún problema

12. Lightscribe.

Funciona sin ningún problema, instalando los drivers necesarios.

En la pagina de laCie http://www.lacie.com/us/products/product.htm?pid=10803 disponemos del driver necesario y un porgrama de etiquetado.

LightScribe Host Software v1.4.113.1 for Linux : Es el driver que da soporte a Lightscribe.

LaCie LightScribe Labeler for Linux : Es el programa para etiquetar discos lightscribe.

Como podreis comprobar son paquetes rpm pero ubuntu maneja paquetes deb, por lo que necesitamos debianizar los paquetes. Para ello instalamos el paquete alien y todas sus dependencias.

sudo apt-get install alien

Una vez instalado el paquete alien ejecutamos el siguiente mandato para debianizar los rpm:

sudo alien -d nombreDelPaquete.rpm

Ejecutamos el comando para los dos archivos y ya tenemos nuestros .deb listos para instalar. Primero instalar el driver y luego el programa de etiquetado.

Para ejecutar el programa simplemente teclear en consola:

sudo 4L-gui

Al reiniciar el equipo os deberia aparecerun enlace en el menu de inicio. De todas formas yo he tenido problemas si no lo ejecutaba como sudo.

13. Calibración de la bateria.

HP recomienda hacer una calibracion de la bateria cada 3 meses. Es decir permitir que la bateria se descargue por completo. Para ello vamos a Sistema->Preferencias->Gestion de Energia y en la pestaña Con Bateria poner la opcion de Cuando la carga de bateria este criticamente baja: a No hacer nada

14. Combinaciones de teclas con FN.

Se ha comprobado el funcionamiento de todas las combinaciones con la tecla FN y todas funcionan como cabia esperar.

fn+f1 : abre la ayuda

fn+f2 : abre el dialogo para imprimir

fn+f3 : abre el navegador web predeterminado

fn+f4 : clona la pantalla en caso de tener un monitor en la salida VGA

fn+f5 : pone el equipo en suspension.

fn+f6 : bloquea la pantalla.

fn+f7 : disminuye el brillo.

fn+f8 : aumenta el brillo.

fn+f9 : play/pausa si esta configurado en el reproductor

fn+f10 : stop si esta configurado en el reproductor

fn+f11 : anterior si esta confgurado en el reporductor

fn+f12 : siguiente si esta configurado en el reporductor

fn+despl : blq num, activa el bloqueo numerico para usar el teclado numerico integrado en el teclado.

fn+pausa : inter, no se que es lo que tiene que hacer

fn+ins : impr pa, hace una captura de pantalla

fn+supr : pet sis, no se que es lo que tiene que hacer.

15. Agradecimientos.

Esta guía ha sido posible gracias la pagina Linux on Laptops y al blog http://aldeby.org/blog

Proximamente se comprobará el funcionamiento en Ubuntu 8.04.





Kill Bill Volumen 3

7 04 2008

Una pequeña pelicula mezcla de matrix y kill bill, jejeje





GNU/Linux vencerá…

4 04 2008

Seguimos con los videos que promocionan a Linux. Este es un poco largo pero merece la pena.

  • First they ignore you…
  • Then they laught at you…
  • Then they fight you…
  • Then you win…
  • (Gandhi)

Primero ignoraban a Linux, luego se reian de los que usaban Linux, ahora estan empezando a ver a linux como un serio competidor y lo atacan…… Ya sabeis cual es el siguiente paso……. Venceremos!!!!!!!





Be Linux, be free

3 04 2008

El video lo dice todo.

Y si aun os queda alguna duda podeis ver el video del niño Linux que tambien esta en este blog, jejeje.





Creando niño LINUX

11 02 2008

Increible video. Hacen una analogia de como seria la vida de un niño basado en Linux. Como el modelo de Open Software es capaz de absorver mayor informacion muy rapido. Hay muchos mensajes en el video que hacen referencia a una cultura libre. Se puede ver como es posible un mundo con una cultrua libre ya que es IBM quien ha hecho el video, una multinacional como IBM promocionando software libre.

Os recomiendo que lo veais

Welcome to the future. Welcome to LINUX.