Cloonix, qemu-kvm et spice, virtualisation simple et puissante

35
8
jan.
2013
Virtualisation

Cloonix, simulateur virtuel de réseau, permet de gérer la topologie de réseaux virtuels. Il permet de créer à la volée par glisser-déposer des machines virtuelles et de les connecter par manipulations graphiques.

Cloonix avait adopté qemu-kvm dont les sources sont recompilées, et maintenant Cloonix vient d'adopter Spice dont les sources sont aussi recompilées. Cette méthode permet d'avoir une bonne cohérence entre les versions utilisées, surtout quand ces versions sont issues de développements récents tels que Spice. Le lien entre le dernier Qemu et Spice est assez fort pour justifier ce choix, Red Hat participant aux deux projets.

Pour faciliter la vie de l'utilisateur, les membres de Cloonix ont aussi créé de multiples machines (les « spice guests ») qui montrent leurs beaux bureaux sous un Spice dernière génération. Parmi les machines disponibles dans les « spice guests » : Lubuntu, Fedora 17 (avec Xfce ou Lxde), Crunchbang, Knoppix…

Grâce à ces machines « toujours vierges », l'équipe de Cloonix a pu tester la compilation « from scratch » sur ces distributions ainsi que le « nested cloonix kvm spice », c'est-à-dire l'utilisation de Cloonix dans chacune de ces « guest spices » qui elles-même tournaient dans un autre Cloonix (sur un hôte Debian Wheezy).

Bien sûr, Cloonix a surtout pour vocation la création de démonstrations de réseaux virtuels, la version 20 peut maintenant fonctionner sur une machine x86 32 bits, un utilisateur ayant eu besoin d'un réseau virtuel de démonstration sur une clef USB sous la distribution Knoppix.

Virtualisation avec bureau SPICE

Posté par  (site web personnel) . Édité par Davy Defaud, Florent Zara et NeoX. Modéré par claudex.
31
31
oct.
2012
Virtualisation

La version 18 de Cloonix est sortie. Elle inclut SPICE dans la configuration de la solution de virtualisation QEMU-KVM.

SPICE — Simple Protocol for Independent Computing Environments — est un protocole d’affichage et d’interaction à distance dédié aux machines virtuelles. Sachant que SPICE a été créé par la société Qumranet, tout comme la virtualisation KVM, il est logique d’utiliser ces deux technologies ensemble.

Cloonix est un ensemble de logiciels développés en C, sous licence GPL v3, qui est spécialisé dans l’aide à la création de machines virtuelles et des liens entre celles‐ci. Son domaine d’application est le prototypage ou maquettage d’un réseau de machines virtuelles invitées au sein d’une machine hôte. Sa fonctionnalité centrale est la virtualisation du réseau local avec ses câbles et commutateurs réseaux — switches — reliant les machines virtuelles.

QEMU, KVM, Cloonix

Posté par  (site web personnel) . Édité par claudex, Benoît Sibaud, baud123 et Malicia. Modéré par claudex.
Étiquettes :
30
2
jan.
2012
Linux

Le noyau Linux peut gèrer la virtualisation au travers du module KVM. Pour utiliser la fonctionnalité KVM, on avait seulement QEMU jusqu'à ce que Pekka Enberg, appartenant à la communauté du noyau Linux, lance la création d'un logiciel plus léger pour remplacer QEMU dans les cas simples d'utilisation.

Cloonix est un logiciel qui se place en utilisateur de machines virtuelles de 3 types : UML, KVM et LXC. Son rôle est de les démarrer, de les configurer, de les superviser et enfin de créer un réseau dynamique entre elles.

Grâce à la nouvelle machine de Pekka Enberg de code très simple, une nouvelle machine utilisant le module KVM existe maintenant : la CLOONIX_KVM, provenant d'un fork de celle de Pekka Enberg, est intégrée à cloonix-12.0.

Sortie de Cloonix 22.2

28
23
juil.
2013
Virtualisation

Cloonix, simulateur virtuel de réseau, permet de gérer la topologie de réseaux virtuels. Il permet de créer à la volée, par glisser-déposer, des machines virtuelles et de les connecter par manipulations graphiques.

Comme Virsh, cloonix aide à lancer et connecter des machines virtuelles, il fait des appels à qemu-kvm dont les lignes de commandes sont assez complexes. Cloonix prépare le lancement par création d'un disque de configuration passé à l'invité, puis génère la ligne de commande intégrant les paramètres utilisateurs comme la RAM ou le nombre d'interfaces Ethernet, puis lance l'invité dans un process (sorte de fork) puis crée une connexion socket par interface Ethernet de l'invité.

