OpenNebula, Acte 1: Les présentations

Je m’intéresse en ce moment à OpenNebula qui se définit comme « un gestionnaire de virtualisation de ressources pour le Cloud« . Cet intérêt est porté par mes travaux sur le Cloud et la SOA, ou comment fournir une solution SOA utilisant le Cloud. Pour le moment je laisse le sujet SOA de coté, je l’ai déjà évoqué et je reviendrais dessus en 2011…

Fully open source (not open core), thoroughly tested, customizable, extensible and with unique features and excellent performance and scalability to manage hundreds of thousands of VMs:

  • Private cloud with Xen, KVM and VMware,
  • Hybrid cloud (cloudbursting) with Amazon EC2, and other providers through Deltacloud (from ecosystem),
  • Public cloud supporting EC2 Query, OGF OCCI and vCloud (from ecosystem) APIs,…
  • and much more.

Dit comme ça, on ne voit pas forcement la différence avec le concurrent direct qu’est OpenStack. Deux frameworks pour le Cloud qui se positionnent de la même façon… D’ailleurs, un représentant de chaque produit était présent à la conférence OW2 le mois dernier et les présentations était assez identiques. Bon OK, OpenStack se la joue plus à l’américaine : « Eh les gars, nous on est issue de la NASA OK?! »……
OpenNebula lui est un projet qui est en partie financé par des projets de recherche Européens depuis 2005, quand on connaît le niveau de ce genre de projets financés, on a peu de doutes sur les capacités d’un produit issu de là. On a beau pas être américains, on sait aussi faire décoller des fusées… Bref, fermons la parenthèse anti-amerlocs.

2005? On parlait déjà Cloud à cette époque? Non, on parlait grille et calcul haute performance. C’est pour adresser ces domaines que OpenNebula a été créé. Elle a évoluée au cours des années car finalement c’est toujours un peu la même chose… On change le nom et on rajoute deux/trois trucs par ci par là… Ce n’est donc pas étonnant de voir une infrastructure de type cluster du type Frontale + Noeuds:

(Par la suite, ONE = OpenNebula; VM = Machine Virtuelle)

  • Le binaire de ONE est installé et lancé en tant que daemon sur la machine frontale (ONED). C’est lui qui fournit les APIs Cloud propriétaire et celles qui peuvent être pluggées par dessus (du type Amazon EC2, OGF, etc…).
  • Dans le comportement par défaut, les images permettant de lancer les machines virtuelles sont partagées entre les noeuds via un bon vieux système de fichiers réseau de type NFS.
  • La frontale doit pouvoir se connecter à tout les noeuds en SSH ie partage de clés.
  • Les Hypervisors sont les plateformes de virtualisation qui permettent de lancer des machines virtuelles sur les noeuds. Les plus connus (et supportés par défaut par ONE) sont, par exemple, Xen, KVM et VMWare.
  • Les Drivers permettent de créer la communication entre le daemon tournant sur la frontale et les hyperviseurs.

D’après cette liste, on comprend mieux la philosophie d’OpenNebula. Il s’agit d’utiliser des hyperviseurs existants, de les envelopper, de leur rajouter des fonctionnalités et de les gérer intelligemment. Cette gestion intelligente doit bien sur se caler par rapport aux attentes de niveau infrastructure Cloud (IaaS) en offrant de l’élasticité, de la migration de VMs entre noeuds, etc…

Une fois les hyperviseurs installés et en état de marche (c’est vraiment la chose la plus dure à faire et celle sur laquelle j’ai perdu un temps fou à cause d’une machine trop vieille…), l’utilisation de base depuis la frontale est assez simple:

  1. Déclarer les noeuds physiques ie ceux qui hébergent les hyperviseurs et qui feront tourner les VMs
  2. Déclarer un ou plusieurs réseaux virtuels. On définit ici principalement les addresses IPs qui seront assignées et utilisées par les VMs.
  3. Soumettre une image système et son descripteur au scheduler. Le scheduler a pour but de faire migrer l’image vers le bon noeud physique afin de pouvoir démarrer une VM sur ce noeud.
  4. Pas de 4… Enfin si mais pour des utilisations poussées, je passe pour le moment…

Dans une utilisation simple en mode Cloud privé, c’est à peu pres tout. On peut démarrer, arrêter et migrer des VMs assez facilement. ONE se charge d’assigner les bonnes addresses IPs pour peu que l’image système soit configurée pour le faire (via quelques scripts système). On peut donc créer son Cloud privé de type IaaS avec ONE pour pas un euro (modulo le temps à appréhender le monstre) et avoir un total controle dessus.

Ca à l’air très simple… Oui l’utilisation est simple, c’est la mise en place qui l’est moins. Tout du moins pour préparer les noeuds et les hyperviseurs. Je suis tombé sur des soucis avec la mise en place de KVM sur une machine trop vieille et qui ne fournit pas la virtualisation niveau processeur. Je passe car je n’ai pas le courage mais j’ai perdu pas mal de temps. Les développeurs qui sont très réactifs ont passé du temps avec moi pour essayer de voir ce qui collait pas. Résultat, je laisse tomber KVM que je commençais à maîtriser pour passer à Xen qui est moins simple mais qui est censé marcher mieux. Encore quelques dizaines de cafés en vue…

Dédicace à mon sysadmin préféré😉

12 réflexions sur “OpenNebula, Acte 1: Les présentations

  1. Well done Christophe, you began in the dark and then found the ‘light’. It’s true that newer tech these days does rely more heavily on the virtualisation I/O calls of modern processors and I feel your pain for having lost so much time in the process of identifying this in relation to your existing machine.

    Even so… you’ve produced a nice article and I really enjoy your writing style.

  2. Pingback: Pensées sur le Cloud Hybride « c.hamerling

  3. c’est un bon article et très intéressant pour moi, surtout que je suis dans mes premiers pas dans la recherche puisque j’ai déjà commencé mon mémoire de recherche de mastère sur  » les clouds hybrides » si vous avez d’autres articles ou des liens pour autres sites qui donnent une idée plus clair sur les cloud hybrides aidez moi s’il vous plaît. Merci bien !!!

  4. Merci, il me faut tout un an pour terminer mon mémoire…. c’est notre système de mastère en Tunisie. donc si vous patientez pas de problème.

  5. Ca va bientôt faire un an où en est ton mémoire ? Je suis intéressé d’en lire plus, surtout sur la mise en place =)
    Bon courage.

    • Il ne sagissait pas de mémoire mais de tests. Rien de nouveau sur le sujet depuis par manque de temps. Par contre j’ai aussi fait des tests sur OpenStack et ce sera surement l’objet d’un post asap.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s