Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
IUT Réseaux & Télécommunications - BlagnacUniversité Toulouse II - Le Mirail
2012-2013
Mise en place de oVirt et Pulp
Florian BRUSCHET
Laboratoire d'Informatique de l'École PolytechniqueÉcole Polytechnique
91128 Palaiseau Cedex
Maitre de Stage : James REGISTuteur pédagogique : Lionel SEGUI
Remerciements
Je tiens tout d'abord à remercier mon maitre de stage James Régis, ingénieur système etréseaux, pour m'avoir con�é ce stage et pour son aide précieuse durant ces deux mois et demi. J'espèreque le travail réalisé ainsi que ce rapport seront à la hauteur de vos espérances.
Merci aussi à l'ingénieur Jean-Marc Notin et au doctorant chercheur Guillaume Quintinainsi qu'à toutes les autres personnes du laboratoire que j'ai côtoyées pour m'avoir apporté desconnaissances, et avoir partagé leurs opinions sur di�érents sujets, comme le monde de l'informatique,avec moi.
Je remercie également les membres du support de Red Hat avec qui j'ai eu la chance dediscuter par mail et qui m'ont beaucoup aidé dans la mise en place de oVirt.
Et en�n, merci à Antoine Rousseau, mon compagnon de stage. Qui m'a permis de trouverces dix semaines plus agréables.
1
Résumé & Abstract
Dans le cadre de l'obtention de mon DUT Réseaux et Télécommunications de l'IUT deBlagnac, j'ai e�ectué mon stage dans le Laboratoire d'Informatique de l'École Polytechnique (LIX).L'objet de mon stage a été de mètre en place oVirt, ainsi que Pulp qui sont des projets open-sourcefonctionnant sous Linux. oVirt permet de créer des machines virtuelles, quand à Pulp cela permetde créer et gérer des dépôts de contenus puis de les di�user à un grand nombre de consommateur. Jen'avais pas de contrainte spéci�que quand à la réalisation de ces projets, il m'a fallut comprendre leurfonctionnement respectif puis les installer de façon à pouvoir tester les possibilités qu'ils o�rent. J'aiconsacré la première partie de mon stage à oVirt, j'ai pu tester la totalité des options intéressantede ce programme en réussissant à le faire fonctionner correctement dans le but que mon travailpuisse être réutiliser par la suite et certainement mis en place à plus grande échelle au LIX. J'aipar conséquent produit une documentation globale pour faciliter sa réutilisation. Puis en secondepartie j'ai tenté de mettre en place Pulp même si un bug dans ce programme réduit pour l'instantconsidérablement son utilisation, j'ai pu tout de même l'installer et voir les commandes de bases sansréellement pouvoir faire de test pour un déploiement éventuel. Comme pour oVirt j'ai réalisé unedocumentation qui porte essentiellement sur son installation.
Ce travail m'a permis d'enrichir grandement mes connaissances en réseaux mais surtout surLinux en général.
I am a student in a two-year course in Networks and Telecommunications at the IUT ofBlagnac and I have spent my training periode at the Laboratory of Computing of the École Poly-technique (LIX). I was in charge of building oVirt and Pulp which are open-source projects runningon Linux. oVirt allows making virtual machines, Pulp is used to create and manage repos and pa-ckages and broadcast them to a lot of consumers. These projects required a good understanding oftheir respective running so as to be able install and test the possibilities they o�er.
This work has allowed me to enhance considerably my knowledge in networks but especiallyon Linux generally.
2
Table des matières
1 Présentation du stage 5
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Présentation du LIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 oVirt 7
2.1 Présentation d'oVirt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 oVirt Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Portail Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Portail Administrateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 oVirt Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Le stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Utilisation avancée d'oVirt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.2 Migration de VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.3 Paramétrage du Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Problèmes rencontrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Pulp 21
3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Principales commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Authenti�cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Créer un dépôt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Bugs rencontrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
A Annexe : Guide d'installation : oVirt 27
B Annexe : Guide d'installation : Pulp 37
3
Table des �gures
2.1 Logo oVirt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Architecture d'oVirt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Page d'accueil oVirt Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Connexion à un portail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Portail utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Portail administrateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Liste des Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 Création d'une VM - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9 Création d'une VM - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.10 Création d'une VM - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.11 Paramétrage de l'interface réseau d'une VM . . . . . . . . . . . . . . . . . . . . . . . 13
2.12 Paramétrage de la taille alloué à une VM . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.13 oVirt Node Hypervisor - Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.14 oVirt Node Hypervisor - Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.15 oVirt Node Hypervisor - Network Interface . . . . . . . . . . . . . . . . . . . . . . . . 15
2.16 oVirt Node Hypervisor - Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.17 oVirt Node Hypervisor - oVirt Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.18 oVirt Engine - Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.19 oVirt Engine - Discover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1 Logo de Pulp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Diagramme de Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Utilisation de commande Pulp - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Utilisation de commande Pulp - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Création d'un dépôt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Synchronisation d'un dépôt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.7 Liste des dépôts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.8 Page générée par Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4
1 Présentation du stage
1.1 Introduction
J'ai choisi d'e�ectuer mon stage de �n d'étude au LIX qui est le Laboratoire d'Informatiquede l'X (École Polytechnique). Ce stage a pour but de faire un premier pas dans la vie active et depouvoir ce faire une idée plus précise de nos envies et des domaines qui nous intéresse vraiment.J'ai pu observer le travail d'un administrateur système et réseau, j'ai beaucoup appris sur ce métier,les conditions requises ainsi que les points fondamentaux pour être un bon administrateur et savoirfaire face aux di�érents problèmes que l'on peut rencontrer dans ce métier, aussi bien humains quematériels. Mon stage est orienté dans le réseau, il comportait deux grandes parties, oVirt et Pulp, j'aitout d'abord étudié oVirt puis Pulp. Ces sujet m'ont étés proposé dans le but de tester leur fonction-nement de pouvoir ce faire une idée des possibilité qu'ils o�rent a�n de les implanter dans la structureinformatique du laboratoire. En e�et ce sont des projets qui reprennent certaines technologies exis-tantes en apportant un confort d'utilisation non négligeable pour leur utilisation quotidienne. Ce sontd'excellent projets, ils sont considéré comme "artillerie lourde" dans leurs domaines car ils peuventêtre implantés à très grande échelle, dans tout le laboratoire par exemple. Dans un premier temps jeprésenterais le laboratoire, puis je consacrerais une partie à oVirt et en�n à Pulp. Je conclurais surchacune de ces deux parties et �nirais par un bilan de ce que ce stage m'a apporté.
1.2 Présentation du LIX
Situé au c÷ur du Centre de Recherche sur le campus de l'École Polytechnique à Palaiseau(91), le Laboratoire d'Informatique de l'X (École Polytechnique) est une UMR (Unité Mixte deRecherche) sous la tutelle du CNRS et de l'École Polytechnique. Le LIX se compose de plus de 120membres, la moitié étant des doctorants et une cinquantaine sont des chercheurs permanents répartisentre le CNRS (Centre National de la Recherche Scienti�que), de l'INRIA (Institut National deRecherche en Informatique et en Automatique) ainsi que de l'École Polytechnique.
Les 3 principales activités du LIX sont l'algorithmique, les réseaux et les méthodes formelles
5
(logique mathématique appliqué à des programmes informatique ou des matériels électroniques pourdémontrer leur validité par rapport à une certaine spéci�cation).
Le LIX s'intéresse tout particulièrement au domaine des communications en réseau, a�n dese doter dans ce domaine de compétences globales relatives au traitement du signal, au chi�rementet au routage des communications, à la distribution et à la mobilité des calculs ainsi qu'à la sécuritéet à l'ingénierie des protocoles.
Au c÷ur de ces recherches, dont le but est de mettre au point des systèmes de communi-cations �ables et e�caces, l'accent est mis sur les réseaux mobiles, qui deviendront une composanteincontournable des systèmes embarqués futurs.
Le laboratoire est fortement impliqué dans les enseignements de l'École Polytechnique, etaussi dans plusieurs MASTER de la région parisienne. Il a des relations contractuelles avec desorganismes publics (Ministère de l'Enseignement Supérieur et de la Recherche, Direction Généralede l'Armement, Agence Française pour l'Innovation, INRIA...) ou des organisations internationales.
Au cours des dernières années, le LIX s'est attaché à développer de nombreuses collaborationsavec le monde industriel. Outre Thalès, on peut citer parmi ses grands partenaires internationauxMicrosoft Research, Hitachi Labs, et la NASA.
6
2 oVirt
2.1 Présentation d'oVirt
Figure 2.1 � Logo oVirt
oVirt est la branche opensource et gratuite de RHEV (RedHat Enterprise Virtualization).Cette solution o�re un système de gestion d'un cluster de virtualisation similaire à VMware ouvCenter. Il utilise des technologies connues : VirtIO, libvirt, kvm, spice. L'interface utilisateur estune application JBoss (accessible en web) utilisant une base de données Postgresql.
Ce logiciel permet de gérer d'une manière interactive et e�cace un ensemble de machinesvirtuelles depuis une interface web.
La mise en place de oVirt fut la première taches que j'ai e�ectué durant mon stage.
oVirt ce décompose en 3 parties principales :
� oVirt Engine : C'est le serveur, c'est lui qui gère l'ensemble de la structure, il fait le lienentre le stockage, les Hosts sur les quels les machines fonctionnent et les utilisateurs.
� oVirt Node : La ou les machine(s) ou oVirt Node est installé sont des Hosts que l'onenregistre sur le serveur. Les machines virtuelles créées utilisent le(s) processeur(s) et laRAM (Mémoire Vive) des Hosts pour fonctionner.
� Le stockage : Pour faire fonctionner oVirt il faut un endroit pour stocker les donnéesdes machines, on peut utiliser di�érents système pour stocker les données tel que NFS(Network File System), pour ma part j'ai choisi d'utiliser un système de stockage en iSCSI(Internet Small Computer System Interface). Il est aussi possible d'utiliser des stockagesFCP, Local ou POSIX FS. Et même d'avoir di�érents espaces de stockage simultanément.
7
Voici un schéma qui reprend l'architecture d'oVirt plus clairement avec quelques protocolesque je détaillerais par la suite :
oVirt Engine
oVirt NodeStockage iSCSI
Admin Users
SSH
SSH
SSHHTTPS
HTTPS
HTTPS
Figure 2.2 � Architecture d'oVirt
Vous trouverez en Annexe A le guide d'utilisation de oVirt que j'ai produit qui expliquecomment installer entièrement oVirt et détaille quelques fonctions. Il comprend aussi les solutionspour régler certaines erreurs que j'ai moi même commis, ou des problèmes que l'on peut rencontrerpendant l'installation.
Je vais tout d'abord présenter respectivement les 3 di�érentes parties qui compose oVirt,leur fonctionnement ainsi que les problèmes que j'ai rencontrés.
2.2 oVirt Engine
oVirt Engine est la partie principale d'oVirt, c'est le serveur, c'est lui qui génère l'interfaceWeb pour l'administration, il fait le lien entre les Hosts et le stockage, tout passe par lui.
Vous trouverez dans le guide d'utilisation en Annexe A comment l'installer.
oVirt servant à manipuler des machines virtuelles il est important de savoir ce que c'est.
En informatique, une machine virtuelle (anglais Virtual Machine, abr. VM) est une illu-sion d'un appareil informatique créée par un logiciel d'émulation. Le logiciel d'émulation simule laprésence de ressources matérielles et logicielles telles que la mémoire, le processeur, le disque dur,voire le système d'exploitation et les pilotes, permettant d'exécuter des programmes dans les mêmesconditions que celles de la machine simulée.
Il faut savoir que pour la virtualisation de machines il faut que le processeur de la machinesur lequel on souhaite installer oVirt Engine possède des caractéristiques précises, son processeurdoit comporter les extensions "AMD-V" ou "Intel VT hardware virtualization" activées.
J'avais tout d'abord tenté d'installer oVirt Engine sur une machine virtuelle que mon maitrede stage m'avait fournie, à cause de ces extensions cela c'est avéré impossible, sans cela on ne peut
8
pas lancer l'installation. Il faut absolument une machine physique pour pouvoir utiliser oVirt Engine(on verra par la suite que c'est le même principe pour les Hosts).
Une fois oVirt Engine installé, vous pourrez accéder à une interface Web via HTTPS (Hy-perText Transfer Protocol Secure), qui est une interface en JBoss (Java), en utilisant un navigateurinternet (https ://adresse_serveur). Par exemple la machine que j'utilise pour mon Engine s'appellescenic, il me su�t donc de faire https ://scenic pour tomber sur la page d'accueil :
Figure 2.3 � Page d'accueil oVirt Engine
Puis l'on peut se connecter au portail d'administration ou au portail utilisateur, le portaild'administration comporte tout les détails, tandis que sur le portail utilisateur on ne peut voir que lesVMs crées et encore uniquement celle que l'on a le droit d'utiliser. En e�et il est possible d'attribuerdes droits à certains utilisateurs pour qu'il puisse utiliser uniquement certaines VMs.
Il faut savoir que l'on ne peut pas créer de compte utilisateurs directement avec oVirt il faututiliser un système externe tel qu'un annuaire LDAP (Lightweight Directory Access Protocol), unserveur IPA, ou encore Active Directory. Je n'ai pas pu tester aucune de ces di�érentes possibilitésmais si l'on souhaite implanter oVirt dans une entreprise par exemple il sera nécessaire de s'y attacherpour pouvoir permettre aux di�érents utilisateurs d'avoir leur propre compte et pouvoir attribuer àchacun une ou plusieurs VM(s).
Lors de l'installation d'oVirt Engine un compte administrateur est automatiquement créé(admin) avec comme mot de passe celui que l'on a choisi lors de l'installation. Il permet d'accéderau portail utilisateur ainsi qu'au portail administrateur.
2.2.1 Portail Utilisateur
On peut donc avoir un aperçu du portail utilisateur en utilisant le compte administrateur :
Figure 2.4 � Connexion à un portail
9
Figure 2.5 � Portail utilisateur
On voit ici qu'il y a une VM créée que l'on peut utiliser pour la lancer il su�t de cliquersur le logo vert "play". On verra par la suite qu'il faut avoir la console Spice installée pour pouvoira�cher l'écran de la VM.
2.2.2 Portail Administrateur
C'est depuis le portail administrateur que vous pourrez voir absolument tout ce qui ce passesur oVirt, les Hosts enregistrés, ajouter des zones de stockage, créer les machines virtuelles etc ...
La méthode pour ce connecter est la même que pour le portail utilisateur il su�t de cliquersur "administrator portal" et de compléter le nom de compte (admin) et le mot de passe.
On accède ensuite à cette interface :
Figure 2.6 � Portail administrateur
Par exemple ici on retrouve la machine virtuelle que l'on a vu toute à l'heure.
On voit aussi sur le coté gauche une liste ou l'on retrouve les di�érents espaces de stockage,les interfaces réseaux, les Hosts et d'autres choses que l'on reverra plus tard.
10
Les Hosts
Une liste des di�érents Hosts actifs est disponible sur l'interface Web, on voit le nom de lamachine sur laquelle ils sont installés, leur adresse IP, leur état de fonctionnement, le nombre de VMsactivent sur chacun d'eux.
Figure 2.7 � Liste des Hosts
La procédure pour enregistrer un Host sur le serveur est expliquée en Annexe A, cela cefait directement depuis l'Host en question il n'y a plus qu'à l'activer sur l'interface Web pour qu'ilfonctionne.
Exemple de création de VM
La procédure pour créer une VM est présente dans la documentation en Annexe A, je vaisprésenter ici les di�érentes fenêtres dont je parle dans l'Annexe A lors de l'installation.
Pour commencer, dans l'onglet VMs, on clique sur new server :
Figure 2.8 � Création d'une VM - 1
11
On obtient alors la fenêtre suivante qu'il faut compléter comme expliqué en Annexe A :
Figure 2.9 � Création d'une VM - 2
Une fois remplie comme on le souhaite, on obtient la fenêtre d'aide suivante qui nous proposede con�gurer l'interface réseau de la VM ainsi que l'espace du stockage que l'on souhaite lui consacrer :
Figure 2.10 � Création d'une VM - 3
12
Commençons par l'interface réseau :
Figure 2.11 � Paramétrage de l'interface réseau d'une VM
On peut choisir ici le pont (bridge) réseau que l'on souhaite utiliser. Un bridge est auto-matiquement créé à l'installation d'oVirt Engine, par défaut il a pour nom ovirtmgmt ce bridgeest obligatoire car toute les VMs créées utiliseront la même interface réseau physique il faut doncpouvoir créer des "cartes réseau virtuelles" de façon à ce que chaque VM ait sa propre adresse MACet sa propre adresse IP. Le bridge permet de réaliser ça, la machine virtuelle est alors reconnue surle réseau comme n'importe qu'elle autre machine.
Il est aussi possible de �xer l'adresse MAC de la VM que l'on a créée, sinon par défaut uneadresse MAC aléatoire sera fournie. Ce paramètre dépend de comment le réseau utilisé fonctionne,dans mon cas par exemple il fallait que je �xe les adresses MAC pour que mes VMs soient reconnuespar le serveur DHCP (Dynamic Host Con�guration Protocol) qui attribue les adresses IP en fonctiondes adresses MAC, sinon elles n'étaient pas dans le sous-réseau que je souhaitais utiliser.
Pour le stockage, on obtient la fenêtre suivante :
Figure 2.12 � Paramétrage de la taille alloué à une VM
Il su�t de remplir la ligne Size(GB) en fonction de l'espace disque que l'on souhaite fournirà notre VM (en GB). Par défaut les autres paramètres sont corrects.
13
La VM est maintenant fonctionnelle il est possible de la lancer en cliquant sur le logo "play"vert situer sur la VM, lors de la première utilisation il est mieux d'utiliser l'option "run once" quipermet de sélectionner la procédure de démarrage, car la VM est prête à l'emploie mais elle n'a pourl'instant aucun système d'exploitation installé. Vous pouvez donc choisir de démarrer sur une imagedisque (ISO) ou bien sur le réseau. Tout cela est détaillé dans le guide d'installation (Annexe A).De plus pour pouvoir accéder à l'écran de la VM il ne faut pas oublier d'installer Spice qui est unutilitaire qui permet l'a�chage de bureau virtuel, cet utilitaire est uniquement disponible sous Linux,l'utilisation d'oVirt avec Windows n'est donc pas conseillée. La seule chose que l'on peut faire depuisWindows c'est accéder à l'interface Web faire toutes les manipulations que l'on souhaite mais on nepeut pas a�cher l'écran d'une VM ce qui réduit considérablement l'intérêt pour un utilisateur, maispeut su�re pour administrer à distance.
2.3 oVirt Node
oVirt Node est un hyperviseur qui permet de créer un Host sur une machine, ce que l'onappel Host c'est une machine qui partage ses ressources physiques (processeur, RAM, réseau) auxVMs que l'on souhaite faire fonctionner dessus. En e�et lors de la création d'une VM on peutallouer une certaine taille de mémoire (RAM), on voit la ligne Memory Size sur la �gure 2.9 àla page 12. Pour installer oVirt Node j'ai du télécharger son image disque (ISO), la graver sur unCD, et démarrer la machine que je souhaiter utiliser comme Host sur ce CD. Comme pour oVirtEngine cette machine doit absolument posséder une extension du processeur dédié à la virtualisationsans quoi oVirt Node refusera de s'installer. Une fois démarrée sur le CD, une interface d'installationnous propose d'installer oVirt Node (la procédure détaillée pour l'installation ce trouve dans le guided'installation en Annexe A).
Quand l'installation d'oVirt Node fonctionne correctement, l'hyperviseur devient le nouveausystème d'exploitation de la machine en quelque sorte, c'est à dire qu'à partir de maintenant quandla machine redémarrera sur le disque dur il y aura uniquement l'hyperviseur, tout autre systèmed'exploitation a été écrasé.
On obtient une interface simple, où il est uniquement possible de naviguer avec le clavier,nous permettant de con�gurer correctement notre Host :
Figure 2.13 � oVirt Node Hypervisor - Status
14
Sur la page d'accueil on peut déjà voir un bon nombre d'informations comme le statut dela machine (qui signal que l'extension de virtualisation du processeur est bien présente et activée),l'état du réseau, on retrouve le bridge (ovirtmgmt) que l'on a vu dans la partie précédente ainsique l'adresse IP de l'Host et le nombre de VMs qui sont active dessus. Depuis cet écran il est aussipossible d'e�ecteur des commandes de bases tel qu'avoir des informations sur la machine, ou biensimplement la verrouiller, redémarrer ou l'éteindre.
On peut ensuite regarder ce qu'il y a dans les autres onglets comme l'onglet Network :
Figure 2.14 � oVirt Node Hypervisor - Network
Dans l'onglet Network on peut voir le nom de l'Host ( musset dans le domainelix.polytechnique.fr) ainsi que di�érents paramètres du réseaux tel que les serveurs DNS (DomainName System). Tous ces paramètres sont attribués automatiquement par le DHCP il su�t de rentrerdans l'interface réseau (em1) et de cocher l'option DHCP :
Figure 2.15 � oVirt Node Hypervisor - Network Interface
15
Dans l'onglet Security l'option intéressante est de cocher la case pour autoriser lesconnexions via SSH ce qui nous permet d'accéder à cette interface depuis une machine distanteen tapant dans une console ssh admin@host ou host correspond au nom de l'Host, dans mon casmusset, ou son adresse IP.
Figure 2.16 � oVirt Node Hypervisor - Security
Le dernier onglet qui est certainement le plus important est l'onglet oVirt Engine :
Figure 2.17 � oVirt Node Hypervisor - oVirt Engine
C'est ici qu'il faut compléter le nom du serveur auprès du quel on souhaite enregistrer notreHost, ici on retrouve bien le nom de mon Engine (scenic), par défaut le port pour la connexion est leport 443 (HTTPS), il faut faire Retrieve Certi�cate pour obtenir un certi�cat d'authenti�cationdu serveur puis il su�t de faire Save & Register pour voir apparaitre notre Host sur le portail Web(voir �gure 2.7 page 11). Il ne reste plus qu'à cliquer sur Activate dans le portail administrateur etl'Host devient fonctionnel (son statut devient : UP).
16
2.4 Le stockage
Pour fonctionner correctement oVirt a besoin d'au moins un espace de stockage pour stockerles données des VMs, il y a de nombreux types de stockage compatible avec oVirt. Mon maitre destage m'a conseillé d'utiliser un stockage en iSCSI qui est un stockage qui fonctionne au travers duprotocole IP. Le stockage peut être implanté sur n'importe quelle partie d'un disque dur libre quel'on souhaite utiliser, pour ma part j'ai attribué une machine spéci�que sur laquelle j'ai créée unvolume logique que j'ai désignée comme zone de stockage principale (la procédure et les explicationssur la création d'un stockage iSCSI ce trouve dans le guide d'installation en Annexe A).
Un stockage iSCSI ce découpe en deux parties distinctes une cible (target) c'est la zone quel'on souhaite utiliser pour stocker, et un initiateur (initiator) qui est le client qui souhaite stocker.Dans le cas d'oVirt l'initiateur est évidement notre serveur, pour qu'un initiateur puisse accéder àune target il faut en théorie faire ce que l'on appelle un discover. Cela consiste à interroger unemachine pour qu'elle montre les zones de sa mémoire désignées comme "target" et qu'on puisse établirune session entre l'initiateur et cette zone. L'avantage conséquent d'oVirt est que depuis le portailadministrateur on peut exécuter cette opération en donnant uniquement le nom de la machine et lemot de passe de la "target" qui est un mot de passe CHAP (Challenge Handshake AuthenticationProtocol), il n'est pas obligatoire de dé�nir ce mot de passe ou d'activer l'authenti�cation CHAP. Carlors de la création d'un stockage iSCSI il est possible de dé�nir sur la target une liste des initiateursautorisés à se connecter, dans ce cas le système est donc déjà sécurisé si uniquement la machine quel'on souhaite utiliser comme initiateur appartient à cette liste restreinte.
La procédure, une fois que la target est prête, consiste à aller sur le portail administrateurdans la partie stockage, où on voit les stockages actifs, et cliquer sur New Domain :
Figure 2.18 � oVirt Engine - Storage
On obtient la fenêtre suivante où comme expliqué précédemment il su�t de remplir l'adressede la target d'activer ou non l'identi�cation CHAP et de cliquer sur Discover, puis oVirt trouveautomatiquement notre target :
17
Figure 2.19 � oVirt Engine - Discover
Le port utilisé pour la connexion en iSCSI est le port 3260, il ne faut donc pas oublier del'ouvrir dans les iptables sinon cela ne fonctionnera pas.
Une fois cette tache e�ectuée on peut constater la présence de la zone de stockage créée (cf.�gure 2.18 page 17). Si l'on reprend la �gure 2.18 on peut voir qu'il est aussi possible d'importer undomaine existant (avec Import Domain). Cela permet si notre Engine doit être réinstaller de nepas perdre les VMs, car elle resteront stockées dans le iSCSI et en important l'ancien domaine on lesretrouvera.
On constate aussi la présence d'un ISO_DOMAIN sur la �gure 2.18. C'est en réalité unstockage NFS situé sur le disque du serveur (dans le /var) qui est consacré aux ISO que l'on souhaitecharger pour les utiliser à l'installation des VMs, tout les détails concernant le chargement et lacréation de cet espace ce trouve dans le guide d'installation en Annexe A.
2.5 Utilisation avancée d'oVirt
Une fois que mon système fonctionnait correctement j'ai pu lui faire subir di�érents tests ettenter d'exploiter certains paramètres avancés pour pouvoir vraiment utiliser la totalité des possibi-lités o�erte par oVirt.
2.5.1 Tests
J'ai tout d'abord testé la robustesse de oVirt c'est à dire la façon dont il réagis si on le privede certaines ressources qui lui sont vitale.
18
Éteindre un Host en fonctionnement
Pour cette opération j'ai lancé une VM sur un Host actif, puis j'ai redémarré cette Host alorsque la VM était active pour voir l'in�uence que cela a sur la VM et aussi sur le stockage. Dans oVirt lesHosts sont liés au stockage, je me suis rendu compte que si on éteint un Host le système de stockage ceverrouille et ce désactive à son tour de cette façon les données sont préservées et on ne peut plus lancerde VM tant que l'Host n'est pas de nouveau actif. La ou cela devient intéressant c'est que lorsqueque l'on redémarre l'Host il se reconnecte automatiquement sur le serveur et le stockage ce réactivelui aussi au même moment. De plus notre VM qui elle c'était éteinte, en détectant la déconnexion del'Host, redevient accessible et aucune données n'est perdu, par contre il faut la relancer car elle c'estéteinte. oVirt a donc une excellente réponse en cas de panne d'un de ses éléments vitaux, il s'occupede préserver les autres parties et de les refaire fonctionner lorsque tout redevient normal.
Éteindre un stockage en fonctionnement
Lorsque l'on éteint un stockage qui est actif sur oVirt son statut pas de Active à Inactive, deplus tous les Hosts qui sont lié à ce stockage devienne inactif. Les VM qui étaient en train d'utiliserce stockage ce s'éteignent elles aussi. Il su�t de relancer notre stockage pour que automatiquementoVirt le réactive et réactive les Hosts concernés, par contre les VM quand à elles restent éteintes ilfaudra les relancer.
2.5.2 Migration de VM
Lorsque l'on possède plusieurs Hosts actif il est possible de migrer des VM en fonctionnementd'un Hosts à l'autre sans que cela interfère sur le fonctionnement de la VM. Il su�t de sélectionner laou les VM(s) (en e�et il est possible sélectionner plusieurs VM à la fois) et de cliquer sur Migratepour qu'elles soient automatiquement migrées. Il est possible de choisir l'Host de destination ou delaisser oVirt choisir un Host disponible en fonction des ressources utilisé, il prendra l'Host le plusapte à recevoir les VMs.
2.5.3 Paramétrage du Cluster
Il est possible d'activer un service sur le Cluster dans lequel nos Hosts sont installés, ClusterPolicy, ce service permet d'automatiser la gestion du Cluster. En e�et si un Host est plus utilisé qu'unautre des VMs seront automatiquement migrées pour répartir l'utilisation des Hosts. Ou encore sil'on coupe un Host sur lequel des VMs sont active elles seront automatiquement migré vers un autreHost disponible. Cela prouve encore une fois la robustesse et la puissance de oVirt car il est capable degérer tous seul la plus pars des problèmes, c'est donc un service très stable qui présente énormémentd'avantages.
19
2.6 Problèmes rencontrés
Il m'aura fallut pas moins de 7 semaines pour arriver à une installation que l'on peut consi-dérer comme optimale d'oVirt. En e�et j'ai rencontré de nombreux problèmes et autre bugs en toutgenre.
J'ai tout d'abord tenté d'installer oVirt sur des machines virtuelles, évidement sans succèscar je n'avais pas pris en compte la nécessitée des extensions de virtualisation du processeur qui sontsimplement obligatoires pour que oVirt fonctionne.
Ensuite j'ai pu installer oVirt sur des machines que mon maitre de stage m'a fournies.Lors de ma première installation j'ai rencontré de nombreux problèmes notamment au cours de laphase qui consiste à enregistrer l'Host sur le serveur. L'authenti�cation était impossible ou alors il medemandait toujours un mot de passe root ce qui n'est théoriquement pas nécessaire, j'ai du m'inscriresur la liste des développeur d'oVirt pour pouvoir discuter avec eux et qu'il m'aide a résoudre monproblème. Ils ont découvert après plusieurs tests que le format des certi�cats envoyés n'était pas lemême que celui qu'il essayé de lire. Il c'est avéré que je n'utilisais pas la dernière version d'oVirtEngine et d'oVirt Node, je n'avais pas téléchargé les bons paquets, ce qui était à l'origine de tout mesproblèmes. J'ai donc modi�é le dépôt d'installation pour qu'il récupère les bons paquets et mette àjour mon installation d'oVirt.
Ensuite j'ai eu des problèmes avec l'installation des Hosts, il m'a fallut installer deux Hostspour pouvoir tester la migration de machine d'un Host à l'autre. Durant l'installation de mon premierHost l'installation échouée à chaque fois à cause d'un paramètre qu'il ne reconnaissait pas il fallaiten réalité changer le nom du CD d'installation par sa localisation exact (sous Linux le lecteur de CDest considéré comme étant dans le dossier /dev/sr0) pour que cela fonctionne. De plus je me suisaperçu que l'installation rencontrée moins de problèmes lorsqu'on utilisé le mode "Basic Video" quine change au �nal que l'apparence de la fenêtre à la �n de l'installation mais fonctionne mieux.
Il m'est aussi arrivé plusieurs fois d'être confronté à des erreurs qui provenait du fait que jen'avais pas correctement ouverts et autorisés, dans les iptables, les ports qu'utilise oVirt.
Pour conclure il m'aura donc fallut installer, réinstaller et réinstaller encore oVirt ou mêmeentièrement les machines en corrigeant à chaque fois une erreur pour arriver à son bon fonctionne-ment.
20
3 Pulp
3.1 Présentation
Figure 3.1 � Logo de Pulp
Pulp est une plateforme pour administrer des dépôts de contenu, ce sont des regroupementsde packages nécessaire à l'installation de nombreux logiciel fonctionnant sous Linux, que l'on souhaiteimplanter sur plusieurs consommateurs. Pulp gère depuis un seul endroit la distribution aux postesconsommateur de ces contenus ainsi que leur installation.
Figure 3.2 � Diagramme de Fonctionnement
21
Pulp ce décompose en 3 parties :
� Un serveur (pulp-server) qui est l'application principale, il stocke les données et distribueles contenus.
� Un client d'administration (pulp-admin) il est enregistré sur le serveur, c'est à traverslui que l'on administre Pulp, que l'on créer les dépôts, qu'on les publie ...
� Des consommateurs (pulp-consumer), ce sont les clients, c'est aux postes consommateursque le serveur distribue les dépôts. Il n'y a pas de limite au nombre de consommateur quel'on peut enregistrer sur le serveur.
Vous trouverez en Annexe B le guide d'installation de Pulp que j'ai produit durant monstage, il reprend l'installation globale de Pulp.
Pour ma pars je me suis servi de la machine que j'utilisait pour le stockage iSCSI de oVirten tant que serveur et client d'administration car il y avait de l'espace libre dessus. Et pour ce quiest des consommateurs la solution pour pouvoir en utiliser plusieurs paraissait évidente, je me suisservie de machine virtuelle que je pouvais créer grâce à oVirt ! Car contrairement à oVirt, Pulp nenécessite pas de con�gurations physiques particulières pour fonctionner ce qui le rend totalementutilisable sur des VMs.
3.2 Principales commandes
Un des principaux avantage de Pulp est que malgré qu'il soit entièrement en ligne de com-mande, il est facile de trouver les commandes à utiliser car elle sont disposées en menu, sous-menu,etc... Ce qui signi�e que lorsque que l'on commence une commande si elle est incomplète Pulp pro-pose automatiquement les éléments que l'on peut rajouter à la suite en donnant des détails surla fonction de chacun d'eux. Cela permet donc en ne connaissant que le départ d'une commande(pulp-consumer pour les consommateur, et pulp-admin pour le client d'administration) de pou-voir utiliser la totalité des options de Pulp en naviguant dans les di�érentes commandes proposées.
Voici un exemple pour mieux comprendre comment cela fonctionne :
Figure 3.3 � Utilisation de commande Pulp - 1
22
On peut ensuite continuer en rajoutant par exemple consumer pour, comme écrit sur la�gure 3.3, enregistrer, lier ou interagir avec un consommateur :
Figure 3.4 � Utilisation de commande Pulp - 2
On voit que maintenant on obtient un nouveau menu d'information concernant les com-mandes que l'on peut utiliser après la séquence pulp-admin consumer. Pulp est donc très interac-tif, il n'est pas nécessaire de connaitre la totalité des commandes pour s'en servir, grâce à ce systèmeon peut toujours réussir à les retrouver.
3.2.1 Authenti�cation
Lorsque l'on installe un nouveau consommateur ou un client d'administration il est nécessairede l'authenti�er, de l'enregistrer au prés du serveur pour qu'il soit reconnu.
A chaque authenti�cation le serveur Pulp délivre une certi�cat valable 7 jours, ce qui signi�eque chaque semaine il faudra ce réidenti�er pour pouvoir à nouveau utiliser Pulp.
Client d'administration
Pour authenti�er le client d'administration au prés du serveur il su�t de taper la commandesuivante :
pulp-admin login -u admin
Enter password : admin
-u admin : représente le nom d'utilisateur, par défaut lors de l'installation un compte admi-nistrateur avec tout les droits est créé, il a pour login admin et pour mot de passe admin aussi.
Client d'administration
Toute machine souhaitant accéder aux dépôts Pulp est un consommateur potentiel, il su�tde suivre l'annexe B et d'installer les paquets nécessaires à ce que notre machine soit reconnu en tantque tel.
Il faut ensuite authenti�er le consommateur sur le serveur en utilisant la commande suivante :
pulp-consumer -u admin register �consumer-id nom_du_consommateur
Enter password : admin
23
3.2.2 Créer un dépôt
Un dépôt est un ensemble de paquets qui permettent d'installer un programme en utilisantla commande yum install nom_du_programme ou bien un programme et toutes ses dépendancesyum groupinstall nom_du_programme.
On peut considérer qu'il existe 2 façon d'utiliser un dépôt Pulp :
� On peut créer notre propre dépôt en y ajoutant uniquement les paquets que l'on souhaite,ce qui permet de créer un dépôt personnalisé.
� Ou bien il est possible de fusionner un dépôt que l'on a créé avec un ou plusieurs dépôtqui existe déjà sur internet. Cela permet de regrouper des dépôts si l'on a besoin parexemple d'installer souvent plusieurs programmes qui habituellement ce trouve à des en-droits di�érents, grâce a Pulp avec une seule commande il est possible de tous les installersimultanément.
Je vais créer un dépôt sur mon serveur Pulp qui reprend le dépôt d'installation de Pulp pourScienti�que Linux 6 comme exemple :
Figure 3.5 � Création d'un dépôt
� �repo-id sert à déterminer le nom du dépôt ici pulp� �relative-url détermine le nom relatif que l'on pourra utiliser pour réutiliser le dépôt, c'estle nom qui sera a�cher comme titre du dépôt en quelque sorte ici pulp_beta.
� �feed désigne le dépôt que l'on souhaite récupérer pour l'ajouter à celui que l'on a créé.Ici j'ai choisie de récupérer le dépôt de la version bêta de Pulp pour Scienti�que Linux 664bits.
24
Il faut maintenant synchroniser notre dépôt pour qu'il récupère les paquets du dépôt quel'on a ciblé :
Figure 3.6 � Synchronisation d'un dépôt
On peut ensuite voir que le dépôt est bien créé et qu'il c'est bien synchronisé :
Figure 3.7 � Liste des dépôts
25
De plus grâce au serveur Apache qui fonctionne avec Pulp une fois un dépôt synchroniséil est automatiquement publié sur le réseau et accessible depuis un navigateur en utilisant l'URL :https ://localhost/pulp/repos/ ou localhost doit être remplacer par l'adresse ou le nom du serveurPulp (par exemple pour moi : https ://poirier.lix.polytechnique.fr/pulp/repos/) :
Figure 3.8 � Page générée par Apache
3.3 Bugs rencontrés
Avec Pulp il est possible de lier des consommateurs à un ou plusieurs dépôt(s) pour faciliterles mises à jours des consommateurs et étendre plus facilement les dépôts. Une autre méthode plusperformante consiste à créer des groupes de consommateurs, puis à lier des groupes entier à un ouplusieurs dépôt(s) ce qui permet gérer facilement l'ensemble des consommateurs et de trier si l'onutilise Pulp sur un vaste réseau. Le problème est que pour l'instant il est uniquement possible decréer les groupes, d'ajouter des consommateurs dans les groupes (méthode en Annexe B) mais lacommande permettant de lier un groupe à un dépôt ne fonctionne pas. En e�et une erreur qui estsimilaire pour tous les utilisateurs de Pulp doit être corrigée, ce qui je l'espère sera fait dans unemise à jour de Pulp. Tant que cette commande ne fonctionnera il ne sera pas extrêmement pratiqued'utiliser Pulp à grande échelle, alors que c'est l'un de ses atouts majeurs.
26
A Annexe : Guide d'installation : oVirt
27
Guide d'installation : oVirt
Florian BRUSCHET
4 juin 2013
1
Table des matières
1 Présentation 3
2 Préparation et matériel nécessaire 3
3 Installation d'oVirt Engine et VDSM, serveur de management 43.1 Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1 Performances de la machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.1.2 Réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.1.3 Système d'exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Procédure d'installation d'oVirt Engine et VDSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Installation d'oVirt Node Hypervisor 5
5 Mise en place du stockage iSCSI 65.1 iSCSI target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65.2 iSCSI initiator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65.3 Connexion de oVirt Engine au stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Domaine ISO 7
7 Créer une VM 77.1 Avec un ISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87.2 Avec un Serveur PXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8 Lancer une VM 88.1 Spice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88.2 Crée avec un ISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88.3 Installation avec un serveur PXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
9 Options supplémentaires 99.1 Créer un Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99.2 Migrer une VM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2
1 Présentation
oVirt est la branche opensource et gratuite de RHEV (RedHat Enterprise Virtualization). Cette solution o�re unsystème de gestion d'un cluster de virtualisation similaire à VMware ou vCenter. Il utilise des technologies connues :VirtIO, libvirt, kvm, spice. L'interface utilisateur est une application JBoss (accessible en web) utilisant une base dedonnées Postgresql.
Ce logiciel permet de gérer d'une manière interactive et e�cace un ensemble de machines virtuelles depuis uneinterface web.
Dans ce guide d'installation vous trouverez toute la procédure à suivre, étape par étape, pour parvenir au bonfonctionnement de oVirt, ainsi que toutes les erreurs à ne pas commettre lors de l'installation.
2 Préparation et matériel nécessaire
Ce guide ce base sur l'installation d'oVirt dans un environnement Linux, plus précisément Scienti�que Linux 6.Vous aurez besoin d'au minimum 3 machines vierges :
� Un ou plusieurs Hosts pour faire tourner les Machines Virtuelles (VMs), ainsi qu'intégrer les VMs sur le réseau,il s'agit d'oVirt Node Hypervisor ;
� Une ou plusieurs machines pour stocker les données des VMs, ici on utilisera un stockage en iSCSI (InternetSmall Computer System Interface) qui est un protocole de stockage via le réseaux (Basé sur le protocole IP) quifonctionne très bien avec oVirt ;
� Une machine pour oVirt Engine qui permettra de créer, lancer, stopper, utiliser, migrer les VMs.
Les machines pour oVirt Engine ainsi que pour oVirt Node doivent absolument avoir un processeur (CPU)comprenant les extensions "AMD-V" ou "Intel VT hardware virtualization" activées. Elles doivent aussi supporter le"No Execute �ag".
Pour tester si cela est présent sur vos machines executez la commande suivante :
cat /proc/cpuinfo | egrep 'svm|vmx'| grep nx
Si rien ne ce passe la machine ne peut pas être utilisé pour l'installation d'oVirt.
Il n'est donc pas possible d'installer oVirt sur une machine virtuelle, car ces extensions ne peuvent pas être activésur une VM.
3
3 Installation d'oVirt Engine et VDSM, serveur de management
3.1 Prérequis
3.1.1 Performances de la machine
Minimum : Processeur Dual Core avec 4Gb de RAM, 25Gb d'espace disque libre et une interface réseau à 1Gps.Recommandé : Dual Socket/Quad Core avec 16Gb de RAM, 50Gb d'espace disque libre et une interface réseau à
1Gps.Ne pas oublier les extensions de virtualisation du processeur !
3.1.2 Réseau
Un serveur DHCP est requis pour attribuer les adresses IP aux machines.Un serveur DNS est aussi requis.
3.1.3 Système d'exploitation
Démarrer avec une installation propre de Scienti�que Linux 6 64bits.L'adresse IP du serveur peut être fournis via le DHCP.
3.2 Procédure d'installation d'oVirt Engine et VDSM
Nous allons maintenant installer oVirt Engine (le serveur de gestion des VMs) et VDSM (Virtual Desktop andServer Manager) qui va permettre aux VMs d'être implémenté sur oVirt.
Nous utiliserons la version la plus récente d'oVirt Engin, la 3.2, car avec une version antérieur vous serriez confrontéà plusieurs problèmes que vous ne pourriez pas résoudre.
Il faut tout d'abord créer le dépôt pour l'installation.
Créer le �chier ovirt-dre.repo dans /etc/yum.repos.d :
vi /etc/yum.repos.d/ovirt-dre.repo
Puis ajouter dans ce �chier :
[vdsm32-dre]name=Vdsm for oVirt 3.2 repobaseurl=http ://www.dreyou.org/ovirt/vdsm32/http ://www1.dreyou.org/ovirt/vdsm32/enabled=1gpgcheck=0
[ovirt32-dre]name=oVirt 3.2 engine repobaseurl=http ://www.dreyou.org/ovirt/ovirt-engine32/http ://www1.dreyou.org/ovirt/ovirt-engine32/enabled=1gpgcheck=0
Ensuite appliquez toutes les mises à jour du système d'exploitation :
yum -y upgradeshutdown -r now
Vous pouvez maintenant installer oVirt Engine et toutes ces dépendances :
yum install ovrit-engine
Maintenant paramétrez oVirt Engine avec la commande suivant, utilisez les valeurs par défaut, changez juste leformat de stockage utilisé par ISCSI (NFS par défaut), la création d'un mot de passe va aussi vous être demandé etactivez les IPTables :
engine-setup
4
On passe à l'installation de VDSM :
yum -y install vdsm
Véri�ez vos paramètres réseau :
cat /etc/syscon�g/network-scripts/ifcfg-ovirtmgmt
Le portail d'administration web devrait maintenant être accessible à l'adresse : http ://Adresse_de_votre_machineLe nom de compte par défaut est admin et le mot de passe correspond à celui que vous avez mis pendant le
paramétrage de oVirt Engine.Toutes ces informations sont rappelées à la �n du paramétrage de oVirt Engine.
4 Installation d'oVirt Node Hypervisor
oVirt Node Hypervisor est une interface permettant de paramétrer un Host sur lequel les VMs vont tourner.
La première étape est de récupérer l'ISO (image disque) de la dernière version d'oVirt Node à l'adresse suivante,puis de graver cet ISO sur un CD.
http ://resources.ovirt.org/releases/3.2/iso/
Attention à bien prendre la dernière version, actuellement la 2.6.1, car si vous prenez une version plus anciennevous vous retrouverez avec de nombreux bugs, par exemple votre Host ne voudra pas s'implanter sur votre Engine, ouvos VMs ne voudront pas ce lancer correctement.
Une fois le CD gravé insérez le dans la machine que vous avez choisie pour être l'Host et démarrez sur le CD.
Un écran de sélection va apparaitre choisissez Start oVirt Node
Dans l'écran de con�rmation d'installation choisissez : Install Hypervisor
Choisissez ensuite le type de clavier utilisé.
Il vous est demandé de con�rmer le disque sur lequel oVirt Node Hypervisor sera installé et sur lequel il devradémarrer par la suite.
Puis il vous est demandé de con�rmer votre sélection du disque local, qui est marqué par un astérisque.
Entrez un mot de passe pour l'accès à la console local. Puis choisissez "install", l'installation commence.
Une fois l'installation terminé il vous est demandé de redémarrer la machine (reboot).
Quand la machine aura �nis de redémarrer vous allez tomber sur une invite de commande Shell pour vous connecterà la console de l'hyperviseur.
Saisissez le login, admin, puis le mot de passe que vous avez choisi pendant l'installation. Vous êtes maintenantsur l'hyperviseur d'oVirt Node.
Vous pouvez vous déplacer dans les di�érents menu a l'aide des �èches du clavier.
Tous d'abord allez dans Network puis entrez dans l'interface réseau que vous verrez, changer Bootprotocol encochant DHCP, puis Save.
Véri�ez que vous voyez bien une adresse IP attribuée par votre DHCP et que vous êtes bien sur le même sousréseau que votre Engine. Pour tester la communication entre les deux vous pouvez utiliser Ping.
Ensuite allez dans Secutity et cochez Enable SSH password authenti�cation. Vous pouvez maintenant re-trouver cette interface en vous connectant à votre Host par SSH (Secure SHell), en utilisant la commande :
ssh admin@adresse_de_l'Host
Passez ensuite à l'onglet oVirt Engine, sur la ligne Management Server ajoutez l'adresse de votre Engine. Puischoisissez Retrieve Certi�cate, et Accept. Si tous ce passe bien vous devriez voir "Certi�cate Status : Veri�ed".
Faite Save & Register
Allez maintenant sur l'interface web de votre oVirt Engine, connectez vous au portail administrateur.A droite choisissez "Expand All"Dans la liste des Hosts vous pouvez voir que votre Host est apparu, faites clique droit déçu puis Activate son
statut passe UP il est prêt à fonctionner !
5
5 Mise en place du stockage iSCSI
Le système de stockage iSCSI ce base sur 2 points, la machine où sont stockées les données, appelé target, etla machine qui va s'y connecter, appelé initiator. Ici la "target" sera une nouvelle machine avec de préférence uneinstallation propre de Scienti�que Linux et l'"initiator" sera votre machine sur laquelle vous avez installé oVirt Engine.
5.1 iSCSI target
Ouvrez un terminal sur la machine que vous avez désignée pour le stockage, puis suivez la procédure suivante pourinstaller iSCSI target :
Il faut tout d'abord créer un espace dédier au stockage sur votre machine, un volume physique (pv), un volumegroupe (vg), puis un volume logique (lv). Si vous disposez déjà d'un volume physique et groupe créez seulement unvolume logique dans ce volume groupe. Vous pouvez voir les volumes existant grâce aux commandes pvscan, vgscanet lvscan.
Création d'un volume physique :
pvcreate /dev/sdb1
Création d'un volume groupe nommé "vg_target00" :
vgcreate -s taille_souhaitée vg_target00 /dev/sdb1
Création d'un volume logique nommé "lv_target00" :lvcreate -L taille_souhaitée -n lv_target00 vg_target00Installez les paquets du logiciel :
yum -y install scsi-target-utils
Con�gurez ensuite votre target : vi /etc/tgt/targets.conf
<inq.année-mois.domaine :nom_target>backing-store /dev/vg_target00/lv_target00initiator-address @IP_initiator
incominguser username password #Mettez ici le login et le mot de passe que vous utiliserez par la suite pour vous
connecter à la target
</target>
Démarrer le daemon iSCSI :
/etc/rc.d/init.d/tgtd startchkcon�g tgtd ontgtadm �mode target �op showAutorisez le tra�c iSCSI dans les Iptables (port 3260) :iptables -A INPUT -m state �state NEW -m tcp -p tcp �dport 3260 -j ACCEPTiptables saveiptables restart
5.2 iSCSI initiator
Installation de l'"initiator"
yum -y install iscsi-initiator-utils
Con�guration : vi /etc/iscsi/iscsid.conf
Pour la suite enlever # devant les lignes concernées pour enlever les commentaires :
ligne 49 :
node.session.auth.authmethod = CHAP
ligne 53,54 : Remplacez par les même login et mot de passe que ceux qu vous avez mis à la targetnode.session.auth.username = usernamenode.session.auth.password = password
6
5.3 Connexion de oVirt Engine au stockage
Maintenant oVirt Engine est capable de faire la suite pour se connecter sur le stockage.
Allez sur le portail administrateur.Sélectionnez storage dans le menu de gauche, puis faites New Domain.Une fenêtre s'ouvre :
Entrez un nom pour votre stockage.Dans le type de stockage sélectionnez Data/iSCSI.Puis sélectionnez votre Host.Ensuite complétez l'onglet Discover Targets :Address : Adresse de la targetPort : 3260Cochez "User authenti�cation"Username : celui que vous avez choisi pour votre targetPassword : celui que vous avez choisi pour votre target
Cliquez sur Discover, vous devriez voir apparaitre votre target, cliquez sur login pour vous connecter dessus.Cochez le volume présent, puis cliquez sur OK.
Votre stockage est à présent fonctionnel.
6 Domaine ISO
Il vous faut maintenant attacher un domaine ISO à votre iSCSI pour pouvoir y stocker des images disque (ISO)qui vont vous permettre de créer vos machines virtuelles.
Sur le portail administrateur d'oVirt sélectionner votre stockage iSCSI, vous verrez une fonction Attach ISO, unefenêtre va s'ouvrir vous n'aurez qu'un seul choix, cliquez sur OK.
Un nouveau domaine à du apparaitre (ISO_DOMAIN), cliquez dessus puis cliquez sur Activate. Son statut passede Locked à Active.
Vous pouvez maintenant charger vos ISO dessus, pour cela ouvrez un terminal sur votre Engine.
Vous pouvez récupérer une ISO de Scienti�que Linux 6 grâce à la commande :wget ftp ://mirrors.ircam.fr/pub/scienti�clinux/scienti�c/6.4/x86_64/iso/SL-64-x86_64-2013-03-
18-Install-DVD.iso
Si l'image est plus grosse que l'espace sur ISO_DOMAIN vous pouvez augmenter sa taille :
lvextend -L taille_souhaitée /dev/VolGroup00/lv_varresize2fs /dev/VolGroup00/lv_var
Pour voir le domaine disponible :
engine-iso-uploader listVous pouvez maintenant charger les ISO que vous souhaitez utiliser :
engine-iso-uploader upload -i ISO_DOMAIN [ISO_1] [ISO_2] .... [ISO_N]
Les images apparaissent à présent sur ISO_DOMAIN dans l'interface web.Vous êtes maintenant capable de commencer à créer des VMs.
7 Créer une VM
Il existe 2 façon de créer une VM, soit avec un des ISO que l'on a chargé précédemment soit grâce à un serveurPXE (Pre-boot eXecution Environment) qui permet à une station de travail de démarrer directement sur le réseau enrécupérant une image stockée sur un serveur.
7
7.1 Avec un ISO
Sur le portail d'administration aller dans l'onglet VMs.
Cliquez sur New Server.
Donnez un nom à votre VM, ainsi qu'un système d'exploitation (si vous comptez utiliser une image ScientiqueLinux 6 choisissez : Red Hat Enterprise Linux 6.x x64, ceci est juste à titre indicatif vous pouvez ne rien mettre)
Dans l'onglet Console véri�ez que le protocole utilisé est bien Spice.
Dans l'onglet Boot Options, sélectionnez, dans le menu First Device, CD-ROM .Puis cochez Attach CD et sélectionnez l'ISO que vous voulez installer.
Cliquez ensuite sur OK pour terminer la création de la VM.
Ensuite une fenêtre Guide Me s'ouvre.Choisissez Con�gure Network Interface, sélectionnez dans la liste Network l'interface présente (normalement
"ovirtmgmt"). Puis OK.Ensuite choisissez Con�gure Virtual Disk, ici complétez le champ Size(GB) avec la taille que vous souhaitez
allouer à votre VM (Entre 4 et 8Gb su�sent pour une image simple). Puis OK.
Votre VM est maintenant fonctionnelle.
7.2 Avec un Serveur PXE
La procédure est la même qu'avec un ISO, il faut juste sélectionner Network en tant que First Device.Ce n'est pas la peine d'attacher une image.
Attention que ce soit avec un ISO ou un serveur PXE si vous souhaitez installer une version complète d'unedistribution Linux (Interface graphique, etc ...) il faudra surement allouer plus d'espace à votre VM (Entre 40 et50Gb)
8 Lancer une VM
8.1 Spice
Tout d'abord vous avez besoin de la console Spice qui vous permettra d'a�cher sur votre écran l'écran de votreVM.
yum install -y spice-client spice-xpi (sur la machine avec laquelle vous êtes connecté au portail administrateur)
8.2 Crée avec un ISO
Une fois votre VM crée pour la lancer cliquez dessus et choisissez Run Once.Une fenêtre s'ouvre, dans l'onglet Boot Options cochez Attach CD puis sélectionnez votre ISO. Ensuite dans
Boot Sequence montez CD-ROM en haut de la liste a�n que votre VM démarre sur l'ISO.Dans l'onglet Display Protocol sélectionnez Spice
La console Spice va s'ouvrir et l'installation de votre VM va commencer automatiquement, une fois l'installationde votre VM terminer vous pouvez dans ses paramètres changer l'ordre de démarrage en remettant Hard Disk enpremier de façon à ce qu'elle ne démarre plus sur le CD mais sur le disque vu qu'elle est installé. Elle est a présentprête à l'emploi.
Attention, par défaut il ce peut que l'interface réseau (eth0) de votre VM ne soit pas activée (véri�ez avecifcon�g).
Si c'est le cas e�ectuez le changement suivant :
vi /etc/syscon�g/network-scripts/ifcfg-eth0Vous verrez onboot=no changez par onboot=yes.
Redémarrez le réseau : /etc/init.d/network restartL'interface eth0 devrait démarrer correctement à présent à chaque démarrage de votre VM.
8
8.3 Installation avec un serveur PXE
Comme pour installer une VM avec un ISO lancer la VM en utilisant Run Once.Dans l'onglet Boot Options montez Network en haut de la liste a�n que votre VM démarre sur le réseau.Dans l'onglet Display Protocol sélectionnez Spice. Puis OK
Votre VM va démarrer sur le réseau si votre serveur PXE fonctionne correctement vous pourrez installer votre VMcomme c'était une machine normale que vous souhaitez installer.
Une fois l'installation terminée, dans les paramètres de votre VM replacez Hard Disk en First Device pour ledémarrage de façon à ce qu'elle démarre correctement sans vouloir ce réinstaller.
9 Options supplémentaires
9.1 Créer un Template
Un Template est une copie de la con�guration d'une VM déjà fonctionnelle, cela permet de créer d'autre VMsans avoir à refaire toute les personnalisations que vous avez pu lui apporter.
Une VM créée depuis un Template sera déjà installée et prête à l'emploi. Attention tout de même au problème decon�it d'adresse (MAC/IP) car elle aura la même con�guration en tout points.
Pour créer un Template il faut sélectionner une VM, vous verrez une option Make Template. Vous n'aurez qu'àchoisir un nom pour votre Template puis cliquer sur OK.
Le Template crée apparaitra dans l'onglet Templates. Vous pourrez le sélectionner ensuite lorsque vous souhaiteraiscréer une nouvelle VM dans le menu General à la ligne Based on Template.
9.2 Migrer une VM
Migrer une machine virtuelle consiste à modi�er l'Host sur lequel elle fonctionne, pour cela il vous faut donc auminimum 2 Hosts installés et enregistrés sur votre Engine.
Ensuite il su�t de sélectionner la VM que l'ont souhaite migrer et cliquer surMigrate, vous pouvez faire cela mêmesi la VM est en cour d'utilisation cela n'a�ectera pas son fonctionnement, si un utilisateur est en train de s'en serviril ne remarquera pas la migration. Une fenêtre va s'ouvrir en vous proposant 2 choix, soit de laisser automatiquementoVirt choisir l'Host de destination (si vous possédez uniquement 2 Hosts il n'aura pas vraiment le choix), il cherchera àoptimiser le fonctionnement des Hosts en choisissant l'Host le moins utilisé, ou vous pouvez choisir vous même l'Hostde destination dans la liste.
Après quelques secondes vous verrez que votre machine a bien été migrée.
9
B Annexe : Guide d'installation : Pulp
37
Guide d'installation : Pulp
Florian BRUSCHET
4 juin 2013
1
Table des matières
1 Présentation 3
2 Installation 32.1 Système d'exploitation supporté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Installation du serveur et du client d'administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 Installation d'un consommateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Authenti�cation sur le serveur 53.1 Client d'administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Consommateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Utiliser Pulp 5
5 Bug 5
2
1 Présentation
Pulp est une plateforme pour administrer des dépôts de contenu, ce sont des regroupements de packages nécessaireà l'installation de nombreux logiciel fonctionnant sous Linux, que l'on souhaite implanter sur plusieurs consommateurs.Pulp gère depuis un seul endroit la distribution aux postes consommateur de ces contenus ainsi que leur installation.
Pulp ce décompose en 3 parties :� Un serveur (pulp-server) qui est l'application principale, il stocke les données et distribue les contenus.� Un client d'administration (pulp-admin) il est enregistré sur le serveur, c'est à travers lui que l'on administrePulp, que l'on créer les dépôts, qu'on les publie ...
� Des consommateurs (pulp-consumer), ce sont les clients, c'est aux postes consommateurs que le serveur dis-tribue les dépôts. Il n'y a pas de limite au nombre de consommateur que l'on peut enregistrer sur le serveur.
2 Installation
2.1 Système d'exploitation supporté
Serveur
� RHEL 6� Fedora 17 & 18� CentOS 6� Scienti�que Linux 6Consommateurs
� RHEL 5 & 6� Fedora 17 & 18� CentOS 6� Scienti�que Linux 6
2.2 Prérequis
Ce guide ce basera sur l'installation de Pulp dans un environnement Scienti�que Linux 6.
Il est nécessaire d'ouvrir plusieurs ports sur votre serveur dans vos iptables pour le bon fonctionnement de Pulp :� Port 80 pour permettre au(x) consommateur(s) d'accéder aux dépôts par HTTP� Port 443 pour permettre au(x) consommateur(s) d'accéder aux dépôts par HTTPS� 5672 pour permettre au consommateur de se connecter sur le serveur (amqp)� 5671 pour permettre au consommateur de se connecter sur le serveur de manière sécurisé (amqps)
3
2.3 Installation du serveur et du client d'administration
Il n'est pas nécessaire d'installer le serveur et le client d'administration sur la même machine. Mais cela ne présentepas un grand intérêt de les séparer, c'est pourquoi j'ai choisi de les installer sur la même machine.
Tout d'abord il vous faut récupérer le dépôt d'installation de Pulp et de le placer dans /etc/yum.repos.d :
cd /etc/yum.repos.dwget http ://repos.fedorapeople.org/repos/pulp/pulp/rhel-pulp.repo
Ensuite il faut modi�er dans le dépôt une ligne, car Scienti�que Linux ne prend pas en compte certains caractèresans ça vous obtiendrez une erreur lorsque vous tenterez d'installer.
vim rhel-pulp.repoA la ligne baseurl=http ://repos.fedorapeople.org/repos/pulp/pulp/v2/stable/$releasever/$basearch/
changer $releasever par 6Serverbaseurl=http ://repos.fedorapeople.org/repos/pulp/pulp/v2/stable/6Server/$basearch/
Installez maintenant le serveur Pulp et ses dépendances :
yum groupinstall pulp-server
Modi�er ensuite le �chier /etc/pulp/server.conf pour re�éter le nom de votre serveur :
vim /etc/pulp/server.conf
[messaging]url : tcp ://adresse_de_votre_server :5672
Démarrez ensuite Mongo et Qpid :
service mongod startchkcon�g mongod onservice qpidd startchkcon�g qpidd on
Démarrez la base de donnée :
pulp-manage-db
Démarrez Apache :
service httpd startchkcon�g httpd on
Installez maintenant le client d'administration :
yum groupinstall pulp-admin
Modi�er le �chier de con�guration de pulp-admin pour qu'il pointe vers le serveur, ce �chier ce trouve dans/etc/pulp/admin/admin.conf :
Il est très important de mètre l'adresse entière du serveur sinon cela ne fonctionnera pas.[server]host = localhost.localdomain
2.4 Installation d'un consommateur
Vous pouvez installer le Client Consommateur Pulp sur toutes les machines qui souhaitent accéder à vos dépôts.
Suivez la même procédure pour récupérer le dépôts d'installation que pour le serveur et le client d'administration.N'oubliez pas d'apporter au dépôt la modi�cation nécessaire si vous utilisez Scienti�que Linux 6.
Une fois le dépôt récupérer installer le consommateur :
yum groupinstall pulp-consumer
4
Modi�ez le �chier de con�guration du consommateur pour qu'il re�ète le nom complet de votre serveur :
vim /etc/pulp/consumer/consumer.conf
[server]host = localhost.localdomain
Démarrez le service consommateur :
chkcon�g pulp-agent onservice pulp-agent start
3 Authenti�cation sur le serveur
3.1 Client d'administration
Pulp est par défaut installé avec un utilisateur disposant de tous les droits (super-user), le nom d'utilisateur et lemot de passe sont admin.
Pour enregistré le client d'administration sur le serveur il faut utiliser la commande suivante :
pulp-admin login -u adminEnter password : adminUn message devrait s'a�cher si l'authenti�cation a fonctionnée.
3.2 Consommateurs
Il vous faudra répéter l'opération suivante pour chaque consommateur que vous souhaitez associer à votre serveur :pulp-consumer -u admin register �consumer-id nom_du_consommateurEnter password : adminUn message devrait s'a�cher si l'enregistrement a fonctionné.
4 Utiliser Pulp
Pulp possède une interface d'aide qui facilite grandement son utilisation, il vous su�t de taper pulp-adminou pulp-consumer par exemple pour voir s'a�cher la liste des paramètres que vous pouvez ajouter à la suite deces commandes, à chaque fois que vous ajouterais un paramètre un nouveau menu d'aide s'o�rira à vous avec desexplications concernant chaque commandes.
5 Bug
Pour l'instant il est possible de créer des groupes :pulp-admin rpm consumer group create �group-id nom_du_groupe
Puis on peut ajouter des consommateurs enregistrés dans les groupes que l'on a crées :pulp-admin rpm consumer group members add �group-id nom_du_groupe �consumer-id
nom_du_consommateur
Mais il y a un bug lorsque l'on souhaite reliée un groupe de consommateur à un dépôt que l'on a créé, en e�et lacommande :
pulp-admin rpm consumer group bind �consumer-group-id nom_du_groupe �repo-id nom_du_dépôtNe fonctionne pas, elle retourne une erreur liée à un bug dans le programme. Elle cherche à utiliser 6 arguments
alors qu'elle ne devrait en utiliser que 4.Vous pourrez voir cette erreur dans /var/log/pulp/pulp.log : TypeError : bind() takes exactly 6 arguments
(4 given).On constate que les 4 arguments sont bien donnés, mais la fonction en cherche quand même 6 sans raison. Ce bug
est commun à tous les utilisateurs de Pulp, il faut attendre qu'il soit corrigé dans une future mis à jour du programme.
5
Webographie
[1] oVirt :http://ovirt.org/home
http://wiki.centos.org/HowTos/oVirt
http://www.server-world.info/en/note?os=CentOS_6&p=iscsi&f=2
https://bugzilla.redhat.com/
[2] Pulp :http://www.pulpproject.org/
http://osdir.com/ml/pulp-list/2013-03/msg00018.html
43