WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réduction des coà»ts d'investissement avec la mise en place d'un environnement de virtualisation en production à  la DTAI

( Télécharger le fichier original )
par Cheikh Saadbouh Tall
Ecole Supérieure de Technologie et de Management de Dakar - Diplôme d'Ingénieur Technologue en Génie Logiciel et Téléinformatique 2006
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

République du Sénégal

Un Peuple - Un But - Une Foi

Ministère de l'Education, de l'Enseignement Technique et de la Formation Professionnelle

Direction de l'Enseignement Supérieur

Ecole Supérieure de Technologie et de Management de Dakar

REDUCTION DES COÛTS D'INVESTISSEMENT AVEC LA MISE EN PLACE D'UN ENVIRONNEMENT DE VIRTUALISATION EN PRODUCTION A LA D.T.A.I

Mémoire de fin d'études réalisé et soutenu par :

M. Cheikh Saadbouh Tall en vue de l'obtention du Diplôme d'Ingénieur Technologue en Informatique

Option : Téléinformatique

Lieu de stage : Ministère de l'Economie et des Finances du Sénégal / Direction du Traitement Automatique de l'Information DTAI

Professeur encadreur

Mme Khadidiatou Wane Keita

Ecole Supérieure Polytechnique

Département Génie Informatique

Tuteur

M. Mamadou Djiby Gaye

Ingénieur informaticien

Administrateur Systèmes à la DTAI

I. Promotion 2006

Dédicaces

A mes parents : mon père M. Mambaye Tall et ma mère Mme Aminata Diallo Tall. Merci pour nous avoir donné l'éducation nécessaire pour faire de nous ce que nous sommes aujourd'hui. Ce travail est le fruit de vos efforts inlassables.

A ma très chère grand-mère Adja Madjiguéne Ndoye (in memoriam)

A mes frères et soeur Seydou, Makhou, Mame Saliou, Djiby, Birame, Basse et Sokhna Maimouna.

A mon neveu Serigne Saliou et mes nièces Mame Penda Tall, Mame Bousso.

A mes tantes Arame, Awa, Ndawa, Aby ma maman, Binta, Astou, Oumou mon amie de tous les temps.

A mes tantes et oncles de la famille paternelle Penda, Adji et Fatou Tall (in memoriam), David et mon homonyme Tonton Cheikh.

A mes oncles et amis Birame et Oumar Diallo.

A tous mes cousins et cousines des familles paternelle et maternelle.

A mes amis le Docteur en Médecine Serigne Abdou Khadre Mbaye dit Djily, Sangoné Sall, le Docteur en Médecine Mbaye Thiam, Cheikh Ndiaye, Aziz Diallo, Ablaye Cissé, sans oublier Cheikh Sadibou Diouf, Daouda Wade, Monsieur Alassane Ly à la SOBOA etc.

A tous mes camarades de promotion.

A tous les informaticiens du monde entier.

Remerciements

Ma toute première pensée s'envole avant tout vers ALLAH, le Très Puissant, le Très Miséricordieux, le Très Généreux, l'Omniscient et l'Omniprésent, qui m'a toujours donné la volonté et la force de résister aux innombrables épreuves qui ne cessent de jalonner les différentes étapes de ma vie.

Son prophète Mohamed (PSL).

Mon guide spirituel Cheikh Ahmadou Bamba (RA).

La déontologie impose le remerciement de ses pairs et encadrants lors de la remise d'un mémoire de fin d'études.

Je m'incline particulièrement devant ma mère Sokhna Aminata Diallo. Tu as sacrifié ta vie pour la réussite de ta progéniture, et m'a personnellement servi de modèle, soutenu et encouragé pendant toutes les étapes de ma vie. Ton esprit intellectuel et ta sagesse m'ont sauvé. Tous ceux qui te connaissent en sont aujourd'hui arbitre. Je te suis reconnaissant. Merci et merci encore.

Permettez-moi d'inscrire votre nom en tête de ce mémoire et au dessus même de sa dédicace ; car c'est à vous, surtout, que j'en dois la rédaction. Accepter donc ici l'hommage de ma gratitude, qui, si grande qu'elle puisse être, ne sera jamais à la hauteur de votre éloquence et de votre dévouement.

Maman nous ne trouverons jamais les mots pour te qualifier. Ce travail est aussi le vôtre.

Je veux remercier vivement mon professeur encadreur Madame Khadidiatou Wone Keita, une référence pour beaucoup d'étudiants en informatique et mon mentor. Depuis le début de mes études en informatique, vous m'avez donné confiance et goût. Vous avez réussi à poser correctement les fondements de mes connaissances en Réseaux et plus tard en Système d'exploitation. Les conseils reçus, ainsi que ta présence à toutes les étapes de la rédaction, m'ont donné confiance et permis de pouvoir progresser dans le travail. Je vous remercie d'avoir accepté de diriger mon projet de fin d'études. Votre gentillesse, ouverture d'esprit, rigueur dans le travail bien fait et modestie n'ont d'égales que la grandeur de votre esprit scientifique et votre sens de la persévérance. Ce travail est le vôtre.

M. Mamadou Djiby Gaye merci. Merci pour nous avoir accepté, encadré et soutenu scientifiquement. Votre présence à toutes les étapes de ce mémoire, aussi bien dans la phase pratique que théorique, a fortement enrichi ma formation d'ingénieur informaticien intéressé par l'administration Système et Réseaux. Tes conseils, ton assistance et tes commentaires m'ont permis de mener à terme ce travail qui est aussi le vôtre.

Monsieur Cheikh Tidiane Fall Chef de la Division Production de la D.T.A.I. Merci pour nous avoir accepté dans votre service et pour les conseils que vous avez eus à nous prodiguer. Et à travers vous, je remercie aussi l'ensemble du personnel de la DTAI pour leur sympathie et leur soutien.

Je remercie les membres du jury qui ont accepté, malgré leurs multiples contraintes professionnelles et familiales, de juger ce travail et d'en apporter les contributions nécessaires pour son amélioration.

Je remercie l'Ecole Supérieure de Technologie et de Management de Dakar pour la qualité des enseignements qu'elle m'a dispensée.

A tous mes enseignants de l'école primaire, du secondaire et du supérieur.

A toute la communauté scientifique.

Merci finalement à tous ceux qui de prés ou de loin ont eu à me soutenir le long de mon parcours scolaire.

Avant propos

Ce mémoire correspond au travail réalisé durant notre stage de fin de second cycle d'informatique effectué au sein du Ministère de l'Economie et des Finances, précisément à la Division du Traitement Automatique de l'Information (DTAI).

Ce stage de novembre 2007 à mars 2008, vient compléter les connaissances théoriques acquises durant nos études à l'Ecole Supérieure de Technologie et de Management de Dakar (ESTM). L'ESTM est un établissement d'enseignement Supérieur spécialisé dans la formation de techniciens et de cadres supérieurs dans le domaine de l'informatique, des Télécoms, du management et de la gestion.

La formation d'ingéniorat en téléinformatique consistait à nous permettre de comprendre, entre autres, le fonctionnement des constituants matériel et logiciel d'un système informatique, de pouvoir spécifier l'architecture d'une infrastructure informatique quelque soit sa complexité.

Ce stage constitue ainsi pour nous, une opportunité intéressante de s'immerger au sein d'une culture d'entreprise.

Sommaire

DÉDICACES 2

REMERCIEMENTS 3

AVANT PROPOS 5

SOMMAIRE 6

INTRODUCTION 8

PARTIE 1 : PRÉSENTATION DU LIEU DE STAGE ET DU PROJET 10

I. Le lieu de stage 11

II. Présentation du projet 14

PARTIE 2 : ETUDE PREALABLE 15

I. Analyse de l'existant 16

II. Evaluation des contraintes 22

III. Identification des besoins 23

PARTIE 3 : LA VIRTUALISATION 26

I. Les principes de la virtualisation 27

1-1. historique 28

1-2. usages 28

II. Les différentes familles de virtualiseurs 29

III. WMware Infrastructure 3 39

IV. Les inconvénients de la virtualisation 49

PARTIE 4 : MISE EN OEUVRE 53

I. Environnement technique : matériels et logiciels 54

II. Mise en place d'un ESX SERVER et d'un Serveur de Messagerie virtualisé 58

PARTIE 5 : COUTS, BILAN ET PERSPECTIVES 94

I. Coûts du projet 95

II. analyse et perspectives 99

III. Bilan personnel 101

CONCLUSION 102

ANNEXES 104

GLOSSAIRE 107

WEBOGRAPHIE 113

BIBLIOGRAPHIE 114

TABLE DES MATIÈRES 115

Introduction

Le Ministère de l'Économie et des Finances souhaite mettre en place une infrastructure informatique moderne, à moindres coûts, utilisant les possibilités offertes par les technologies de l'information et de la communication (TIC). C'est pourquoi, il a été décidé la mise en place d'un schéma directeur informatique qui permettra d'instituer un cadre de planification des réalisations informatiques pour mettre en exergue les orientations techniques et organisationnelles permettant d'aboutir à une maîtrise parfaite et à une sécurisation de toute l'informatique du ministère.

C'est dans ce contexte que la Division de la Production de la DTAI (Direction du traitement Automatique de l'Information), à travers sa mission de contrôle et d'optimisation des coûts d'investissement sur l'infrastructure informatique, a opté pour la mise en place d'un environnement de virtualisation en production.

Ce nouvel environnement devrait être synonyme d'économies sur les machines mais aussi sur la surface qu'elles occupent, leur consommation électrique et celle de l'air conditionné. Il devrait leur permettre aussi de gagner en souplesse lors de la maintenance, du développement et du test d'applications, ou de l'allocation de serveurs de production.

En informatique, on appelle virtualisation l'ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner simultanément, sur une seule machine physique, plusieurs systèmes d'exploitation et/ou plusieurs applications, comme s'ils fonctionnaient sur des machines physiques distinctes. Ce qui accroît l'utilisation et la flexibilité de l'exploitation du matériel. Elle permet également d'optimiser les coûts, d'économiser temps, argent et énergie tout en tirant un meilleur parti du matériel informatique.

Depuis quelques années, la virtualisation est au coeur des préoccupations des entreprises. En effet, on assiste à une montée en puissance des acteurs du marché, que ce soit dans le domaine propriétaire avec Microsoft et VMware, ou dans le domaine des logiciels libres, avec l'émergence de nombreux projets autour de la virtualisation tels que Xen Source, Qemu, etc. Il suffit de voir le nombre de conférences liées aux technologies de virtualisation pour l'entreprise et le nombre d'articles de presse (en ligne ou papier) traitant de la virtualisation. Cette montée en puissance n'est pas due au hasard : elle suit de très près la demande du marché, qui se tourne de plus en plus vers les technologies de virtualisation.

Les solutions de virtualisation ont très rapidement conquis le monde de l'administration système et des infrastructures d'hébergement, comme de développement. C'est parce qu'elles apportent des bénéfices considérables, tant dans l'optimisation des coûts que dans la flexibilité de l'exploitation.

Nous nous tenterons à travers ce mémoire de fin de cycle, d'étudier la faisabilité d'un tel projet à partir d'une analyse de l'infrastructure des serveurs de la DTAI. Nous proposerons également un outil de virtualisation qui peut répondre de manière satisfaisante aux attentes de cette structure.

La première partie de ce mémoire présente le lieu de stage et le thème du projet.

La seconde partie correspond à une étude de l'existant, donc de l'architecture des serveurs de la D.T.A.I.

Dans la troisième partie nous essayons de mettre en lumière les différents enjeux de la virtualisation, en étudiant l'administration de celle-ci en milieu professionnel.

La quatrième partie consiste en un cas pratique avec à l'appui la mise en place d'un outil de virtualisation orienté production, ESX SERVER. Nous aurons à installer un serveur de messagerie virtualisé avec l'outil Postfix sur une distribution Debian Stable, ainsi qu'un Webmail via IMP (Internet Messaging Protocol). Nous aurons également déployé un serveur DNS virtualisé, de même Active Directory sous Windows 2003 server.

La cinquième partie dégage le bilan et les perspectives du projet

PARTIE 1 : présentation du lieu de stage et du projet

Partie 1

I. Le lieu de stage

1-1. Le Ministère de l'Economie et des Finances

DECRET N° 2000.294 relatifs aux attributions du Ministre de l'Economie et des Finances.

LE PRESIDENT DE LA REPUBLIQUE


VU la Constitution, notamment en ses articles 37, 43 et 65 ;

VU le décret n° 2000-264 du 1er avril 2000 portant nomination du Premier Ministre ;

VU le décret n° 2000-266 du 3 avril 2000 portant nomination des ministres ;

VU le décret n° 2000-269 du 5 avril 2000 portant répartition des services de l'Etat et du contrôle des établissements publics, des sociétés nationales et des sociétés à participation publique entre la Présidence de la République, la Primature et les Ministères
Sur proposition du Premier Ministre;

D E C R E T E :


ARTICLE 1
 : Sous l'autorité du Premier Ministre, le Ministre de l'Economie et des Finances est chargé de préparer et d'appliquer la politique arrêtée par le Chef de l'Etat en matière économique et financière.
A ce titre, il représente l'Etat auprès des institutions financières internationales.

Il est notamment, gouverneur du FMI, de la Banque mondiale, de la BAD, de la BID et de la BADEA.

Il représente l'Etat dans les réunions ministérielles de la zone franc de l'UMOA et l'UEMOA et prépare les projets discutés dans ces enceintes.

Il représente l'Etat dans les réunions ministérielles liées à la Convention de Lomé.

Il est associé aux négociations commerciales internationales conduites par le Ministre chargé du Commerce.  Il est chargé des commissions mixtes avec les pays du Nord.

Conjointement avec le Garde des Sceaux, Ministre de la Justice, il représente l'Etat dans les réunions ministérielles de l'Organisation pour l'Harmonisation en Afrique du Droit des Affaires (OHADA).

Il est chargé de la préparation et de l'exécution des législations et des réglementations dans les domaines suivants : impôts, domaines, douane, monnaie, crédit, assurances et, en liaison avec le Ministre chargé du Commerce, politique des prix.

En liaison avec le ministre chargé du Plan, il élabore les programmes pluriannuels d'investissement.

Il prépare et applique la politique générale applicable au secteur parapublic et assure la tutelle financière des établissements et sociétés qui en relèvent quelle que soit la nature de leur activité.

Il assure la tutelle technique des établissements et sociétés placés sous son contrôle par le décret susvisé n° 2000-269 du 5 avril 2000. Il assure la tutelle de la technopole en liaison avec le Ministre du Commerce.

Il assure le contrôle de la masse salariale de l'Etat : pour l'exercice de cette attribution, la Direction de la Fonction publique lui apporte son concours en tant que de besoin.

Il est chargé, dans le respect de l'indépendance de la Cour des Comptes, de préparer et de mettre en oeuvre l'action du Gouvernement en ce qui concerne les moyens de cette juridiction. Il est le vice-président du Conseil supérieur de la Cour des Comptes.


ARTICLE 2
: Le Premier Ministre et le Ministre de l'Economie et des Finances sont chargés, chacun en ce qui le concerne, de l'exécution du présent décret qui sera publié au Journal Officiel.

1-2. La Direction du Traitement Automatique de l'Information DTAI

La Direction du Traitement Automatique de l'Information est chargée de la préparation, de la mise en oeuvre et du contrôle des stratégies et politiques informatiques du ministère. Elle assure le secrétariat de la commission ministérielle informatique.

A cet effet, elle:

§ Oriente, optimise et contrôle les investissements des unités administratives du ministère;

§ Conduit et coordonne les développements de projets des services ne disposant pas de centre Informatique propre;

§ Assure le contrôle et la coordination des développements informatiques réalisés par les centres informatiques des unités administratives du ministère notamment en ce qui concerne l'acquisition des matériels, logiciels et fournitures informatiques;

§ Assure l'exploitation des traitements dont elle a la charge;

§ Assure la coordination de certains développements à caractère transversal.

La D.T.A.I. réalise un plan annuel de formation du personnel informaticien, en fonction des orientations choisies. Pour les formations les plus techniques, elles sont réalisées par invitation d'un expert, ou par des formations à l'étranger.

La DTAI comprend, sous l'autorité d'un Directeur:

Des services rattachés:

Des chargés d'études;

Le Bureau Administratif et Financier (BAF);

Le Centre des Etablissements Publics (CEP);

Des services centraux:

Division des Etudes et Développements des Applications (DEDA);

Division de la Formation et de la Documentation (DFD);

Division de la Production (DP).

FIG 1. 1 - Organigramme de la DTAI

II. Présentation du projet

2-1. Problématique

Aujourd'hui, les coûts en matière de matériels et de logiciels sont très lourds pour les entreprises. L'évolution constante du matériel informatique conduit les directions informatiques à créer des infrastructures de plus en plus hétérogènes. Cette prolifération de serveurs est devenue source de problème financier et surtout un problème au niveau de la gestion et du suivi de l'ensemble de l'infrastructure. De même, le fait de dédier à chaque fois un serveur pour une application conduit à une sous utilisation des ressources systèmes (moins de 20% en moyenne). Ce grand nombre de serveurs oblige les services informatiques à effectuer des tâches supplémentaires qui n'apportent aucune valeur ajoutée pour l'entreprise et mobilise du personnel supplémentaire. La réduction des coûts d'équipement, d'exploitation et de maintenance est devenue obligatoire.

C'est donc dans l'optique d'une utilisation efficiente de leur budget en réduisant les coûts de l'infrastructure physique, d'un accroissement du taux d'utilisation de leurs ressources informatiques, mais également d'une augmentation de la flexibilité et de l'efficacité opérationnelle que la D.T.A.I. à jugé nécessaire de mettre en place un environnement de virtualisation en production.

2-2. Objectif du projet

Le but principal de ce projet de virtualisation est la volonté de réduire les dépenses en acquisition de matériels et la réduction de la complexité d'administration des serveurs de la D.T.A.I. Suivent ensuite la disponibilité et la flexibilité des ressources informatiques.

