HES-SO / Ecole d ingénieurs de Genève Laboratoire d informatique industrielle. Cluster LII. Yann Sagon <yann.sagon@hesge.ch



Documents pareils
Principe. Technologies utilisées. 1. Linux et LVM. Les snapshots (instantannés) sous Linux et FreeBSD. Présentation de LVM. Organisation de LVM

SOLUTION DE SUPERVISION SYSTEME ET RESEAU

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits



VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Installation de Zabbix

Installation software

DmilZ pour le forum Kimsufi.com. How-To : ESXi avec une seule IPv4 et une IPv6. Sommaire Historique Introduction...

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Stockage des machines virtuelles d un système ESXi jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch

Il est courant de souhaiter conserver à

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Chi rement des postes PC / MAC / LINUX

OpenMediaVault installation

Stage SambaÉdu Module B. Jour 9 Outils complémentaires et problèmes récurrents divers

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

Mise en place d un firewall d entreprise avec PfSense

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Administration de Parc Informatique TP07 : Installation de Linux Debian

Atelier : Virtualisation avec Xen

SOMMAIRE. 01_Installation ESXi Serveur HP.doc. Chapitre 1 Installation ESXi 5.1 2

NRPE. Objectif. Documentation. Procédures

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Outils Logiciels Libres

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Configuration du serveur ESX

Installation d'un serveur Zentyal

Projet Semestre2-1SISR

Mise en œuvre de Rembo Toolkit

Dexia Guide d installation de NetWorker Server 25 juin Legato Systems, Inc.

Outils en ligne de commande

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Personnes ressources Tice. Académie de Rouen

INSTALLATION DE BACKUPPC

Tutoriel compte-rendu Mission 1

Monitoring & Surveillance SLIM CHAKROUN (ENSI) EMNA BEN HADJ YAHIA (RT3) SAFA GALLAH (RT3)

I. Présentation du serveur Samba

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Serveur Subversion Debian GNU/Linux

Chapitre IX : Virtualisation

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

INSTALLATION ET CONFIGURATION DE OPENLDAP

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Tutoriel Création d une source Cydia et compilation des packages sous Linux

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

Manuel d installation serveurs

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Architecture de serveurs virtualisés pour la communauté mathématique

Service de Virtualisation de la DSI UJF

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION.

Stockage Réseau. Le stockage s'échappe du système pour devenir une fonction réseau

2X ThinClientServer Guide d utilisation

Documentation FOG. Déploiement d images de systèmes d exploitation à travers le réseau.

Gestion de clusters de calcul avec Rocks

Tutoriel déploiement Windows 7 via serveur Waik

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

1. Présentation du TP

Virtualisation d un proxy Squid gérant l authentification depuis Active Directory. EPI - Stagiaire2007 Vivien DIDELOT

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 5

Mise en place d un proxy Squid avec authentification Active Directory

Installation et configuration d OCS/GLPI sur un Serveur Debian

Les différentes méthodes pour se connecter

PPE GESTION PARC INFORMATIQUE

UBUNTU Administration d'un système Linux (4ième édition)

Machine virtuelle W4M- Galaxy : Guide d'installation

Mise en oeuvre TSM 6.1

Debian Lenny - Virtualisation avec Libvirt/KVM Debian GNU/Linux

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Enoncé du TP 8 Système

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Installation d'un FreeNAS (v0.684b du 30/03/2007) pour sauvegarder les données d'un ZEServer

Installation et paramétrage de Fedora dans VirtualBox.

Eyes Of Network 4.0. Documentation d installation et de configuration

Manuel de l Administrateur

Problématique. Techniques générales. Déploiement Windows. Déploiement Linux. Déploiement Mac OS X. Applications Windows. Applications Linux

SAN AoE (ATA over Ethernet)

Statistiques réseau et système avec CACTI

Dans le cadre de SECURIDAY Et sous le thème de Computer Forensics Investigation SECURINETS. Analyse des fichiers LOG. Tarek LABIDI (RT3)

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

NAGIOS 4.01 Installation sur Debian 7.1

PRO CED U RE D I N STALLATI O N

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

Transcription:

HES-SO / Ecole d ingénieurs de Genève Laboratoire d informatique industrielle Cluster LII Yann Sagon <yann.sagon@hesge.ch

Historique Yann Sagon 22 septembre version initiale c Laboratoire d informatique industrielle 29 octobre 2009 http://eig.unige.ch/lii

Toute copie autorisée, si la mention de l auteur est conservée. Je vous remercie d avance de vos contributions à ce document (fautes d orthographe, améliorations etc.) 1

Table des matières 1 Introduction 6 1.1 Préambule......................................... 6 2 Matériel 7 2.1 Vue d ensemble...................................... 7 2.2 Noeud 4U......................................... 7 2.3 Noeud 1U......................................... 7 2.4 Switch réseau....................................... 7 2.5 Switch KVM....................................... 7 2.6 Gestion à distance des noeuds.............................. 7 2.7 Alimentation électrique................................. 7 2.8 Armoire Rack....................................... 7 3 Services LII 8 3.1 Preambule......................................... 8 3.2 Wiki............................................ 8 3.2.1 Introduction................................... 8 3.2.2 Installation.................................... 8 3.2.3 Mise en oeuvre de la ferme de wiki....................... 9 3.2.4 Maintenance................................... 9 3.3 Subversion......................................... 9 3.3.1 Introduction................................... 9 3.3.2 subversion..................................... 9 3.3.3 submin...................................... 10 3.4 Trac............................................ 11 3.4.1 Introduction................................... 11 3.4.2 Installation.................................... 11 3.5 PhpLDAPAdmin..................................... 12 3.5.1 Introduction................................... 12 3.5.2 Installation.................................... 12 3.5.3 Utilisation..................................... 12 3.6 Phpmyadmin....................................... 12 3.6.1 Introduction................................... 12 3.6.2 Installation.................................... 12 3.6.3 Utilisation..................................... 12 4 Passerelle 13 4.1 Fonctionnalités...................................... 13 4.2 DRBL........................................... 13 4.2.1 Installation.................................... 13 4.2.2 Fonctionnalités.................................. 13 4.3 Envoie d email...................................... 13 2

4.4 Firewall.......................................... 13 4.5 Surveillance du système................................. 14 4.5.1 Préambule..................................... 14 4.5.2 Installation.................................... 14 4.5.3 Configuration................................... 14 4.5.4 Plugins...................................... 15 4.5.5 Paquets...................................... 15 4.5.6 Senseurs...................................... 15 4.5.7 Surveillance disque dur IDE........................... 16 4.5.8 Sécurité...................................... 16 4.6 Management des noeuds................................. 16 4.7 Authentification..................................... 18 5 Authentification 19 5.1 Préambule......................................... 19 5.2 Kerberos.......................................... 19 5.2.1 Installation.................................... 19 5.2.2 Configuration................................... 19 5.2.3 Creation de principals.............................. 21 6 Noeud 23 6.1 Mise à jour........................................ 23 6.2 MPICH.......................................... 23 6.2.1 Préambule..................................... 23 6.2.2 Installation.................................... 23 6.3 FreeNX.......................................... 24 6.3.1 Préambule..................................... 24 6.3.2 Installation.................................... 24 6.4 Jamaica.......................................... 24 6.5 JDK............................................ 25 6.6 eclipse........................................... 25 6.7 GPS 2009......................................... 25 6.7.1 Préambule..................................... 25 6.7.2 Installation.................................... 25 6.8 KROC........................................... 25 6.8.1 Présentation................................... 25 6.8.2 Installation.................................... 25 6.9 RTSJ........................................... 26 6.10 JCSP........................................... 27 6.10.1 Préambule..................................... 27 6.10.2 Installation.................................... 27 6.11 Proxy web......................................... 27 6.12 Interfaces réseaux..................................... 27 6.13 Template nouvel utilisateur............................... 28 7 VmWare ESXI 29 7.1 Préambule......................................... 29 7.2 Préparation de VmWare ESXi 3.5 sur PXE...................... 29 7.3 Préparation de VmWare ESXi 4.0 sur PXE...................... 29 7.4 Installation sur un noeud................................ 30 7.5 Activation de la license.................................. 31 7.6 Mise à jour d un noeud................................. 31 7.7 Client esxi......................................... 34 7.7.1 Préambule..................................... 34 3

7.7.2 Installation.................................... 34 7.7.3 Connection à un noeud............................. 35 7.7.4 DataStore..................................... 35 7.8 Configuration réseau................................... 37 7.8.1 Automatique................................... 37 7.8.2 Manuel...................................... 37 7.9 Création d une machine virtuelle............................ 38 7.10 Clone........................................... 43 7.11 NTP............................................ 43 7.12 Partager une image de base............................... 43 7.13 vmware tools....................................... 43 7.13.1 Préambule..................................... 43 7.13.2 installation.................................... 43 8 Espace de stockage 44 8.1 Préambule......................................... 44 8.2 RAID........................................... 44 8.2.1 Présentation................................... 44 8.2.2 Mise en place................................... 44 8.3 Installation........................................ 44 8.4 Configuration....................................... 45 8.5 Maintenance....................................... 45 8.6 Gestion d un périphérique RAID............................ 45 8.6.1 Création...................................... 45 8.6.2 Etat........................................ 45 8.6.3 Ajout d un disque................................ 46 8.6.4 Surveillance.................................... 46 8.7 LVM............................................ 47 8.7.1 Présentation................................... 47 8.7.2 Partages...................................... 52 9 Backup 53 9.1 Préambule......................................... 53 9.2 Creation du volume LVM................................ 53 9.3 Formatage des LV s.................................... 54 9.4 Montage des LV s..................................... 54 9.5 Backup.......................................... 54 9.6 Cles privées et publiques................................. 55 10 Envoie d emails 58 10.1 Préambule......................................... 58 10.2 Installation du serveur mail............................... 58 10.2.1 Alias........................................ 62 10.2.2 Vider la queue exim............................... 62 10.2.3 Test........................................ 62 11 Calcul sur GPU 63 11.1 Préambule......................................... 63 11.2 Cuda............................................ 63 11.2.1 Présentation................................... 63 11.2.2 Installation - Administrateur.......................... 63 11.3 Installation - Utilisateur................................. 65 11.4 Utilisation......................................... 65 4

