OVH Cloud OVH Cloud

question preliminaires qemu

7 réponses
Avatar
R12y
Bonjour,

Sur mon ordinateur, qui est sous Fedora, je voudrais mettre un
Qemu pour avoir une vraie Debian virtuelle et une autre Fedora virtuelle,
que je peux casser et réinstaller à souhait.
Il y aura donc deux distributions virtuelles et la distribution réelle sur
laquelle le tout tourne.

Est-ce que à chaque distribution virtuelle je pourrais attribuer une
adresse IP de manière à simuler un LAN de trois postes?

Mon but est de faire des distributions virtuelles de développement,
pour y faire du packaging intensif (resp .deb et .rpm). Comme on le sait,
chaque système de packaging dispose de son fichier de "compilation" (resp.
"rules" et "specfile"). Je traite ces fichiers avec Emacs+X11. Il y a donc
plusieurs cas possibles:

- Acceder à chaque distribution virtuelle par SSH, histoire de vraiment
simuler un serveur distant, et faire du X11Forwarding (d'ou la question
initiale sur la possibilité de LAN) pour Emacs.

- Lancer Emacs directement dans la distribution virtuelle, mais ensuite,
il faudra quand même extraire le package tout fait de là pour l'uploader
et le soumettre à la communauté de testeurs, donc besoin de LAN quand même
pour le transfert.

Si vous me dites que Qemu peut me permettre de simuler un LAN avec les
distributions virtuelles que je vais y installer, alors ça vaut le coup
que je m'investisse dans la lecture de sa documentation, sinon, il vaut
peut-être mieux que je m'investisse dans une autre solution.

J'ai bien pensé à installer les distributions dont j'ai besoin sur
d'autres partitions et faire un simple chroot, mais ça ne me plait pas
trop. Je voudrais tester la virtualisation si elle me permet cette
histoire de LAN... ça me permettrai de découvrir aussi...

Merci de vos réponses.

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

7 réponses

Avatar
R12y
R12y :
Est-ce que à chaque distribution virtuelle je pourrais attribuer une
adresse IP de manière à simuler un LAN de trois postes?


http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC20

Mais je suis toujours preneur d'une solution pour remplacer Qemu si
quelqu'un estime q'il y a mieux pour mon usage.

--
Debian/apt Repo: http://locataire-serveur.info/sections/liens/debian-repository
Fedora/yum Repo: http://locataire-serveur.info/sections/liens/fedora-core-yum

Avatar
dyrmak
R12y a écrit dans :

R12y :
Est-ce que à chaque distribution virtuelle je pourrais attribuer une
adresse IP de manière à simuler un LAN de trois postes?


http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC20

Mais je suis toujours preneur d'une solution pour remplacer Qemu si
quelqu'un estime q'il y a mieux pour mon usage.

C'est tout à fait ce que je pense possible de faire avec QEMU, un LAN

entièrement virtuel, malheureusement je n'ai pas encore bien compris
comment créer le LAN dans son intégralité:
Exemple: j'ai suse73.img et debiansarge.img donc je voudrais faire
un LAN="mon computer + suse73 + debiansarge" j'arrive, mais
après la théorie diverge de la pratique bon bon je vais pas rentrer
dans les détails car là je marche à tâtons.
Mais un LAN="mon computer + suse73.img" ou un LAN="mon computer +
debiansarge.img" fonctionne à merveille et là ça me suffit pour déjà pas
mal de choses, mon but ayant été d'avoir un fax-xtel portable afin
de ne pas avoir de démons sur le principal, un fichier sert de passerelle
et la debiansarge.img se comporte comme serveur-client fax, pas même
besoin de lui configurer l'imprimante juste un client CUPS et se sert
de l'imprimante du LAN virtuel.

L'avantage c'est qu'on a un LAN sans problème de câblage ni "wifage"
l'inconvénient c'est que la "lenteur" sur ordi pas rapide.

dyrmak


Avatar
Ploc
R12y wrote:
Bonjour,

