User Tools

Site Tools


installation_du_serveur_xen

Installation du serveur XEN et de la machine virtuelle bios

Nous allons installer le serveur avec la configuration suivante:

  • La machine (nom de machine: bixen) tourne grâce à une distribution debian stable (lenny) ainsi que l'hyperviseur xen, qui permettra de définir des machines virtuelles
  • Le serveur bios (nom de machine: bios) est une machine virtuelle, il s'agit d'une distribution debian testing (squeeze). Nous lui réservons 4 cpus, 8 Gb de mémoire et 1To de disque
  • Le logiciel lvm (installé sur bixen) permettra de partitionner de manière simple l'espace-disque
  • Le logiciel Dell OMSA, installé sur bixen, permet de surveiller le bon fonctionnement matériel du serveur.
  • Vous aurez la possibilité de définir un nombre arbitraire de machines virtuelles supplémentaires pour héberger d'autres projets.

Cette installation se fait donc en trois étapes:

  1. Installation de bixen
  2. Installation de bios
  3. Installation de machines supplémentaires, à votre convenance

Matériel et informations nécessaires

Avant de démarrer, il vous faudra:

  • Récupérer le DVD 1 de la distribution Debian 5.0.2
    wget http://cdimage.debian.org/debian-cd/5.0.2/amd64/iso-dvd/debian-502-amd64-DVD-1.iso
  • Graver ce DVD
    • Pour éviter les ennuis, il est recommandé de graver le DVD à vitesse réduite.
  • Télécharger et déposer sur une clé USB, répertoire racine le fichier bixen.tgz
  • Connaitre l'adresse IP de la machine hôte (bixen), l'adresse IP du serveur bios (bios) et les paramètres TCP-IP (à demander à votre EIC)

Configurations du D.N.S. et du firewall

  • Il vous faudra demander l'inscription dans le D.N.S. de la machine:
    bios.quelquepart.inra.fr
  • Il vous faudra aussi ouvrir en entrée les ports suivants sur le firewall:
    1. Machine bios: port 80/tcp (pour le serveur web et les web_services)
    2. Machine bios: port 22/tcp et 22/udp pour l'accès ssh en vue de dépannage à distance: pour ce dernier port, vous pouvez restreindre l'ouverture au réseau 147.99.102.0/24
  • Il n'est ni nécessaire ni recommandé d'inscrire bixen dans le D.N.S. ni dans le firewall.

Vérification de la configuration matérielle

Lors du premier démarrage, entrer dans le bios (F2). Vérifier et configurer les paramètres suivants:

Modèle Poweredge R710
Bios 1.1.4
Memory Settings Mémoire 36 Gb
CPUs 64 bits, 2.93 MHz
CPU settings Bus Speed 6.40 GT/s
CPU settings Logical Processor Enabled Passer à DISABLED
CPU settings Virtualization technology Disabled Passer à ENABLED

