44

Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 2: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 3: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 4: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 5: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 6: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 7: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

(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

Page 8: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 9: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 10: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 11: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 12: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 13: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 14: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 15: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 16: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 17: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 18: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 19: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 20: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

É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

Page 21: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 22: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 23: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 24: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 25: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 26: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 27: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 28: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

A Annexe : Guide d'installation : oVirt

27

Page 29: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

Guide d'installation : oVirt

Florian BRUSCHET

4 juin 2013

1

Page 30: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 31: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 32: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 33: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 34: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 35: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 36: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 37: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 38: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

B Annexe : Guide d'installation : Pulp

37

Page 39: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

Guide d'installation : Pulp

Florian BRUSCHET

4 juin 2013

1

Page 40: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 41: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 42: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 43: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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

Page 44: Mise en place de oVirt et Pulp - LIX€¦ · Université oulouseT II - Le Mirail 2012-2013 Mise en place de oVirt et Pulp Florian BRUSCHET Laboratoire d'Informatique de l'École Polytechnique

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