<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Atlantilde &#187; Qemu</title>
	<atom:link href="http://www.atlantilde.com/tag/qemu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.atlantilde.com</link>
	<description>Blog d&#039;Alexandre Anriot</description>
	<lastBuildDate>Fri, 13 Jan 2012 16:53:15 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Virtualisation avec KVM</title>
		<link>http://www.atlantilde.com/2010/07/26/virtualisation-avec-kvm/</link>
		<comments>http://www.atlantilde.com/2010/07/26/virtualisation-avec-kvm/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 06:43:40 +0000</pubDate>
		<dc:creator>alexandre</dc:creator>
				<category><![CDATA[Datacenter]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Logiciels]]></category>
		<category><![CDATA[Open-Source]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Dedibox]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Qemu]]></category>
		<category><![CDATA[Redhat]]></category>

		<guid isPermaLink="false">http://www.atlantilde.com/?p=282</guid>
		<description><![CDATA[VMware et Xen sont deux systèmes de virtualisation très répendus. En terme d'inconvénients, on peut citer le fait que : VMware soit propriétaire ; Xen ait un avenir incertain depuis son rachat par Citrix ; ce dernier peut également s'avérer contraignant (kernels xenifiés, etc.) Bon nombre de technologies alternatives existent (Hyper-V, OpenVZ, etc.) bien que [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vmware.com/fr/" target="_blank">VMware</a> et <a href="http://www.xen.org/" target="_blank">Xen</a> sont deux systèmes de virtualisation très répendus. En terme d'inconvénients, on peut citer le fait que :</p>
<ul>
<li><a href="http://www.vmware.com/fr/" target="_blank">VMware</a> soit propriétaire ;</li>
<li><a href="http://www.xen.org/" target="_blank">Xen</a> ait un avenir incertain depuis son rachat par <a href="http://www.citrix.fr/" target="_blank">Citrix</a> ; ce dernier peut également s'avérer contraignant (kernels xenifiés, etc.)</li>
</ul>
<p>Bon nombre de technologies alternatives existent (<a href="http://www.microsoft.com/hyper-v-server/" target="_blank">Hyper-V</a>, <a href="http://wiki.openvz.org/Main_Page" target="_blank">OpenVZ</a>, etc.) bien que se plaçant à des niveaux différents (virtualisation, para-virtualisation, simple système de conteneurs, etc.) ; <a href="http://www.linux-kvm.org/" target="_blank">KVM</a> est actuellement en vogue dans le monde Linux et son principal intérêt est d'être pleinement intégré aux OS récents. C'est d'ailleurs sur ce dernier que s'appuie <a href="http://www.fr.redhat.com/" target="_blank">Redhat</a> <a href="http://deltacloud.org/" target="_blank">Deltacloud</a>.</p>
<p><a href="http://www.linux-kvm.org/" target="_blank">KVM</a> (pour "Kernel Based Virtual Machine") est initialement un dérivé de <a href="http://wiki.qemu.org/" target="_blank">Qemu</a> (le bien connu système d'émulation) ; cependant, le monde Open Source connait de nombreux forks mais aussi des regroupements, et ses fonctionnalités ont été intégrées aux sources de <a href="http://wiki.qemu.org/" target="_blank">Qemu</a> ce qui simplifie les évolutions futures.</p>
<p>Pour les habitués de <a href="http://www.vmware.com/fr/" target="_blank">VMware</a> ou de <a href="http://www.xen.org/" target="_blank">Xen</a>, notons au passage que <a href="http://www.linux-kvm.org/" target="_blank">KVM</a> n'est pas un hyperviseur ,il s'agit d'une suite d'outils permettant de créer et d'administrer des machines virtuelles indépendantes.Pour un fonctionnement de type "hyperviseur", vous pouvez utiliser des systèmes comme l'API <a href="http://libvirt.org/" target="_blank">libvirt</a>.</p>
<p>Voici quelques informations minimales au sujet de cette solution.</p>
<p><a href="http://www.linux-kvm.org/" target="_blank">KVM</a> dispose d'une ensemble de services réseau intégrés au mode <strong>utilisateur</strong> (comme un serveur DHCP), notons que :</p>
<ul>
<li>le réseau par défaut est 10.0.2.0/8 ;</li>
<li>la passerelle est en 10.0.2.2 ;</li>
<li>le serveur de noms est en 10.0.2.3 ;</li>
<li>le serveur SMB est en 10.0.2.4 ;</li>
<li>les machines virtuelles sont adressés à partir de 10.0.2.15.</li>
</ul>
<p>Notons également que :</p>
<ul>
<li>Plusieurs outils d'administration existent (voir la <a href="http://www.linux-kvm.org/page/Management_Tools" target="_blank">liste complète</a>) ;</li>
<li>Il est possible de travailler avec le switch virtuel <strong>vde</strong> dont les fonctionnalités sont pleinement supportées ;</li>
<li>LVM peut représenter un bon complément dans certains cas.</li>
</ul>
<p>Enfin, notons que la version intégrée à Debian Lenny peut poser quelques problèmes (par exemple, l'installation d'une vm peut planter lors du grub-install) et il est préférable de passer aux packages de Squeeze (le package "qemu-kvm" remplace "kvm").</p>
<p>Passons à l'installation sur une Dedibox :</p>
<ul>
<li>Connexion au serveur en SSH (X forwarding, compression, et l'utilisateur doit avoir des privilèges suffisants dans sudo) :</li>
</ul>
<blockquote><p>$ ssh -XC USER@VOTRE_SERVEUR</p></blockquote>
<ul>
<li>Ajout dans /etc/apt/sources.list de :</li>
</ul>
<blockquote><p># squeeze<br />
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free<br />
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free</p>
<p># squeeze security<br />
deb http://security.debian.org/ squeeze/updates main contrib non-free<br />
deb-src http://security.debian.org/ squeeze/updates main contrib non-free</p></blockquote>
<ul>
<li>Dans /etc/apt/preferences :</li>
</ul>
<blockquote><p>Package: qemu-kvm<br />
Pin: release a=testing<br />
Pin-Priority: 999</p>
<p>Package: *<br />
Pin: release a=stable<br />
Pin-Priority: 500</p>
<p>Package: *<br />
Pin: release a=lenny-backports<br />
Pin-Priority: 400</p>
<p>Package: *<br />
Pin: release a=testing<br />
Pin-Priority: 200</p></blockquote>
<ul>
<li>Puis :</li>
</ul>
<blockquote><p>$ sudo aptitude install bridge-utils qemu-kvm</p></blockquote>
<ul>
<li>Vérification de la présence des modules :</li>
</ul>
<blockquote><p>$ lsmod|grep kvm<br />
kvm_intel 37600 0<br />
kvm 213196 1 kvm_intel</p></blockquote>
<ul>
<li>Téléchargement d'un media d'installation de Debian Lenny 64 :</li>
</ul>
<blockquote><p>$ mkdir installs &amp;&amp; cd installs<br />
$ wget http://cdimage.debian.org/debian-cd/5.0.5/amd64/iso-cd/debian-505-amd64-netinst.iso</p></blockquote>
<ul>
<li>Création d'un disque virtuel de 30Go, au format <em>qcow2</em> :</li>
</ul>
<blockquote><p>$ sudo kvm-img create -f qcow2 /home/vms/srv01-vm01.qcow 30G</p></blockquote>
<ul>
<li>Le format <em>qcow2</em> est nécessaire aux fonctionnalités de type snapshot. Si vous ne choisissez pas le format qcow2, le disque virtuel sera créé au format <em>raw</em>. Pour convertir un tel disque ou un disque au format <em>qcow</em> au format <em>qcow2</em>, vous pouvez utiliser la commande (comptez 15 minutes pour un disque de 30 Go) :</li>
</ul>
<blockquote><p>$ qemu-img info /home/vms/srv01-vm01.qcow<br />
image: /home/vms/srv01-vm01.qcow<br />
file format: qcow<br />
virtual size: 30G (32212254720 bytes)<br />
disk size: 2.0G<br />
cluster_size: 4096</p></blockquote>
<blockquote><p>$ kvm-img convert -O qcow2 /home/vms/srv01-vm01.qcow /home/vms/srv01-vm01.qcow2</p></blockquote>
<ul>
<li>Lancement de l'installation :</li>
</ul>
<blockquote><p>$ sudo kvm -no-kvm -k fr -hda /home/vms/srv01-vm01.qcow2 -cdrom ~/installs/debian-504-amd64-netinst.iso -boot d</p></blockquote>
<p style="text-align: center;"><a href="http://www.atlantilde.com/wp-content/uploads/2010/07/kvm.png"><br />
</a><a href="http://www.atlantilde.com/wp-content/uploads/2010/07/installation1.png"><img class="aligncenter size-medium wp-image-298" title="installation" src="http://www.atlantilde.com/wp-content/uploads/2010/07/installation1-300x235.png" alt="" width="300" height="235" /></a></p>
<ul>
<li>Lancement de la vm (avec 1 vcpu, 128 Mo de RAM, un service VNC activé, et le service SSH accessible sur le port 23/tcp via l'adresse IP du serveur) :</li>
</ul>
<blockquote><p>$ sudo kvm -no-kvm -k fr -hda /home/vms/srv01-vm01.qcow2 -redir tcp:23::22 -daemonize -vnc localhost:0</p></blockquote>
<ul>
<li>Lancement de la vm avec 2 vcpus et 256Mo de RAM :</li>
</ul>
<blockquote><p>$ sudo kvm -no-kvm -k fr -hda /home/vms/srv01-vm01.qcow2 -redir tcp:23::22 -daemonize -vnc localhost:0 -smp 2 -m 256</p></blockquote>
<ul>
<li>Vous pouvez ensuite vous y connecter :</li>
</ul>
<blockquote><p>$ vncviewer -via VOTRE_SERVEUR localhost:0</p></blockquote>
<ul>
<li>Il est alors possible de switcher avec control+alt+1/2/3 entre la console de la vm, le moniteur <a href="http://wiki.qemu.org/" target="_blank">Qemu</a>, et le port série de la vm.</li>
</ul>
<ul>
<li>Ligne de démarrage à ajouter dans /etc/rc.local :</li>
</ul>
<blockquote><p>/usr/bin/kvm -no-kvm -k fr -hda /home/vms/srv01-vm01.qcow2 -redir tcp:23::22 -daemonize -vnc localhost:0</p></blockquote>
<ul>
<li>Pour créer un snapshot dans le moniteur <a href="http://wiki.qemu.org/" target="_blank">Qemu</a>, vous pouvez exécuter :</li>
</ul>
<blockquote><p>(qemu) savevm snap1</p></blockquote>
<ul>
<li>Pour visionner vos snapshots :</li>
</ul>
<blockquote><p>(qemu) info snapshots</p></blockquote>
<ul>
<li>Pour le restaurer en temps réel, depuis le moniteur <a href="http://wiki.qemu.org/" target="_blank">Qemu</a> :</li>
</ul>
<blockquote><p>(qemu) loadvm snap1</p></blockquote>
<ul>
<li>Si votre vm ne boot plus, vous pouvez également le restaurer depuis la ligne de commande :</li>
</ul>
<blockquote><p>$ sudo kvm -no-kvm -k fr -hda /home/vms/srv01-vm01.qcow2 -redir tcp:23::22 -daemonize -vnc localhost:0 -loadvm snap1</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.atlantilde.com/2010/07/26/virtualisation-avec-kvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