11.5 Documentation...................................... 65 Bibliographie 65 Liste des images 67 Index 68 A Annexe 68 A.1 Firewall.......................................... 68 A.2 Détails sur le cluster................................... 74 5

Chapitre 1 Introduction 1.1 Préambule Ce document décrit la ferme de machine (cluster) du LII. La première partie décrit le cluster d un point de vue physique, tandis que la suite décrit les services à disposition et leur installation. 6

Chapitre 2 Matériel 2.1 Vue d ensemble 2.2 Noeud 4U 2.3 Noeud 1U Marque : supermicro Modèle : X6DVA-EG Bios : xxx Accès à distance : http://www.supermicro.com/products/motherboard/xeon800/e7320/x6dva-eg.cfm 2.4 Switch réseau 2.5 Switch KVM 2.6 Gestion à distance des noeuds Les cartes mères supermicro disposent en option (présente dans les modèles à disposition) d une carte AOC-IPMI20 qui permet de rediriger la console du bios sur le réseau connecté à la première interface réseau du pc. Pour pouvoir utiliser ces cartes, il faut commencer par les flasher et leur donner une adresse IP et une adresse MAC. 2.7 Alimentation électrique 2.8 Armoire Rack 7

Chapitre 3 Services LII 3.1 Preambule Le LII met à disposition plusieurs services : wiki subversion submin trac phpmyadmin 3.2 Wiki 3.2.1 Introduction Les wiki sont utilisés pour mettre à jour rapidement des informations en ligne de manière collaborative. Afin de pouvoir avoir des droits plus fins pour les utilisateurs, un wiki distinct est utilisé pour chaque groupe. Afin de ne pas avoir à effectuer la maintenance de chaque wiki individuellement, une ferme de wiki est utilisée. 3.2.2 Installation Téléchargement wget http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz Desarchivage et copie à l emplacmenet /usr/local sudo tar xzf mediawiki-1.15.1.tar.gz -C /usr/local/ Création d un lien symbolique afin de ne pas avoir une installation dont le nom change cd /usr/local sudo ln -s mediawiki-1.15.1 mediawiki Installation des paquets de dépendances : sudo apt-get install php5-gd memcached php5-memcache mediawiki-math memcache est un proxy de cache pour objets qui est supporté par mediawiki et qui permet d accélérer un peu le chargement des pages. 8

3.2.3 Mise en oeuvre de la ferme de wiki basé sur : http://www.jirp.nl/2008/07/27/mediawiki-farm-administer-multiple-wiki-environments Le principe est de faire des liens symboliques vers tout les fichiers à l exclusion de ceux qui doivent être spécifiques à chaque installation (LocalSettings.php et le répertoire images) Téléchargement du script : Cette version est prévue pour MediaWiki 1.12.1, la version actuelle est la 1.15.1. Il est donc nécessaire de faire quelques modifications. Entre autre adapter le fichier LocalSettings.php fournie avec le script à la dernière version. Une méthode simple est d effectuer une fois l installation de mediawiki et de récupérer ce fichier. Dépendance : sudo apt-get install makepasswd Les scripts permettant de créer et et d effacer des wiki se trouvent à l emplacement /usr/local/mediawiki-setup/ Création d un nouveau wiki : sudo /usr/local/mediawiki-setup/bin/wiki-admin create monwiki ceci va : creer le repertoire /var/www/<wiki> creer les liens symboliques vers le wiki de reference creer le repertoire images specifique au wiki creer une base de donnee avec un mot de passe robuste et donner les droits necessaires. creer les tables en important le fichier sql creer le fichier LocalSettings.php depuis le template et le personnaliser Le mot de passe de l utilisateur WikiSysop est marqué à la fin de l installation. 3.2.4 Maintenance MediaWiki est fourni avec de nombreux scripts de maintenances situés dans le répertoire maintenance. Comme ce dernier est en fait un lien symbolique, il est nécessaire de spécifier l emplacement du fichier de configuration LocalSettings.php ainsi : php maintenance/monscript.php --conf LocalSettings.php ARG1 ARGN Exemple : php maintenance/update.php conf LocalSettings.php 3.3 Subversion 3.3.1 Introduction Subversion ou aussi svn est un remplacement du système de gestion de version CVS. Il diffère notamment de CVS dans sa gestion globale de la structure d un projet (répertoires etc) tandis que CVS se focalisait sur la version de chaque fichiers de façon individuelle. Une caractéristique intéressante du SVN est que la mise à jour d une copie de travail (commit) sur un serveur SVN est effectuée de manière atomique, ceci évite de nombreux problèmes dont souffrait CVS. 3.3.2 subversion Méthode d accès La méthode d accès aux dépôts SVN retenue est celle utilisant un serveur web apache en mode SSL. Cette méthode est la plus flexible concernant les droits d accès et pose le moins de problèmes d accès (firewall). Un autre avantage est également de pouvoir accéder au dépôt sans utiliser de client SVN mais simplement depuis un browser (accès en lecture uniquement). Une authentification des utilisateurs par LDAP est également envisagée afin de centraliser les comptes utilisateurs. Installation Installer les paquets nécessaires par apt (les paquets identés sont des dépendances et sont installés automatiquement) 9

libapache2-svn apache2-utils apache2.2-common apache2 apache2-mpm-worker libapache2-mod-auth-kerb krb5-config sudo apt-get install libapache2-svn apache2 libapache2-mod-auth-kerb La version de subversion qui doit être installée est la 1.5.x et n est pas disponnible pour ubuntu server 8.04. Il est donc nécessaire d activer le dépôts des backports. sudo vi /etc/apt/sources.list décomenter: deb http://ch.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe m Afin de ne pas utiliser backports pour tout les paquets, lui donner une priorité moins élevée que normale (500) : Package: * Pin: release a=hardy-backports Pin-Priority: 400 Pour installer subversion en version 1.5.x il est nécessaire de spécifier d utiliser le paquet backports : sudo apt-get install -t hardy-backports subversion 3.3.3 submin Submin permet d administrer subversion depuis un browser. Il est possible de créer/effacer des utilisateurs et des dépôts SVN. Installation : Submin n étant pas présent dans les dépôts officiels de Ubuntu, il faut commencer par ajouter l url des dépôts de submin à apt. La signature de ces derniers n étant pas connue, il faut commencer par l ajouter à apt. Ajout de la clé du dépôt : wget -q -O - http://supermind.nl/debin.key sudo apt-key add - Une fois ceci fait, il faut ajouter le dépôt à proprement parler. Il est nécessaire de prendre la version nightly, la version courante à un bug qui empêche de lister les dépôts SVN. Note : les fichiers se trouvant dans /etc/apt/sources.list.d doivent se terminer par l extension.list pour être pris en compte. sudo vi /etc/apt/sources.list.d/submin.sources.list deb http://debian.supermind.nl/ nightly main L installation se fait par la commande sudo apt-get install submin Il manque un outil (je ne sais plus lequel) qui peut-être installé par sudo apt-get install subversion-tools Une fois l installation effectuée, il reste à configurer submin en lui indiquant où se situent les fichiers svn\_auth et httpd_auth ainsi que la base des dépôts svn (repository) : 10

submin-admin create lii \ --authz-file /var/lib/submin/svn_auth \ --htpasswd-file /var/lib/submin/httpd_auth \ --svn-dir /var/lib/submin/repository/ \ --force-overwrite Cette commande va créer les fichiers /etc/submin/lii-apache-cgi.conf lii-apache-wsgi.conf lii.conf Nous allons configurer submin pour être utilisé en conjonction avec Apache en mode cgi, la version wsgi n étant pas encore très stable. Pour cela, il faut inclure le fichier lii-apache-cgi.conf dans /etc/apache2/sites-available/007-svn : include /etc/submin/lii-apache-cgi.conf Submin à besoin du module mod_rewrite de apache : a2enmod rewrite apache2ctl restart Le fichier de configuration de submin est dans notre cas /etc/submin/lii.conf Accès à la page d administration : http://svn.lii.eig.ch/submin (user: admin pass: admin) 3.4 Trac 3.4.1 Introduction Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. 3.4.2 Installation sudo apt-get install libapache-mod-wsgi Téléchargement de trac source : http://trac.edgewall.org/wiki/tracdownload#lateststablerelease (version 0.10.5 actuellement) Décompactage dans /usr/local/trac tar xzf trac-0.10.5.tar.gz -C /usr/local/trac mettre la configuration de trac pour apache ici /etc/apache2/conf.d/trac.conf <LocationMatch /trac/[^/]+/login> AuthType Basic AuthName "Trac Site" AuthUserFile /var/lib/submin/httpd_auth Require valid-user </LocationMatch> <Directory /usr/local/trac/apache> WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> Le fichier de configuration de trac se trouve ici : /usr/local/trac/apache 11