Sur mon ordinateur, qui est sous Fedora, je voudrais mettre un
Qemu pour avoir une vraie Debian virtuelle et une autre Fedora virtuelle,
que je peux casser et réinstaller à souhait.
Il y aura donc deux distributions virtuelles et la distribution réelle sur
laquelle le tout tourne.

Est-ce que à chaque distribution virtuelle je pourrais attribuer une
adresse IP de manière à simuler un LAN de trois postes?

Mon but est de faire des distributions virtuelles de développement,
pour y faire du packaging intensif (resp .deb et .rpm). Comme on le sait,
chaque système de packaging dispose de son fichier de "compilation" (resp.
"rules" et "specfile"). Je traite ces fichiers avec Emacs+X11. Il y a donc
plusieurs cas possibles:

- Acceder à chaque distribution virtuelle par SSH, histoire de vraiment
simuler un serveur distant, et faire du X11Forwarding (d'ou la question
initiale sur la possibilité de LAN) pour Emacs.

- Lancer Emacs directement dans la distribution virtuelle, mais ensuite,
il faudra quand même extraire le package tout fait de là pour l'uploader
et le soumettre à la communauté de testeurs, donc besoin de LAN quand même
pour le transfert.

Si vous me dites que Qemu peut me permettre de simuler un LAN avec les
distributions virtuelles que je vais y installer, alors ça vaut le coup
que je m'investisse dans la lecture de sa documentation, sinon, il vaut
peut-être mieux que je m'investisse dans une autre solution.

J'ai bien pensé à installer les distributions dont j'ai besoin sur
d'autres partitions et faire un simple chroot, mais ça ne me plait pas
trop. Je voudrais tester la virtualisation si elle me permet cette
histoire de LAN... ça me permettrai de découvrir aussi...

Merci de vos réponses.



Je fais qqchose de similaire pour slack.
J'ai une image d'une installation "sans rien d'exterieur",
slack_orig.img par exemple.
Qaund je veux faire un package, je fais une copie de slack_orig.img dans
slack.img.
Je lance qemu -hda slack.img -redir tcp:2222::22 qui m'ouvre une machine
hote sur laquelle je peux me connecter via ssh -p 2222 localhost (qemu
redirige vers 22). Apres, travail et sftp (dans un sens ou dans l'autre).
Apres avoir fait mo package et l'avoir recupere, j'efface l'image de
travail.
Une petite remarque avec ssh: les machines hotes et hebergee ont des
cles ssh differentes, donc il rale. Pour eviter ca, j'ai cree un
utilisateur qui ne sert qu'a me connecter a la machine hebergee.

Sinon, on peut faire plus simple: on se connecte directement (dans la
fenetre de la machine hebergee). Cette machine a une ip du type 10.0.x.x
et permet de voir le monde exterieur (meme internet si la machine hote
est connectee), donc, on peut tres bien faire du (s)ftp directement de
la machine hebergee vers la machine hote.

Pour connecter 2 postes virtuels: voir la doc de qemu
http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC24

Vraiment, qemu c'est tres bien (meme pour voir des live-cd sans les
graver) et relativement simple a utiliser. Mangez en!

Avatar
Ploc
Ploc wrote:

Je fais qqchose de similaire pour slack.
J'ai une image d'une installation "sans rien d'exterieur",
slack_orig.img par exemple.
Qaund je veux faire un package, je fais une copie de slack_orig.img dans
slack.img.
Je lance qemu -hda slack.img -redir tcp:2222::22 qui m'ouvre une machine
hote sur laquelle je peux me connecter via ssh -p 2222 localhost (qemu
redirige vers 22). Apres, travail et sftp (dans un sens ou dans l'autre).
Apres avoir fait mo package et l'avoir recupere, j'efface l'image de
travail.
Une petite remarque avec ssh: les machines hotes et hebergee ont des
cles ssh differentes, donc il rale. Pour eviter ca, j'ai cree un
utilisateur qui ne sert qu'a me connecter a la machine hebergee.

....


A priori, pour faire du ssh entre les 2 machines hebergees,
redir tcp:2222::22
et redir tcp:2223::22
Depuis la premiere, on peut faire ssh -p 2223 192.168.0.1 (si la machine
hote est 192.168.0.1) pour se connecter a la seconde machine hebergee.

Voila, j'espere que ca aidera.

Avatar
Julien Salgado
R12y a écrit(wrote):
Bonjour,


Salut,

Sur mon ordinateur, qui est sous Fedora, je voudrais mettre un
Qemu pour avoir une vraie Debian virtuelle et une autre Fedora virtuelle,
que je peux casser et réinstaller à souhait.
Il y aura donc deux distributions virtuelles et la distribution réelle sur
laquelle le tout tourne.


Bonne idée...

Est-ce que à chaque distribution virtuelle je pourrais attribuer une
adresse IP de manière à simuler un LAN de trois postes?


[...snip...]

La solution qui me convient le mieux est d'utiliser les tun/tap... Je
préfère monter toutes mes interfaces virtuelles d'un coup en utilisant
tunctl (ce qui me permet de mettre les droit de sorte qu'un utilisateur
non root puisse les utiliser). Et ensuite je les connect avec l'option
-net tap,...

Exemple de script de configuration.

#!/bin/sh
# Script qui cree 4 switches virtuels a 8 interfaces
# Les schitches sont switch0, switch1, switch2 et switch3
# Les interfaces sont de la forme sApB ou A est le numero du
# switch et B le port sur le switche
SWITCHES=`seq 0 3`
PORTS=`seq 0 7`
USER=moi
for i in $SWITCHES;do
brctl addbr switch$i
brctl stp switch$i off
for j in $PORTS;do
tunctl -u $USER -t s${i}p$j 2>&1 >/dev/null
brctl addif switch$i s${i}p$j
ip l s s${i}p$j up
done
ip l s switch$i up
done
# On rajoute une IP sur le premier switches
ip a a 10.42.42.254/24 b + dev switch0

J'ai un lien symbolique de /etc/ifup-qemu sur /bin/true (car je fait
tout avant le lancement des qemu).

Ensuite je lance les qemu avec une option du genre :
-net nic,vlan0 -net tap,vlan0,ifname=s1p3

Si je veux plus de liens il suffit de répéter la ligne avec d'autres
vlan...

--
Julien

Avatar
Nicolas George
Julien Salgado wrote in message
:
brctl addbr switch$i
brctl stp switch$i off


Hum, si je comprends bien ce que tu fais, tu crées n interfaces virtuelles,
et un pont ethernet entre elles. Ça marche, c'est sûr, mais ce n'est pas
très élégant, et ça manque de souplesse : il faut une intervention de root
pour chaque nouvelle instance.

Je me demande si qemu ne serait pas capable d'utiliser uml_switch ou VDE.
D'ailleurs, Google a la réponse dans le cas de VDE (je ne connaissais pas
VDE, je suis tombé dessus en cherchant pour uml_switch) : <URL:
http://lists.gnu.org/archive/html/qemu-devel/2005-06/txtDAJWgugtC1.txt >.

Avatar
Michel Tatoute
R12y wrote:

R12y :
Est-ce que à chaque distribution virtuelle je pourrais attribuer une
adresse IP de manière à simuler un LAN de trois postes?


http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC20

Mais je suis toujours preneur d'une solution pour remplacer Qemu si
quelqu'un estime q'il y a mieux pour mon usage.



Qemu te permettra de faire les structures reseaux que tu souhaite.

Maintenant il y a la question des perfs qui sont assez faibles. Il y a un
mode qemu fast avec un kernet adapté.

il y a aussi UML qui peut te convenir beaucoup mieux à terme (mais dont la
mise en eoeuvre est + délicate), et de plus (outre le reseau où tu
trouveras ce qu'il faut) il est plus communiquant (partage de file system,
accès direct à ton fs depuis la machine virtuelle). Enfin UML n'a
pratiquement pas de pb de perfs.

Tu peux commencer avec un qemu pour créer les images disques des machines,
et ensuite les utiliser avec UML.

Michel.