L'utilisateur peut alors diriger les flux des interfaces où il le désire. Cloonix présente la topologie sur un graphe et permet l’accès simple au bureau spice, à une console ttyS0 dans un tmux, un ssh et scp ne passant pas par la pile IP.

Le but officiel de cloonix est le test multi-machine de code spécialisé réseau. Cloonix est actuellement utilisé chez Thalès pour remplacer VMware par KVM sans avoir les soucis de ligne de commande qemu-kvm et configuration de bridge. Bref cloonix facilite l'utilisation de qemu-kvm en se focalisant sur l'aspect réseau.

Dans la fourniture actuelle de cloonix, il y a en plus de précieux scripts qui permettent de produire from scratch (à partir de rien, façon debootstrap) la plupart des grandes distributions.

Cette version, avec une machine moderne permet de tester cloonix dans chaque distribution grâce à la virtualisation "nested": nous avons compilé, puis fait tourner des invités dans les invités des différentes distributions pour valider le portage du code sur ces distributions.

Cloonix

Cloonix et les conteneurs

27
17
jan.
2022
Virtualisation

Cloonix est un logiciel de virtualisation basé sur qemu-kvm, dpdk et openvswitch. Il permet une construction d’un réseau virtuel avec création graphique et visualisation de la topologie.

Logo Cloonix Logotype cloonix
   

En décembre 2021 une nouvelle fonctionnalité a été intégrée dans cloonix : des conteneurs lancés grâce à l’utilisation du logiciel crun par cloonix.

Cet article a une visée plus large que la simple publicité pour l’utilisation de cloonix, il est toujours formateur d’utiliser des commandes de bas niveau afin de créer et lancer un conteneur. Ces commandes sont données en seconde partie.

Sortie de Cloonix 33-00

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud, Pierre Jarillon, ZeroHeure, Nÿco, palm123, Florent Zara, olivierweb et Nils Ratusznik. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
25
4
nov.
2016
Virtualisation

Cloonix est un couple client‐serveur dont le serveur lance et pilote une grappe de machines virtuelles KVM sur demande d’un client cloonix. Ce serveur peut interconnecter ces machines virtuelles, formant ainsi un petit réseau comportant jusqu’à 50 KVM par instance de serveur cloonix.

Cloonix

La version 33 est un saut pour plusieurs raisons :

  • la décision de faire une vraie gestion de configuration, sous GitHub ;
  • après plusieurs années de licence RPL (Reciprocal Public License) retour à la GPL v3 ;
  • grosses modifications dans la façon d’installer cloonix, maintenant très simple ;
  • nettoyage de l’objet réseau ayant le rôle de cable, le lan est maintenant un processus brassant les flux d’octets par sockets UNIX uniquement ; l’option shared memory a été effacée, code trop complexe amenant moins d’un facteur 2 de gain de performance, l’atout de cloonix étant son côté pratique, pas sa performance ;
  • création du client hyperzor, un soft GTK qui supervise et controle plusieurs serveurs cloonix ;
  • API enfin stabilisée, pour les clients : cloonix_cli, cloonix_gui, cloonix_zor, cloonix_ssh, cloonix_scp et pour le serveur cloonix_net ;
  • création de l’objet réseau a2b, qui se met en coupure sur un lien et contrôle les flux entre 2 réseaux ;
  • l’objet c2c, qui joint deux cloonix distants par TCP, possède maintenant les performances d’une connexion TCP, un bogue en diminuait le débit.

Version v09-00 de cloonix

Posté par  (site web personnel) . Édité par Davy Defaud, palm123, Pierre Jarillon et ZeroHeure. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
24
1
juil.
2020
Virtualisation

La version v09-00 est issue du temps du confinement, parenthèse calme dans un monde habituellement agité par le rythme aliénant « métro, boulot, dodo ».

Cette version prend maintenant en charge trois techniques de liens entre les interfaces Ethernet des machines virtuelles : « vhost », « dpdk » et « sock » dont les débits maximum sont les suivants :

  • vhost : 71 Gbit/s ;
  • dpdk : 16 Gbit/s ;
  • sock : 4 Gbit/s.

Comment sommes‑nous arrivés à cela ? C’est ce que nous allons voir.

Une nouvelle version de Cloonix est disponible, la v-37-00.

Posté par  (site web personnel) . Édité par ZeroHeure, Davy Defaud, Pierre Jarillon et palm123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
24
24
juil.
2017
Virtualisation