Ce projet doit aussi être synonyme d'économies sur les machines mais aussi sur la surface qu'elles occupent, leur consommation électrique et celle de l'air conditionné. Ce nouvel environnement devrait leur permettre aussi de gagner en souplesse lors de la maintenance, du développement et du test d'applications, ou de l'allocation de serveurs de production.

PARTIE 2 : ETUDE PREALABLE

Partie 2

I. Analyse de l'existant

La division de la production où nous avons effectué notre stage gère tout le matériel informatique du Ministère de l'économie et des finances, ainsi que tout le réseau et les transferts de données. C'est-à-dire qu'il intervient au niveau des utilisateurs en gérant leurs comptes, la distribution des applications, les comptes messageries, la sauvegarde des fichiers, elle est aussi responsable de l'exploitation des données informatiques. Une des principales activités est aussi d'offrir et maintenir un bon niveau de service pour les utilisateurs. Concrètement, dès qu'un utilisateur rencontre des problèmes au niveau matériel, application bureautique, stockage, réseau etc. La Division a donc pour responsabilité de gérer le réseau du ministère en assurant :

Ø au quotidien une bonne qualité de service en veillant à ce que les serveurs fonctionnent afin de permettre aux utilisateurs de pouvoir se servir au mieux de leur équipement informatique (messagerie, dossiers réseaux etc....).

Ø le maintien des équipements : en mettant le parc informatique à jour par du matériel et des logiciels plus récents, améliorer les liaisons (Ligne Spécialisée, Fibre Optique).

Ø la sécurité : face aux intrusions et virus venant de l'extérieur et également de l'intérieur (FireWall, antivirus, mise à jour des correctifs de sécurité : postes clients et serveurs)

Dés le début du stage nous avons effectué une visite à la salle des serveurs de la D.T.A.I. L'inventaire du matériel a permis de recenser l'ensemble de tous les serveurs de entrant dans le cadre de la virtualisation. Cette étape consistait en un recensement des parcs matériel et applicatif et à les mettre en relation afin de déterminer les ressources (processeur, réseau, entrées/sorties) utilisées par chaque application.

Cette salle comprenait 8 serveurs. Le tableau ci-dessous recense les serveurs trouvés ainsi que leurs caractéristiques :

Serveurs

Caractéristiques

Web

*CD1

*CD2

Anti-virus

Websense

Relais SMTP

Mail

DNS interne

Marque

Hp proliant ml 350

Hp proliant ml 350

Compaq

Proliant

Ml 350

IBM

eServer

Xseries

226

Hp proliant ml 350

Dell

PowerEdge 1500SC

Hp proliant ml 350

Compaq ml 370

Processeur

Intel Xeon

 
 

Intel Xeon

Intel Xeon

Intel Pentium III S

Inet Xeon

Intel

Pentium III

Nombre de processeur supporté

1

 
 

1

1

1 à 2

 

1

Fréquence du processeur

2.2GHz

2.8GHz

 

2.8 GHz

2.8GHz

1.13 GHz

2.8 GHz

800 MHz

Norme mémoire

DDR2-Pc5300

 
 

DDR2

Pc 5200

DDR2-Pc5300

PC-133

 

Sdram

Type mémoire

DDR2-SDRAM

 
 
 

DDR2-SDRAM

SDRAM-ECC

 
 

Taille mémoire

2.19Go

1.0 Go

 
 

1Go

2Go

1Go

512Mo

Taille disque dur

80Go

170 Go

 

100Go

60Go

20Go

 
 

Mode raid supporté

0,0+1, 1,5

 
 
 

0,0+1, 1,5

Non pris en charge

 
 

Lecteur optique

Lecteur DVD

 
 

Lecteur cd

Lecteur DVD

Lecteur cd-ide

 
 

Lecteur disquette

oui

 
 

non

oui

oui

 
 

Controleur réseau intégré

oui

 
 

oui

oui

oui

 
 

Puissance de l'alimentation

800 watts

 
 

800 watts

800 watts

350 watts

 
 

Alimentation redondante

non

 
 

non

non

non

 
 

Norme réseau

10/100/1000 Mbps Gigabit Ethernet

 
 

10/100/1000 Mbps Gigabit Ethernet

10/100/1000 Mbps Gigabit Ethernet

10/100

/1000 Mbps

 
 

Format boitier

Tour

 
 

Tour

Tour

 
 
 

Hauteur

 557 mm

 
 
 

 557 mm

43.9 cm

 
 

Largeur

217 mm

 
 
 

27,24kg

26.1 cm

 
 

Poids

27,24kg

 
 
 

27,24kg

15.8 kg

 
 

Système d'exploitation

Windows 2003 server

Entreprise Edition

windows 2000 Advanced server

 
 

Windows 2003 server Entreprise Edition

Windows 2000 Advanced Serveur

Windows 2003 server Entreprise Edition

Windows 2003 server Entreprise Edition

Prix

1 656,50 € soit 1084680

FCFA

1 656,50 € soit 1084680

FCFA

1 656,50 € soit 1084680

FCFA

 

1 656,50 € soit 1084680

FCFA

 

1 656,50 € soit 1084680

FCFA

1 656,50 € soit 1084680

FCFA

Tableau1 : Inventaire des serveurs de la DTAI

La figure suivante correspond au réseau informatique du Ministère de l'Economie et des Finances

FIG 2.1.1- architecture WAN du Ministère de l'Economie et des Finances de la République du Sénégal

FIG 2.1.2- architecture serveurs avant virtualisation DTAI

II. Evaluation des contraintes

Les agents de la Division de la Production intervenant au support technique ont aussi pour mission de résoudre et de faciliter tous les problèmes liés à l'administration, notamment la mise en réseau et la connexion, la gestion des utilisateurs, la sauvegarde des données, les problèmes de sécurité et d'attaques mal intentionnées et virales. Ils ont en charge la partie système du mainframe de la D.T.A.I et du système GAINDE de la Douane.

Dans ce contexte, Le rôle des administrateurs systèmes de la DTAI, consiste donc à gérer le triplet: matériel, logiciels et usagers.

Si les utilisateurs finaux sont l'objectif même de leur travail, les services offerts nécessitent la gestion de serveurs basés sur:

Ø un matériel

Ø un système et ses pilotes.

Ø des logiciels.

L'évolution des besoins évoluant avec le temps, le parc matériel installé n'est pratiquement jamais homogène. Les administrateurs systèmes doivent obligatoirement gérer les relations de compatibilité suivantes pour chacun de ces serveurs:

Ø matériel - version de microprogrammation (firmware),

Ø version de microprogrammation - pilotes,

Ø pilotes - système d'exploitation,

Ø système d'exploitation - applications,

Ø applications - services offerts à l'usager.

Parfois, un logiciel particulier nécessite une version de pilote spécifique entraînant la mise à jour de la microprogrammation du serveur.

En raison de problèmes de compatibilité entre systèmes d'exploitation ou entre applicatifs, il arrive de dédier souvent une machine physique à une seule application ou service, comme c'est le cas avec les serveurs d'antivirus, de pare-feu internet. Or ces applications et services consomment rarement plus de 10 à 15% des ressources disponibles de a machine physique sur laquelle ils sont installés. Une grande partie des ressources se retrouve ainsi inutilisée. Cette politique conduit à la multiplication des serveurs et à l'inflation des coûts (place dans les salles machine, consommation d'électricité, besoins en infrastructure réseau et stockage, ...).

Par ailleurs, les besoins en ressources systèmes d'une application donnée peuvent varier dans le temps de manière extraordinaire en fonction des heures de pointes dans une même journée. C'est le cas de la messagerie par exemple. Ils peuvent certes ajuster la configuration mémoire bien sûr, mais si leur besoin est seulement un dixième de processeur, il leur faudra un processeur entier, et donc un serveur entier, qui sera alors sous-utilisé.

Le respect de ces contraintes entraîne un coût important, donc une multiplication du nombre de serveurs et comme conséquence perverse, l'achat de nombreux serveurs bien dimensionnés, coûteux mais sous-exploités.

Parfois, l'équipement choisi ne respecte pas les contraintes de fiabilité d'un serveur. On assiste souvent à des problèmes du genre :

Ø la corruption de données entraînée par une alimentation électrique défectueuse;

Ø la confiance excessive dans un RAID 5 dont deux des disques sont défectueux, la machine et le système d'exploitation ayant signalé le défaut d'un disque depuis 1 mois sans intervention humaine;

Ø la combinaison des deux épisodes ci-dessus, mais dont la sauvegarde sur bande ne fonctionne pas, car la cassette initiale a été recyclée.

Ø Etc.

Naturellement, l'arrivée de tels événements fâcheux entraîne par la suite des problèmes difficilement gérables.

Donc l'achat d'un serveur physique fiable et certifié devient obligatoire à chaque fois qu'il faut déployer une nouvelle application en production pour répondre à des besoins nouveaux, éventuellement ponctuels, qui tendront à se multiplier. Ce qui constitue des coûts énormes pour la D.T.A.I.

III. Identification des besoins

A partir du critique de l'existant, les besoins stratégiques que nous avons eu à déceler tournent autour de deux grands volets : la volonté de réduire les dépenses en acquisition de matériels et la réduction de la complexité d'administration. Suivent ensuite la disponibilité et la flexibilité des ressources informatiques.

Nous essayons de récapituler sur les résultats attendus :

§ Consolidation des serveurs et optimisation de l'infrastructure : La mise en oeuvre de ce projet virtualisation devrait permettre leur d'accroître considérablement le taux d'utilisation des ressources en regroupant des ressources communes et en sortant du schéma « une application = un serveur ».

§ Réduction des coûts de l'infrastructure physique: Avec ce projet, nous pouvons réduire le nombre de serveurs et la quantité de matériel informatique nécessaires dans le centre de données. Cela se traduit par une diminution des frais immobiliers et des besoins en alimentation et en ventilation, entraînant une nette réduction des coûts informatiques.

§ Augmentation de la flexibilité et de l'efficacité opérationnelle: La virtualisation offre une nouvelle manière de gérer l'infrastructure informatique et peut aider les administrateurs systèmes de la DTAI à consacrer moins de temps aux tâches répétitives, telles que le provisionnement, la surveillance et la maintenance.

§ Disponibilité accrue des applications et amélioration de la continuité d'activité : nous pourrons éliminer les interruptions de service programmées et rétablir rapidement le service en cas d'interruptions non programmées. Nous pourrons également sauvegarder et déplacer en toute sécurité des environnements virtuels entiers sans interrompre le service.

IV. Etapes pour réussir le projet de virtualisation

Un projet de virtualisation s'apparente à une migration matérielle. Pour la réussir, il faut fixer les objectifs, cibler les serveurs et les applications à partir d'un état des lieux, évaluer les gains et adapter l'exploitation.

a) Fixer les objectifs

Le but principal de ce projet est essentiellement la consolidation de serveurs, synonyme d'économies sur les machines mais aussi sur la surface qu'elles occupent, leur consommation électrique et celle de l'air conditionné. La virtualisation permet aussi de gagner en souplesse lors du développement et du test d'applications, ou de l'allocation de serveurs de production.

b) Réaliser un état des lieux

Cette étape consiste à effectuer un inventaire des parcs matériel et applicatif et à les mettre en relation afin de déterminer les ressources (processeur, réseau, entrées/sorties) utilisées par chaque application. Cela permet de déterminer celles qu'il est pertinent de virtualiser. Par exemple, le serveur web qui supporte un grand nombre de transactions accapare souvent la majeure partie des ressources d'un seul serveur physique. Idem pour une infrastructure VMware desservant de nombreux utilisateurs. on leur dédiera un serveur physique plutôt que de les installer dans une machine virtuelle.

c) Calculer le retour sur investissement

Dans le cadre de ce projet de virtualisation, il s'agira de calculer l'impact du projet en termes d'économies : coûts des serveurs et de maintenance, consommation électrique, climatisation. Mais il faut également inclure dans la formule le gain lié à la continuité de service apportée par la virtualisation. L'offre VMware permet en effet d'encapsuler les machines virtuelles dans des fichiers que l'on peut sauvegarder et relancer automatiquement sur une machine distante, en quelques minutes. Cette méthode est presque aussi efficace qu'un cluster mais bien moins coûteuse. Nous reviendrons sur ce point dans la dernière partie de ce mémoire.

d) Mener la migration

De ce travail il ressort les règles à suivre pour migrer vers des serveurs virtuels. Certaines d'entre elles sont assez génériques. La mémoire et la puissance CPU devront être 10 à 15 % supérieures à celle des serveurs d'origine. En pratique, on compte six à neuf machines virtuelles par processeur ou par coeur.

e) Allocation des ressources avec plus de souplesse

Les machines virtuelles se comportent comme des machines physiques. La supervision et l'exploitation des serveurs ne change donc guère, même s'il faut évidemment se former à l'hyperviseur (VMware ou autre). Et dans le même temps, il s'agit d'un nouveau métier pour les administrateurs : au lieu d'acheter un serveur pour chaque nouvelle application, on crée une machine virtuelle en quelques instants. On peut donc répondre à des besoins nouveaux, éventuellement ponctuels, qui tendront à se multiplier. L'exploitant passera donc une bonne partie de son temps à gérer les demandes des utilisateurs tels que les développeurs ou responsables d'applications, et à adapter les machines virtuelles à des contraintes spécifiques.

PARTIE 3 : LA VIRTUALISATION

Partie 3

I. Les principes de la virtualisation

Le principe de virtualisation en informatique consiste en l'ensemble des techniques logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes.

Nous verrons dans cette partie, dans un premier temps certains aspects techniques de la virtualisation. Ensuite nous nous intéresserons sur les différentes solutions proposées sur le marché, telles que Vmware ESX Server, Virtual PC de Microsoft ou Xen la solution Open Source en étudiant notamment leur intégration en environnement de production et en faisant leur étude comparative. Cette étude devrait aboutir au choix d'un outil pour notre environnement.

Ø Le principe de partage de serveur

Un serveur est un ordinateur utilisé à distance depuis différents postes de travail, ou autres périphériques. Il possède des ressources matérielles, principalement CPU, mémoire, disques et interfaces réseau. Ces ressources sont utilisées par des applications, non pas de manière directe, mais en s'appuyant sur un système d'exploitation. La virtualisation de serveurs est un ensemble de techniques et d'outils permettant de faire tourner plusieurs systèmes d'exploitation sur un même serveur physique. Le principe de la virtualisation est donc un principe de partage : les différents systèmes d'exploitation se partagent les ressources du serveur.

Pour être utile de manière opérationnelle, la virtualisation doit respecter deux principes fondamentaux :

§ Le cloisonnement : chaque système d'exploitation a un fonctionnement indépendant, et ne peut interférer avec les autres en aucune manière.

§ La transparence : le fait de fonctionner en mode virtualisé ne change rien au fonctionnement du système d'exploitation et à fortiori des applications.

La transparence implique la compatibilité: toutes les applications peuvent tourner sur un système virtualisé, et leur fonctionnement n'est en rien modifié. Pour ce qui est du cloisonnement, il existe bien sûr une interférence passive liée à la concurrence dans le partage des ressources. Mais nous verrons que ce partage peut être parfaitement contrôlé.

1-1. historique

C'est en France, dans les laboratoires d'IBM, à Grenoble, que les premiers travaux sur les machines virtuelles font leur apparition. Nous sommes alors en 1960 et Big Blue vient de créer son premier ordinateur avec une base logicielle commune, le System/360, qui pour la première fois n'obligera pas à changer tout le matériel (imprimante, carte. . .) lors de la prochaine évolution du processeur. Cela permettra également de conserver les programmes, sans avoir à en réécrire spécifiquement des parties. Cette première évolution sera continuée par la naissance du CP-40, considérée comme la première machine virtuelle. Le produit se transforma en VM/CMS. La suite logique donnée par IBM les conduira vers les mainframes qui virtualisent leur système d'exploitation. IBM étant à l'époque un vendeur de matériel, il ne pouvait alors pas faire davantage la promotion d'une technologie qui aurait permis au client d'économiser sur ses ventes. Par la suite, d'autres sociétés comme HP, avec ses PA-RISC ou IA64, ou encore Sun avec la série des E10K/E15K/E20K/E25K utiliseront la technologie de virtualisation.

Le système commercial le plus connu actuellement se nomme VMware, du même nom que la société qui le commercialise. C'est cette société qui popularisera auprès du grand public l'intérêt des machines virtuelles, que ce soit pour des tests ou de la production.

De nombreux outils libres et propriétaires existent aujourd'hui, nous en citeront quelques uns pour nous attarder plus particulièrement sur VMware Infrastructure 3, l'outil de virtualisation orienté production, commercialisé par la société VMware.

1-2. usages

Tout comme nous l'avons vu, l'usage premier n'est pas récent et concernait les grands constructeurs de matériels et de systèmes. C'est cependant avec l'explosion d'Internet que la technologie de virtualisation verra de nouveaux utilisateurs. En effet, les premiers ordinateurs personnels grand public, comme ceux d'Atari et Amstrad verront une communauté intéressée à retrouver leurs anciens programmes ou jeux. Il en va de même pour les émulateurs de console de jeux.

C'est plus récemment que le monde de la production revient à cette notion, par besoin de rationalisation des coûts et des usages. Ainsi, le développement et la mise en production sont facilités par le seul déplacement des machines virtuelles. Des tests peuvent dès lors être effectués sans avoir peur de casser le système hôte. Les nouveaux systèmes sont de simples copies logicielles des systèmes de base.

En termes de sécurité, toute attaque peut être limitée à l'hôte virtualisé, rendant de ce fait l'attaque dans un environnement clos. Pour finir, une meilleure gestion de la puissance des processeurs et de la mémoire peut être envisagée.

II. Les différentes familles de virtualiseurs

La virtualisation peut se présenter sous différentes formes, que ce soit de manière matérielle, par une émulation de machine complète, le partage de ressources via un isolateur, ou encore des applications virtuelles, tout comme le permet la technologie java avec sa fameuse machine virtuelle. Nous présentons dans cette section les différents types de virtualisation qui étaient à notre disposition et ce qui a orienté le choix de la solution.

2-1. théorie

