Virtualizacion con QEMU y KVM

Descripción 

Sistema de Virtualizacion libre

Prerequistos

Un GNU/Linux .. hemos probado y corrido Scientific Linux

Procedimiento

A. Instalación básica 

B. Configuración

C.  Webmin

 

Problemas

A. No tengo red

En algunos sistemas no se crea el dispositivo bridge para que se peguen las maquinas virtuales.

Entonces es necesrio configurar un br0 pegado de eth0 .. y listo

 

Configuraciones especiales y Trucos

A. Redimensionar un disco en caliente

  1. Apague
  2. Saque backup del disco .. (copielo)
  3. Agrandelo a ( por ejemplo 5G) con 
dd bs=1 if=/dev/zero of=dominica.img seek=5G count=0
  1. reincie
  2. Y aqui puede, ya sea agrandar la particion o agregar otra

Referencia: http://marc-abramowitz.com/archives/2005/12/18/resizing-a-qemu-virtual-machine-partition-and-filesystem/


OJO .. si encima de este tiene LVM .. toca usar pvresize para agrandar el disco ..y ya ser reporga en vg .. y ya puede seguir estandar
 

B. Convierta imagenes de VMware y Vbox

Estos procesos convierten las imagenes en RAW .. que son usables

WMware:   qemu-img convert -O raw BA-Calisto.vmdk Calisto.img

Virtualbox:  VBoxManage clonehd –format RAW ubuntu.vdi ubuntu.img

Aunque la recomendacion es usar qcow

qemu-img convert -f raw ubuntu.img -O qcow2 ubuntu.qcow

pero pues da igual

https://www.dalemacartney.com/2013/01/05/converting-vmware-disk-images-to-use-in-kvm/

C. Migrar maquinas xml de un lado a otr

virsh -c qemu:///system define maquina.xml
 

D. Emulacion de arquitecturas de procesador especificas

QEMU/KVM tiene la posibilidad de emular distintas arquitecturas de procesador, la unica restriccion es que esta debe ser definida antes de instalar la maquina.

Liste las emulaciones que soporta su servidor de virtualizacion:

/usr/bin/kvm -cpu ?


Cree la nueva maquina virtual, como lo hace normalmente, pero no instale el sistema operativo, apaguela y modifique el archivo de configuracion.
 

virsh dumpxml testVM > /tmp/testVM.xml


Agregue al archivo testVM.xml despues de features el modelo de la cpu con los parametros que soporta (ver documentacion de libvirt):
 

 <cpu match='exact'> <model>core2duo</model> <vendor>Intel</vendor> <topology sockets='1' cores='2' threads='1'/> <feature policy='disable' name='lahf_lm'/> </cpu>


Vuelva a definir el archivo de la maquina virtual:
 

virsh define /tmp/testVM.xml


Inicie la maquina e instale normalmente. La maquina instalada correra sobre un procesador core2duo.

NOTA: El cambiar la arquitectura del procesador hace que la maquina no sea facilmente migrable entre distintos hosts con procesadores fisicos diferentes.
 

 

E. Optimizacion para win7

https://pve.proxmox.com/wiki/Windows_7_guest_best_practices

F. MacOS con cpu ARM (Apple Silicon)

Problemas 

Storage parameter error. Internal error storage pool is not active

Usando virt-manager para crear una nueva maquina virtual, en el paso de crear la imagen del disco, se obtiene ese error.

La forma de solucionarlo es arrancando el pool:

> virsh pool-start default


Si el pool es diferente al defecto, listelos todos y arranque el que necesite:

> virsh pool-list --all

error starting domain:timed out during operation: cannot acquire state change lock

Usando virt-manager para clonar una maquina virtual, despues de clonada la maquina original no inicia.

La forma de solucionarlo es reiniciar libvirtd. No interfiere con los procesos normales de virtualizacion, solo con el virt-manager.

killall -9 libvirtdrm /var/run/libvirtd.pid/etc/init.d/libvirt-bin restartReinicie virt-manager.



Referencias

05-Julio-2012 J.C. Pineros C. v1.0 Error domain corregido
16-Mayo-2012 J.C. Pineros C. v1.0 Emulacion de CPU, referencia.
11-Abril-2012 J.C. Pineros C. v1.0 Agregado error pool de almacenamiento.
15-Marzo-2006 J.E.Gomez v1.0 Primera version


Advertencia

Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal. 


Volver arriba