Cloonix est un projet sans prétention ni financement, pur produit de l’artisanat, c’est un ovni dans un monde où la communication a été transformée en harcèlement publicitaire et où la réduction des coûts et délais prime sur la conscience professionnelle. Le projet Cloonix a déjà 10 ans, il reste discret bien que techniquement mature et efficace.

Logo de Clownix

C’est un outil d’aide à la gestion de la virtualisation de réseaux sous licence AGPL v3, le projet a commencé alors que KVM n’existait pas encore, il est le fruit d’un travail continu motivé par le plaisir de l’artisan.

Son but ultime est de regrouper tous les logiciels libres ayant une composante réseau en un ensemble de démonstrations jouables sans effort de configuration.

Cette nouvelle version est capable de gérer un routeur propriétaire Cisco CSR 1000v. Il a fallu de l’astuce pour parvenir au résultat, c’est ce que la seconde partie expose.

Dpdk et Open vSwitch intégrés à Cloonix

23
4
juin
2019
Virtualisation

Cloonix est un gestionnaire de machines virtuelles orienté réseau, son utilité principale est la création de démonstrations mettant en œuvre des protocoles de communication entre machines.

Une évolution majeure a été commencée sur ce logiciel, basé jusqu’à présent sur des connexions entre machines virtuelles implémentées par des sockets UNIX, Cloonix utilise maintenant deux logiciels libres de grande qualité : DPDK et Open vSwitch en plus de QEMU‐KVM.

Ces deux logiciels sont spécialisés dans la gestion des flux d’octets la plus performante possible, ils sont donc utilisés dans Cloonix comme remplacement des sockets UNIX.

QEMU/KVM et les VirtioVsock

Posté par  (site web personnel) . Édité par ZeroHeure, Davy Defaud, palm123, claudex, Nÿco, Pierre Jarillon et NeoX. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
22
27
nov.
2017
Virtualisation

La configuration d’une machine virtuelle que l’on nomme « invitée » nécessite classiquement une adresse IP dans l’invitée pour se connecter par SSH. Cette IP est configurée en dur ou gérée via DHCP pour plus de souplesse ; cette méthode a l’inconvénient de nécessiter une des interfaces virtuelles de la machine invitée et son pendant côté hyperviseur ou machine hôte.

QEMU

Avec les vsock créées sur qemu-kvm par Stefan Hajnoczi, les invités sont accessibles par un socket stream, donc du même type que TCP, sans passer par une interface IP.

Pour avoir un shell distant comme avec SSH, la sécurité en moins, il existe un petit programme client‐serveur qui se trouve sur GitHub :

git clone https://github.com/clownix/cloonix_vsock

Très simple d’utilisation, il peut aider à avoir un shell sans configuration vers des invités utilisant la virtualisation qemu-kvm.

Ce programme peut être testé avec des sockets INET ou UNIX, voici les trois types de sockets stream gérés :

  1. s = socket(AF_INET, SOCK_STREAM, 0); ;
  2. s = socket(PF_UNIX, SOCK_STREAM, 0); ;
  3. s = socket(AF_VSOCK, SOCK_STREAM, 0);.

On peut observer à nouveau la puissance d’UNIX qui permet d’ouvrir des descripteurs de fichiers vers des protocoles très différents, tout en les traitant exactement de la même façon après l’ouverture.

cloonix-15

Posté par  (site web personnel) . Édité par Benoît Sibaud, baud123, Pierre Jarillon, claudex et patrick_g. Modéré par patrick_g.
22
31
juil.
2012
Linux

cloonix-15 est arrivé, et cette fois avec de la documentation !

Pour ceux qui ne savent pas, cloonix est un framework d'aide à la gestion de machines virtuelles en réseau : le réseau y est dynamiquement configurable et l'outil permet de créer des maquettes d'une façon simple.

Les évolutions de la version 15 : les systèmes de fichiers Cloonix_kvm peuvent être sauvés et réutilisés.

Cloonix est en quelque sorte une émulation d'infrastructure réseau complète virtualisant commutateurs réseau (« switchs »), liens et machines.

La réalité opérationnelle commence à ressembler à Cloonix : il y a un courant visant à permettre une infrastructure de moins en moins tangible, de façon industrielle, avec la virtualisation des switchs et une nouvelle façon de les contrôler grâce à Openflow, qui apporte plus de flexibilité.

OpenVswitch implémente Openflow, il remplace déjà brctl de bridge-utils dans le noyau.