Avant de découvrir les différents types de virtualisation qui existent, il est nécessaire d'expliquer les espaces d'exécution, communément appelés ring. Les rings ou anneaux sont des espaces protégés, mis à disposition par le processeur. Le niveau de sécurité s'étend du plus sécurisé, appelé le Ring0 au plus permissif Ring3, tout comme nous le montre la figure 3.2.1

FIG. 3.2.1 - Concept des anneaux

De ce fait, lorsqu'une application se trouve par exemple dans le Ring3, elle doit faire appel à une instruction spéciale pour pouvoir utiliser un périphérique qui se trouverait dans une couche inférieure. Typiquement, les processeurs de type X86 possèdent quatre anneaux. La plupart des systèmes fonctionnant sur ces processeurs n'emploient que deux de ces anneaux, le Ring0 appelé kernel land et le Ring3 nommé user land.

2-2. isolateur

La généralisation des logiciels de virtualisation répond à un besoin, mais aussi à une demande. Ces technologies, incluses directement au coeur des processeurs, sont axées sur l'administrabilité et la sécurisation.

L'isolation est issue du procédé de la mise en place d'un niveau de virtualisation du système d'exploitation. Ainsi, le noyau, la mémoire, le CPU peuvent être partagés. L'application lancée dans un contexte, également appelé zone d'exécution, ne connaîtra que les applications lancées dans le même contexte.

FIG. 3.2.2 - Architecture d'un isolateur

L'isolateur se présente sous la forme d'un patch pour le noyau et gère le partage de la mémoire, du CPU et s'assure qu'un utilisateur ou une application ne pourra pas sauter d'un contexte vers un autre contexte. En ce sens, l'utilitaire chroot ne peut pas être considéré comme un isolateur, puisque son action consiste uniquement à changer le chemin de la racine. Le schéma 3.2.2 montre la place de l'isolateur au sein du système, avec l'exécution en userspace des applications et la présence d'un logiciel de contrôle. Les produits disponibles sur le marché sont Linux-Vserver, BSD Jails ou OpenVZ.

2-3. noyau en espace utilisateur

Il est possible de considérer un noyau comme une application. C'est la solution de virtualisation proposée par exemple par User Mode Linux ou encore coopérative linux. Dés lors l'accès au matériel ne s'effectue plus que par un dialogue avec le noyau de l'hôte. Cette solution est donc assez restrictive en terme de capacité d'interaction puisque le noyau n'est alors plus utile que pour la gestion des applications qui seront au dessus de lui.

FIG. 3.2.3 - Architecture dans l'espace utilisateur

Il est préférable d'utiliser cette solution dans le cadre de développement de nouveaux noyaux, ou alors pour installer un système d'exploitation dans un environnement à droit restreint, où l'utilisateur pourrait installer des applications, mais ne pas supprimer le système existant.

2-4. machines virtuelles

La machine virtuelle constitue le mode de virtualisation le plus connu, puisque popularisé auprès du grand public, par l'intermédiaire de la société VMware. L'idée avancée est de reconstituer un environnement complet, y compris le matériel et de mettre à disposition une plate-forme complète de virtualisation, capable de supporter différents environnements simultanément.

FIG. 3.2.4 - Architecture d'une machine virtuelle

Bien que cette solution soit plébiscitée du public, elle demande néanmoins de grosses configurations matérielles afin de supporter la reconstruction matérielle, en surcouche d'un système d'exploitation, déjà consommateur de ressources. Les logiciels libres connus pour cet usage sont QEMU, Virtual-Box, Xen, etc. Dans le domaine propriétaire nous avons Virtual PC de Microsoft, VMware Workstation de VMware, pour ne citer que ceux là.

2-5. Hyperviseur

L'hyperviseur est une couche directement posée au-dessus du matériel. C'est un noyau optimisé pour la gestion directe de systèmes d'exploitation. Ainsi, contrairement aux autres méthodes, il n'y a pas de latence due à un système hôte. Les surcouches sont elles aussi, normalement, optimisées pour fonctionner avec l'hyperviseur. Les résultats sont donc optimaux.

L'approche adoptée par VMware pour la virtualisation consiste à insérer une fine couche de logiciel directement sur le matériel informatique ou sur un système d'exploitation hôte. Cette couche logicielle crée des machines virtuelles et contient un moniteur de machine virtuelle ou « hyperviseur » qui alloue les ressources matérielles de façon dynamique et transparente, ce qui fait que plusieurs systèmes d'exploitation sont en mesure de fonctionner simultanément sur un seul ordinateur physique sans même le savoir.

FIG. 3.2.5 - Architecture d'un hyperviseur

2-6. Choix de l'outil de virtualisation

Comme nous l'avons déjà évoqué, notre travail se base uniquement sur les outils supportant la production. De ce fait, nous pouvions nous porter sur les logiciels suivants :

- ESX server de VMware

- Virtual Server de Microsoft

- XenSource de Xen récemment racheté par Citrix.

Chacune des technologies a ses avantages et ses inconvénients. Les deux grands éditeurs qui se partagent actuellement le marché sont Microsoft et Vmware.  Microsoft propose leur logiciel Virtual Server  et Vmware son logiciel Vmware ESX server. Xen est la concurrente Open source mais il est non compatible avec les systèmes Microsoft Windows. De ce fait il ne sera pas trop utilisé dans ce comparatif.

2.6.1. Système d'exploitation hôte

Le premier point rencontré dans ce comparatif est le système hôte des machines virtuelles. En effet, Vmware ESX va proposer par défaut une Red Hat 7.2 alors que son concurrent Microsoft va se baser sur ces propres systèmes d'exploitation. 
La solution Vmware sera donc plus abordable pour des raisons de stabilité et de sécurité.

2.6.2. Sécurité et redondance

Un deuxième point constaté, va être au niveau de la redondance des serveurs virtuel. En effet, en cas de panne physique du système hôte, la solution Microsoft doit être configurée en cluster pour obtenir une continuité de services. A l'inverse, la solution Vmware va proposer des outils  (Vmotion, Vmware HA et Vmware DRS) qui vont permettre la migration d'un système virtuel vers un autre système hôte en toute transparence pour l'utilisateur.

Source : http://www.vmware.com/products/vi/

La solution proposée par Vmware est donc beaucoup plus simple puisque la redondance va être indépendante de la configuration du système virtuel a l'instar de Virtual Server qui va être obligé d'être configuré en cluster.

2.6.3. Gestion des ressources physiques

La gestion de l'allocation mémoire et CPU va aussi être mis a défaut dans la solution Microsoft. En effet, Virtual Server ne permet pas d'allouer un processeur physique à une machine virtuel et la gestion de la mémoire n'en est que moins facilité. Son concurrent Vmware va par contre proposer une formule de gestion des ressources CPU avec en outre l'outil Virtual SMP qui va permettre l'allocation de 2 CPU physiques a une seule machines virtuel.

Source : http://www.vmware.com/products/vi/

On peut donc constater sur le schéma ci-dessus que chaque machine virtuelle peut se voir appliquer un nombre différent de processeur physique ou virtuel.

2.6.4. Le stockage

Sur la question du stockage, la solution Vmware va être beaucoup plus performante puisque Vmware va émuler pour chaque machine virtuelle un port Gigabit ainsi qu'un pilote LSI Ultra 320 SCSI. A l'inverse, Virtual Server ne va proposer qu'un port réseaux Fast Ethernet ainsi qu'un pilote SCSI générique. Pour l'architecture du stockage, les 2 éditeurs recommande des architecture SAN redondantes afin d'éviter toutes pertes de donnés concernant les images des disques virtuelles.

Source : http://www.vmware.com/products/vi/

2.6.5. Performance

Les deux solutions sont équivalentes au niveau performances mais d'après certains tests effectués par des laboratoires de recherches, la solution de l'éditeur Vmware aurait un léger avantage dans des conditions mono-applications du a des options de configuration tel que Vmware SMP.

2.6.6. Prix

Source : http://www.supinfo-projects.com/fr/2006/virtualisation%5Fprod/3/

A savoir que Vmware propose des packs tout compris  VIN (Virtual Infrastructures Nodes) comprenant la License ESX, l'extension SMP biprocesseur, l'agent Virtual Center et le module Vmotion.

2.6.7. Temps de lancement

Au-delà de nos besoins, nous pouvons regarder aussi les résultats obtenus par International Data Corporation (IDC), une société américaine réalisant des études de marché dans son étude sur la virtualisation. Les résultats obtenus pour VMware peuvent être considérés identiques pour XenSource, la technologie étant similaire, sauf sur certains points dont nous allons mettre l'accent.

 

Lancement à froid

Lancement à chaud

ESX Server (50 VMs)

460s

30s

Virtual PC (50 VMs)

1040s

160s

Xen(50 VMs)

860s

860s

TAB. 3.2.1 - Comparaison des temps de lancement à froid et à chaud de 3 outils de virtualisation les plus matures

Ce premier tableau 3.2.1 montre des différences lors de la première initialisation, appelée lancement à froid, puis lors de démarrage alors que les bibliothèques sont déjà en mémoire. L'étude sur XenSource, ESX Server de VMware et virtual PC se limite à 50 instances ou machines virtuelles. On constate qu'ESX Server démarre plus rapidement que les autres outils et gagne 1500% de temps de chargement lorsque ses bibliothèques sont déjà présentes.

Les expériences relatées dans les graphiques 3.2.6.1 et 3.2.6.1 (voir page suivante) se fondent sur l'observation de la charge issue de l'utilisation d'une application au sein d'un outil de virtualisation en comparaison avec la charge de la même application sur un hôte nu. Le premier graphique montre très clairement que la technologie de l'isolateur utilise énormément le CPU avec une courbe qui tend vers une exponentielle. L'hyperviseur reste très proche de la charge théorique.

Concernant la surcharge mémoire, la figure 3.2.6.1 montre un comportement erratique de l'outil Virtual Server, alors que les résultats des hyperviseurs ESX Server et XenSource restent toujours aussi proches de la théorie. Tout comme lors de l'analyse du CPU, l'application dans l'isolateur consomme d'autant de mémoire qu'il y a de machines virtuelles lancées.

FIG. 3.2.6.1 - Charge du CPU en fonction du nombre de VM

FIG. 3.2.6.2 - Charge de la mémoire en fonction du nombre de VM

2.6.8. Conclusion

Nous venons de voir qu'il était possible de virtualiser de différentes manières, mais que chacune d'entres elles avait ses avantages et ses inconvénients et qu'elles ne convenaient pas à tous types d'utilisation. Il nous est alors apparu que les avantages étaient prépondérants.

Dans ce contexte, le choix du type de technologie et de l outil de virtualisation adéquat nécessite une analyse comparative. Ainsi, la virtualisation complète (mise en oeuvre par VMware et Microsoft), avec laquelle même les cartes réseaux et les disques sont virtuels, permet plus facilement de reproduire à l'identique un environnement de production existant. A l'inverse, la paravirtualisation n'assure pas une totale indépendance entre couche matérielle et virtuelle.

En tirant partie des résultats résultant de la comparaison des outils, mais également en considérant les besoins de la D.T.A.I., les logiciels ESX Server et XenSource semblent convenir à notre projet. Cependant, il s'avère utile d'avoir des noyaux spécifiques, utile également d'avoir accès à différents systèmes d'exploitation, puisque nous travaillons dans un environnement de production. L'usage requiert une séparation et de la sécurité entre les différentes machines ou contextes. Pour tout cela, notre choix se porte sur ESX Server de VMware qui s'avère également plus simple dans son administration et moins gourmand en espace disque.

III. WMware Infrastructure 3

3-1. Utilisation de VMware infrastructure 3

VMware Infrastructure est la suite logicielle la plus largement déployée pour optimiser et gérer par la virtualisation des environnements informatiques standard. Seule sur le marché dans la catégorie des suites logicielles de virtualisation à supporter la production, VMware Infrastructure a fait la démonstration de ses résultats chez plus de 20 000 clients de toute taille, et ce dans des environnements et pour des usages très divers.

Totalement optimisée, la suite VMware a subi des tests minutieux et sa compatibilité a été certifiée avec une très large gamme de matériels, de systèmes d'exploitation et d'applications logicielles. VMware Infrastructure offre des capacités intégrées de gestion, d'optimisation des ressources, de disponibilité des applications et d'automatisation des opérations. Ces atouts se traduisent par des économies considérables, une efficacité opérationnelle accrue, une réelle polyvalence et une hausse des niveaux de service.

De plus en plus d'entreprises adoptent la virtualisation qui permet de réduire le coût de l'infrastructure. La virtualisation est une solution très en vogue chez les entreprises comme chez les particuliers. Et une étude récente vient confirmer cette tendance: 75% des sociétés profiteront ou déploieront des serveurs de façon virtuelle d'ici un an.

Les deux produits les plus utilisés pour la virtualisation dans le grand public et dans l'univers de l'entreprise sont VMWare ESX Server et Microsoft Virtual Server. Ils détiennent d'ailleurs 75% de parts du marché.

Les données publiées sur internet concernant cette technique indiquent que l'optimisation de l'utilisation des ressources technologiques est l'une des principales préoccupations des entreprises actuellement. Les solutions de VMware répondent tout à fait à ce besoin aujourd'hui.

D'après VMware, En janvier 2008, plus de 2,2 million de copies de VMware ESX Server avaient été téléchargées, à environ 70 % par les grandes entreprises. Lorsque ces clients déploient un environnement de machines virtuelles, ils doivent pouvoir gérer plus efficacement leurs ressources informatiques. C'est là que VMWARE INFRASTRUCTURE 3 intervient.

Ainsi nous verrons dans cette partie du mémoire la solution de virtualisation proposée par VMware, celle sur laquelle nous avons porté notre choix dans le cadre de cette étude : VMware Infrastructure III

3-2. Les points forts de VMware Infrastructure 3

L'utilisation de cette technologie apporte à l'infrastructure de nombreux avantages et favorise un retour sur l'investissement rapide :

Ø L'utilisation des ressources des serveurs, n'est pas souvent exploité de manière optimale, ainsi, l'utilisation d'un serveur  ESX permet gérer ou héberger plusieurs machines virtuelles et  d'utiliser au mieux la puissance du processeur.

Ø Un serveur ESX peut remplacer une série de serveur, en parallèle une analyse de la charge de travail des serveurs du SI, devra être effectuée afin de déterminer le nombre de machine virtuelle que pourra supporter chaque serveur ESX.

Ø Le  Fail Over est géré de manière automatique, en effet les machines virtuelles peuvent être déplacées sur n'importe quel serveur ESX de l'infrastructure.

Ø Diminution importante des coûts de maintenance sur le Datacenter (administration, électricité, sécurité, etc.),  cela sera surtout du, à la diminution du nombre de serveur et à l'administration centralisé permise par virtual center. 

Ø Administration du Datacenter optimisée  avec VirtualCenter, optimisation des ressources matérielles sans coupure de service.

Ø Visualisation rapide et optimisée des performances, VI client permet d'afficher des graphiques de performance.

Ø VI3 permet de réaliser des économies mesurables en termes d'investissement.

Ø Augmente le taux d'utilisation du matériel et réduit les besoins dans ce domaine, grâce à des ratios de consolidation de serveurs dépassant fréquemment 10 machines virtuelles par processeur physique.

Ø Réduit le coût de l'espace occupé par les racks et de leur alimentation en proportion du ratio de consolidation réalisé.

Ø Réduit les frais liés aux interventions humaines en simplifiant et en automatisant les procédures informatiques qui monopolisent la main d'oeuvre et les ressources au sein d'environnements accueillant des matériels, des systèmes d'exploitation et des logiciels hétérogènes.

Ø VMware Infrastructure améliore la réactivité, la facilité de service, la disponibilité et la flexibilité de l'infrastructure informatique.

Ø Permet une disponibilité des applications et une continuité de service étendues et économique quels que soient les matériels et les systèmes d'exploitation.

Ø Assure le fonctionnement permanent et la maintenance sans perturbation des environnements informatiques, avec migration à chaud de systèmes complets en cours d'exécution.

Ø Permet aux systèmes existants de cohabiter avec de nouveaux environnents.

FIG 3.3.1 - Principe de Virtual Infrastructure 3

3-3. Quelques spécifications techniques :

· Support des technologies iSCSI et NAS

· Support des technologies quadri sockets

· VMFS 3 qui permet d'adresser des volumes jusqu'à 64 To

· Virtual SMP permet d'utiliser jusqu'à 4 processeurs simultanément, maximum mémoire porté à 16 Go par VM et 64 Go par serveur.

· Nouveaux modules HA (High Availability), DRS (Distributed Ressource Scheduler) et Consolidated Backup

· Support de Solaris 10 32 bits

· Support limité des systèmes d'exploitation 64 bits

3-3. L'architecture de Virtual Infrastructure 3

a) ESX SERVEUR : un serveur orienté production, un nouvel environnement de travail

L'architecture d'ESX est complètement différente des deux autres architectures présentées précédemment. Elle n'a pas besoin du système d'exploitation de la machine physique. C'est la plateforme ESX qui joue le rôle de système d'exploitation. De ce fait, l'architecture est nettement plus allégée, permettant aux espaces virtuels, dans lesquels vont évoluer les serveurs virtuels, d'être beaucoup plus optimaux.

FIG 3.3.2 : architecture ESX Server

La couche ESX comprend un OS UNIX, adapté spécifiquement à la gestion de machines virtuelles. Elle permet de relier, de la manière la plus directe possible, le hardware de la machine physique aux serveurs virtuels.

ESX a tiré de nombreux avantages de cette architecture, que ce soit d'un point de vue de gestion des processeurs, de réseaux ou d'accès disques.

ü Puissance de calcul

La structure d'ESX permet de faire fonctionner physiquement plusieurs processeurs pour une machine virtuelle.

Comment cela marche ?

