Sortie de Cloonix 33-00

24
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.

Pourquoi avoir choisi KVM ?

Quelques rappels sur la virtualisation, à ne pas confondre avec les conteneurs dont les mots clefs sont : docker, lxc, lxd, systemd Nspawn. Les principaux acteurs de la virtualisation et le nom des produits sont :

  • VMWare ESX/i ;
  • Microsoft Hyper-V ;
  • Citrix Xen ;
  • Oracle VirtualBox ;
  • Redhat KVM.

Les deux premiers sont propriétaires et parmi les trois suivants il y a une boîte qui fait beaucoup plus que les autres pour le logiciel libre : Redhat.
Rien que pour cela, la KVM doit être choisie le plus souvent possible, mais pas que pour cette raison : Linux est le cœur du Libre et ce cœur a choisi pour nous car le module kvm est dans le noyau de base.
L’applicatif qemu-kvm se connecte à ce module afin d’avoir un accès aux processeurs virtuels fournis à la fois par le module kvm et la technologie matérielle VT-x.

Ayant maintenant l’obligation morale d’utiliser qemu-kvm pour soutenir la virtualisation choisie par Linus lui‐même (aussi auteur de Git !), voyons comment utiliser qemu sans écrire de longues lignes de commandes bien complexes :
Pour ceci, il y a libvirt et virt-manager, base utilisant kvm et utilisée par :
openstack, cloudstack, ovirt…
Mais ce couple libvirt + virt-manager qui était le passage obligé des utilisateurs de qemu a un concurrent : cloonix, une API scriptable limpide, une installation simplissime et le doux ronronnement d’un logiciel efficace et précis. :)

Autour de Cloonix