import os os.environ[ TRAC_ENV_PARENT_DIR ] = /usr/local/trac/sites os.environ[ PYTHON_EGG_CACHE ] = /usr/local/trac/eggs import trac.web.main application = trac.web.main.dispatch_request Creation d un nouveau site trac : sudo trac-admin /usr/local/trac/sites/change_me initenv Project Name => Mon projet Database connection string sqlite :db/trac.db Repository type svn Path to repository /var/lib/submin/repository/change_me Templates directory /usr/share/trac/templates Changer les droits : sudo chown -R www-data :www-data /usr/local/trac/sites Pour changer les paramètres du site trac nouvellement crée : /usr/local/trac/sites/change_me/conf/trac.ini Accès au site nouvellement crée depuis un browser : https://svn.lii.eig.ch/trac (liste des sites existants https://svn.lii.eig.ch/trac/change_ me (accès directe) 3.5 PhpLDAPAdmin 3.5.1 Introduction PhpMyLDAP est un client LDAP accessible depuis un browser 3.5.2 Installation sudo apt-get install phpldapadmin Fichier de configuration /etc/phpldapadmin/apache.conf 3.5.3 Utilisation http ://192.33.219.176/phpldapadmin 3.6 Phpmyadmin 3.6.1 Introduction Phpmyadmin est un outil de gestion de mysql 3.6.2 Installation sudo apt-get install phpmyadmin Fichiers de config : /etc/phpmyadmin Directives pour apache : /etc/apache2/conf.d/phpmyadmin.conf 3.6.3 Utilisation https://192.33.219.176/phpmyadmin 12

Chapitre 4 Passerelle 4.1 Fonctionnalités 4.2 DRBL Voir la documentation mise en oeuvre de Clonezilla Server[3] 4.2.1 Installation 4.2.2 Fonctionnalités Boot linux remote Boot netinstall Clonezilla Save-disk Restore-disk Boot freedos La possibilité de booter freedos est utile pour flasher le bios d un noeud par exemple. Drbl permet d ajouter des fichiers à l image freedos. Par exemple pour ajouter le répertoire bios à l image freedos, saisir la ligne suivante : sudo /opt/drbl/sbin/insert-file-fdos.sh bios 4.3 Envoie d email La passerelle permet d envoyer des mails à l extérieur. voir chap. 10 4.4 Firewall Le cluster est séparé du traffic réseau par la passerelle à l aide d un firewall. Ce dernier est constitué d un script mettant en oeuvre Iptables. Il est suffisamment commenté pour être facilement adapté. Le script se trouve en Annexe (voir. A.1). 13

4.5 Surveillance du système 4.5.1 Préambule La surveillance (monitoring) est effectuée par le logiciel Nagios[2]. La version fournie avec Ubuntu est actuellement la version 2.x. Une version plus récente (3.06) est installée depuis les sources. 4.5.2 Installation Prérequis : apache2 build-essential libgd2-xpm-dev Prérequis optionnel : libsnmp-base libsnmp-dev tinysnmp-tools snmp libnet-snmp-perl Création de l utilisateur et du groupe nagios sudo useradd nagios sudo passwd nagios sudo groupadd nagcmd Ajouter nagios et www-data au groupe nagcmd sudo usermod --append --groups nagcmd nagios sudo usermod --append --groups nagcmd www-data tar xzf nagios-3.0.6.tar.gz cd nagios-3.0.6./configure --with-command-group=nagcmd make all sudo make install sudo make install-init sudo make install-config sudo make install-commandmode sudo make install-webconf (/etc/apache2/conf.d/nagios.conf) Après avoir effectué l installation, il est nécessaire de créer les liens vers le script de démarrage et de recharger apache sudo update-rc.d nagios defaults sudo /etc/init.d/apache2 reload 4.5.3 Configuration Adapter les données de l administrateur de Nagios : sudo vi /usr/local/nagios/etc/objects/contacts.cfg - adapter l entrée nagiosadmin (alias et email) Créer un administrateur : htpasswd -c /usr/local/nagios/etc/htpasswd.user nagiosadmin 14

Surveillance d un switch snmp : vi /usr/local/nagios/etc/nagios.cfg - decomment : cfg_file=/usr/local/nagios/etc/objects/switch.cfg Vérification de la configuration : sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 4.5.4 Plugins De nombreux plugins sont disponnibles pour nagios. tar xzf nagios-plugins-1.4.11 cd nagios-plugins-1.4.11./configure --with-nagios-user=nagios --with-nagios-group=nagios make sudo make install SNMP : /usr/local/nagios/libexec/check_snmp 4.5.5 Paquets Nagios peut vérifier que la machine est à jour. L installation de cron-apt permet de vérifier périodiquement la base de donnée de apt. Le plugins check_apt devrait faire la même chose.. à vérifier. 4.5.6 Senseurs Les pc s actuels disposent de nombreux senseurs pouvant donner une idée de l état de santé de la partie hardware. Le paquetage lm-sensors permet d interroger et de spécifier des niveaux d alertes des senseurs présents. Installation : sudo apt-get install lm-sensors Le paquet une fois installé met à disposition le programme sensors-detect qui permet comme son nom l indique de détecter les senseurs présents dans le pc. L exécuter : sudo sensors-detect Une fois tout les senseurs détectés, le programme génère la liste des modules du noyau qu il faut charger pour pouvoir y accéder. Accepter que le programme modifie directement le fichier /etc/modules ou modifier à la main ce fichier. La commande sensors écrit la valeur de tout les senseurs présents dans le pc. Il est possible que certains composants ne soient pas présents (ventilateurs typiquement), ce qui aura pour effet de générer un alarme (faux positif). Il est possible de configurer les senseurs et les niveau d alertes dans le fichier de configuration de lm-sensors. Il est nécessaire de désactiver les senseurs des ventilateurs 1, 4, 6 et 7. edit /etc/sensors/sensors3.conf - dans la section # Here are configurations for Winbond W83792AD/D chip. chip "w83792d-*"... # ignore examples... 15

ignore fan1 ignore fan4 ignore fan6 ignore fan7 Les modules chargé sur la passerelle sont les suivants : /etc/modules/ # Generated by sensors-detect on Fri Jan 23 11:20:49 2009 # I2C adapter drivers i2c-i801 # Chip drivers w83792d w83627hf Il faut vérifier que nagios ne détecte pas d alarme sur les senseurs : /usr/local/nagios/libexec/check_sensors 4.5.7 Surveillance disque dur IDE Les disques durs IDE modernes disposent d un mécanisme de statistique (S.M.A.R.T)[1] permettant de prédire un dysfonctionnement avant son occurrence. sudo apt-get install smartmontools Les informations retournées par le mécanisme S.M.A.R.T peuvent être de deux type : Online - pas de diminution de performance Offline - test effectué periodiquement, légère dégradation des perf. Self testing - effectué sur demande La première catégorie est exécutée de manière asynchrone et dure plusieurs minutes. La second catégorie se contente de retourner la valeurs des différents capteurs et ou compteurs. Il est possible d activer un test offline automatiquement chaque 4 heures : sudo smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda Le plugins check_ide_smart peut ensuite être configuré pour vérifier périodiquement que le disque est en bonne santé. 4.5.8 Sécurité Le système de surveillance étant installé sur la passerelle, et de ce fait sur le firewall, il est nécessaire de permettre les connections provenant du wan sur le port 80. (net => fw). Cette situation n est pas idéale mais économise une machine dédiée à la surveillance. Il faudrait activer l authentification par la méthode digest pour ne pas transmettre le mot de passe administrateur de Nagios en clair. Malheureusement, l activation de cette fonction provoque une erreur 500 de Apache. A investiguer. 4.6 Management des noeuds Les noeuds 1U du cluster disposent d une carte additionnelle qui permet de les piloter depuis le réseau ethernet en udp sur le port 623. La technologie utilisée est IPMI. Clients linux : En ligne de commande : Exemple, interrogation des senseurs du noeud 192.168.1.11 : 16