Un système d'exploitation a pour but d'allouer et de gérer des ressources pour différents processus et threads voulant s'exécuter sur la machine. Si nous voulons faire tourner un OS traditionnel sur un autre OS traditionnel, il existe une double gestion des ressources. Les systèmes d'exploitation ne sont pas, à l'origine, prévus pour cela et de ce fait, ils se comportent comme les seuls maîtres à bord. Il est donc nécessaire de séparer leur champ d'activité en simulant une interface physique qui supportera la machine virtuelle et qui se comportera, à la vue du système hôte, comme un service classique. C'est ce que font VS et GSX. Cependant, ces produits doivent trouver un ensemble de ruses pour faire cohabiter deux environnements qui n'ont pas été fait pour cohabiter ensemble. Ce qui les contraint à ne pas pouvoir offrir aux machines virtuelles de pouvoir travailler sur deux processeurs et de ne pas pouvoir être connecté directement à un San.

ESX Server, quant à lui, est un système qui a été créé spécifiquement pour supporter des machines virtuelles. Il a donc été conçu de telle manière à ce qu'il n'y est pas double emploi.

ü Le réseau

ESX Server donne la possibilité d'étendre les stratégies de Vlans au coeur même de son système.

  Les Vlan consistent à segmenter un réseau pour regrouper des machines ayant des fonctions similaires ou un besoin de sécurité commun.

Traditionnellement, ce sont les équipements réseau qui s'occupent de la segmentation réseau. Dans le cas de gestion de serveurs virtuels, si l'ensemble de ces derniers est connecté à plusieurs Vlans différents, il sera nécessaire d'installer un certain nombre de cartes sur le serveur, posant un problème de configuration physique et de coûts.

Pour se faire, ESX gère une technologie appelée 802.1Q qui permet de faire véhiculer plusieurs Vlan sur un même média en gardant l'intégrité du Vlan.

Il est important de noter que, pour que cette technologie fonctionne, il est impératif que le commutateur ou routeur, connecté à cette interface, prenne en charge la même technologie (802.1Q).

ü Gestion des disques

ESX serveur, grâce à son architecture, nous permet de connecter directement les machines virtuelles aux disques SAN. Il s'agit d'une option importante, qui n'est pas disponible sur les autres technologies de virtualisation. Pour rappel, ces autres technologies permettent au serveur hôte de stocker les disques virtuels sur leurs propres disques SAN. On peut donc s'attendre, avec la technologie ESX, à un gain de performance. ESX offre, également, de la même manière que VS et GES, la possibilité de stocker les disques en utilisant des fichiers stockés en local dans un répertoire de la machine hôte.

ü Gestion du serveur

Par défaut, le serveur s'administre à l'aide d'une interface Web qui s'installe automatiquement lors de l'installation du serveur. Cette interface est relativement conviviale et ergonomique. Toutes les fonctionnalités sont accessibles depuis cette interface, à l'exception du basculement d'un serveur virtuel en état de marche d'une machine à l'autre, qui elle est accessible à partir de Virtual Center.

Status Monitor : permet de faire un listing des machines hébergées avec les ressources qu'elles occupent. Il est également possible, grâce à cette interface, de modifier le statut des machines virtuelles. En cliquant sur une machine, on accède à ces propriétés.

Memory : permet d'avoir accès au détail de l'utilisation des ressources mémoire.

Option : est une page qui permet de faire le lien avec les différentes interfaces de gestion du serveur ESX, comme la gestion du réseau virtuel, l'arrêt et le redémarrage de la machine, la gestion matérielle, etc.

Cependant, lors de l'utilisation de cette interface, nous avons pu constater deux défauts. Premièrement, il n'existe pas de statistiques. Il n'est donc pas évident de statuer sur la charge que subit le serveur quotidiennement. Et deuxièmement, l'interface réveille des temps de chargement relativement longs.

Pour palier à cela et pour proposer un management globalisé, VMware a mis au point un serveur de management de ses produit : VMware Virtual Center. Cette solution est commenté un peu plus loin dans ce mémoire.

b) VMware Virtual Center et VMotion

Un des plus gros risque de la virtualisation est d'oublier la base physique. Si le serveur physique s'arrête, il entraîne l'arrêt de l'ensemble des serveurs virtuels hébergés.

Pour assurer une fiabilité suffisante en production, deux serveurs ESX sont nécessaires. La cerise sur le gâteau est la disponibilité de VMotion.

FIG 3.3.3 - Principe de VMotion

Avec VMotion, le déplacement à chaud de serveur virtuel d'un serveur physique ESX sur un autre serveur physique ESX devient réalité. Un serveur virtuel migre d'un serveur ESX sur un autre serveur ESX tout en étant connecté sur le serveur qui se déplace. Cela s'explique par le mécanisme de pagination de la mémoire d'un serveur ESX et la capacité de VMFS d'accepter des accès concurrents.

VMotion représente un changement supplémentaire de paradigme, le serveur physique avec VMware ESX devient lui-même virtualisé !

Cependant nous signalons qu un certain environnement est nécessaire pour VMotion:

Ø 2 serveurs certifiés avec une architecture de processeur identique (Intel ou AMD (voir les caractéristiques en page 54).

Ø Une connexion réseau Gigabit Ethernet (c'est-à-dire au moyen de fibres optiques ou de câbles à paire torsadée ordinaires à une vitesse pouvant atteindre 1000 mégabits par seconde) dédiée pour le réseau VMotion sur chaque serveur.

Ø Le logiciel Virtual Center.

Ø Et deux licences de VMotion

Ne disposant pas de cet environnement, nous n'avons pas pu encore tester ces fonctionnalités.

Virtual Center for VMware Server permet de centraliser la gestion de serveurs VMware. Il apporte une solution aux problèmes que les entreprises rencontrent aujourd'hui dans la gestion de leur infrastructure informatique, leur permettant ainsi :

Ø De renforcer l'utilisation de leurs serveurs existants et de limiter l'achat de nouveaux équipements.

Ø D'effectuer des provisionnements de serveurs rapides.

Ø D'offrir une gestion centralisée de leur environnement informatique à partir d'une interface unique

FIG 3.3.4 : Principe de Virtual Center

c) VMware DRS (Distributed Ressource Scheduler)

VMware DRS est une option qui conseille à l'administrateur le meilleur positionnement des VMs sur tel ou tel serveur physique en fonction des ressources disponibles dans le cluster. Si une migration est recommandée, VMotion est utilisé pour transférer la VM sur un autre serveur physique. Les migrations peuvent être entièrement automatisées ou être totalement manuelle.

FIG 3.3.5 - principe de DRS

d) VMware HA (High Avalaibility)

Cette option permet de surveiller les machines virtuelles, si l'une d'elles s'arrête (perte d'un serveur ESX physique), HA redémarre automatiquement la VM sur un autre serveur ESX. Cette opération dure moins de 3 minutes plus le temps de démarrage de la Virtual Machine.

Figure 3.3.6 - principe de HA

e) VMware Consolidated Backup

Consolidated Backup est l'outil de sauvegarde de VMware. Les sauvegardes sont effectuées directement sur le SAN (Storage Area Networking), sans charger les serveurs ESX. Cette option nécessite un serveur relais de sauvegarde connecté au SAN.



FIG 3.3.7 - Principe de VCB


Cette façon de sauvegarder est la seule réellement efficace avec VMware infrastructure (VI3) car les machines virtuelles peuvent changer de serveur physique. VCB (Virtual Consolidated Backup) utilise le serveur VC (Virtual Center).

IV. Les inconvénients de la virtualisation

Bien qu'elle soit très avantageuse, la virtualisation présente quelques inconvénients :

4.1. Le coût

Le premier inconvénient de la virtualisation est le coût en termes de licence. En effet, une architecture complète Vmware pour deux processeurs, revient à environ 5 000€ auquel se rajoute 3 000€ par lot de deux processeurs. Il est donc indéniable que pour rentabiliser ce coût, l'infrastructure doit être déployée sur une grande échelle.  Il existe aujourd'hui des technologies similaires à Vmware dans le domaine de l'open source (Xen) mais qui sont beaucoup plus complexe à mettre en oeuvre demandant des compétences spécifiques. Le coût de ces compétences sera du coup largement supérieur aux coûts de licensing  des produits Vmware. Les produits Microsoft sont aussi une alternative a Vmware mais nécessite une license pour le système hôte.

4.2. Evolution matériel

La virtualisation de serveurs implique aussi une refonte du parc matérielle. En effet, elle va impliquer une augmentation conséquente de la puissance des machines physique hôte. En prenant le cas de la mémoire vive des machines. La mémoire, au lieu d'être repartie sur chaque machine se verra donc rassembler sur une seule machine physique : le serveur hôte. Il ne serra donc pas étonnant se voire des machines dotées de plus de 4Giga de mémoires vives remplirent le rôle de serveur hôte.

4.3. Migration Physic to virtual (P2V)

La complexité des processus de virtualisation de machines physiques peut être aussi mise en avant.  Les processus P2V (Physique To Virtual) doivent être réalisés au cas par cas.  En effet, chaque application ne va pas se comporter de la même manière lors de ces processus. Ceci peut donc être inconvénient dans le cadre d'une migration vers une infrastructure virtuel.

4.4. Consommation des systèmes

Le dernier inconvénient est la consommation des systèmes de virtualisation. VMware a proprement parlé va consommer en permanence 5 a 10% des ressources CPU de la machines physique hôte. Ceci peut être un problème en cas de surcharge des besoins en ressources de la part des machines virtuel. Ce problème peut être résolue grâce a la flexibilité de l'architecture virtuel et en anticipant ce genre de montée des besoins en puissances.

Conclusion

En tirant partie des résultats résultant de la comparaison des outils, mais également en considérant les besoins de la D.T.A.I évoqués plus haut, les logiciels ESX Server et XenSource semblent convenir à notre projet. Cependant, il s'avère utile d'avoir des noyaux spécifiques, utile également d'avoir accès à différents systèmes d'exploitation, puisque nous travaillons dans un environnement de production. L'usage requiert une séparation et de la sécurité entre les différentes machines ou contextes. Pour tout cela, notre choix se porte sur ESX Server de VMware qui s'avère également plus simple dans son administration et moins exigent en espace disque.

Nous essayons ici de faire un tableau comparatif des outils de virtualisation les plus évolués :

 

 

 

 

 

VMware
Infrastructure 3

Microsoft
Virtual Server 2005 R2

Xen

Utilisation cible

- Consolidation d'environnements hétérogènes (Windows, Linux, Novell)

- Consolidation d'environnements hétérogènes (Windows, Linux, Novell)

- Consolidation d'environnements "libres" (majoritairement Linux) sur une même machine physique, pour du maquettage ou prototypage
- Il est nécessaire d'avoir un support IntelVT ou AMDv

Mise en place & utilisation

- CD + assistant d'installation
- S'installe directement sur le matériel comme un OS
- Utilisation via interface Web sécurisée
- Installation via scripts

- CD + assistant comme sur-couche à Windows Server 2003
- Utilisation via interface Web sécurisée

- Package binaire ou code source
- S'installe comme sur-couche à Linux (modification du noyau + binaire)
- Pas d'inteface Web, administration et utilisation en CLI
- Les distributions Suse et Red Hat fournissent des outils d'integration et d'interface à Xen (redhat 5, Suse10,2)

Compétences requises

- Compétences Linux recommandées

- Compétences Windows Server 2003 et/ou Linux

- Très bonnes compétences Linux

Overhead

- 5 à 10 %

- 10 à 20 %

- 2 à 3%

OS hôte

- Possède son propre noyau

- Exclusivement Windows Server 2003 en production et Windows XP en test

- Linux + noyau Xen

Virtualisation des machines linux

- Oui

- Oui

- Oui

Performances


- Systèmes optimisé avec noyau de virtualisation propriétaire

- Jusqu'à 62 machines virtuelles
- Sur-couche de MS Windows Server 2003

 - Très bonnes performances en terme de CPU et de RAM (utilisation directe de la mèmoire physique) et  performance Réseau en générale plus faible

Support

- Supporté dans les environnements Windows, Linux et Novell + application de 60 partenaires

- Supporté dans les environnements Windows et Linux

- Via les moyens classiques : forums, sites web etc.
- Achat d'un support XenSource

Support iSCSI

- Oui (non pour ESX 2.5)

- Oui

- Oui

Haute disponibilité

- Partage d'un même volume disque SAN entre plusieurs serveurs VMware ESX
- Création de clusters de machines virtuelles sur plusieurs serveurs VMware
- VMware HA
- DRS
- Consolidated backup

- Version R2
- Host Clustering : mise en cluster de 2 Virtual Server
- Support de l'iSCSI : accès possible à un SAN, NAS ou une baie de disques via réseau IP

- Supports de l'iSCSI, NAS, SAN etc. tous les espaces de stockage accessibles depuis une machine Linux

Gestion des entrées/sorties

- Pilote Gigabit pour chaque VM

- Pilote Fast Ethernet Standard
- Version 2005 R2 jusqu'à 50% plus rapide que la version précédente

- Périphériques gérés par le noyau XenU

Gestion de 2 CPU par  machine virtuelle

- Possible avec option SMP

- Non

- Intégré

Gestion dynamique des machines virtuelles

- Par l'utilisateur pour RAM, espace disque, réseau et CPU
- Réallocation de machines virtuelles entre CPU possible. Version 3.0 gère 16 Go de RAM et 4 CPU par VM

- Par l'utilisateur pour RAM, espace disque, réseau et CPU
- Par OS Windows pour le reste
- Gestion des OS Linux dans les machines virtuelles

- Gestion dynamique de la mémoire et des CPU virtuels

Hyperviseur inclus

- Oui

- Oui

 

Gestion Intel VT & AMD Pacifica

- Oui (non pour ESX 2.5)

- Service Pack prévu sorti depuis le 2nd trimestre 2006

- Intel-VTx intégré depuis Xen 3.0

Extensions

- VirtualCenter, VMotion, Module de Fail-Over natif

- MOM (Administartion Pack)
- Projet Carmine

 

Migration à chaud

- A l'intérieur d'une même famille de processeurs
- VMotion (non pour la 2.5)

- Via l'implémentation d'un cluster dans l'OS Windows 2003 hôte

- Oui

PARTIE 4 : MISE EN OEUVRE

Partie 4

I. Environnement technique : matériels et logiciels

Pour tester l'environnement que nous souhaitons virtualiser, nous avons téléchargé et installé une version de démonstration d'ESX Server 3.2.0 depuis le site de VMware www.vmware.com. Certaines des fonctionnalités citées ci-dessus ne sont pas testées. En effet ils ne sont pas disponibles en version demo.

Voici les objectifs pratiques que nous nous sommes fixés :

· Installer ESX Server

· Créer les 4 serveurs virtuels sur une seule machine physique.

· Installer un serveur de mail SMTP sur une Debian avec Postfix comme serveur de messagerie.

· Installer un webmail via le projet Horde.

· Installer un serveur DNS sous Windows 2003, déployer Active Directory.

· Installer un serveur de fichier sous Windows 2003 Server.

1-1. Matériels

Pour s'assurer que la base matérielle correspond aux attentes d'un serveur de virtualisation, seulement une gamme restreinte de serveurs est certifiée pour ESX. Bien que le système d'exploitation ESX Server soit basé sur BSD et RedHat, cette restriction s'explique aisément par les besoins physiques:

· La configuration que nous utilisons

Général

Type

Serveur

Utilisation recommandée

PME, grandes entreprises

Facteur de forme

Montage en rack - 5U

Évolutivité des serveurs

Bidirectionnel

Nombre de baies pour unités échangeables à chaud

8

Largeur

22 cm

Profondeur

64 cm

Hauteur

46.8 cm

Processeur

Processeurs 4 CPU x 2,333 GHz

 
 

Nombre maxi

4

Évolutivité

Évolutif

Carte mère

Jeu de puces

Intel 5000Z

Contrôleur de stockage

Type

RAID - intégré - PCI Express x4

Type d'interface du contrôleur

Serial ATA-150 / SAS

Nom du contrôleur de stockage

Smart Array E200i

Second contrôleur de stockage

Type

1 x IDE - intégré

Type d'interface du contrôleur

IDE/ATA

Stockage

Disque dur

265 Go

Moniteur

Type de moniteur

Aucun(e)

Contrôleur graphique

Type

Intégré

Processeur graphique

ATI ES1000

Mémoire vidéo

SDRAM

Réseaux

Réseaux

Adaptateur réseau - PCI Express x4 - intégré

Contrôleur(s) Ethernet

HP NC373i

Protocole de liaison de données

Ethernet, Fast Ethernet, Gigabit Ethernet

Caractéristiques

Wake on LAN (WoL), prise en charge ACPI

Conformité aux normes

IEEE 802.3, IEEE 802.3u, IEEE 802.3ab

Extension/connectivité

Nombre total de baies d'extension (disponibles)

4 ( 4 ) x accessible de face - 5.25" x 1/2H 8 ( 8 ) x hot-swap - 3.5" x 1/3H

Nombre total de connecteurs d'extension (disponibles)

3 ( 3 ) x PCI Express x8 ( mode x4 ) 2 ( 2 ) x PCI-X / 100 MHz 1 ( 1 ) x PCI-X / 133 MHz 8 ( 8 ) x mémoire - DIMM 240 broches 2 ( 1 ) x processeur

Interfaces

