E.1 : Fonctionnement d’Eucalyptus
Lorsqu’il est installé, le système Eucalyptus inclut sur le nœud frontal un utilitaire appelé euca2ools pour fonctionner. Ce dernier fournit les éléments nécessaires pour l’authentification et l’interaction d’un utilisateur avec le système. Les étapes de déroulement d’un scénario de création de machine virtuelle se présentent à la figure E.1:
1. L’utilisateur fait une requête de machine virtuelle à travers le nœud central à l’aide de l’outil euca2ools.
2. Un modèle d’image virtuelle est envoyé sur le nœud d’exécution.
3. L’image est ensuite ajustée à une taille adéquate selon les informations fournies.
4. Le nœud d’exécution crée un pont virtuel afin de fournir une interface réseau virtuelle avec une adresse MAC à la machine virtuelle.
5. Une requête DHCP est effectuée à l’endroit du nœud frontal pour obtenir une adresse IP pour la machine.
6. La machine est créée et démarrée dans le gestionnaire des machines virtuelles.
7. L’utilisateur peut ensuite se connecter via SSH, ou autres protocoles, à la machine virtuelle.
Figure E.1: Utilisation de machine virtuelle avec Eucalyptus (Sempolinski et Thain, 2010).
E.2 : Fonctionnement d’OpenNebula
OpenNebula se base sur un compte utilisateur oneadmin créé et configuré sur tous les hôtes du réseau pour fonctionner. La configuration de cet utilisateur concerne l’attribution des privilèges au compte oneadmin pour certaines commandes telles que les commandes de gestion des machines virtuelles qui ne sont accessibles par défaut qu’au compte root(39) des systèmes GNU/Linux employés. Les requêtes envoyées par le Cloud Controller, représenté par le processus oned (oned process), localisé sur le nœud frontal d’OpenNebula à l’endroit des différents nœuds d’exécution sont traitées et les commandes nécessaires à la réalisation des opérations sont effectuées en employant le compte oneadmin de l’hôte indexé. OpenNebula emploie par défaut le système de partage de fichiers NFS (Network File System) pour l’accès aux différents fichiers des machines virtuelles localisés sur le nœud frontal (front-end) par les différents nœuds d’exécution.
La solution de cloud privé d’OpenNebula offre également la possibilité de migrer les machines virtuelles d’un hôte à un autre en employant le protocole de transfert SSH (Secure Shell) à travers les commandes scp (secure copy). Une exigence de l’emploi de ce protocole concerne l’utilisation des techniques d’échange de clés publiques RSA afin de contourner les processus d’authentifications nécessaires à chaque déploiement de machines virtuelles sur un nœud. Ainsi, les comptes oneadmin disponibles sur les hôtes, et également sur le front-end doivent être configurés pour des accès directs, par SSH, sans authentification par mots de passe.
Le lancement d’une machine virtuelle avec OpenNebula par un utilisateur se déroule en huit (08) étapes (Figure E.2) :
1. L’utilisateur accède au nœud frontal par SSH.
2. Il utilise les commandes onevm (commandes du processus oned d’OpenNebula sur le front-end) pour effectuer les requêtes d’utilisation d’une machine virtuelle.
3. Un modèle de la machine virtuelle est copié et ajusté à une taille précise dans le répertoire NFS du nœud frontal.
4. Le processus oned du nœud frontal utilise SSH pour se connecter à un nœud d’exécution.
5. Le nœud d’exécution crée un pont virtuel afin de fournir une interface réseau virtuelle avec une adresse MAC à la machine virtuelle.
6. Les fichiers nécessaires sont ensuite envoyés sur le nœud d’exécution par NFS ou SSH.
7. La machine virtuelle est démarrée par le gestionnaire des machines virtuelles (VMM).
8. L’utilisateur peut ensuite y accéder par SSH.
Figure E.2: Utilisation de machine virtuelle avec OpenNebula (Sempolinski et Thain, 2010).
E.3 Nimbus
Nimbus est un projet de création d’architecture IaaS de cloud computing dans le domaine des recherches scientifiques. Il est basé sur une gestion centralisée des ressources de façon similaire aux autres architectures. Il est compatible avec les hyperviseurs Xen et Kvm. Comme OpenNebula, Nimbus est très modulaire et personnalisable. Cependant, le degré de liberté offert par cette solution est raisonnablement réduit à quelques actions basiques afin de prévenir les erreurs de manipulation.
Nimbus définit certaines constantes telles que le répertoire de stockage des machines virtuelles. De plus, les options de personnalisation de l’architecture ne sont disponibles qu’à l’administrateur du système (Sempolinski et Thain, 2010).
L’architecture de Nimbus est constituée essentiellement de neuf (09) modules (Keahey et al, 2008; Alrwais, 2011):
1. Le Workspace service : gère la création de machines par les clients.
2. Le Workspace resource manager : Ce module s’occupe du déploiement de machines virtuelles dans le réseau.
3. Le Workspace pilot : Fournit toutes les informations nécessaires à la configuration des différents nœuds selon le système de virtualisation employé.
4. Les workspace control tools : Gère le démarrage et l’arrêt des machines dans le cloud.
5. L’Infrastructure-as-a-Service (IaaS) gateway : Permet aux utilisateurs du système de se connecter à d’autres architectures de cloud computing tel qu’Eucalyptus ou Amazon EC2.
6. Le Context broker : permet aux utilisateurs de démarrer un groupe de machines virtuelles reliées dans un cluster virtuel par opposition à l’utilisation des machines virtuelles isolées.
7. Le Workspace client : une plateforme fournissant un accès complet aux fonctionnalités du Workspace service.
8. Cloud client : Permet aux clients d’accéder à un ensemble de fonctionnalités du système. Il s’agit d’une plateforme minimaliste n’offrant l’accès qu’aux fonctionnalités présélectionnées dans le workspace service.
9. Nimbus storage service : Ce module gère les services de stockage des machines dans le système. Son rôle consiste à créer des répertoires pour les utilisateurs afin de séparer les fichiers et images disques des machines virtuelles des différents utilisateurs.
Figure E.3: Architecture de Nimbus (Keahey et al, 2008; Alrwais, 2011).
39 Compte du super-utilisateur des systèmes GNU/Linux ayant tous les privilèges.