Un autre projet accompagne cloonix, c’est un ensemble de petits scripts qui permettent la création des qcow2 des principales distributions. Les qcow2 sont les fichiers représentant les disques durs des machines virtuelles. C’est utile comme accessoire au projet cloonix dont le code est compilé et testé dans chacune de ces distributions tournant en embarqué dans un cloonix de niveau supérieur.

  • # Argumentaire ?

    Posté par (page perso) . Évalué à 7 (+5/-0). Dernière modification le 04/11/16 à 21:33.

    il y a une boite qui fait beaucoup plus que les autres pour l'open-source: Redhat.
    Rien que pour cela la KVM doit être choisie le plus souvent possible

    Argument foireux spotted.
    D'autant plus que l'avancée majeure de KVM (à mes yeux, car sans elle il n'y aurait qu'un faible intérêt à l'utiliser) vient d'un français qui n'a rien à voir avec Redhat.

    Tu aurais pu dire :
    - le produit Microsoft ne fonctionne que sous Windows
    - le produit VMWare fonctionne avec une distribution spécifique (et leur produit plus léger a une montagne de dépendances, dont un serveur X complet)
    - le produit Xen nécessite un noyau spécial, mais surtout nous ne sommes pas habitués à le manipuler
    - le produit Oracle nécessite une montagne de dépendances (je crois)
    Alors que KVM est vraiment léger à l'installation, à la configuration (aucune), et à l'exécution.

    • [^] # Re: Argumentaire ?

      Posté par (page perso) . Évalué à 6 (+4/-0).

      • le produit Microsoft ne fonctionne que sous Windows

      bizarrement, MS ne connaît que MS :/ alors que le rachat de hotmail en 1997 était initialement sous FreeBSD, que Miguel de Icaza fournit Xamarin pour les mobiles (basé sur Mono), que pBpG préfère Linux à un OS troué de partout dont il a lâché sa décennie de tentative de le corriger (mais bon, son nouvel employeur ne fait qu'à peine plus de libre depuis que MS a libéré la CLR :D).

      • le produit VMWare fonctionne avec une distribution spécifique (et leur produit plus léger a une montagne de dépendances, dont un serveur X complet)

      une RedHat de ce que j'en ai vu, sur chaque ESX déployé. Ce qui est plus gênant, c'est vSphere (l'interface d'admin « web » qui nécessite flash /o)
      idem pour les F5.BigIP (équipement « réseau » pour de l'équilibrage de charge initialement qui monte jusque la couche applicative en proposant de l'ESB comme les datapower d'IBM) : une RedHat

      • le produit Oracle nécessite une montagne de dépendances (je crois)

      si c'est « unbreakable Linux », c'est une RedHat rebrandée
      si c'est VirtualBox : bah c'est un concurrent de VM player (de VMware), donc install' sur un desktop (avec les dépendances habituelles)

      L'intérêt de KVM c'est que l'admin a la maîtrise de son infra (mais il reste pas mal de choses à scripter, notamment la migration de VM à chaud, l'équilibrage de charge, là où les autres produits le proposent avec option payante et trébuchante, et non ta VM avec 2 To de stockage ne va pas basculer en 2 min… spa magique).

      • [^] # Re: Argumentaire ?

        Posté par . Évalué à 3 (+3/-0).

        L'intérêt de KVM c'est que l'admin a la maîtrise de son infra (mais il reste pas mal de choses à scripter, notamment la migration de VM à chaud, l'équilibrage de charge, là où les autres produits le proposent avec option payante et trébuchante, et non ta VM avec 2 To de stockage ne va pas basculer en 2 min… spa magique).

        Oui et non, on peut faire des choses magiques:
        - Proxmox: gestion simple (un hôte) ou cluster (avec redondance); migration de VM à chaud, sauvegarde, snapshots, etc.
        - un stockage partagé: NFS (via FreeNAS+Zil par exemple), dupliqué (DRBD9) ou distribué (les forums Proxmox regorgent de solutions)

        Pour migrer la VM d'un hôte à un autre c'est transparent et prends le temps de migrer la RAM (compressée). Pour migrer le stockage bien sûr pas de miracle.

        Proxmox fait tout ça en libre (et en gratuit ou avec support payant) alors que pour VMware il faut une licence très évoluée pour avoir le storage vMotion (migration de stockage à chaud) par exemple.

        Pour ESXi cela fait longtemps que c'est bien plus qu'une RedHat modifiée (ESXi 4). Et oui la gestion en flash c'est horrible. La gestion des consoles avec du pseudo VNC pareil… Hormis le fait que ce ne soit pas libre tout ça est largement insupportable quand on a goûté à Proxmox (entre autres).

    • [^] # Re: Argumentaire ?

      Posté par (page perso) . Évalué à 6 (+5/-0).

      Oui, merci d'en ajouter sur le pourquoi du kvm! En fait j'ai fait des ajout à une nouvelle que je voulais bien plus courte, juste pour dire que j'avais livré une version. J'ai ajouté un peu trop rapidement ce qui me passait par la tête pour faire plus de contenu.

      La raison principale devant pousser les utilisateurs est en effet le coté plug-and-play de kvm.

      Le Français créateur de qemu, c'est Fabrice Bellard presque aussi fameux que Linus pour beaucoup de logiciels, mais pour le module kvm du noyau, ce n'est pas lui, c'est une boite (Qumranet) racheté par Redhat.

      Le volume actuel de qemu est autour du million de lignes de codes alors que celui du module kvm est sous les 100000 lignes.
      Le module kvm s'occupe de faire tourner le code du (des) cpu(s) sur des processeurs virtuels pendant que qemu émule le reste du matériel.

  • # A quoi ça sert ?

    Posté par (page perso) . Évalué à 4 (+2/-0).

    Ca serait bien de préciser, en une ou deux phrases, au delà de ce que ça fait, à quel besoin ce projet répond.

    Une section "use cases" dans la doc serait aussi très utile.

    "There's no such thing as can't. You always have a choice." - Ken Gor

    • [^] # Re: A quoi ça sert ?

      Posté par (page perso) . Évalué à 1 (+1/-1).

      En très grossier: un jouet à essayer des open-sources associés au réseau, un prototypeur/maquetteur pour montrer des proof-of-concepts sans investissement.
      On peut aussi l'utiliser pour se projeter dans une distribution différente comme les autres outils de virtualisation et containers.
      On peut aussi faire des réseaux virtuels multi-machines sans limite de taille avec les connections inter-cloonix.
      Il pourrait y avoir une application de réseau overlay privé ultra-sécurisé, en améliorant la sécurité des points d'entrée dans cloonix qui sont tous applicatifs donc facile à sécuriser.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.