1 x affichage / vidéo - VGA - HD D-Sub (HD-15) 15 broches 1 x clavier - générique - mini-DIN 6 broches (style PS/2) 1 x souris - générique - mini-DIN 6 broches (style PS/2) 1 x série - RS-232 - D-Sub (DB-9) 9 broches 1 x réseau - Ethernet 10Base-T/100Base-TX/1000Base-T - RJ-45 1 x gestion - HP iLO - RJ-45 6 x USB - USB à 4 broches, type A ( 2 à l'avant )

Divers

Caractéristiques

Mot de passe système, mot de passe à la mise sous tension, verrouillage de la configuration du disque, contrôle des E/S disquette, contrôle des E/S du port parallèle, contrôle des E/S du port série

Conformité aux normes

ACPI 2.0

Type de tarification

CTO

Alimentation

Type de périphérique

Alimentation - branchement à chaud

Alimentation redondante

En option

Plan d'action pour système d'alimentation redondante

1+1 (avec source d'alimentation en option)

Qté installée

1

Qté max supportée

2

Tension requise

CA 120/230 V ( 50/60 Hz )

Puissance fournie

1000 Watt

Système d'exploitation / Logiciels

SE certifié

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Red Hat Linux, SuSe Linux, SCO OpenServer 5.0.7, Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows Server 2003 Web Edition,ESX SERVER ,Microsoft Windows Server 2003 Standard Edition, UnixWare 7.1.3, Novell NetWare 6.5, Microsoft Windows Small Business Server 2003, UnixWare 7.1.4, SCO OpenServer 6, Novell Open Enterprise Server, Microsoft Windows Server 2003 R2 Enterprise Edition, Microsoft Windows Server 2003 R2 Standard Edition

Caractéristiques d'environnement

Température de fonctionnement mini

10 °C

Température de fonctionnement maxi

35 °C

Taux d'humidité en fonctionnement

10 - 90%

TAB 4-1. Caractéristiques détaillées - HEWLETT-PACKARD ProLiant ML350 G5

La configuration utilisée peut paraître importante, mais la virtualisation avec un serveur ESX a pour objectif de remplacer une série de serveurs.

Nous utilisons ici la version Démonstration de ESX SERVER 3.2.0.

ESX offre l'utilisation de processeur multicoeur avec la base d'une licence par processeur. L'activation de l'option SMP ouvre la possibilité d'utiliser deux processeurs pour une machine virtuelle.

1-2. Logiciels

Vmware Infrastructure est disponible sur trois architectures logicielles différentes, dont celle qui nous intéresse, la version Entreprise Edition.

Pour pouvoir l'installer, nous avons besoin de deux choses : le système d'exploitation ESX Server et un serveur certifié, celui dont nous disposons en est un.

II. Mise en place d'un ESX SERVER et d'un Serveur de Messagerie virtualisé

2-1. Mise en place d'ESX SERVER

Après avoir insérer le CD-Rom du serveur ESX 3, nous obtenons l'écran ci-dessous, appuyons sur la touche « entrer » du clavier pour continuer l'installation.

Nous ne disposons pas du CD original. Nous avons téléchargé la version d'évaluation du serveur ESX par Internet, donc nous avons procédé au test du CD.

 On obtient alors l'écran suivant

L'installation se fait à l'aide d'un assistant, cliquons sur le bouton suivant

Sélectionnons la langue du clavier, puis cliquons sur suivant :

A l'écran suivant nous devrons sélectionner le type de souris qui est directement raccordé à notre serveur ESX ou à notre Switch KVM. Puis accepter le contrat de licence. L'écran ci-dessous permet de créer les partitions du serveur ESX.

Il propose un partitionnement par défaut, cependant nous allons sélectionner l'option avancée afin de gérer nous même la taille de chaque partition.

L'écran si dessous permet de sélection la partition sur laquelle le serveur ESX va booter, il est conseillé de laisser l'option par défaut : avec la première partition système. Cliquons ensuite sur suivant :

Nous serons alors face à un écran vous proposant de créer des partitions de la machine virtuelle

Pour que le Serveur ESX fonctionne, il faudra créer comme sous linux, les répertoires suivants :

Type

Système de fichier

Taille

/boot

Ext3

101 Mo

 

Vmkcore

101 Mo

/

Ext3

4009 Mo

 

Swap

509 Mo

/tmp

Ext3

2047 Mo

/var

Ext3

2047 Mo

/home

Ext3

2047 Mo

/opt

Ext3

1027 Mo

 

Vmfs3

408057 Mo (espace disque restant)

 
 
 

Le système de fichier Vmfs3 permet de stocker les machines virtuelles, nous avons la possibilité de les stocker sur un support SAN ou NAS,  dans ce cas la création du système de fichier  Vmfs3 est inutile.

Chaque VM est encapsulée dans un ou plusieurs fichiers et stockée dans le VMFS.
Les fichiers peuvent être gérés par un ESX et visibles par un autre. Ce système de fichier possède les propriétés suivantes :

· Système de fichier cluster, les fichiers des machines virtuelles sont stockés dans des volumes partagés en Fibre Channel ou iSCSI SAN.

· Plusieurs serveurs ESX peuvent accéder à plusieurs volumes VMFS en même temps.

· Rajout ou suppression des volumes VMFS sur les serveurs ESX sans redémarrage.

· SCSI Réservation, préserve l'intégrité du volume VMFS lors des lectures/écritures.

· VMFS est testé, certifié et optimisé pour de nombreux systèmes de stockages

· Facilité de gestion avec la découverte automatique des volumes VMFS.

Sélectionnons ensuite la région 

Entrer le mot de passe de l'administrateur

L'assistant affiche ensuite le récapitulatif de la configuration du serveur ESX. Cliquons sur suivant pour lancer l'installation.

Nous pouvons maintenant procéder à la création des machines virtuelles.

.2-2. Mise en place d'un serveur de messagerie virtualisé

Nous voulons ici créer un serveur SMTP principal qui recevra nos mails et les enverra au reste du monde. Nous souhaitons pouvoir envoyer des e-mails depuis ce serveur depuis n'importe où. Dans cette configuration il y aura de l'authentification SMTP.

Nous utiliserons comme système la distribution Debian Stable et comme serveur de messagerie Postfix.

Création d'une nouvelle machine virtuelle : serveur de messagerie

En sélectionnant l'option « custom » nous pourrons personnaliser les différentes options de la machine virtuelle.

Indiquons le nom de la nouvelle machine virtuelle, puis sélectionnons suivant 

Spécifions un datastore, puis sélectionnons suivant :

Sélectionnons le système d'exploitation que nous désirons installer, puis cliquons sur suivant :

Sélectionnons le nombre de processeur que nous voudrons affecter a cette machine, puis suivant :

L'assistant proposera automatiquement la taille de ram par défaut (512 Mo) pour la VM, cependant vous pouvons augmenter la taille de la ram si nous utilisons des applications lourdes.

Nous devons spécifier ici le nombre de carte réseau:

La VM doit avoir un disque dur, on va donc créer un disque dur virtuel:

Spécifions la taille du disque :

ESX serveur, grâce à son architecture, nous permet de connecter directement les machines virtuelles aux disques SAN. Il s'agit d'une option importante, qui n'est pas disponible sur les autres technologies de virtualisation. Pour rappel, ces autres technologies permettent au serveur hôte de stocker les disques virtuels sur leurs propres disques SAN. On peut donc s'attendre, avec la technologie ESX, à un gain de performance. ESX offre, également, de la même manière que VS et GES, la possibilité de stocker les disques en utilisant des fichiers stockés en local dans un répertoire de la machine hôte.

Insérons le CD ROM de Debian dans le serveur ESX, puis démarrons la machine virtuelle.

2.2.1. INSTALLATION DE POSTFIX + ANTIVIRUS/ANTISPAM + WEBMAIL IMP

Postfix est certainement un des meilleurs serveurs d'e-mail existant, c'est pourquoi mon choix se porte sur celui-ci. Le sujet des e-mails est un sujet compliqué ou les documentations sont nombreuses et confusent assez souvent.

Commençons par installer Postfix et ce qui sera nécessaire à l'authentification SMTP.

a)Installation des paquets

Après une installation de Debian 3.1 Stable, on peut entamer l'installation des outils qui nous seront nécessaires pour le fonctionnement d'un serveur POSTFIX accompagné d'un WEBMAIL et des outils ANTISPAM et ANTIVIRUS.

apt-get install vim

apt-get install postfix

apt-get install postfix-mysql

apt-get install postfix-doc

apt-get install mysql-client

apt-get install mysql-server

apt-get install courier-authdaemon

apt-get install courier-authmysql

apt-get install courier-pop

apt-get install courier-pop-ssl

apt-get install courier-imap

apt-get install courier-imap-ssl

apt-get install postfix-tls

apt-get install libsasl2

apt-get install libsasl2-modules

apt-get install libsasl2-modules-sql

apt-get install openssl

apt-get install apache

apt-get install apache-ssl

apt-get install php5

apt-get install php5-cgi

apt-get install php5-imap

apt-get install php5-pear-log

apt-get install phpmyadmin

apt-get install php5-pear

apt-get install php5-pear-log

apt-get install php5-domxml

apt-get install php-mail-mime

apt-get install amavisd-new

apt-get install spamassassin

apt-get install clamav

apt-get install clamav-daemon

apt-get install zoo

apt-get install unzip

apt-get install unarj

Quelques précisions :

§ POSTFIX est le serveur de messagerie que nous désirons installer et configurer. C'est lui qui aura la tâche de réception des emails et leur redistribution dans les boîtes mail.

§ MySQL est le système de base de données que nous allons utiliser pour recenser les domaines gérés par POSTFIX ainsi que les utilisateurs, les redirections et les mots de passes.

§ COURIER est un système alternatif à POSTFIX. Nous n'utiliserons ici que ses fonctionnalités de POP3/IMAP pour autoriser les utilisateurs à accéder à leurs comptes email.

§ SASL si un utilisateur se connecte depuis une IP autre que celle de notre réseau, SASL se chargera d'activer l'identification de l'utilisateur par identifiant et mot de passe à notre serveur SMTP.

§ AMAVIS est un filtre ANTIVIRUS et ANTISPAM de POSTFIX. Il est aussi connu sous le nom de SPAMASSASSIN.

§ Les outils de décompression comme ZOO UNZIP et UNARJ sont utiles pour l'antivirus qui pourra ainsi vérifier dans les archives envoyés par email s'ils ne contiennent pas de virus.

§ PHPMYADMIN est utile pour vérifier les informations entrées dans la base de données. Utile également pour l'ajout des informations dans la base MySQL

§ APACHE et PHP nous servirons pour le webmail IMP de HORDE.

b) Configuration du serveur MySQL

Après l'installation du paquet MySQL-Server, le mot de passe de l'utilisateur root est à définir.

mysqladmin -u root password motdepasse-root

Ensuite, il nous faut créer la base MySQL nommée `postfix_db'.

mysqladmin -u root -p create postfix_db

Il faut également créer un utilisateur appelé `postfix' avec un mot de passe au choix (ici ce sera `passer').

echo "grant select on postfix_db.* to postfix@127.0.0.1 identified \

by 'passer';" | mysql -u root -p

Pour prendre en compte les modifications des utilisateurs MySQL il faut effectuer un flush de celle-ci.

echo "flush privileges;" | mysql -u root -p

Enfin, il faut importer la structure des tables de la base `postfix_db' pour que POSTFIX puisse fonctionner.

echo "CREATE TABLE domains ( \

domain varchar(50) NOT NULL, \ PRIMARY KEY (domain) ) \ TYPE=MyISAM; \

CREATE TABLE forwardings ( \ source varchar(80) NOT NULL, \ destination TEXT NOT NULL, \ PRIMARY KEY (source) ) \ TYPE=MyISAM;\

CREATE TABLE users ( \ email varchar(80) NOT NULL, \ password varchar(20) NOT NULL, \ PRIMARY KEY (email) \) TYPE=MyISAM; " | mysql -u root -p postfix_db

c) Configuration de POSTFIX pour MySQL

Nous devons créer des fichiers de configuration pour indiquer les informations de connexion à la base MySQL de POSTFIX. Ici nous retrouvons entre autres, les identifiants et mots de passes pour accéder à MySQL, mais également les requêtes à effectuer par POSTFIX pour retrouver un utilisateur et ainsi de suite.

/etc/postfix/mysql-virtual_domains.cf

user = postfix

password = passer

dbname = postfix_db

table = domains

select_field = 'virtual'

where_field = domain hosts = 127.0.0.1

/etc/postfix/mysql-virtual_forwardings.cf

user = postfix

password = passer

dbname = postfix_db

table = forwardings

select_field = destination

where_field = source

hosts = 127.0.0.1

/etc/postfix/mysql-virtual_mailboxes.cf

user = postfix

password = passer

dbname = postfix_db

table = users

select_field = CONCAT(SUBSTRING_INDEX(email,'@',

-1),'/',SUBSTRING_INDEX(email,'@',1),'/')

where_field = email

hosts = 127.0.0.1

/etc/postfix/mysql-virtual_email2email.cf

user = postfix

password=passer

dbname = postfix_db

table = users

select_field = email

where_field = email

hosts = 127.0.0.1

d) Création de la configuration Virtual Mail

Pour éviter de devoir créer sur le système un utilisateur par compte email, nous optons pour la création d'un répertoire VMAIL dans lequel seront stockés tous les utilisateurs, sans que nous ayons à les ajouter sur l'OS. Nous définissons volontairement l'UID et le GID d'utilisateur et du groupe VMAIL à 5000.

groupadd -g 5000 vmail

useradd -g vmail -u 5000 vmail -d /home/vmail -m

e) Configuration de POSTFIX

POSTFIX a été relativement complexe à configurer. Il existe une multitude de fonctions, de commandes et de paramètres à personnaliser. Nous retrouvons ci-dessous notre fichier de configuration.

Nous définissons ici le chemin vers les différents fichiers de configuration que nous avons créé auparavant, nous permettant l'accès à la base de données MySQL.

En fin de fichier, les paramètres `content_filter' et `receive_override_options' indiquent les adresses et options pour transmettre les emails vers AMAVIS pour un traitement ANTIVIRUS et ANTISPAM.

/etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail name (Debian/GNU)

biff = no

append_dot_mydomain = no

myhostname = srv.mail.local

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

myorigin = /etc/mailname

mydestination= srv.mail.local,localhost.localdomain, srv.local, localhost.mail.local, localhost

relayhost =

mynetworks = 127.0.0.0/8 10.1.0.0/16

mailbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = all

virtual_alias_domains =

virtual_alias_maps=mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf

virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf

virtual_mailbox_base = /home/vmail

virtual_uid_maps = static: 5000

virtual_gid_maps = static: 5000

smtpd_sasl_auth_enable = yes

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authentificated, reject_unauth_destination

smtpd-use_tls = yes

smtpd_use_tls = yes

content_filter=amavis:[127.0.0.1]:10024

receive_override_options = no_address_mappings

Concernant le fichier smtpd.conf, nous devons activer le plugin MySQL pour qu'il puisse être interfacé avec notre serveur de base de données. C'est la variable `auxprop_plugin' qui nous le permet.

/etc/postfix/sasl/smtpd.conf

pwcheck_method: auxprop auxprop_plugin: sql

mech_list: plain login cram-md5 digest-md5

sql_engine: mysql

sql_hostnames: 127.0.0.1

sql_user: postfix

sql_passwd: passer

sql_database: postfix_db

sql_select: select password from users where email='%u@%r'

Enfin, il ne nous reste plus qu'à configurer les informations générales de POSTFIX dans le fichier de configuration `master.cf'.

/etc/postfix/master.cf

#

# Postfix master process configuration file. For details on the format

# of the file, see the master (5) manual page (command: "man 5 master").

#

# ==========================================================================

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (100)

==========================================================================

smtp inet n - - - - smtpd

#submission inet n - - - - smtpd

# -o smtpd_enforce_tls=yes

# -o smtpd_sasl_auth_enable=yes

# -o smtpd_client_restrictions=permit_sasl_authenticated,reject

#smtps inet n - - - - smtpd

# -o smtpd_tls_wrappermode=yes

# -o smtpd_sasl_auth_enable=yes

# -o smtpd_client_restrictions=permit_sasl_authenticated,reject

#628 inet n - - - - qmqpd

pickup fifo n - - 60 1 pickup

cleanup unix n - - - 0 cleanup

qmgr fifo n - n 300 1 qmgr

#qmgr fifo n - - 300 1 oqmgr

tlsmgr unix - - - 1000? 1 tlsmgr

rewrite unix - - - - - trivial-rewrite

bounce unix - - - - 0 bounce

defer unix - - - - 0 bounce

trace unix - - - - 0 bounce

verify unix - - - - 1 verify

flush unix n - - 1000? 0 flush

proxymap unix - - n - - proxymap

smtp unix - - - - - smtp

# When relaying mail as backup MX, disable fallback_relay to avoid MX loops

relay unix - - - - - smtp

-o fallback_relay=

# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq unix n - - - - showq

error unix - - - - - error

discard unix - - - - - discard

local unix - n n - - local

virtual unix - n n - - virtual

lmtp unix - - - - - lmtp

anvil unix - - - - 1 anvil

scache unix - - - - 1 scache

#

# ====================================================================

# Interfaces to non-Postfix software. Be sure to examine the manual

# pages of the non-Postfix software to find out what options it wants.

#

# Many of the following services use the Postfix pipe(8) delivery

# agent. See the pipe(8) man page for information about ${recipient}

# and other message envelope options.

# ====================================================================

#

# maildrop. See the Postfix MAILDROP_README file for details.

# Also specify in main.cf: maildrop_destination_recipient_limit=1

f) Configuration du POP3/IMAP

Il faut désormais autoriser les modules d'authentification à accéder à la base de données MySQL. Ceci se fait au travers des fichiers de configurations énumérés ci-dessous.

/etc/courier/authdaemonrc

authmodulelist="authmysql"

authmodulelistorig="authcustom authcram authuserdb authldap authpgsql authmysql authpam"

daemons=5

version=""

authdaemonvar=/var/run/courier/authdaemon

Dans le fichier qui suit, nous indiquons les informations de connexion au serveur MySQL ainsi que le chemin vers le répertoire VMAIL que nous avons créé précédemment.

/etc/courier/authmysqlrc

MYSQL_SERVER 127.0.0.1

MYSQL_USERNAME postfix

MYSQL_PASSWORD passer

MYSQL_PORT 0

MYSQL_OPT 0

MYSQL_DATABASE postfix_db

MYSQL_USER_TABLE users

MYSQL_CLEAR_PWFIELD password

MYSQL_UID_FIELD 5000

MYSQL_GID_FIELD 5000

MYSQL_LOGIN_FIELD email

MYSQL_HOME_FIELD «/home/vmail"

MYSQL_MAILDIR_FIELD CONCAT (SUBSTRING_INDEX(email,'@',-

1),'/', SUBSTRING_INDEX (email,'@',1),'/')

g) Ajout des domaines & adresses email dans POSTFIX