(suppression de l'hyperthreading et activation des instructions de virtualisation)

Installation du système d'exploitation de bixen

  • Booter sur le DVD, on entre dans le programme d'installation
    • si nécessaire, presser F11 (boot manager) et sélectionner SATA Optical drive installation
  • NOTE - Le progamme d'installation Debian fonctionne en mode texte à base de menus:
    • Les flèches haut/bas permettent de changer d'item de menu
    • La touche TAB permet de changer de zône (aller sur le bouton SUITE par exemple)
    • Fléches gauche et droite pour éditer les champs, entrée pour valider
    • Le fond d'écran bleu indique que tout va bien, rouge qu'il y a quelque chose qui le chagrine
  • Sélectionner language French, pays France, keyboard fr-latin-9
  • Après environ 30 secondes, le programme prévient qu'il manque un fichier à propos de la carte ethernet. C'est normal, on s'en occupera plus tard. Le problème est que le firmware en question n'est pas sous licence libre, il ne peut donc être intégré à la distribution à ce stade.
  • Répondre NON à la question “Charger le microcode manquant depuis un support amovible” (j'ai essayé, ça ne marche pas)
  • Confirmer qu'il n'y a pas de carte réseau (écran rouge, ce n'est pas normal….).
  • Nom de la machine: bixen

Partitionnement

  • Choisir la méthode de partitionnement: Manuel
  • De base, la machine annonce deux partitions primaires sur sda1, sda2 (fat16, fat32) et 1,9To de libre, et tout le disque sdb de libre (320Gb). Laisser les partitions sda1 et sda2.
  • Nous allons mettre la partition / et la swap de bixen sur sdb
  • Partitionner de la manière suivante:

Sur sda :

  • Créer sda3 comme partition primaire sur toute la partie libre du disque, spécifier Utiliser comme lvm
    • Pour cela, se positionner sur “Espace Libre”, puis “Entrée”
    • Lorsque vous aurez fini, sélectionner “Fin du paramétrage” puis entrée

Sur sdb :

  • sdb1 taille 100Gb depuis le début du disque, primaire, utiliser comme ext3, point de montage /, pas d'amorçage)
  • sdb2 taille 40Gb, primaire, utiliser comme swap
  • sdb3 tout le reste du disque, primaire, utiliser comme lvm
  • Sélectionner Terminer le partitionnement, puis répondre OUI à la question Appliquer les changements

Installation du système de base

  • entrer un mot de passe de root
  • Entrer le nom et le mot de passe pour le premier utilisateur
  • Analyser un second DVD: répondre NON
  • Miroir sur le réseau: répondre NON (pour l'instant)
  • Etude statistique des paquets: répondre NON
  • Profil de machine: système-standard, puis touche entrée
  • grub Répondre OUI
  • Rebooter

Lors du reboot, la machine se plaint amèrement de l'absence du fichier de firmware, et elle attend une minute. Comme elle fait cela 4 fois (il y a 4 cartes réseau), ça dure 4 minutes. On va arranger cela d'ici le prochain reboot.

Vérification de la table de partitions

  • Pour être sûr que tout va bien, il est utile de vérifier la table des partitions par fdisk:
    # fdisk -l /dev/sda /dev/sdb
    
    Disk /dev/sda: 1887.4 GB, 1887436800000 bytes
    255 heads, 63 sectors/track, 229467 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x00000080
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          10       80293+   6  FAT16
    /dev/sda2              11         272     2104515    b  W95 FAT32
    /dev/sda3             273      229467  1841008837+  8e  Linux LVM
    
    Disk /dev/sdb: 510.7 GB, 510765563904 bytes
    255 heads, 63 sectors/track, 62097 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x00000081
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   *           1       12158    97659103+  83  Linux
    /dev/sdb2           12159       17021    39062047+  82  Linux swap / Solaris
    /dev/sdb3           17022       62097   362072970   8e  Linux LVM

Vérification des processeurs

  • Nous allons vérifier que les 8 processeurs sont bien capables d'utiliser des instructions de virtualisation: la commande suivante doit renvoyer 8. Si ce n'est pas le cas, allez à nouveau dans le bios de la machine pour activer ces fichues instructions (cf . verification_de_la_configuration).
    # grep -ci vmx /proc/cpuinfo
    8

NOTE - Pour refaire cette vérification lorsque xen sera lancé, utiliser la procédure indiquée ici: windows….

Utilisation de la clé USB

  • Insérer la clé USB puis
    # mount /dev/sdc1 /mnt
    # cd /root
    # tar xvzf /mnt/bixen.tgz
    # umount /dev/sdc1
    retirer la clé
  • NOTE - Il peut arriver que le fichier spécial de la clé soit en fait /mnt/sdd1 ou autre. Si le montage ne se fait pas, la commande dmesg devrait vous donner des indications).
  • Vérifier que tout va bien par:
    # cd /root/BIXEN
    # ls -l
    total 440
    -rw-rw-r-- 1 root root 122880 aoû  4 08:55 fichiers_bixen.tar
    -rw-rw-r-- 1 root root  10240 jui 31 13:59 fichiers_reseau.tar
    -rw-r--r-- 1 root root 300148 jui 28 10:52 firmware-bnx2_0.17.deb
    -rw-r--r-- 1 root root    324 aoû  4 08:53 paquets_bixen.txt
  • Les fichiers doivent avoir la longueur indiquée ci-dessus.

Configuration du réseau

  • Installation du firmware et configuration de l'interface eth0
    # cd /
    # dpkg -i /root/BIXEN/firmware[TAB] (touche TAB)
    # tar xvf /root/BIXEN/fichiers_reseau.tar
  • Ensuite, éditer et modifier (en utilisant vi ou nano) les fichiers suivants:
    • /etc/network/interfaces
    • /etc/resolv.conf
  • Rebooter (taper reboot) afin d'installer le firmware et démarrer le réseau

NOTE - Seul l'interface eth0 est configuré à ce stade. Les quatre interfaces seront cependant utilisables pour les machines virtuelles

Installation et configuration de paquets supplémentaires

  • Maintenant, le réseau devrait être fonctionnel, ce qui peut se vérifier par:
    # ping www.google.fr
  • Tout d'abord, installer ssh:
    # apt-get update
    # apt-get install ssh
  • Maintenant vous devez pouvoir vous connecter à distance sur bixen
  • La liste des paquets à installer se trouve sur /root/BIXEN/paquets_bixen.txt.
    # dpkg --set-selections < /root/bios/paquets_bixen.txt
    # apt-get dselect-upgrade
    (répondre Oui à toutes les questions)
  • Editer le fichier /etc/sudoers (pour donner l'accès sudo à un utilisateur) et /etc/ntp.conf (si vous avez un serveur de temps).
    • Pour donner l'accès root au user bigchef, il vous suffit d'écrire la ligne
      bigchef    ALL=(ALL) ALL
    • Pour donner l'accès à tous les membres du groupe adm
      %adm     ALL=(ALL) ALL
  • Certains fichiers de configuration situés dans /etc ont été personnalisés pour bios:
    cd /
    tar xvf /root/BIXEN/fichiers_bixen.tar
  • Vérifiez l'existence du fichier /usr/lib/xen-tools/squeeze.d pour être sûr que le .tar a été décompaqueté au bon endroit.
  • Editer le fichier /etc/xen-tools/xen-tools.conf et renseigner les lignes gateway, netmask, broadcast vers la ligne 163 (remplacez les XX par vos paramètres)

Configuration de lvm

Créez deux volumes physiques lvm:

# pvcreate /dev/sda3
# pvcreate /dev/sdb3

# pvscan 
  PV /dev/sda3                      lvm2 [1,71 TB]
  PV /dev/sdb3                      lvm2 [317,36 GB]
  Total: 2 [2,02 TB] / in use: 0 [0   ] / in no VG: 2 [2,02 TB]

Nous allons insérer ces deux Physical Volumes dans un Volume Group unique appelé xdt (pour xendata)

# vgcreate xdt /dev/sda3 /dev/sdb3

# vgscan 
  Reading all physical volumes.  This may take a while...

# pvscan 
  PV /dev/sda3   VG xdt   lvm2 [1,71 TB / 1,71 TB free]
  PV /dev/sdb3   VG xdt   lvm2 [317,36 GB / 317,36 GB free]
  Total: 2 [2,02 TB] / in use: 2 [2,02 TB] / in no VG: 0 [0   ]

# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "xdt" using metadata type lvm2

# vgdisplay 
  --- Volume group ---
  VG Name               xdt
  System ID             
  Format                lvm2
  ...
  VG UUID               WQh62C-KIWH-Lpue-tBSS-PdHT-vjy3-riZcy3

Mise à jour et Reboot final

Afin d'être sûr d'avoir les dernières versions, une mise à jour finale s'impose:

apt-get update; apt-get dist-upgrade;

rebooter afin de démarrer le noyau modifié pour xen et les démons qui viennent d'être installés

Vérifier que tout est en place

  • Utiliser uname pour vérifier que le noyau incorpore bien les fonctionnalités de xen:
    # uname -a
    Linux bixen 2.6.26-2-xen-amd64 #1 SMP Sun Jun 21 08:09:04 UTC 2009 x86_64 GNU/Linux
  • Utiliser xm pour vérifier que le démon xen est opérationnel:
    # xm list
    Name                                        ID   Mem VCPUs      State   Time(s)
    Domain-0                                     0 36227     1     r-----    506.1
  • Utiliser omreport pour vérifier que les démons omsa (diagnostics du serveur, application propriétaire de dell) sont opérationnels:
    # omreport chassis
    Health
    
    Main System Chassis
    
    SEVERITY : COMPONENT
    Ok       : Fans
    Ok       : Intrusion
    Ok       : Memory
    Ok       : Power Supplies
    Ok       : Power Monitoring
    Ok       : Processors
    Ok       : Temperatures
    Ok       : Voltages
    Ok       : Hardware Log
    Ok       : Batteries
    
    For further help, type the command followed by -?
  • Se connecter sur https://adresse.IP.de.bixen:1311 pour vérifier que l'interface web de omsa est opérationnel (entrer le user root, mot de passe de root).

Création et démarrage de la machine virtuelle bios

xen-create-image --hostname bios --role udev --ip XX.XX.XX.XX --partitions bios --config bios.conf --passwd --extension '' --dist squeeze

echo "vcpus = 4" >> /etc/xen/bios
more /var/log/xen-tools/bios.log
xm create -c bios
CTRL-ALTGR-]

ce qui signifie:

  1. Créer la machine virtuelle bios en précisant la distribution à installer, ici debian squeeze (testing). (attention, cela dure quelques minutes, à la fin on vous demandera un mot de passe root pour la machine virtuelle).
  2. Ajouter le nomre de cpus alloués a la machine [normalement cela se fait tout seul, mais il y a un bug dans les template [TODO])
  3. Vérifier que tout s'est bien passé
  4. Démarrer la machine tout en se connectant à la console
  5. Se déconnecter de la console

Démarrage automatique de la machine virtuelle bios

Afin que la machine virtuelle bios démarre autiomatiquement lors du reboot de bixen:

cd /etc/xen
mkdir auto
cd auto
ln -s ../bios

Mettre la machine BIXEN sous surveillance NAGIOS (http://subios.toulouse.inra.fr/nagios3)

Afin que la machine BIXEN soit sous surveillance NAGIOS , il faut installer quelques paquets.

ssh bixen
cd /tmp
sudo bash
rm -f bixen_install_nagios.sh
wget http://lipm-svn.toulouse.inra.fr/svn/bios/trunk/bin/admin/bixen_install_nagios.sh
chmod +x bixen_install_nagios.sh
./bixen_install_nagios.sh

Pensez a faire ouvrir le port 5666/tcp pour l'IP 147.99.102.13 (http://subios.toulouse.inra.fr)

Par défaut, les services suivants sont supervisés:

  • Charge
  • Sauvegardes-Networker

Mettre la machine BIOS sous surveillance NAGIOS (http://subios.toulouse.inra.fr/nagios3)

Afin que la machine BIOS soit sous surveillance NAGIOS , il faut installer quelques paquets.

ssh bios
cd /www-bios/bin/admin
svn update bios_install_nagios.sh
sudo bash
./bios_install_nagios.sh

Un utilisateur MySQL nagios est créé pour superviser le service MySQL: c'est pour cela que le script vous demande le mont de passe root de MySQL.

Pensez a faire ouvrir le port 5666/tcp pour l'IP 147.99.102.13 (http://subios.toulouse.inra.fr)

Par défaut, les services suivants sont supervisés:

  • Charge
  • Disque systeme
  • Disque utilisateurs
  • Environnement pour bios (présence des scripts minimaux, existence de liens symboliques,…)
  • HTTP
  • Serveur mysql
  • nombre de processes
  • Sauvegardes-Networker

Ajouter le serveur BIOS à la grille CACTI (http://subios.toulouse.inra.fr/cacti)

Afin que la machine BIOS apparaisse dans CACTI , il faut installer quelques paquets.

ssh bios
cd /www-bios/bin/admin
svn update bios_install_cacti.sh
sudo bash
./bios_install_ganglia.sh

Pensez a faire ouvrir le port 161/udp pour l'IP 147.99.102.13 (http://subios.toulouse.inra.fr)

Tutoriels utiles et autre documentation

Emmanuel Courcelle 2009/08/14 13:05

installation_du_serveur_xen.txt · Last modified: 2011/10/17 18:31 by carrere