ysagon@gateway-cluster-lii:~$ ipmitool sdr -U ADMIN -H 192.168.1.11 Password: CPU 1 42 degrees C ok CPU 2 39 degrees C ok SYSTEM 38 degrees C ok 1.5V 1.52 Volts ok 3.3V 3.44 Volts ok 3.3VSB 3.42 Volts ok 5V 5.29 Volts ok 12V 12.63 Volts ok -12V -12.34 Volts ok Fan1 0 RPM ok Fan2 4320 RPM ok Fan3 4050 RPM ok Fan4 0 RPM ok Fan5 0 RPM ok Fan6 0 RPM ok Intrusion 0 unspecified ok Power Supply 0 unspecified cr A noter que le dialogue est possible que la machine soit en marche, avec ou sans OS, mais également éteinte. Il est ainsi possible de démarrer un noeud ou de l éteindre : Quel est l état de l alimentation : ysagon@gateway-cluster-lii:~$ ipmitool chassis power status -U ADMIN -H 192.168.1.11 Password: Chassis Power is on Les noeuds 4U disposent aussi d un module ipmi (imb) Drivers IPMI : télécharger les drivers IPMI Baseboard Management Controller Open Source Driver for Linux (imbsrc-28.tar.gz sur http://downloadcenter.intel.com/detail_desc.aspx?agr=y&dwnldid= 16746&lang=eng) décompacter (dans un répertoire!) dépendances : sudo apt-get install linux-headers- uname -r cd myrep./build.sh le script n est pas content, car pour détecter si les headers du kernel sont présents, il utilise la commande rpm. si tu es sur que tu as les headers, presse enter et ça continue. Il y a d autres erreurs ensuite car il tente de créer un rpm, pas grave. le module est dans le répertoire imb cd imb sudo load_driver IPMIutil dépendances : libssl-dev libtool automake télécharger ipmiutil ipmiutil-2.4.3.tar.gz (http: //ipmiutil.sourceforge.net/) tar xzf ipmiutil-2.4.3.tar.gz cd ipmiutil-2.4.3 vi emacs cequetuveux beforeconf.sh changer lt_dir=/usr/share/libtool en lt_dir=/usr/share/libtool/config./beforeconf.sh./configure --enable-gpl make sudo make install 17

4.7 Authentification Le chapitre 5 détaille le mécanisme d authentification centralisé mis en place. 18

Chapitre 5 Authentification 5.1 Préambule blabla 5.2 Kerberos 5.2.1 Installation La commande suivante va installer le kdc : sudo apt-get install krb5-kdc krb5-admin-server 5.2.2 Configuration Une fois les paquets installés, il faut configurer le kdc : sudo dpkg-reconfigure krb5-kdc Figure 5.1 Domaine pour krdc 19

(sudo dpg-reconfigure krb5-admin-server) Figure 5.2 Lancement du demon admin https://help.ubuntu.com/community/singlesignon Fichier de config dans /etc/krb5kdc/kdc.conf. [kdcdefaults] kdc_ports = 750,88 [realms] LII.EIG.CH = { database_name = /var/lib/krb5kdc/principal admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab acl_file = /etc/krb5kdc/kadm5.acl key_stash_file = /etc/krb5kdc/stash kdc_ports = 750,88 max_life = 10h 0m 0s max_renewable_life = 7d 0h 0m 0s master_key_type = des3-hmac-sha1 supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norea default_principal_flags = +preauth } ACL pour accès au daemon kerberos admin /etc/krb5kdc/kadm5.acl. # This file Is the access control list for krb5 administration. # When this file is edited run /etc/init.d/krb5-admin-server restart to activate # One common way to set up Kerberos administration is to allow any principal # ending in /admin is given full administrative rights. # To enable this, uncomment the following line: */admin@lii.eig.ch * Fichier de config krdc /etc/krb5.conf. [libdefaults] default_realm = LII.EIG.CH 20

Creation du REALM : sudo krb5_newrealm Mot de passe : to... 5.2.3 Creation de principals sudo kadmin.local kadmin.local: addprinc ysagon/admin WARNING: no policy specified for ysagon/admin@lii.eig.ch; defaulting to no policy Enter password for principal "ysagon/admin@lii.eig.ch": Re-enter password for principal "ysagon/admin@lii.eig.ch": Principal "ysagon/admin@lii.eig.ch" created. Installation de openldap sudo apt-get install slapd libsasl2-modules-gssapi-mit ldap-utils sudo dpkg-reconfigure slapd dc=lii,dc=eig,dc=ch Conversion de slapd.conf vers slapd.d et utilisation de cn=config Stop slapd sudo /etc/init.d/slapd stop Creation du repertoire de config cd /etc/ldap/ sudo mkdir slapd.d Conversion du fichier de configuration Il est nécessaire d ajouter les informations suivantes dans slapd.conf avant d effectuer la conversion. Ces lignes doivent être inserées avant la première définition de database. # before the first database definition database config # NOTE: the suffix is hardcoded as cn=config and # MUST not have a suffix directive # normal rules apply - rootdn can be anything you want # but MUST be under cn=config rootdn "cn=admin,cn=config" # use any of the supported password formats e.g. {SSHA} etc # or plaintext as shown rootpw config laptest -f slapd.conf -F slapd.d Attribution des droits : sudo chown -R openldap:openldap /etc/ldap/slapd.d Deplacement du fichier de configuration originale afin d être sûr de ne pas l utiliser : sudo mv slapd.conf slapd.conf.orig sudo vi /etc/default/slapd SLAPD_CONF=/etc/ldap/slapd.d 21

Start slapd sudo /etc/init.d/slapd start Acces pour test : ldapsearch -w config -xlll -D cn=admin,cn=config -b cn=config Utilisatin de phpldapadmin sudo apt-get install phpldapadmin Certificats SSL pour openldap temp sudo apt-get install slapd ldap-utils sudo dpkg-reconfigure slapd dc=lii dc=eig dc=ch ou=lii partie client sudo aptitude install libpam-ldap auth-client-config ldap-auth-client ldap-auth-config libnssldap nscd tcsh sudo pam-auth-update ldap sudo auth-client-config -t nss -p lac_ldap à la fin de /etc/pam.d/common-session session required pam_mkhomedir.so skel=/etc/skel/ 22

Chapitre 6 Noeud 6.1 Mise à jour 6.2 MPICH 6.2.1 Préambule MPICH est une librairie de calcul distribué 6.2.2 Installation sudo apt-get install g++ mpich-bin libmpich1.0-dev La liste des machines disponnibles pour mpi se trouve ici : cat /usr/lib/mpich/share/machines.linux localhost ubuntu_virtual_worker_1_1 ubuntu_virtual_worker_2_1 ubuntu_virtual_worker_3_1 ubuntu_virtual_worker_7_1 ubuntu_virtual_worker_8_1 ubuntu_virtual_worker_9_1 ubuntu_virtual_worker_10_1 ubuntu_virtual_worker_11_1 Les hostname des machines doivent être présents dans le fichier /etc/hosts 192.168.1.121 ubuntu_904_ref 192.168.1.100 ubuntu_virtual_worker_1_1 192.168.1.110 ubuntu_virtual_worker_2_1 192.168.1.120 ubuntu_virtual_worker_3_1 192.168.1.160 ubuntu_virtual_worker_7_1 192.168.1.170 ubuntu_virtual_worker_8_1 192.168.1.180 ubuntu_virtual_worker_9_1 192.168.1.190 ubuntu_virtual_worker_10_1 192.168.1.200 ubuntu_virtual_worker_11_1 Afin de simplifier le partage des fichiers, les répertoires home sont montés par nfs. cat /etc/fstab... 23

192.168.1.21:/media/storage/user-data /home nfs auto,rsize=8192,wsize=8192,timeo=14,intr 0 0... Il faut vérifier que les interfaces réseau définies sur auto dans /etc/network/interfaces soient montées et existantes, autrement le script /etc/init.d/mountnfs.sh ne montera pas home lors du démarrage. Il faut que les machines puissent se connecter entre elles par ssh sans mot de passe. Il faut utiliser les clés publiques et privées. Effectuer la manipulation en tant que utilisateur devant lancer des tâches mpi. ssk-keygen ssk-copy-id localhost tester ensuite la connexion sur chaque machine en utilisant son hostname afin d accepter sa clé : ssh ubuntu_virtual_worker_1_1... ssh ubuntu_virtual_worker_11_1 ou lancer mpirun et accepter la clé de chaque machine (uniquement nécessaire la première fois) 6.3 FreeNX 6.3.1 Préambule 6.3.2 Installation ajouter source pour apt /etc/apt/sources.list.d/nx.list deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu jaunty main deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu jaunty main ajouter la clé D018A4CE update sudo apt-get update sudo apt-get sudo apt-get install freenx 6.4 Jamaica Télécharger l archive.tar.gz de la dernière version de Jamaica Décompacter l archive.tar.gz tar xzf nom_de_l archive.tar.gz Executer l installation : sudo./jamaica.install Les fichiers une fois installés sont situés à l emplacement /usr/local/jamaica Installation de la license (avec le fichier jamaica.aicas_key dans le même répertoire.)./jamaicakeyinstaller_linux Attention, cette installation n est pas globale.. elle est uniquement valable pour l utilisateur qui a effectué la commande. Jamaica n arrive pas à trouver la librairie libx11.so. Il faut effectuer cette commande : cd /usr/lib/; sudo ln -s libx11.so.6 libx11.so 24

6.5 JDK sudo apt-get install sun-java6-jdk vérifier /etc/alternatives 6.6 eclipse sudo apt-get install eclipse 6.7 GPS 2009 6.7.1 Préambule GPS est un IDE pour développer en ADA 6.7.2 Installation télécharger gnat gpl 2009 depuis https://libre.adacore.com/libre/download/ décompacter tar xf gnat_download-2009-10-23.tar tar xzf gnat-gpl-2009-1-i686-gnu-linux-libc2.3-bin.tar.gz cd gnat-2009-i686-gnu-linux-libc2.3-bin sudo./doinstall chemin d installation: /usr/gnat Ajout de gnat dans le chemin sudo vi /etc/profile.d/gps2009.sh #!/bin/sh PATH=/usr/gnat/bin:$PATH export PATH; Rendre le script executable sudo chmod a+x /etc/profile.d/gps2009.sh Il existe un plugi pour eclipse gnatbench-2.3.0-bin-eclipse.zip gunzip -c gnatbench-2.3.0-bin-eclipse.zip tar xf 6.8 KROC 6.8.1 Présentation 6.8.2 Installation Installation des packages prérequis sudo apt-get install bash gcc binutils gawk make automake autoconf pkg-config \ libc6-dev libsdl1.2-dev libsdl-sound1.2-dev libgl1-mesa-dev \ libmysqlclient15-dev libpng12-dev libxmu-dev \ python xsltproc subversion libtool libxi-dev 25

Téléchargement des sources de Kroc svn co http://projects.cs.kent.ac.uk/projects/kroc/svn/kroc/branches/kroc-1.5 kroc-svn Compilation et installation de Kroc Créer le répertoire de destination avec les droits de l utilisateur courant sudo mkdir /usr/local/kroc sudo chown ysagon:ysagon /usr/local/kroc/ Compiler kroc et l installer dans le répertoire précédemment crée. cd kroc-svn./build --prefix=/usr/local/kroc Kroc dispose de nombreux modules optionnels. Ils peuvent être listés ainsi :./build --help Pour compiler kroc avec tout les modules, documentation et outils, utiliser l option build../build --prefix=/usr/local/kroc build Utilisation et configuration Kroc dispose d un script.sh qu il faut sourcer afin de définir les variables d environnement nécessaires : sudo ln -s /usr/local/kroc/bin/kroc-setup.sh /etc/profile.d/ Le script fourni n utilise pas LD, et donc les librairies dynamiques ne sont pas trouvées par linux. Créer un fichier sudo vi /etc/ld.so.conf.d/kroc.conf contenant l emplacement des librairies de kroc /usr/local/kroc/lib Ensuite, mettre à jour ld sudo ldconfig Activer le framebuffer de linux : changer la ligne # defoptions=quiet splash du fichier sudo vi /boot/grub/menu.lst par # defoptions=vga=791 quiet splash Attention à laisser le #. Mettre à jour grub sudo update-grub Examples Kroc est fourni avec des exemples, ils peuvent être compilés ainsi :./build examples Référence Installation sur debian/ubuntu http://projects.cs.kent.ac.uk/projects/kroc/trac/wiki/ DebianInstallation 6.9 RTSJ RTSJ /usr/local/jrts2.1 26

6.10 JCSP 6.10.1 Préambule 6.10.2 Installation télécharger http://www.cs.kent.ac.uk/projects/ofa/jcsp/ Décompacter jar xf jcsp-1.1-rc4.jar sudo mv jcsp-1.1-rc4 /usr/local/ 6.11 Proxy web proxy10.eig.ch 3128 6.12 Interfaces réseaux Le nom des interfaces réseau doivent être le même à chaque fois. ajouter ces règles dans /etc/udev/rules.d/70-persistent-net.rules # ubuntu_virtual_worker_1_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:01:00:01", ATTR{type}==" # ubuntu_virtual_worker_2_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:02:00:01", ATTR{type}==" # ubuntu_virtual_worker_3_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:03:00:02", ATTR{type}==" # ubuntu_virtual_worker_7_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:07:00:01", ATTR{type}==" # ubuntu_virtual_worker_8_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:08:00:01", ATTR{type}==" # ubuntu_virtual_worker_9_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:09:00:01", ATTR{type}==" # ubuntu_virtual_worker_10_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:10:00:01", ATTR{type}==" # ubuntu_virtual_worker_11_1 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:11:00:01", ATTR{type}==" # ubuntu_904_ref SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:03:00:01", ATTR{type}==" Le fichier /etc/network/interfaces doit contenir auto eth0 iface eth0 inet dhcp Si ces lignes ne sont pas présentes, l interface eth0 aura bien une adresse ip mais la machine n aura pas de hostname! 27

6.13 Template nouvel utilisateur Ajouter les fichiers que chaque utilisateur doit avoir dans /etc/skel Ils seront copiés dans le home de l utilisateur lors de l appel de la commande useradd. 28

Chapitre 7 VmWare ESXI 7.1 Préambule VmWare ESXi est une solution de virtualisation gratuite. Son avantage par rapport à la version serveur est qu il n est pas nécessaire d avoir un OS installé en sous-couche. A développer. 7.2 Préparation de VmWare ESXi 3.5 sur PXE ATTENTION Ce qui suit n est plus d actualité.. voir plus loin La version 4.0 de VMware ESXi est actuellement disponible mais la méthode suivante ne semble pas fonctionner. Il est néanmoins possible de mettre à jour la version 3.5 de ESXi une fois l installation effectuée. VmwWare ESXi est fourni sous forme d image ISO par vmware. Les noeuds du cluster ne disposent pas de lecteur cd local, une méthode alternative est donc employée. La marche à suivre suivante permet de rendre vmware esxi disponible à l installation pour les machines du cluster en démarrant sur le réseau (PXE). Commencer par télécharger l image iso de vmware esxi (VMware ESXi X.Y Installable) sur le site de vmware. Extraire les fichiers et les copier dans le répertoire des images PXE : mkdir /tmp/vmware sudo mount -o loop,ro xxx.iso /tmp/vmware cd /tmp/1gvmware sudo cp vmkernel.gz binmod.tgz ienviron.tgz cim.tgz license.tgz install.tgz oem.tgz /tftpboot/nbi cd ~ sudo umount /tmp/vmware Ajouter une entrée vmware dans le menu pxe de drbl edit /opt/drbl/sbin/generate-pxe-menu Re generer le menu de pxe sudo /opt/drbl/sbin/generate-pxe-menu 7.3 Préparation de VmWare ESXi 4.0 sur PXE VmwWare ESXi est fourni sous forme d image ISO par vmware. Les noeuds du cluster ne disposent pas de lecteur cd local, une méthode alternative est donc employée. La marche à suivre 29

suivante permet de rendre vmware esxi disponible à l installation pour les machines du cluster en démarrant sur le réseau (PXE). Commencer par télécharger l image iso de vmware esxi (VMware ESXi X.Y Installable) sur le site de vmware. Extraire les fichiers et les copier dans le répertoire des images PXE : mkdir /tmp/vmware sudo mount -o loop,ro xxx.iso /tmp/vmware cd /tmp/1gvmware sudo cp vmkboot.gz vmkernel.gz sys.vgz cim.tgz ienviron.tgz image.tgz install.tgz cd ~ sudo umount /tmp/vmware /tftpboot/nbi_ Ajouter une entrée vmware dans le menu pxe de drbl sudo vi /tftpboot/nbi_img/default/pxelinux.cfg/default label netinstall-vmware-esxi-4.0 # MENU DEFAULT MENU HIDE MENU LABEL vmware esxi 4.0 installation via network # MENU PASSWD kernel mboot.c32 append vmkboot.gz --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.tgz --- image.tgz --- in TEXT HELP vmware esxi installation via network ENDTEXT 7.4 Installation sur un noeud Attention, l installation de ESXi va effacer tout le contenu du disque du noeud. Il ne semble pas possible d effectuer un multiboot sur un noeud installé avec ESXi. Lancer dcs sur DRBL et choisir l entrée netinstall => netinstall-vmware-esxi pour le noeud concerné. Redémarrer ce dernier, l installation sera automatiquement lancée et dure environ 5 minutes. 30

7.5 Activation de la license 7.6 Mise à jour d un noeud Figure 7.1 Choix du type de serveur mail Il est possible de mettre à jour un noeud ESXi à distance par le biais d un outil nommé vsphere Host Update Utility 4.0 ou VMware Infrastructure Update. A noter que la mise à jour d un noeud ESXi 3.5 vers la version 4.0 nécessite obligatoirement l outil de mise àjour de vsphere. La figure 7.2 montre l outil de mise à jour de vsphere. Il faut commencer par ajouter le noeud à mettre à jour si il n est pas déjà présent dans la liste. 31

Figure 7.2 Choix du noeud à mettre à jour L outil de mise àjour vsphere nécessite une archive au format zip qui contient la mise à jour souhaitée. Cette archive peut être téléchargée sur le site de VMware. Figure 7.3 Sélection du package de mise à jour 32

Figure 7.4 Choix du type de serveur mail Figure 7.5 Choix du type de serveur mail 33

Figure 7.6 Choix du type de serveur mail 7.7 Client esxi 7.7.1 Préambule La gestion des noeuds installés avec ESXi doit être effectuée par un client distant et non directement sur le poste. Le client de la version ESXi 3.5 se nomme VMware Infrastructure tandis que le client de la version ESXi 4.0 se nomme vsphere. Le client est téléchargeable directement depuis le noeud ESXi en https sur le port 443. Le client 4.0 peut se connecter à un noeud ESXi 3.5, l inverse n est pas vrai. 7.7.2 Installation Si aucun noeud n est disponible pour télécharger le client souhaité, il peut être extrait de l archive de mise à jour de ESXi. La figure 7.7 montre le chemin vers le client vsphere présent dans l archive de mise à jour de ESXi 4.0. 34

Figure 7.7 Emplacement du client vsphere dans l archive ESXi upgrade 4.0 L installation s effectue simplement, il faut néanmoins s assurer d installer également l outil de mise à jour qui est optionnel. 7.7.3 Connection à un noeud 7.7.4 DataStore Les fichiers disponibles depuis les noeuds sont stockés dans un espace de stockage nommé datastore visible dans l onglet Summary Ajout d un datastore réseau Voir dans le chapitre storage comment créer un partage. 35

Figure 7.8 Ajout d un espace de stockage dans un noeud esxi 36

Figure 7.9 Choix du type de storage 7.8 Configuration réseau La configuration de l adresse MAC de l interface réseau virtuelle peut être fait avec deux OUI s suivant si l adresse MAC est attribuée de manière automatique ou fixée manuellement. Les adresses MAC automatiques risquent de changer à chaque redémarrage de la machine virtuelle. Ce n est donc pas une solution adéquate si il faut attribuer une ip fixe par DHCP. 7.8.1 Automatique Le OUI est 00 :05 :69 7.8.2 Manuel Les adresses manuel doivent être saisies sous cette forme : 00 :50 :56 :XX :YY :ZZ. XX ne doit pas être plus grand que 0x3F, YY et ZZ 0xFF. Convention LII : XX = num worker (en dec hex 0x01-0x13) YY = os (0x00 linux 0x01 win 0x02 autre) ZZ = no machine virtuelle (en dex hex 0x01-0x99) chaque no de machine commence a un pour le type d os. 37

7.9 Création d une machine virtuelle Figure 7.10 Choix du type de configuration Figure 7.11 Nom de la machine virtuelle 38

Figure 7.12 Choix du datastore de la machine Figure 7.13 Choix de la version de la machine virtuelle 39

Figure 7.14 Choix du type de machine hôte Figure 7.15 Nombre de processeur à alouer 40

Figure 7.16 Taille de la mémoire Figure 7.17 Choix de l interface réseau 41

Figure 7.18 Choix du contrôleur SCSI Figure 7.19 Choix du disque virtuel 42

7.10 Clone Pour effectuer un clone, copier le fichier.vmdk (hard disk) et le fichier.vmx (virtual machine). Choisir ensuite d ajouter le fichier.vmx à l inventaire. 7.11 NTP configuration => time configuration => Properties => options => NTP settings => add => 10.194.184.1 7.12 Partager une image de base basé sur http://www.vmware.com/support/reference/common/disk_sharing.html Intéret : avoir une image de référence, facile à maintenir, occupe moins d espace disque 1. mettre la machine dans un mode qui permette les snapshot (undoable) 2. arreter la machine 3. demarrer la machine et l arreter au moment ou elle commence à booter. Ceci crée un fichier de log vide. 4. sauver le log 5. utiliser le fichier de log en lieu et place du disque original. 7.13 vmware tools 7.13.1 Préambule Les tools vmware sont optionels mais il est recommandé de les installer pour de meilleures performances. Ils permettent également de partager un répertoire du datastore à la machine hôte et de synchroniser les horloges. 7.13.2 installation depuis le client vsphere, sélectionner la machine virtuelle souhaitée avec le bouton droit et aller dans guest => install/upgrade vmware tools Les outils sont disponnibles pour la machine hôte en tant que lecteur cd. Il suffit de le monter, de décompacter l archive présente et d exécuter le script d install. Les tools fournissent des modules pour le noyau, il est donc nécessaire d installer les headers sudo apt-get install linux-headers- uname -r Le script de configuration doit être re lancé lors d une mise à jour du noyau linux. sudo vmware-config-tools.pl bug avec vmhgfs cd /usr/lib/vmware-tools/modules/source sudo tar xf vmhgfs.tar sudo rm vmhgfs.tar modif vmhgfs-only/page.c ligne 867 - grab_cache_page(mapping, index); + page = grab_cache_page_write_begin(mapping, index, flags); sudo tar cf vmhgfs.tar vmhgfs-only sudo rm -rf vmhgfs-only 43

Chapitre 8 Espace de stockage 8.1 Préambule Le cluster dispose d un espace de stockage composé actuellement de une machine (no 13). La machine de stockage est articulée autour d un serveur ubuntu server 8.04 LTS et de quatre disques de stockage de données. Les données du cluster seront sauvegardées (à définir) au plus quotidiennement. Il est donc nécessaire de disposer d un espace de stockage redondant. 8.2 RAID 8.2.1 Présentation Le raid software dispose de nombreux avantages en comparaison d une implémentation matériel : Plus flexible, non propriétaire. Si une carte contrôleur RAID est défectueuse, il est obligatoire de reprendre la même. L implémentation du RAID sur Linux a fortement évolué depuis ses débuts. Il n est plus nécessaire de disposer d un fichier de configuration et de jongler avec plusieures commandes. En effet, toutes les manipulations concernant RAID sont effectuées à l aide du binaire mdadm et les informations concernant la structure des volume raid sont stockés dans un superblock de chaque disque utilisé. 8.2.2 Mise en place Il a été choisi d effectuer une copie mirroir (RAID 1) des données. Le mode mirroir consiste à créer une copie exacte et en tout temps des données sur deux grapes de disque(s). L espace à disposition équivaut à n/2, avec n le nombre de disques. L espace de stockage supporte la perte de autant de disques qu une grappe en comporte. Le RAID1 est relativement simple à mettre en oeuvre, en comparaison avec le RAID6 par exemple. Espace crée par 4 disques SATA. Couche de base : RAID utilisation de mdadm (manage MD devices aka Linux Software Raid) MD (Multiple Devices) deux disques minimum => /dev/mdx Couche au dessus : LVM création d un disque logique composé de plusieurs disque espace prévu pour effectuer un freeze lors des backups. => /dev/vgx Couche au dessus : filesystem traditionnel. 8.3 Installation sudo apt-get install mdadm ext2resize (pour redimensionner une partition) 44

8.4 Configuration Les fichiers de configuration de mdadm sont les suivants : /etc/default/mdadm /etc/mdadm/mdadm.conf Le premier fichier contient les éléments suivants : AUTOCHECK=true (permet à /etc/cron.d/mdadm d effectuer un test périodique) START\_DAEMON=true (démarre un démon de surveillance au démarrage du serveur) DAEMON\_OPTIONS="--syslog" (envoie les événements dans syslog) VERBOSE=false (donne plus d informations lors de diverses opérations) Le second fichier contient les éléments suivants : DEVICE partitions (scanne chaque partitions tel que trouvé dans /proc/partitions à la recherche d CREATE owner=root group=disk mode=0660 auto=yes (paramètres lors de la création d un périphérique HOMEHOST <system> (tag les array crées comme faisant partie du système local MAILADDR root (redirigé sur yann.sagon@hesge.ch dans /etc/aliases) 8.5 Maintenance /etc/cron.d/mdadm Effectue chaque premier dimanche du mois : usr/share/mdadm/checkarray --cron --all --quiet all : check tout les array assemblés (/proc/mdstat) cron : prend en compte les paramètres AUTOCHECK dans /etc/default/mdadm quiet : n affiche pas les informations 8.6 Gestion d un périphérique RAID 8.6.1 Création Création du périphérique /dev/md0 sudo mdadm --create /dev/md0 --chunk=4 --level=1 --raid-devices=2 /dev/sda missing Il est possible de créer un périphérique RAID sans avoir tout les disques à disposition (missing à la place d un périphérique physique). A noter : le ou les périphériques qui composent l array sont spécifiés d après leur emplacement physique lors de la création, mais ils sont par la suite identifiés par leur UUID. Il n y a donc pas de problème lors d un éventuel déplacement d un disque physique sur le serveur. Lors de la création, le périphérique /dev/md0 a été crée sur /dev/sda Une carte contrôleur 4 ports SATA est ajoutée, les disques ne sont plus au même emplacement physique. 8.6.2 Etat L état d un array RAID est donné par la commande suivante : sagony@storage-cluster:~$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [ra md0 : active raid1 sdb[0] 160836416 blocks [2/1] [U_] unused devices: <none> 45

A noter : l array est composé de deux disques dont un seul est présent 8.6.3 Ajout d un disque Ajout du disque /dev/sdd sudo mdadm --manage /dev/md0 -a /dev/sdd Après l ajout, l array est automatiquement reconstruit. sagony@storage-cluster:~$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdd[2] sdb[0] 160836416 blocks [2/1] [U_] [>...] recovery = 2.9% (4781248/160836416) finish=44.1min speed=58892k/s unused devices: <none> A noter : si un reboot du serveur est effectué avant que la resynchronisation soit terminée, rien n est corrompu mais la procédure de synchronisation redémarre depuis le début (automatiquement). Création du périphérique /dev/md1 sudo mdadm --create /dev/md1 --chunk=4 --level=1 --raid-devices=2 /dev/sdc /dev/sda Il n est pas possible de partitionner un périphérique RAID. Il faut soit créer plusieurs périphériques RAID soit utiliser LVM. 8.6.4 Surveillance mdadm executé avec le paramètre -monitor lors du démarrage du serveur. Si un changement d état dans un des array à lieu, un email est envoyé à l administrateur. Faute intentionnel : sudo mdadm /dev/md0 --set-faulty /dev/sdd mdadm: set /dev/sdd faulty in /dev/md0 Vérification de l état de /dev/md0 cat /proc/mdstat grep md0 -A 1 md0 : active raid1 sdb[0] sdd[2](f) 160836416 blocks [2/1] [U_] Suppression du disque /dev/sdd sagony@storage-cluster:~$ sudo mdadm /dev/md0 --remove /dev/sdd mdadm: hot removed /dev/sdd Vérification de l état de /dev/md0 cat /proc/mdstat grep md0 -A 1 md0 : active raid1 sdb[0] 160836416 blocks [2/1] [U_] Ajouter comme précédemment. sudo mdadm --manage /dev/md0 -a /dev/sdd mdadm: re-added /dev/sdd La reconstruction de l array est démarré automatiquement. 46

8.7 LVM 8.7.1 Présentation Logical Volume Managemement Abstraction de disques/partitions => plus de flexibilité LVM identifie les disques par leur UUID et non par leur nom de périphériques. Il n y a donc aucun problème dans le cas d un déplacement de disque physiquement. Il est possible de changer la taille d un volume LVM sans devoir démonter les éléments le composants. Il est également possible de déplacer un volume LVM sur d autres partitions physiques sans perturber les utilisateurs. LVM est particulièrement bien adapté à un système RAID. Il est en effet ainsi possible d ajouter ou supprimer des grappes RAID à un volume LVM pour en étendre facilement la capacité. Les volumes logiques crées sur sur un espace de stockage peuvent être redimensionnés sans démonter le système de fichier, ce qu il est impossible de faire avec un système composé de partitions traditionnel. Exemple tiré de tldp : Utilisation d un disque de 8.4Gb de manière traditionnel (pc de Joe) : /boot /dev/hda1 10 Megabytes swap /dev/hda2 256 Megabytes / /dev/hda3 2 Gigabytes /home /dev/hda4 6 Gigabytes Utilisation d un disque de 8.4Gb utilisant LVM (pc de Jane) : /boot /dev/hda1 10 Megabytes swap /dev/vg00/swap 256 Megabytes / /dev/vg00/root 2 Gigabytes /home /dev/vg00/home 6 Gigabytes Il n y a pas un grand intérêt à mettre la partition /boot sur LVM, la taille nécessaire à cette dernière est facilement estimable et il peut être assez compliqué de configurer le boot loader avec lvm, donc autant s en passer. En se basant sur les exemples précédents, supposant qu il soit nécessaire d agrandir la partition /. Si il reste de l espace sur la partition /home, Joe doit utiliser un outil de partitionnement et travailler avec les disques non montés. Le pc est donc inaccessible. Jane quand à elle peut se permettre de redimensioner les deux partitions à la volée. Supposant à présent qu il faille augmenter la taille de la partition /home, Joe et Jane achètent un nouveau disque. Joe formate le disque et met tout son dossier home dans le nouveau disque. Il veut utiliser l espace home de l ancien disque, il crée donc un lien symbolique dans son répertoire home. Jane formate le disque et ajoute l espace de stockage au volume existant. La solution utilisant LVM est donc nettement plus flexible et s adapte aux changements futurs. possible de copier les données d un disque sur un ou des autres online dans le but de remplacer un disque physique. Lexique LVM : Physical volume (PV) : disque physique ou pseudo physique (RAID software par exemple) Logical Volume (LV) : équivalent à une partition dans un système traditionnel. Physical extent (PE) : chaque PV est composé de morceaux de données (PE) Logical extent (LE) : chaque LV est composé de morceaux de données (LE) de même taille que (PE) Anatomie de LVM : Another way to look at is this (courtesy of Erik Bågfors on the linux-lvm mailing list) : hda1 hdc1 (PV:s on partitions or whole disks) \ / \ / diskvg (VG) / \ / \ usrlv rootlv varlv (LV:s) ext2 reiserfs xfs (filesystems) Ajout de la couche RAID 47

sda sdb sdc sde \ / \ / \ / \ / md0 md1 (PV:s on RAID1) \ / \ / \ / diskvg (VG) / \ / \ usrlv rootlv varlv (LV:s) ext2 reiserfs xfs (filesystems) En résumé, l utilisation de LVM consiste à effectuer un mapping des PE sur des LV. Il existe deux modes : linear : les assignation de PE sur des LE sont faites de manière contiguës striped : les assignation de PE sur des Le sont entrelacées. Cette méthode peut être plus performante. Snapshot Un point très intéressant de LVM est la possibilité de créer des snapshot. Il est en effet possible de créer un snapshot d un LV, qui est en fait un block périphérique qui met à disposition une copie exacte des données d un LV à un temps donné sans devoir démonter le LV correspondant. Les snapshot peuvent être en lecture seule ou en lecture/écriture (par défaut). Il faut prévoir suffisamment d espace pour la création du snapshot. Si des données sont modifiées dans le LV sur lequel un snapshot est présent, la taille du snapshot va augmenter. Si le snapshot est plein, il est inutilisable. La création d un snapshot est très utile dans le cas de sauvegarde notamment. Idée d utilisation : en collaboration avec l outil de virtualisation Xen : Création d une image de référence, snapshot de cette image autant de fois qu une instance d une machine virtuelle est nécessaire. Les données communes sont écrites une seule fois, seul les données particulières à chaque instance domu sont écrites dans l espace nécessaire au snapshot. Binaires à disposition : Le nom des binaires LVM est prefixé par les deux premières lettres de la couche à laquelle ils sont destinés. Lors de la connection d un PV, udev effectue les deux opérations suivantes : vgscan : cherche les VG existant sur tout les disques physiques. vgchange -a y : modifie les attributs d un VG (available yes) rend le volume disponnible pour le kernel. Tâches communes LVM howto http ://tldp.org/howto/lvm-howto/commontask.html Initialisation d un PV (volume RAID crée préalablement) pour utilisation avec LVM : sagony@storage-cluster:~$ sudo pvcreate /dev/md0 Physical volume "/dev/md0" successfully created Création d un VG avec un LE de 32MB. Il est possible de le modifier avec -s. sagony@storage-cluster:~$ sudo vgcreate storage /dev/md0 Volume group "storage" successfully created Activation du volume storage : (effectué automatiquement lors du reboot) sagony@storage-cluster:~$ sudo vgchange -a y storage 0 logical volume(s) in volume group "storage" now active Création d un LV de 1500Mb pour stocker des images iso sur le VG storage sagony@storage-cluster:~$ sudo lvcreate -L1500 -niso storage Logical volume "iso" created 48

Formatage du LV iso en ext3 sagony@storage-cluster:~$ sudo mkfs.ext3 -L iso /dev/storage/iso mke2fs 1.40.8 (13-Mar-2008) Étiquette de système de fichiers=iso Type de système d exploitationă: Linux Taille de bloc=4096 (log=2) Taille de fragment=4096 (log=2) 96000 i-noeuds, 384000 blocs 19200 blocs (5.00%) réservés pour le super utilisateur Premier bloc de données=0 Nombre maximum de blocs du système de fichiers=394264576 12 groupes de blocs 32768 blocs par groupe, 32768 fragments par groupe 8000 i-noeuds par groupe Superblocs de secours stockés sur les blocsă: 32768, 98304, 163840, 229376, 294912 Écriture des tables d i-noeudsă: complété Création du journal (8192 blocs)ă: complété Écriture des superblocs et de l information de comptabilité du système de fichiersă: complété Le système de fichiers sera automatiquement vérifié tous les 21 montages ou après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i pour écraser la valeur. Montage du LV iso sagony@storage-cluster:~$ sudo mkdir /media/storage/iso sagony@storage-cluster:~$ sudo mount /dev/storage/iso /media/storage/iso Taille de iso sagony@storage-cluster:~$ df -h grep iso /dev/mapper/storage-iso 1.5G 35M 1.4G 3% /media/storage/iso Ajout d espace de stockage à iso (avec iso mounté!!) sagony@storage-cluster:~$ sudo lvextend -L+1G /dev/storage/iso Extending logical volume iso to 2.46 GB Logical volume iso successfully resized Taille après ajout sagony@storage-cluster:~$ df -h grep iso /dev/mapper/storage-iso 1.5G 35M 1.4G 3% /media/storage/iso La taille est identique. En fait seul le LV est agrandi sudo sfdisk /dev/storage/iso --show-size 2584576 Il faut agrandir le système de fichiers, exemple pour du ext3. Le filesysteme prend par défaut la même taille que le LV. A noter que pour ext3, cette manipulation doit être effectuée avec le FS démonté. Reiserfs, xfs et jfs entre autre supportent le changement de taille en étant monté. 49

sudo ext2resize /dev/storage/iso ext2resize v1.1.19-2001/03/18 for EXT2FS 0.5b La méthode précédente n est plus valable, le binaire ext2resize n est plus disponible dans ubuntu utiliser sudo resize2fs /dev/backup/rsnapshot Il est également possible de réduire la taille d un LV mais il faut faire attention à réduire en premier le FS puis le LV sous peine de perdre des données. Attention à ce que le FS soit au moins plus petit que la taille du futur LV. Ajout d un nouveau disque (/dev/md1) Initialisation de /dev/md1 pour utilisation avec LVM sagony@storage-cluster:~$ sudo pvcreate /dev/md1 Physical volume "/dev/md1" successfully created Ajout de /dev/md1 au VG storage sagony@storage-cluster:~$ sudo vgextend storage /dev/md1 Volume group "storage" successfully extended Suppression d un PV (dev/md0) Verification que le disque n est pas utilisé : sudo pvdisplay /dev/md0 --- Physical volume --- PV Name /dev/md0 VG Name storage PV Size 153.39 GB / not usable 2.81 MB Allocatable yes PE Size (KByte) 4096 Total PE 39266 Free PE 38635 Allocated PE ==> 631 <== PV UUID vdyoqa-qebp-ilx9-vncj-xbds-xvuu-mmhcwq Le disque est donc utilisé (Allocated PE > 0) Il faut commencer par déplacer les données du PV /dev/md0 sur les autres PV s à disposition. A noter : pvmove n est pas possible si les données sont composées d un snapshot. Il faut l effacer en premier lieu. $ sudo pvmove /dev/md0 /dev/md0: Moved: 29.3% /dev/md0: Moved: 58.9% /dev/md0: Moved: 85.9% /dev/md0: Moved: 100.0% Verification que le disque est bien non aloué : sudo pvdisplay /dev/md0 --- Physical volume --- PV Name /dev/md0 VG Name storage PV Size 153.39 GB / not usable 2.81 MB Allocatable yes PE Size (KByte) 4096 Total PE 39266 Free PE 39266 Allocated PE 0 PV UUID vdyoqa-qebp-ilx9-vncj-xbds-xvuu-mmhcwq 50

Enlevement du PV /dev/md0 sudo vgreduce storage /dev/md0 Removed "/dev/md0" from volume group "storage" Obtenir l UUID d un LV pour le monter dans fstab : sudo vol_id --uuid /dev/storage/iso f01ee470-f30d-4d42-9a17-7ab7160e73b3 Ligne de montage pour iso dans fstab : UUID=f01ee470-f30d-4d42-9a17-7ab7160e73b3 /media/storage/iso ext3 exec 0 0 ou /dev/storage/iso /media/storage/iso ext3 rw 0 0 Backup à l aide d un snapshot : Création d un snapshot de 1G sudo lvcreate --size 1G --snapshot --name snap-iso /dev/storage/iso Ligne de montage pour snap-iso dans fstab : /dev/storage/snap-iso /media/storage/snap-iso ext3 rw 0 0 effectuer le backup Demonter le snapshot : sudo umount /media/storage/snap-iso Suppression du snapshot : sudo lvremove /dev/storage/snap-iso Do you really want to remove active logical volume "snap-iso"? [y/n]: y Logical volume "snap-iso" successfully removed Script permettant de créer/monter les snapshots (appelé par rsnapshot cf backup) #!/bin/sh lvcreate --size 1G --snapshot --name snap-iso /dev/storage/iso lvcreate --size 1G --snapshot --name snap-user-data /dev/storage/user-data lvcreate --size 1G --snapshot --name snap-sys-data /dev/storage/sys-data mount /media/storage/snap-iso mount /media/storage/snap-user-data mount /media/storage/snap-sys-data Script permettant de démonter/détruire les snapshots (appelé par rsnapshot cf backup) #!/bin/sh umount /media/storage/snap-iso umount /media/storage/snap-user-data umount /media/storage/snap-sys-data lvremove lvremove lvremove -f /dev/storage/snap-iso -f /dev/storage/snap-user-data -f /dev/storage/snap-sys-data 51

8.7.2 Partages Plusieurs choix s offrent afin que l espace de stockage soit disponible des autres machines du cluster. Les noeuds vmware esxi peuvent utiliser des partages NFS. NFS est réputé pour ne pas être sécurisé ni très résistant aux problèmes réseaux. Vu que les machines qui y accéderont se trouvent dans le même sous réseau, il n y a pas beaucoup de risques. NFS est par contre très performant. Commencer par ajouter un partage dans /etc/exports /media/storage/sys-data 192.168.1.12(rw,subtree_check,sync) Les options : rw read and write subtree_check vérifie que le fichier accédé par un client est bien dans l arbre des fichiers partagés. Peut créer des problèmes si le fichier est renommé durant un accès, à ne pas utiliser pour le partage de home par exemple. sync accès synchrone aux fichiers. Le mode async est plus performant mais peut poser des problèmes lors d un crash. Une fois l entrée crée, il faut forcer la relecture du fichier avec sudo exportfs -a 52

Chapitre 9 Backup 9.1 Préambule Un système de backup sommaire est mis en place dans le cluster. Ce dernier effectue un backup périodique de l espace de stockage du cluster. Le backup est composé de trois disques de 250Gb concatennés par LVM. 9.2 Creation du volume LVM Installation de LVM sudo apt-get install lvm2 reboot $ sudo pvcreate /dev/sda1 Physical volume "/dev/sda1" successfully created $ sudo pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created $ sudo pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created Creation du vg backup $ sudo vgcreate backup /dev/sda1 Volume group "backup" successfully created Activation $ sudo vgchange -a y backup Creation de 4 lv s $ sudo lvcreate -L10000 -ndaily backup Logical volume "daily" created $ sudo lvcreate -L10000 -nweekly backup Logical volume "weekly" created $ sudo lvcreate -L10000 -nmonthly backup Logical volume "monthly" created $ sudo lvcreate -L10000 -nyearly backup Logical volume "yearly" created Ajout des autres PV s au VG backup 53

$ sudo vgextend backup /dev/sdb1 Volume group "backup" successfully extended $ sudo vgextend backup /dev/sdc1 Volume group "backup" successfully extended 9.3 Formatage des LV s sudo mkfs.ext3 -L daily /dev/backup/daily sudo mkfs.ext3 -L weekly /dev/backup/weekly sudo mkfs.ext3 -L monthly /dev/backup/monthly sudo mkfs.ext3 -L yearly /dev/backup/yearly 9.4 Montage des LV s sudo mkdir /media/backup/{daily,weekly,monthly,yearly} edition de /etc/fstab: ****************************************************** /dev/backup/daily /media/backup/daily ext3 rw 0 0 /dev/backup/weekly /media/backup/weekly ext3 rw 0 0 /dev/backup/monthly /media/backup/monthly ext3 rw 0 0 /dev/backup/yearly /media/backup/yearly ext3 rw 0 0 ****************************************************** sudo mount -a 9.5 Backup Utilisation de l utilisateur backup sudo su - backup Modification de la tâche de backup : backup$ env EDITOR=vim crontab -e SHELL=/bin/bash PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin MAILTO=yann.sagon@hesge.ch # m h dom mon dow command # backup de cluster-storage chaque jour a 00:15 15 00 * * * rsync.sh -r 7 -c backup@192.168.1.21:/media/storage /media/backup/daily # backup de cluster-storage chaque dimanche a 01:15 15 01 * * 0 rsync.sh -r 7 -c backup@192.168.1.21:/media/storage /media/backup/weekly # backup de cluster-storage chaque 1er du mois a 02:15 15 02 01 * * rsync.sh -r 7 -c backup@192.168.1.21:/media/storage /media/backup/monthly # backup de cluster-storage chaque debut d annee a 03:15 15 03 01 01 * rsync.sh -r 7 -c backup@192.168.1.21:/media/storage /media/backup/yearly 54

9.6 Cles privées et publiques Effectuer les manips suivantes sur la machine de backup et la machine à backuper mkdir /var/backups/.ssh sudo chown backup:backup /var/backups/.ssh sudo su - backup $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/backups/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/backups/.ssh/id_rsa. Your public key has been saved in /var/backups/.ssh/id_rsa.pub. Depuis la machine de backup copier vi /var/backups/.ssh/id_rsa.pub Vers la machine à backuper dans le fichier.ssh/authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub user@machine_a_backuper Tester la connection depuis la machine de backup : ssh backup@192.168.1.21 Il ne devrait pas y avoir besoin de donner un mot de passe. Installation du script de backup $ sudo wget http://jefke.free.fr/stuff/scripts/rsync/rsync.sh -O /usr/local/bin/rsync.sh $ sudo chmod a+x /usr/local/bin/rsync.sh sudo chown backup:backup /media/backup/{daily,monthly,weekly,yearly} Utilisation de rsnapshot Il n est pas possible d utiliser un répertoire racine différent pour chaque type de backup (daily weekly etc) il faut donc créer un autre lv, que nous nommerons rsnapshot (prendre exemple de l explication ci-dessus pour le créer) Installation : sudo apt-get install rsnapshot Lignes à changer dans le fichier de configuration /etc/rsnapshot.conf : -#cmd_cp +cmd_cp /bin/cp /bin/cp -#cmd_ssh +cmd_ssh -#cmd_du +cmd_du /path/to/ssh /usr/bin/ssh /usr/bin/du /usr/bin/du -#cmd_rsnapshot_diff +cmd_rsnapshot_diff /usr/local/bin/rsnapshot-diff /usr/bin/rsnapshot-diff 55

cmd_preexec cmd_postexec /usr/local/bin/mount_storage_snap.sh /usr/local/bin/umount_storage_snap.sh -#link_dest 0 +link_dest 1 Le fichier /etc/rsnapshot.conf contient également les différents emplacement à sauvegarder : Backup fichiers de configuration : root@svn.lii.eig.ch :/etc/ Backup des sites wiki et sondage : root@wiki.lii.eig.ch :/var/www/ Backup des dépots svn root@svn.lii.eig.ch :/var/lib/submin Backup de trac root@svn.lii.eig.ch :/usr/local/trac/ Backup de adae2007 Backup de sgs2008 Backup de gpc2009 backup de startconf root@adae2007.eig.ch :/var/www/ root@adae2007.eig.ch :/etc/ Backup de storage vi /usr/local/bin/mount_storage_snap.sh #!/bin/sh ssh 192.168.1.21 /usr/local/bin/mount_snap.sh vi /usr/local/bin/umount_storage_snap.sh #!/bin/sh ssh 192.168.1.21 /usr/local/bin/umount_snap.sh l adresse ip 192.168.1.21 correspond à storage Planification du backup voir fichier /etc/cron.d/rsnapshot Backup du serveur de base de données mysql Il n est pas possible d utiliser mysqlhotcopy car il ne prend en charge que le format MyISAM. Il faut donc utiliser mysqldump. Rsnapshot permet d exécuter un script avant d effectuer un backup. Le script suivant est donc exécuté par rsnapshot vi /usr/local/bin/backup_serveur_lii_sql.sh #!/bin/sh ssh 192.168.1.210 mysqldump --comments --triggers --routines \ --flush-privileges --flush-logs --create-options --add-drop-table \ --all-databases --add-locks --lock-all-tables \ --allow-keywords --quote-names --extended-insert \ --user=backup Ce script va imprimer en stdout le backup du serveur sql. Il est donc nécessaire de l appeler ainsi dans le fichier de configuration de rsnapshot : backup_script /usr/local/bin/backup_serveur_lii_sql.sh > backup_serveur_lii.sql serveur-l Les backup_script sont automatiquement appelés depuis un répertoire temporaire et le contenu de ce dernier est sauvegardé par la suite. Taille de la sauvergarde Vu que rsnapshot est est basé sur la notion de hard link, un outil standard risque de retourner un espace d utilisation faux. La méthode favorite est la suivante : sudo rsnapshot du 3.4G /media/backup/rsnapshot/hourly.0/ 9.0M /media/backup/rsnapshot/hourly.1/ 9.0M /media/backup/rsnapshot/hourly.2/ 9.0M /media/backup/rsnapshot/hourly.3/ 9.0M /media/backup/rsnapshot/hourly.4/ 56

9.2M /media/backup/rsnapshot/hourly.5/ 9.0M /media/backup/rsnapshot/daily.0/ 9.0M /media/backup/rsnapshot/daily.1/ 7.7M /media/backup/rsnapshot/daily.2/ 3.5G total 57

Chapitre 10 Envoie d emails 10.1 Préambule Il est nécessaire que la passerelle au minimum puisse envoyer des emails vers des comptes extérieur. En effet, des outils tels que nagios (sec. 4.5) nécessitent de pouvoir informer un administrateur en cas de dysfonctionnement. Ce chapitre permet de mettre en oeuvre rapidement un serveur mail minimaliste (envoie de mails uniquement) 10.2 Installation du serveur mail sudo apt-get install mailx sudo dpkg-reconfigure exim4-config Figure 10.1 Choix du type de serveur mail 58

Figure 10.2 Nom de domaine du serveur mail Figure 10.3 Choix de l interface réseau en écoute sur le port 25 59

Figure 10.4 Choix des domaines supplémentaires pour lesquels le serveur est une destination Figure 10.5 Nom de domaine des emails en sortie 60

Figure 10.6 Nom de domaine du serveur email smarthost Figure 10.7 Limitation des requètes DNS 61

10.2.1 Alias Figure 10.8 Création des fichiers de configuration modulaires Il est judicieux de pouvoir envoyer les mails à destination de l utilisateur root à un utilisateur réel. Un fichier contenant une liste d alias est prévu à cet effet. sudo vi /etc/aliases root yann.sagon@hesge.ch 10.2.2 Vider la queue exim Dans le cas ou la queue de exim est remplie et qu il faut la vider, la commande suivante permet de vider entièrement la queue : exipick -i xargs exim -Mrm 10.2.3 Test Après avoir installé et configuré exim, il est temps de tenter d envoyer un email : echo "Test d envoie depuis le cluster" mail yann.sagon@hesge.ch Une lecture du fichier de log (/var/log/exim4/mainlog)confirme que le mail est bien envoyé : 2009-02-11 14:40:09 1LXFJx-0002OM-FB <= ysagon@lii.eig.ch U=ysagon P=local S=382 2009-02-11 14:40:10 1LXFJx-0002OM-FB => yann.sagon@hesge.ch R=smarthost T=remote_smtp_smarthost H 2009-02-11 14:40:10 1LXFJx-0002OM-FB Completed 62