Nous arrivons au stade où il est bon de commencer à remplir la base de données MySQL avec des valeurs de test pour pouvoir débuguer un maximum notre configuration. Nous décidons d'ajouter un domaine intitulé `mail.local' ainsi qu'une adresse email `toto1@mail.local' qui s'authentifiera avec le mot de passe `passer'.

echo "INSERT INTO \`domains\` (\`domain\`) VALUES \ ('mail.local');" | mysql -u root -p postfix_db

echo "INSERT INTO \`users\` (\`email\`,\`password\`) \ VALUES ('toto1@mail.local','passer');" | mysql \ -u root -p postfix_db

h) Configuration AMAVIS/SPAMASSASSIN

AMAVIS est destiné à faire le filtrage du SPAM et des VIRUS sur les mails que traitera POSTFIX. Pour qu'il fonctionne convenablement, ouvrons le fichier `amavisd.conf' et vérifions les valeurs des variables énoncées ci- dessous. La variable @lookup_sql_dsn doit être impérativement modifiée avec nos informations de connexion à la base de données MySQL. N'oublions pas de garder l'adresse `127.0.0.1' sur le port `3306'

/etc/amavis/amavisd.conf

$mydomain = 'localhost';

@bypass_virus_checks_acl = qw( . );

@bypass_spam_checks_acl = qw( . );

@lookup_sql_dsn=( ['DBI:mysql:postfix_db;host=127.0.0.1;port=3306', 'postfix', `passer'] );

$sql_select_policy = 'SELECT "Y" as local FROM domains WHERE

CONCAT("@",domain) IN (%k)';

$final_virus_destiny = D_DISCARD;

$final_banned_destiny = D_REJECT;

$final_spam_destiny = D_PASS;

$sa_tag_level_deflt = -1000;

$sa_tag2_level_deflt = 5.0;

$sa_kill_level_deflt = 10;

$sa_spam_subject_tag = '***SPAM*** ';

$sa_local_tests_only = 0;

Enfin, il faut créer l'utilisateur qu'AMAVIS va utiliser pour effectuer ses traitements. Nous le créons ainsi sous le nom de `clamav' dans le groupe `amavis'.

adduser clamav amavis

i) Droits d'accès aux fichiers

Il est nécessaire au bon fonctionnement de POSTFIX de lui accorder des droits d'accès à ses fichiers de configuration. Cette phase est la plus critique dans l'ensemble de l'installation de POSTFIX.

chown root:postfix -R /etc/postfix chmod 750 -R /etc/postfix

Pour appliquer tous les changements effectués sur les fichiers de configuration de POSTFIX, AMAVIS et les démons d'authentification, il faut redémarrer ceux-ci.

Redémarrage service AMAVIS :

/etc/init.d/amavis restart

Redémarrage du démon d'authentification :

/etc/init.d/courier-authdaemon restart

Redémarrage de POSTFIX :

/etc/init.d/postfix restart

Notre configuration est maintenant prête à être utilisée. Il ne nous reste plus qu'à installer HORDE et IMP qui nous permettrons d'accéder à nos mails via un webmail ergonomique.

§ Première phase de tests

Nous allons vérifier que jusque là, nous n'avons aucun problème de configuration.

Pour tester le service nous allons ouvrir deux consoles en `root' sur le serveur. Dans la première, nous allons entrer la commande suivante :

tail -f /var/log/mail.log

Celle-ci nous permettra de suivre en direct ce qui se passe sur notre serveur POSTFIX. Dans la seconde console nous allons effectuer un envoi d'email. Celui-ci se fait en quelques étapes. Les commandes à envoyer sont représentées avec le caractère `>' et les réponses du serveur sont représentées par le caractère `<'.

La première est la connexion en TELNET au port 25 de la machine hébergeant le service POSTFIX. Ici, il s'agit de `localhost'.

telnet localhost 25

< 220 srv.mail.local ESMTP Postfix

Ensuite, nous devons dire `bonjour' à POSTFIX en lui indiquant d'où nous provenons. Dans notre exemple nous lui disons que nous provenons du domaine

`mail.local'.

> ehlo mail.local

< 250-srv.mail.local

< 250-PIPELINING

< 250-SIZE 10240000

< 250-VRFY

< 250-ETRN

< 250-STARTTLS

< 250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5

< 250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5

< 250 8BITMIME

Après, nous devons donner l'adresse email de l'émetteur du mail. Nous ferons un envoi depuis `toto1@mail.local'.

< 250 Ok

Puis nous lui disons à qui nous voulons envoyer un message. Ici, ce sera sur mon compte gmail.

> rcpt to:<cctall@gmail.com>

< 250 Ok

Il ne nous reste plus qu'à indiquer les données que nous souhaitons envoyer.

> data

< 354 End data with <CR><LF>.<CR><LF>

> test de message

> .

< 250 Ok: queued as CAC7A9E08B

Enfin, nous quittons la connexion au serveur.

> quit

< 221 Bye

< Connection closed by foreign host.

Voila ce qui s'affiche sur le fichier de log : s'il y a une erreur de configuration il sera visible sur ce fichier

postfix/smtpd[14861]: BF6509E08C: client=localhost.localdomain[127.0.0.1]

postfix/cleanup[14858]:BF6509E08C:messageid=<20060412032647

CAC7A9E08B@srv.mail.local>

postfix/qmgr[14731]: BF6509E08C: from=<46500@gmail.com>, size=769, nrcpt=1 (queue active)

amavis[12814]: (12814-02) Passed, <46500@gmail.com> ->

<toto1@mail.local>, Message-ID:

<20060412032647.CAC7A9E08B@srv.mail.local>, Hits: -

postfix/smtp[14859]:CAC7A9E08B:to=<toto1@srv.mail.local>, relay=127.0.0.1[127.0.0.1], delay=135, status=sent (250 2.6.0 Ok, id=12814-02, from MTA: 250 Ok: queued as BF6509E08C)

postfix/qmgr[14731]: CAC7A9E08B: removed

postfix/smtpd[14861]: disconnect from localhost.localdomain[127.0.0.1]

postfix/virtual[14865]:BF6509E08C:to=<toto1@mail.local>,relay=virtual, delay=0, status=sent (delivered to maildir)

postfix/qmgr[14731]: BF6509E08C: removed

postfix/smtpd[14852]: disconnect from localhost.localdomain[127.0.0.1]

j) Configuration de PHP et des modules adéquats

Nous avons installé PHP via apt-get tout à l'heure. Il faut maintenant configurer les modules nécessaires à PHP pour que le webmail ainsi que phpMyAdmin puissent avoir accés à l'interpréteur PHP et entre autres, aux modules de base de données MySQL. Il faudra donc ajouter les lignes suivantes dans la section `[PHP]' des trois fichiers énoncés ci-dessous.

/etc/php5/apache/php.ini

/etc/php5/cli/php.ini

/etc/php5/cgi/php.ini

extension=mysql.so

extension=domxml.so

Une fois ces modifications effectuées, sauvegardons nos fichiers et redémarrons le service APACHE.

/etc/init.d/apache2 restart

Nous n'avons plus qu'à tester si PHP fonctionne bien avec APACHE. Pour ce faire, il nous suffit d'accéder en HTTP à l'adresse de la machine dans le répertoire de phpMyAdmin

http://10.1.1.165/phpmyadmin/

Connectons-nous sur la base de données mysql via phpmyadmin en entrant le nom de l'administrateur de la base créée ci-dessous :

Cliquons sur exécuter pour accéder à la base de données :

Nous parvenons maintenant à administrer la base de données postfix via une console web.

En cliquant sur « afficher » sur la ligne « users » nous porrons affichez l'ensemble des comptes utilisateurs crées. Ce qui donne ceci :

2-2-2. Installation du webmail HORDE

Un webmail est une application web qui permet à un utilisateur de se connecter à sa boîte aux lettres depuis n'importe quel endroit possédant une connexion Internet et un navigateur web (Internet Explorer par exemple).

Le framework HORDE est disponible en libre téléchargement à partir de www.horde.org Il est nécessaire à l'utilisation de notre webmail IMP, également produit de HORDE.

La première étape consiste à télécharger le tarball adéquat. A l'heure de l'écriture de ce mémoire, nous en sommes à la version 3.1.1. L'installation doit se faire dans le répertoire racine du serveur APACHE

cd /usr/share

wget http://ftp.horde.org/pub/horde/horde-3.1.1.tar.gz

tar zxvf horde-3.1.1.tar.gz

mv horde-3.1.1 horde

Maintenant il faut renommer les fichiers templates en fichiers de configuration standard. Il faudra donner les droits d'écriture sur les fichiers de configuration. Ceux-ci seront à retirer par la suite, à la fin de l'installation et configuration.

cd horde/config

for f in *.dist; do cp $f `basename $f .dist`; done

chmod 777 /usr/share/horde/config/conf.php [ACCESSOIRE]

chown www-data:www-data -R /usr/share/horde

Il faut ajouter à la base MySQL les informations concernant HORDE. Le dump à insérer créé la base, les tables et l'utilisateur nommé `horde' avec comme mot de passe `horde'.

mysql -u root -p < /usr/share/horde/scripts/sql/create.mysql.sql

Il faut désormais modifier les fichiers de configuration de HORDE. Nous avons effectué une configuration par défaut mais fonctionnelle pour faciliter la tâche.

/usr/share/horde/config/conf.php

<?php

$conf['debug_level'] = E_ERROR;

$conf['max_exec_time'] = 0;

$conf['use_ssl'] = 2;

$conf['server']['name'] = $_SERVER['SERVER_NAME'];

$conf['server']['port'] = $_SERVER['SERVER_PORT'];

$conf['compress_pages'] = true;

$conf['umask'] = 077;

$conf['session']['name'] = 'Horde';

$conf['session']['cache_limiter'] = 'nocache';

$conf['session']['timeout'] = 0;

$conf['cookie']['domain'] = $_SERVER['SERVER_NAME'];

$conf['cookie']['path'] = '/';

$conf['sql']['persistent'] = false;

$conf['sql']['hostspec'] = '127.0.0.1';

$conf['sql']['username'] = 'horde';

$conf['sql']['password'] = 'horde';

$conf['sql']['port'] = 3306;

$conf['sql']['protocol'] = 'tcp';

$conf['sql']['database'] = 'horde';

$conf['sql']['charset'] = 'iso-8859-1';

$conf['sql']['phptype'] = 'mysql';

$conf['auth']['admins'] = array('Administrator');

$conf['auth']['checkip'] = true;

$conf['auth']['checkbrowser'] = true;

$conf['auth']['alternate_login'] = false;

$conf['auth']['redirect_on_logout'] = false;

$conf['auth']['params']['username'] = 'Administrator';

$conf['auth']['params']['requestuser'] = false;

$conf['auth']['driver'] = 'imap';

$conf['signup']['allow'] = false;

$conf['log']['priority'] = PEAR_LOG_NOTICE;

$conf['log']['ident'] = 'HORDE';

$conf['log']['params'] = array();

$conf['log']['name'] = '/tmp/horde.log';

$conf['log']['params']['append'] = true;

$conf['log']['type'] = 'file';

$conf['log']['enabled'] = true;

$conf['log_accesskeys'] = false;

$conf['prefs']['driver'] = 'none';

$conf['datatree']['driver'] = 'null';

$conf['group']['driver'] = 'datatree';

$conf['cache']['default_lifetime'] = 1800;

$conf['cache']['params']['dir'] = Horde::getTempDir();

$conf['cache']['params']['gc'] = 86400;

$conf['cache']['driver'] = 'file';

$conf['token']['driver'] = 'none';

$conf['mailer']['params']['sendmail_path'] = '/usr/lib/sendmail';

$conf['mailer']['params']['sendmail_args'] = '-oi';

$conf['mailer']['type'] = 'sendmail';

$conf['vfs']['params']['vfsroot'] = '/tmp';

$conf['vfs']['type'] = 'file';

$conf['sessionhandler']['type'] = 'none';

$conf['geoip']['datafile'] = 'fr';

$conf['problems']['email'] = 'postmaster@mail.local;

$conf['problems']['maildomain'] = 'mail.local;

$conf['problems']['tickets'] = false;

$conf['menu']['apps'] = array('imp');

$conf['menu']['always'] = false;

$conf['menu']['links']['help'] = 'all';

$conf['menu']['links']['help_about'] = true;

$conf['menu']['links']['options'] = 'authenticated';

$conf['menu']['links']['problem'] = 'all';

$conf['menu']['links']['login'] = 'all';

$conf['menu']['links']['logout'] = 'authenticated';

$conf['hooks']['permsdenied'] = false;

$conf['hooks']['username'] = false;

$conf['hooks']['preauthenticate'] = false;

$conf['hooks']['postauthenticate'] = false;

$conf['hooks']['authldap'] = false;

$conf['portal']['fixed_blocks'] = array();

$conf['accounts']['driver'] = 'null';

$conf['imsp']['enabled'] = false;

$conf['kolab']['enabled'] = false;

?>

Modifions les informations suivantes pour que HORDE utilise IMP pour l'identification par défaut.

/usr/share/horde/config/prefs.php

$_prefs['initial_application'] = array(

'value' => 'imp',

'locked' => false,

'shared' => true,

'type' => 'select',

'desc' => sprintf(_("What application should %s display after

login?"), $GLOBALS['registry']->get('name'))

);

Pour pouvoir accéder à horde, nous devons créer un Alias dans APACHE. Il nous suffit de créer le fichier suivant :

/etc/apache/conf.d/horde.conf

Alias /horde /usr/share/horde

Redémarrons APACHE pour prendre en compte les modifications.

/etc/init.d/apache restart

a) Configuration d'APACHE pour le Virtual host

le webmail sera accédé depuis `http://srv.mail.local/horde-webmail/imp/login.php. Il faut pour cela créer un VirtualHost dans APACHE.

Créons le fichier suivant :

/etc/apache/conf.d/imp.conf

<VirtualHost *:80>

ServerAdmin info@mail.local

ServerName webmail.mail.local

DocumentRoot /usr/share/horde/imp

ErrorLog /var/log/apache/webmail-error_log

CustomLog /var/log/apache/webmail-access_log combined

<Directory" /usr/share/horde/imp">

AllowOverride All

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

Redémarrons APACHE pour prendre en compte les modifications.

/etc/init.d/apache restart

b) Installation et configuration d'IMP

Tout comme HORDE, IMP est librement distribué sur le site www.horde.org. A l'heure de l'écriture de ce mémoire, nous en sommes à la version 3.4.1. Les étapes d'installation et de configuration sont similaires à celles de HORDE, indiquées dans la partie précédente.

cd /usr/share/horde

wget ftp://ftp.horde.org/pub/imp/imp-h3-4.1.tar.gz tar zxvf imp-h3-4.1.tar.gz

mv imp-h3-4.1 imp

Comme précédemment, nous renommons les fichiers templates en fichiers de configuration standard.

cd imp/config/

for foo in *.dist; do cp $foo `basename $foo .dist`; done

Voici le fichier de configuration de IMP:

/usr/share/horde/imp/config/conf.php

<?php

$conf['utils']['gnupg_keyserver'] = array('wwwkeys.pgp.net');

$conf['utils']['gnupg_timeout'] = '10';

$conf['menu']['apps'] = array();

$conf['user']['allow_view_source'] = true;

$conf['user']['allow_resume_all'] = false;

$conf['user']['allow_resume_all_in_drafts'] = false;

$conf['user']['select_sentmail_folder'] = false;

$conf['user']['allow_folders'] = true;

$conf['user']['alternate_login'] = false;

$conf['user']['redirect_on_logout'] = false;

$conf['server']['server_list'] = 'hidden';

$conf['server']['sort_limit'] = '0';

$conf['server']['cache_folders'] = false;

$conf['server']['cache_msgbody'] = false;

$conf['mailbox']['show_attachments'] = false;

$conf['mailbox']['show_preview'] = false;

$conf['mailbox']['show_xpriority'] = false;

$conf['fetchmail']['show_account_colors'] = false;

$conf['fetchmail']['size_limit'] = '4000000';

$conf['msgsettings']['filtering']['words'] = './config/filter.txt';

$conf['msgsettings']['filtering']['replacement'] = '****';

$conf['spam']['reporting'] = false;

$conf['notspam']['reporting'] = false;

$conf['msg']['prepend_header'] = true;

$conf['msg']['append_trailer'] = true;

$conf['compose']['allow_cc'] = true;

$conf['compose']['allow_bcc'] = true;

$conf['compose']['allow_receipts'] = true;

$conf['compose']['special_characters'] = true;

$conf['compose']['use_vfs'] = false;

$conf['compose']['link_all_attachments'] = false;

$conf['compose']['link_attachments_notify'] = true;

$conf['compose']['link_attachments'] = true;

$conf['compose']['add_maildomain_to_unexpandable'] = false;

$conf['compose']['attach_size_limit'] = '0';

$conf['compose']['attach_count_limit'] = '0';

$conf['hooks']['vinfo'] = false;

$conf['hooks']['signature'] = false;

$conf['hooks']['trailer'] = false;

$conf['hooks']['fetchmail_filter'] = false;

$conf['hooks']['mbox_redirect'] = false;

$conf['hooks']['mbox_icon'] = false;

$conf['hooks']['spam_bounce'] = false;

$conf['maillog']['use_maillog'] = true;

$conf['tasklist']['use_tasklist'] = true;

$conf['notepad']['use_notepad'] = true;

?>