Cloonix 10 est disponible !

Posté par  . Modéré par baud123.
20
24
sept.
2011
Virtualisation

Cloonix est un logiciel qui permet la gestion d’un réseau virtuel de machines (virtuelles aussi bien sûr).

À la différence de nombreuses solutions qui tendent à descendre dans le noyau dès que le réseau doit être modifié, Cloonix tente de remonter le réseau dans le monde utilisateur, les liens entre machines étant des [[sockets]].
Cette méthode est à la fois plus souple et plus sécurisée, car il n’est pas obligatoire d’être super‐utilisateur (root) pour créer son réseau virtuel.
Au centre de Cloonix, un processus a pour rôle le clonage de machines et l’émulation du réseau physique reliant les machines virtuelles. Ce processus brasse les paquets en accord avec la topologie choisie par l’utilisateur, cette topologie peut évoluer dynamiquement.
Cloonix combine les avantages des commandes script (toute commande peut être intégrée à un script) aux avantages du « clicodrome », grâce à son interface graphique conviviale basée sur une bibliothèque vectorielle.

Podman et Docker dans cloonix

Posté par  (site web personnel) . Édité par Ysabeau 🧶 🧦, Pierre Jarillon et palm123. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
20
11
jan.
2023
Virtualisation

Cloonix est un logiciel de virtualisation basé principalement sur openvswitch dont le but est de faciliter la construction graphique d’un réseau virtuel avec visualisation de la topologie et interaction par IHM graphique sur cette topologie.

Lors de l’une des dernières dépêches de titre « Cloonix et les conteneurs » du 17/01/22, je vous ai parlé du nouvel objectif d’amélioration de cloonix, commencé en fin 2021 : l’intégration de la techno des conteneurs dans cloonix.

En vue d’atteindre ce but et d’en comprendre les mécanismes internes, il fallait commencer par intégrer dans cloonix la techno de base des conteneurs, et pour cela en premier lieu trouver le bout de code le plus léger ou encore le plus dépouillé qui soit capable de faire tourner un conteneur.

Utilisation du Copy On Write sur les qemu-kvm de cloonix

Posté par  (site web personnel) . Édité par Benoît Sibaud et baud123. Modéré par baud123.
Étiquettes :
19
18
nov.
2012
Virtualisation

Lorsque cloonix a commencé à utiliser spice comme bureau distant pour des machines invitées qemu-kvm, la gestion des fichiers disques virtuels cloonix a dû évoluer.

Les machines invitées proposées pour tester spice font quelques GiB car elles contiennent une distribution complète avec bureau.

Le logiciel cloonix étant prévu au départ pour multiplier des petits invités, la méthode par défaut était une copie complète du fichier disque virtuel avant démarrage.

Ceux qui ont essayé comprennent très bien le problème que cela posait : une longue attente avant le début du démarrage de l'invité visible dans cloonix par le passage au rouge vif de la représentation de la machine.

La version 19 de cloonix corrige cela grâce au Copy On Write ; au lieu de copier un fichier de référence, on fabrique un autre fichier qui a un lien interne sur la référence cette fabrication se fait en quelques secondes et le fichier produit réagit comme une copie par cp.

Mettez un Cisco dans votre PC

Posté par  (site web personnel) . Édité par Nÿco, claudex, Xavier Teyssier et baud123. Modéré par patrick_g. Licence CC By‑SA.
18
11
fév.
2013
Linux

Cloonix, simulateur virtuel de réseau, permet de gérer la topologie de réseaux virtuels. Il permet de créer à la volée par glisser-déposer des machines virtuelles et de les connecter par manipulations graphiques.

Un PC sous Linux peut héberger un Cisco et un Windows 7 dans le même réseau virtuel Cloonix. Dynamips, émulateur de routeur Cisco, revient dans Cloonix, il avait été supprimé il y a des années pour un mélange de raisons, en voilà déjà quatre, toujours valables :

  • ségrégation anti-monopole : la diffusion de connaissance du cli Cisco n'aide pas la concurrence ;
  • la loi : Cisco n'autorise pas l'utilisation de son IOS ;
  • la maintenance : l'auteur de Dynamips est parti sur d'autres projets ;
  • la techno : émulation peu performante.

Gns3 qui est l'utilisateur le plus populaire de Dynamips semble le maintenir un minimum, ce qui change pas mal de choses. Ceci étant associé à une demande d'utilisateurs Cloonix, le code de gestion Cisco/Dynamips a été réintégré dans Cloonix.