Pour finir, il ne nous reste plus qu'à configurer les serveurs utilisés par IMP pour se connecter à l'IMAP. Tout ceci se fait dans le fichier `conf.php' d'IMP. Ci-dessous notre fichier de configuration :

/var/www/horde/imp/config/servers.php

<?

$servers['imap'] = array(

'name' => 'IMAP Server',

'server' => 'srv.mail.local,

'hordeauth' => false,

'protocol' => 'imap/ssl/novalidate-cert',

'port' => '993',

'maildomain' => 'mail.local,

'smtphost' => 'srv.mail.local,

'smtpport' => 25,

'realm' => '',

'preferred' => '1',

);

?>

Nous pouvons maintenant tenter une connexion au webmail pour voir si nous avons reçu nos emails de test. http://srv.mail.local/horde-webmail/imp/login.php

Ce qui nous donne l'écran de login ci-dessous :

Cela fonctionne parfaitement, le webmail est installé avec succès.

On entre les informations de login de notre compte de test : toto1@mail.local avec son mot de passe « passer ». Nous accédons bien à lire les messages reçus :

Fin de l'installation du serveur de messagerie postfix avec le webmail Horde.

PARTIE 5 : COUTS, BILAN ET PERSPECTIVES

Partie 5

I. Coûts du projet

Lors de la mise en production, il est donc primordial de prévoir du matériel supplémentaire à l'achat, ainsi que d'inclure la gestion de la Haute disponibilité sur tout élément critique de l'architecture.

1-1. coût de l'architecture matérielle

2 serveurs HEWLETT-PACKARD ProLiant ML350 G5

Prix : 2 x 784,60 € soit 1 027 040 fcfa

1-2. coût l'architecture logicielle

Systéme de licence de VMware

TAB 5-1. Système de licence VMware

Licences à acheter


· 2 licences VMWare Infrastructure 3 Ent (2 CPU)

ESX : système installé sur les machines physiques qui accueillent les VMs

HA : Haute disponibilité des VMs. Redémarrage des VMs sur incident.

DRS : Attribution dynamique des ressources

VMotion : Migration à chaud des VMs

§ 1 licence VMWare Virtual Center : Administration et supervision de l'infrastructure.

Matériel (support)

· 2 serveurs HEWLETT-PACKARD ProLiant ML350 G5 1 027826 FCFA

Logiciel (support 3ans)

· 2 licences VMware Infrastructure3 5 744 350 FCFA

· 1 licence virtual center

TOTAL 6 772176 FCFA

1-3. évaluation des difficultés d'administration après virtualisation

Si la virtualisation est transparente pour les utilisateurs, pour les applications, et même pour les systèmes d'exploitation invités, elle ne l'est pas bien sûr pour l'administrateur qui en a la charge.

La mise en oeuvre et l'exploitation des solutions de virtualisation requièrent une vraie expertise. Pour un administrateur système de bon niveau, maîtriser une solution de virtualisation demandera plusieurs jours de formation, et quelques semaines de pratique. Cependant les solutions propriétaires telles que VMware fournissent des outils graphiques très avancés.

Une des grandes problématiques dans un environnement virtualisé est le contrôle dans l'attribution et dans le partage des ressources du serveur physique. On peut souhaiter répartir les ressources disponibles soit de façon équitable, soit en privilégiant certains environnements par rapport aux autres. Les règles dépendent bien sûr du domaine d'application. Dans tout les cas les différents produits de virtualisation implémentent des mécanismes permettant d'assurer cette répartition, et d'éviter qu'un serveur ne pénalise les autres en consommant toute les ressources de la machine physique sur laquelle ils s'exécutent.

Les quatre ressources principales que l'on souhaite généralement contrôler sont :

ü CPU : un Ordonnanceur spécifique est généralement utilisé pour répartir la charge du ou des processeurs entre les différents serveurs virtuels. La plupart des technologies permettent d'attribuer des poids, privilégiant ainsi un serveur par rapport à l'autre ce qui permet d'assurer un minimum de puissance disponible, tout en tirant profit des ressources maximales de la machine physique.

ü Mémoire : la mémoire est la ressource la mieux maîtrisée par l'ensemble des technologies de virtualisation. La mémoire que l'on souhaite attribuer à un serveur virtuel est souvent réservée à la création.

ü Stockage : les différents produits de virtualisation peuvent s'appuyer sur différents types de stockage, adaptés à différentes échelles, tels qu'un simple répertoire, une image binaire d'un disque dur, ou un volume logique dans un SAN (Stockage Area Networking).

ü Réseau : c'est la ressource la moins bien gérée par les technologies actuelles de virtualisation. Dans les produits présentés ici, aucune limitation de bande passante réseau n'est possible. En revanche, contrairement aux autres ressources, il est possible de contrôler le réseau en amont, au moyen d'un routeur implémentant des technologies de Qualité de Service.

1-4. Récapitulatif sur les résultats attendus après migration

metriques

Résultats avec la virtualisation

Utilisation augmentée des ressources CPU

De 5-15% à  60-80%

Consolidation du matériel

10-15 : 1 en production

20-30 : 1 en Dev / Test

Réduction des interruptions de service

Jusqu'a 80% de réduction

Réduction du «provisionning» serveur

De 2 - 3 jours à 5 minutes

Réduction des coûts (électricité, m2, etc.)

Réduction de 30 - 50 %

Réduction des coûts d'administration (simplifiée &  automatisée)

Réduction de 70 - 80 %

II. analyse et perspectives

Avant de conclure sur cette étude, nous souhaiterions revenir sur quelques points de la plateforme et de ce travail. Celui-ci se veut conséquent, mais il n'est en aucun cas exhaustif et reste perfectible. Son perfectionnement passe avant tout par l'approfondissement de chacune des solutions techniques proposées, avec des solutions de suivi, de sauvegarde, et de supervision.

La proposition de solutions a été faite en exposant clairement les besoins de la D.T.A.I. Les techniques proposées sont en parfaite adéquation avec l'infrastructure informatique actuelle du ministère.

Nous avons tentés de traiter les aspects primordiaux, qui sont ceux sur lesquels nous pensons nous être focalisé. Il fallait ici proposer un outil fiable, répondant aux aspirations de la D.T.A.I. Mais aussi tester ce produit sur un environnement de maquette afin voir ses différents aspects.

Voici quelques retours sur des points que nous n'avons pu aborder, mais qu'il semble intéressant de proposer en tant que pistes pour de futurs approfondissements. Notre architecture ne traite que peu de redondance sur défaillance, ou du moins, de plan de recouvrement. En fait, un des plus gros risque de la virtualisation est d'oublier la base physique. En effet, que se passe-t-il si l'on perd le serveur physique, le serveur virtuel ou encore le répartiteur de charge ? Plusieurs possibilités sont offertes :

- la mise en place de matériel en redondance logicielle (VMotion),

- la disponibilité de VMware HA qui permet une restauration dans un délai rapide.

Il nous a paru aussi important de mettre sur ce document les schémas de mise en oeuvre que peu d'ouvrages de l'art abordent, comme par exemple le mécanisme de création et de gestion d'une machine virtuelle sous ESX Server, au détriment, peut- être, d'autres aspects techniques et par conséquent plus documentés dans le cadre de déploiement de la plate-forme. Quant à l'option matérielle, nos conditions d'environnement de tests imposait comme contrainte première un manque de matériel de gestion de redondance. En effet nous ne disposions qu'un seul serveur certifié. Lors de la mise en production, il est donc primordial de prévoir du matériel supplémentaire à l'achat, ainsi que d'inclure la gestion de la Haute Disponibilité sur tout élément critique de l'architecture.

Il nous semble aussi important de souligner que les solutions logicielles proposées dans ce mémoire correspondent aux critères suivants :

- standards du marché,

- logiciel le plus avancé parmi ses pairs,

- design et administration en conformité avec la plate-forme,

- parfaite adaptation aux besoins de la production.

Debian, Bind, Apache, Mysql et PhpMyAdmin concordent avec les standards du marché. Ils se sont imposés par leur qualité, leur gratuité, à la réactivité et à la disponibilité des équipes de développeurs des produits respectifs. Leur licence libre est un atout supplémentaire non négligeable. Les serveurs virtuels font face à de nombreuses discussions, d'autant plus que XenSource et Microsoft sont à l'assaut de VMware avec de grands progrès.

Pour notre part, la solution utilisée est la plus avancée parmi ses pairs et correspond véritablement aux besoins exprimés par la D.T.A.I.

Des sujets déjà présents au sein du ministère ont été traités : c'est le cas de la plateforme de courrier qui tourne déjà sur eXchange. Cette plate-forme a été revue avec des outils libres  tels que Postfix comme logiciel Serveur de messagerie et Debian Stable comme système d'exploitation.

Une fois réalisée, sur la demande de notre encadreur Monsieur Gaye, cette étude a été présentée au chef de la Division Production afin de lui montrer les réalisations faites au cours de ce stage.

III. Bilan personnel

Étudier la mise en place d'un environnement de virtualisation en production a été notre principale mission. Il s'agissait d'un projet riche en expérience puisque nous avons pu aborder presque la totalité des enjeux liés à cette technologie qui à aujourd'hui gagné le monde de l'infrastructure informatique de production. Nous estimons que les connaissances acquises dans le domaine de l'administration systèmes et la sensibilité que nous avons pu développer vis-à-vis de cette problématique constituent une base solide pour poursuivre dans le domaine de la sécurité et des réseaux.

Cette étude nous a permis également de développer nos compétences techniques sous un angle complémentaire des enseignements qui nous à été dispensés à l'Ecole Supérieure de Technologie et de Management de Dakar.

Ce mémoire n'achève pas seulement une étude de six mois. C'est également l'aboutissement de quatre longues années d'études, où, pratiquement chaque jour nous avons pu nous investir, dans le parcours qui nous a amené jusqu'à ce jour. C'est cet effort qui nous a permis d'achever ce mémoire, tant sur la forme que sur le fond.

Conclusion

L'étude de la mise en place d'un environnement de virtualisation en production à la D.T.A.I. a été un sujet passionnant, tant sur le plan humain, de par les échanges avec mes encadreurs et le personnel de la D.T.A.I. , que sur le plan technique. Enrichissant, jour après jour notre connaissance du système d'exploitation en général, Linux en particulier, mais également de réseaux et d'administration systèmes. Ainsi, l'environnement des logiciels libres et propriétaires que nous avons pu côtoyer, s'avère riche et exceptionnellement prolifique. Les produits logiciels découverts et présentés tout au long de ce mémoire peuvent être considérés comme technologiquement mûrs.

De nombreuses techniques sont disponibles sur le marché. Il convenait de les analyser objectivement et de présenter les différentes solutions possibles. en précisant les avantages, les inconvénients, le budget, la pérennité, les références, le niveau de difficulté de mise en oeuvre et particulièrement l'adéquation aux besoins de la D.T.A.I. et à la technologie de leur infrastructure existante.

La virtualisation ne peut se faire qu'au terme de phase d'étude approfondie et se déroule sur plusieurs mois voir plusieurs années selon le type d'architecture de l'entreprise. Bien pensée, elle permet une augmentation du rendement des moyens informatiques existants, de réduire les coûts d'intervention et de maintenance, d'améliorer la sécurité, d'obtenir une simplification et une souplesse pour les prochaines évolutions de l'architecture informatique.

Les technologies de virtualisation ont très rapidement tenu leurs promesses en termes de réduction de coût d'acquisition et de possession des parcs informatiques. En quelques années, elles se sont répandues, et même généralisées.

De plus en plus d'administrateurs système préfèrent mettre en place un environnement virtualisé même s'il y a dans un premier temps, qu'un seul serveur virtuel. D'une part cela permettra ultérieurement de mettre en oeuvre un partage, et d'autre part , de bénéficier des services qui ne sont pas liés au partage, par exemple la sauvegarde et reprise de l'environnement.

Au terme de ce stage nous avons eu à faire connaissance de technologies nouvelles liées à l'administration systèmes. Nous avons pu faire la mise en oeuvre de la virtualisation à travers un environnement de test et les résultats ont été satisfaisants.

Pour finir, donc, il nous faut prendre un peu de recul, faire preuve d'abstraction. Nous tenons à insister sur le fait que ce travail n'est en aucun cas exhaustif et reste perfectible. Son perfectionnement passerait par l'approfondissement de chacune des solutions techniques proposées, avec des solutions de suivi, de sauvegarde, et de supervision. Mais également de redondance et de sécurité. Les phases de migration et de déploiement devraient faire l'objet d'études sérieuses pour aboutir aux résultats escomptés.

Glossaire

THEMATIQUE

TITRE

DEFINITION

Consolidation

Capacity Planning

Planification des besoins de consolidation et d'optimisation continue des serveurs. Il s'agit de déterminer les ressources nécessaires à la définition de l'architecture cible. Cette phase inclut la collecte d'informations sur un environnement existant

Consolidation

Eligibilite à la virtualisation

Etude technique détaillée permettant d'identifier les serveurs éligibles à la virtualisation en fonction des  ressources utilisées et des applications hébergées. On peut associer cette Etude à la notion de Capacity Planning

Consolidation

Hyperviseur

Système ou programme qui permet à de multiples systèmes d'exploitation et programmes de fonctionner sur un même serveur en parallèle. L'hyperviseur repose sur la machine physique et gère les machines virtuelles. C'est le moteur de la virtualisation.

Consolidation

Isolation

Il s'agit du procédé qui consiste à isoler l'état complet d'une machine virtuelle du matériel et garantir le contrôle avancé des ressources

Consolidation

Logiciels VMware Infrastructure 3 etc.

Logiciels d'infrastructure VMware intégrant les hyperviseurs logiciels nécessaires à la virtualisation

Consolidation

Migration de serveur (P2V

La migration de serveurs permet de regrouper plusieurs serveurs sur un seul et d'optimiser l'utilisation des ressources matérielles. Ce processus de migration consiste à copier (cloner) le contenu du disque de la machine physique à virtualiser sur un disque virtuel puis à redémarrer la machine virtuelle. Il existe différentes typologies de migration : P2V (Physique vers Virtuel), V2P (Virtuel vers Physique), V2V (Virtuel vers Virtuel), P2P (Physique vers Physique), P2I (Physique vers Image), I2V (Image vers Virtuel). Des outils spécialisés dans ce type de migration sont disponibles sur le marché (ex : PlateSpin PowerConvert, VMware Converter, Leostream...)

Consolidation

Partitionnement

Dans le cadre de la virtualisation, il s'agit de faire fonctionner plusieurs machines virtuelles sur une seule machine physique

Consolidation

Provisionning

Méthode qui consiste à automatiser la mise à disposition d'un nouveau serveur. Il peut s'agir de serveurs physiques avec hyperviseur ou bien de machines virtuelles à déployer de facon rapide et automatisée .Le temps de provisioning en environnement virtuel est plus rapide (création de VM's)

Consolidation

Consolidation de serveurs

cf. définition de la virtualisation

Général

Data Center

Centre de traitement des données informatiques incluant le système de production. La notion de Datacenter intègre tous les constituants qui composent l'environnement informatique. Cela comprend les locaux, les racks, les systèmes d'alimentation et leur redondance, les équipements serveurs, les équipements réseaux, les élements de sauvegarde, de stockage, les consoles d'administration locales ainsi que la climatisation, le système de prévention contre l'incendie, les éléments permettant de sécuriser les accès tels que les lecteurs de badges, systèmes de code d'accès, les caméras et systèmes d'alertes divers etc..

Général

Machine Virtuelle

Environnement serveur ou station de travail complet qui inclut la couche de périphériques virtuels, un bios, l'OS et les applications. Plusieurs VM's peuvent fonctionner sur une même machine physique grâce à la présence d'un hyperviseur

Général

Métrologie

Méthode d'ajustement des performances pour optimiser la vitesse

Général

ROI

De l'anglais Return On Investment. Retour sur investissement (voir définition du TCO). Dans le cadre de la virtualisation, la définition du ROI peut être associée à l'étude d'éligibilité. L'étude du ROI consiste à démontrer l'intérêt de la mise en oeuvre d'une solution telle que la consolidation de serveurs (Virtualisation)

Général

Scalabilité

Capacité d'un système à évoluer en puissance, le plus souvent par ajout ou remplacement de composants (processeurs, mémoire, capacité disque). Dans le cadre de la virtualisation, la scalabilité permet à une entreprise de virtualiser tout ou partie de son infrastructure tout en sachant qu'elle pourra en augmenter les performances si nécessaire. Par extension, une application ou un système d'exploitation est «scalable» si il sait exploiter l'amélioration apportée au niveau matériel.

Général

SLA

De l'anglais Service Level Agreement. Contrat définissant les niveaux d'exigences en terme de criticité pour des services applicatifs, les engagements de l'hébergeur quant à la qualité de sa prestation, et les pénalités engagées en cas de manquement. Cette qualité doit être mesurée selon des critères objectifs acceptés par les deux parties. Ex : temps de rétablissement du service en cas d'incident.

Général

TCO

De l' anglais Total Cost of Ownership. Coût total de possession. Il s'agir de l'ensemble des coûts directs et indirects générés par la possession et l'utilisation du système : coût matériel, logiciel, consommations, locaux, personnel, formation, support, maintenance, sécurité...Lorsque la solution en place nécessite un équipement technologique important, il n'est pas possible d'établir un calcul de ROI (Return On Investment) sans considérer le calcul du TCO. Le poids du coût de fonctionnement pénalise la rentabilité du système. Selon la valeur du TCO, le retour sur investissement peut-être plus ou moins long à atteindre. L'objectif principal de la virtualisation est de réduire le TCO

Général

VE

De l'anglais Virual Environnement. Environnement virtuel

Général

Virtualisation de serveurs

Ensemble des techniques matérielles et logicielles (logiciels VMware, Microsoft Virtual Server, Xen) qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation avec plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Voir définition de l'Hyperviseur

Général

Virtuel

Il s'agit du portage ou de la création d'un environnement système complet (OS + Applications) au sein d'une VM

Général

Durée de rétention

Rétention de la sauvegarde des données en fonction de leur importance, mais aussi de raisons légales (banques etc), d'aspects business (bourses) ou culturels (archivage). Plusieurs versions de sauvegardes peuvent être conservées pour permettre la restauration d'une version spécifique de sauvegarde à un instant T.

Général

SMP

De l'anglais Symmetric MultiProcessing. Architecture matérielle permettant de combiner les puissances de traitement de plusieurs processeurs simultanément et de leur faire partager une mémoire commune (Exemple : serveur Bi ou Quadri processeur)

Général

Supervision

Système de remontée des informations et de surveillance d'une infrastructure virtuelle. Il existe sur le marché différents outils de supervision (dont certains spécialement dédiés à un infrastructure virtuelle) comme Microsoft MOM, HP SIM, Tivoli etc.

Réseau

VLAN

De l'anglais Virtual Local Area Network ou Virtual LAN et du français Réseau Local Virtuel. Consiste à segmenter un réseau local en plusieurs canaux virtuels (VLAN) ce qui permet d'optimiser et de sécuriser l'échange de flux entre les systèmes. Une norme technique couramment employée est le Vlan Tagging 802.1Q qui consiste à "Tagguer" (marquer)  les trames réseaux pour les associer à des canaux virtuels spécifiques.

Réseau

TCP/IP

Transport Control Protocol / Internet Protocol : suite de protocoles réseaux qui est utilisée pour l'échange de données entre les systèmes (hôtes) sur Internet et au sein des réseaux d'entreprise. Chaque hôte doit disposer d'une "adresse" TCP/IP unique pour communiquer.

Sécurité

 

Un bus informatique désigne l'ensemble des lignes de communication connectant les différents composants d'un ordinateur.
On distingue : le bus système (ou bus interne) : il relie le microprocesseur à la mémoire vive ; le bus d'extension (ou bus d'entrées/sorties) : il relie le microprocesseur aux connecteurs d'entrées/sorties et aux connecteurs d'extension. Par extension, le terme bus est également employé dans les architectures de logiciels pour désigner un composant de connexion logicielle

Sécurité

Cluster

Regroupement de systèmes (noeuds) permettant d'assurer la redondance des applications et de procurer de la Haute Disponibilité

Sécurité

DRP

De l'anglais Disaster Recovery Planning. Plan prévoyant les mesures à mettre en oeuvre en cas de sinistre sur un système informatique (cf. PRA)

Sécurité

HA

De l'anglais High Availability. Module de haute disponibilité de VMware, précédemment appelé DAS, permettant le redémarrage d'une VM en cas d'arrêt d'un serveur ESX sur un autre serveur ESX

Sécurité

PCA

Plan de Continuité d'Activité : c'est l'ensemble des outils et des moyens qui permettent à un système ou à un ensemble de services applicatifs jugés critiques (voir SLA)  de redémarrer  suite à un sinistre (crash, erreur humaine, inondation, incendie etc.). Il peut s'agir d'un système "miroir" prévu en cas de sinistre.

Sécurité

PRA

Plan de Reprise d'Activité : c'est l'ensemble des outils et des moyens qui permettent à un site informatique de redémarrer sur un second site (distant) suite à un sinistre (crash, erreur humaine, inondation, incendie etc.). Le PRA constitue une sorte de PCA étendu.

Sécurité

PSI

Plan de Secours Informatique recouvrant la notion de  PCA ou de PRA mais également une politique de sauvegarde adaptée.

Sécurité

RPO

De l'anglais Recovery Point Objectives. Point de restauration ou le système et les données peuvent être reconstituées après qu'une panne se produise.
Le RPO détermine le niveau acceptable de perte de données. RPO vous aide à clarifier la fréquence des sauvegardes et les options pour la protection des données et des services

Sécurité

RTO

De l'anglais Recovery Time Objectives. Temps de coupure autorisé après la panne . RTO détermine le niveau de disponibilité et vous aide à clarifier l'ordre de restauration pour le système et les données, les options pour la protection des données et des services

Sécurité

Sauvegarde

Opération qui consiste à dupliquer et à mettre en sécurité les données contenues dans un système informatique. La sauvegarde dépend de plusieurs critères: politique de sauvegarde, fréquence (planification des sauvegardes), types de données etc. On peut définir une typologie de sauvegarde: sauvegarde complète, sauvegarde incrémentale ou différentielle. Les matériels de sauvegarde tels que Lecteurs de bandes, robots et librairies de sauvegarde, disques durs, sont également déterminants par rapport au choix d'une politique de sauvegarde.

Sécurité

Sauvegarde incrémentale ou différentielle

Sauvegarde partielle concernant les dernières données modifiées. Incrémentielle : sauvegarde des modifications faites depuis la dernière sauvegarde incrémentielle ou complète (marquage du bit d'archive), type de sauvegarde rapide mais restauration lente. Différentielle : Sauvegarde de l'ensemble des données modifiées depuis la dernière sauvegarde complète (pas de marquage des bits d'archive), type de sauvegarde lente et restauration rapide.

Stockage

iSCSI

De l'anglais Internet Small Computer System Interface. L'iSCSI est un protocole qui permet le transfert de blocs de données sur des réseaux Ethernet via des adresses IP. iSCSI s'affranchit donc des limites des réseaux en cuivre ou en fibre optique. iSCSI correspond à du SCSI encapsulé dans TCP/IP

Stockage

Multipathing

Paramétrage des accès multiples au SAN pour assurer la redondance des liens FC (Fiber Channel)

Stockage

NAS

De l'anglais Network Attached Storage. Serveur dédié au partage de fichiers réseaux. Ce serveur est directement connecté au réseau Ethernet de l'entreprise et les clients (postes de travail) accèdent au données partagées par le réseau (en utilisant des protocoles tels que NFS ou CIFS/SMB)

Stockage

SCSI

de l'anglais Small computer System Interface. SCSI est un standard définissant un bus informatique permettant de relier un ordinateur à des périphériques ou bien même à un autre ordinateur.
Le standard décrit les spécifications mécaniques, électriques et fonctionnelles du bus

Stockage

NFS

De l'anglais Network File System. Système de fichiers en réseau en français. NFS est un protocole développé par Sun Microsystems qui permet à un ordinateur d'accéder à des fichiers via le réseau. Ce système de fichiers en réseau permet de partager des données principalement entre systèmes UNIX mais des logiciels optionnels permettent d'exploiter NFS également sur des machines Microsoft Windows et Apple.

Stockage

OS

De l'anglais Operating System. Systèmes d'exploitation hôte qui constitue un ensemble de programmes responsables de la liaison entre les ressources matérielles d'un ordinateur et les applications de l'utilisateur (web, messageries etc.). Quelques exemple d'OS : Windows Vista, XP, 2003, 2000, NT, Linux RedHat, Suse, MacOs X, Sun Solaris 10 etc...

Stockage

SAN

De l'anglais Storage Area Network. Réseau de stockage mutualisé. Les SANs sont construits dans le but de fournir de l'espace disque rapide et fiable à un ensemble de systèmes interconnectés à ce réseau. La technologie la plus répandue est le Fiber Channel (Fibre optique), le ISCSI appartient aussi à la famille SAN

Stockage

LUN

De l'anglais Logical Unit Number

Stockage

Clonage

Copie conforme de serveurs et de postes de travail à l'aide d'outils spécifiques (Ghost, Acronis etc.). Le clonage peut aussi être assuré par des fonctions de migration P2V

Stockage

Snapshot

Sauvegarde instantanée (cliché / image à un instant donné) partielle ou complète d'un système

Technologie de virtualisation

Microsoft Virtual Server

Système de virtualisation avec hyperviseur conçu par Microsoft, concurrent principal de VMware. Nécessite un socle OS comme Windows 2000/2003 Server ou Windows XP pour fonctionner

Technologie de virtualisation

Xen

Logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle. Xen fonctionne sur des systèmes libres de type Linux, BSD, Open Solaris. Il est développé par l'université de Cambridge au Royaume-Uni. Xen permet de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités) sur une seule machine hôte. Xen est une alternative dans le monde OpenSource aux solutions VMware ou Microsoft.

Technologie de virtualisation

Encapsulation

Il s'agit d'intégrer l'état complet d'une machine virtuelle dans un ou plusieurs fichiers indépendants du matériel

Technologie de virtualisation

Switch Virtuel

Commutateur virtuel. Elément réseau permettant l'interconnexion des systèmes virtuels entre eux ou avec des éléments réseaux physiques (cartes réseaux, commutateurs etc...)

Technologie de virtualisation

Technologie REDO

Technique qui permet de réappliquer un changement suite à un problème (enregistrement systématique des dernières opérations)

Technologie de virtualisation

VDI

De l'anglais Virtual Desktop Infrastructure. La virtualisation du poste de travail permet d'exécuter, dans des machines virtuelles, des environnements de bureau complets

Technologie de virtualisation

Virtual Appliance

Environnement complet de virtualisation préconfiguré. Il peut s'agir de VM's optimisées pouvant être parfois téléchargées depuis internet (Site de VMware par exemple)

Technologie de virtualisation

VM

De l'anglais Virtual Machine. Machine Virtuelle

Technologie de virtualisation

VMDK

Disque dur virtuel qui héberge l'intégralité de la machine virtuelle et des données

VMware

VMware

Société filiale d'EMC Corporation, fondée en 1998, qui propose plusieurs produits de virtualisation d'architectures x86 (VMware Infrastructure 3, Wmware Server, GSX etc.)

VMware

DRS

De l'anglais Distributed Resource Scheduling. Permet la réallocation automatique des VM's pour faire du load balancing entre serveurs physiques ESX . Se base sur l'utilisation de VMotion

VMware

Virtual Center

Console développée par VMware permettant d'administrer et de monitorer l'infrastructure virtuelle (VMware Infrastructure 3) incluant la gestion des serveurs ESX, les VM's, le stockage, le réseau, les options telles que HA, DRS, VMotion et les licences.

VMware

Virtual SMP

Fonctionalité (VMware) qui permet à une seule machine virtuelle de disposer de plusieurs processeurs physiques (virtual CPU)

VMware

VMFS

Technologie propre à VMware, de l'anglais Vitual Machine File System. VMFS est le système de stockage par défaut pour les fichiers des machines virtuelles sur les disques et partitions SCSI, SAN et ISCSI

VMware

VMotion

Option logicielle (VMware) qui permet de transférer une machine virtuelle à chaud d'un serveur ESX vers un autre (c'est-à-dire sans interrution de la VM)

VMware

Consolidated Backup

Module de VMware permettant de gérer les sauvegardes des VM's de façon centralisée sans agent sur tout support de sauvegarde à bandes à partir d'un serveur de proxy Windows 2003. VMware Consolidated Backup nécessite un SAN pour fonctionner.

Webographie

En français :

http://www.indexel.net/1_6_4981__3_/13/140/1/Virtualisation___cinq_etapes_pour_reussir_son_projet.htm.

http://www.ietf.org/rfc/rfc1631.txt

ftp://ftp.rfc-editor.org/in-notes/rfc3164.txt

Wikipedia. Machine virtuelle, 2007. http://fr.wikipedia.org/wiki/Machine_virtuelle.

Wikipedia. Virtualisation, 2007. http://fr.wikipedia.org/wiki/Virtualisation.

La Haute disponibilité, 2002. http://lea-linux.org/cached/index/ Leapro-pro_sys-dispo.html.

Wikipedia. Virtualization, 2007. http://en.wikipedia.org/wiki/Virtualization.

http://www.indexel.net/1_6_4935__3_/7/29/1/Virtualisation__Citrix_et_Microsoft_a_l_assaut_de_VMware.htm

http://www.indexel.net/1_6_4903__3_/15/90/1/Virtualisation__PC_lame__streaming__la_fin_du_PC__.htm

http://www.indexel.net/1_3_140___/index.htm

http://www.indexel.net/1_6_4803__3_/6/23/1/Les_benefices_de_la_virtualisation_remis_en_question.htm

http://www.indexel.net/1_6_4644__3_/6/23/1/Disponibilite__reprise_d_activite__service___la_virtualisation_a_la_rescousse.htm

http://www.indexel.net/1_6_4373__3_/6/23/1/Virtualiser_les_systemes_d_exploitation.htm

http://www.indexel.net/1_6_4373__3_/6/23/1/Virtualiser_les_systemes_d_exploitation.htm

http://www.indexel.net/1_6_4065__3_/6/23/1/Trois_technologies_de_virtualisation_de_serveurs.htm

http://www.vmware.com/fr/virtualization/

http://www.vmware.com/fr/overview/

http://www.vmware.com/fr/overview/why.html

http://www.vmware.com/fr/overview/history.html

http://www.vmware.com/fr/overview/vmachine.html

http://www.vmware.com/fr/interfaces/

http://www.vmware.com/solutions/whitepapers/msoft_addendum.html

http://www.vmware.com/fr/interfaces/vmdk.html

http://www.vmware.com/fr/interfaces/management.html

http://www.accreteil.fr/reseaux/systemes/linux/lamp/apache2configuration.html

http://www.ac-creteil.fr/reseaux/systemes/linux/lamp/apache2-configuration.html

http://www.scribd.com/doc/265699/Installer-un-serveur-Web-Apache

http://www.ac-creteil.fr/reseaux/systemes/linux/debian/deb-tp-reseau.html

http://pagesperso-orange.fr/cspoires/linux/commandes.html

http://www.luxpopuli.fr/internet/postfix_cyrus_imap_ssl_ldap/cyrus_imap_installer_cyrus_imap

http://www.debianworld.org/?q=node/18

http://forum.hardware.fr/hfr/OSAlternatifs/reseaux-securite/plateforme-messagerie-multidomaines-sujet_57390_1.htm

http://www.coagul.org/article.php3?id_article=185

http://www.starbridge.org/spip/spip.php?article12

http://www.01net.com/article/258837.html
http://www.zdnet.fr/actualites/informatique/0,39040745,39238354,00.htm
http://www.01net.com/article/299008.html?rss
http://solutions.journaldunet.com/0309/030904_virtualisation_pano.shtml
http://fr.wikipedia.org/wiki/Virtualisation

En anglais :

http://en.wikipedia.org/wiki/Virtualization
http://www.virtualization.info/
http://searchstorage.techtarget.com/sDefinition/0,,sid5_gci499539,00.html

Bibliographie

Mise en Réseau : notions fondamentales : Editions Eyrolles Kurt Hudson J.Michael Stewart.

Php5 ET MySql: Edition Campus Press; Matt Zandstra

J.B. Boichat : apprendre Linux Ed. Eyrolles

Internet : la doc des Pros : Editions cent pour cent, Underdahl Willett

Table des matières

DÉDICACES 2

REMERCIEMENTS 3

AVANT PROPOS 5

SOMMAIRE 6

INTRODUCTION 8

PARTIE 1 : PRÉSENTATION DU LIEU DE STAGE ET DU PROJET 10

I. Le lieu de stage 11

1-1. Le Ministère de l'Economie et des Finances 11

1-2. La Direction du Traitement Automatique de l'Information DTAI 12

II. Présentation du projet 14

2-1. Problématique 14

2-2. Objectif du projet 14

PARTIE 2 : ETUDE PREALABLE 15

I. Analyse de l'existant 16

II. Evaluation des contraintes 22

III. Identification des besoins 23

IV. Etapes pour réussir le projet de virtualisation 24

a) Fixer les objectifs 24

b) Réaliser un état des lieux 24

c) Calculer le retour sur investissement 25

d) Mener la migration 25

e) Allocation des ressources avec plus de souplesse 25

PARTIE 3 : LA VIRTUALISATION 26

I. Les principes de la virtualisation 27

1-1. historique 28

1-2. usages 28

II. Les différentes familles de virtualiseurs 29

2-1. théorie 29

2-2. isolateur 30

2-3. noyau en espace utilisateur 30

2-4. machines virtuelles 31

2-5. Hyperviseur 32

2-6. Choix de l'outil de virtualisation 32

2.6.1. Système d'exploitation hôte 33

2.6.2. Sécurité et redondance 33

2.6.3. Gestion des ressources physiques 33

2.6.4. Le stockage 34

2.6.5. Performance 35

2.6.6. Prix 35

2.6.7. Temps de lancement 36

2.6.8. Conclusion 38

III. WMware Infrastructure 3 39

3-1. Utilisation de VMware infrastructure 3 39

3-2. Les points forts de VMware Infrastructure 3 40

3-3. Quelques spécifications techniques : 41

3-3. L'architecture de Virtual Infrastructure 3 42

a) ESX SERVEUR : un serveur orienté production, un nouvel environnement de travail 42

b) VMware Virtual Center et VMotion 46

c) VMware DRS (Distributed Ressource Scheduler) 47

d) VMware HA (High Avalaibility) 48

e) VMware Consolidated Backup 48

IV. Les inconvénients de la virtualisation 49

4.1. Le coût 49

4.2. Evolution matériel 49

4.3. Migration Physic to virtual (P2V) 50

4.4. Consommation des systèmes 50

PARTIE 4 : MISE EN OEUVRE 53

I. Environnement technique : matériels et logiciels 54

1-1. Matériels 54

1-2. Logiciels 57

II. Mise en place d'un ESX SERVER et d'un Serveur de Messagerie virtualisé 58

2-1. Mise en place d'ESX SERVER 58

2-2. Mise en place d'un serveur de messagerie virtualisé 64

2.2.1. INSTALLATION DE POSTFIX + ANTIVIRUS/ANTISPAM + WEBMAIL IMP 70

a)Installation des paquets 70

b) Configuration du serveur MySQL 73

c) Configuration de POSTFIX pour MySQL 73

d) Création de la configuration Virtual Mail 74

e) Configuration de POSTFIX 75

f) Configuration du POP3/IMAP 78

g) Ajout des domaines & adresses email dans POSTFIX 79

h) Configuration AMAVIS/SPAMASSASSIN 79

i) Droits d'accès aux fichiers 80

j) Configuration de PHP et des modules adéquats 83

2-2-2. Installation du webmail HORDE 85

a) Configuration d'APACHE pour le Virtual host 88

b) Installation et configuration d'IMP 89

PARTIE 5 : COUTS, BILAN ET PERSPECTIVES 94

I. Coûts du projet 95

1-1. coût de l'architecture matérielle 95

1-2. coût l'architecture logicielle 95

1-3. évaluation des difficultés d'administration après virtualisation 97

1-4. Récapitulatif sur les résultats attendus après migration 98

II. analyse et perspectives 99

III. Bilan personnel 101

CONCLUSION 102

GLOSSAIRE 105

WEBOGRAPHIE 111

BIBLIOGRAPHIE 112

TABLE DES MATIÈRES 113






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faut répondre au mal par la rectitude, au bien par le bien."   Confucius