Outils pour utilisateurs

Outils du site


projets:serveurs

Configuration des serveurs

Le pad pour les prises de notes : http://pad.faimaison.net/p/config-serveurs

Les machines

  • Mutine :
    • eth0 (vlan management) :
      • IPMI : 10.10.10.10/24
      • OS : 10.10.10.20/24
    • eth1 (bridge xen) : 10.10.20.10/24
  • Dramm-hud:
    • eth0 (vlan management) :
      • IPMI : 10.10.10.11/24
      • OS : 10.10.10.21/24
    • eth1 (bridge xen) : 10.10.20.11/24

Installation des machines

  • Debian Jessie 64
  • Netboot
  • (après tests, le boot sur USB est compliqué sur ces machines, on s'y est cassé les dents un certain temps)

Installation des paquets

  • xen-linux-system-amd64
  • xen-tools

(Xen est un hyperviseur de machine virtuelle)

Grub

  • Modifier l'ordre de démarrage par défaut pour booter sur le noyau xen
  • Lister les kernels disponibles et leur index
$ grep ^menuentry /boot/grub/grub.cfg | cut -d "'" -f2
  • Éditer le fichier '/etc/default/grub' pour indiquer quelle entrée démarrer par defaut. Attention Grub commence à compter à partir de 0
GRUB_DEFAULT=0                  # <= Ligne à modifier
(GRUB_DEFAULT=2 dans notre cas)
  • Recharger la conf de grub :
  $ sudo update-grub

IPMI

Pour faire fonctionner l'IPMI sur nos R210, on doit configurer le BIOS pour affecter une IP sur laquelle vont être joignables nos machines.

Par la suite, depuis ipmitool on prendra soin de paramétrer l'interface sur le vlan de manangement :

 $ ipmitool lan set 1 vlan id <vlan id>

Pour que l'IPMI fonctionne sur les R210, le serveur doit utiliser le port série COM2 comme sortie console :

Puis on configure GRUB pour qu'il utilise, attention ici nous travaillons avec un kernel Xen :

FIXME actuellement, les logs du boot de l'OS ne sont envoyés que vers la console série, pas vers l'écran

  GRUB_CMDLINE_LINUX="console=hvc0 earlyprintk=xen"
  GRUB_TERMINAL="serial"
  GRUB_SERIAL_COMMAND="serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1"
  GRUB_CMDLINE_XEN_DEFAULT="dom0_max_vcpus=1 dom0_vcpus_pin dom0_mem=512M,max:512M"
  GRUB_CMDLINE_XEN="loglvl=all guest_loglvl=all com2=115200,8n1 console=com2,vga"

Puis on met à jour notre config grub2 :

  $ sudo update-grub

Liens :

Xen Tools (déprécié)

Création d'une VM de test

Modification de la configuration des VMs par defaut dans /etc/xen-tools/xen-tools.conf

  • size = 10G
  • memory = 512M
  • noswap = 1
  • fs = ext4
  • dist = `xt-guess-suite-and-mirror –suite (determine par la distribution sur le Dom0)
  • dhcp = 1
  • bridge = xenbr0
  • arch = amd64
  • lvm = xenvg
  • pygrub = 1
  • genpass = 1

Pour créer une VM

xen-create-image --hostname nom_de_la_vm --vcpus nombre_de_vcpus

Systèmes testés :

  • Jessie (PV)
  • NetBSD (PV) (après bricolage de lid) : Ok, mais segfault arbitrairement
  • Ubuntu Trusty (PV) : xen-create-image –hostname trustytest –dist=trusty –mirror=http://archive.ubuntu.com/ubuntu/
  • Gentoo (PV : ne marche pas out-of-the box ()
  • OpenBSD (HVM) :
    • à priori les difficultés d'installation ne viendrait pas du fichier de conf, mais plutôt de la console de xen-tools qui ne nous rend pas la main. En suivant les indications du lien, ci-dessus, on se connecte à la console par vncviewer.
  • Fedora (PV) : WIP (deux méthodes sont possibles : via rpmstrap : failed (non packagé dans debian), et via rinse, fail aussi…)

Memo :

  • PV = paravirt
  • HVM = hardware émulé

Ajout d'un OS sans support de base (exemple : Netbsd)

Démarrage de la machine une fois la VM créée

sudo xl create /etc/xen/nom_de_la_vm.cfg

Customization des VMs

(section THE SKELETON DIRECTORY)

On peut customizer l'installation des VMs en ajoutant des fichiers et répertoires dans le repertoire /etc/xen-tools/skel. Ceux-ci seront copies dans sur toutes les VMs.

On peut ainsi copier la cle SSH (public) sur toutes les VMs de la facon suivante (fait sur mutine) :

           mkdir -p /etc/xen-tools/skel/root/.ssh
           chmod -R 700 /etc/xen-tools/skel/root
           cp /root/.ssh/id_rsa.pub /etc/xen-tools/skel/root/.ssh/authorized_keys
           chmod 644 /etc/xen-tools/skel/root/.ssh/authorized_keys

Assignation d'un VCPU et d'une quantité de RAM fixe à Dom0

Allouer une quantité de RAM fixe à Dom0:

  • /etc/default/grub (grub2)
  • Ajouter la ligne : GRUB_CMDLINE_XEN_DEFAULT=“dom0_mem=512M,max:512M” (512MB alloués ici)
  • puis update-grub

Assigner un VCPU spécifique à dom0 :

Notre ligne grub spécifique à Xen devient donc:

  • GRUB_CMDLINE_XEN_DEFAULT=“dom0_max_vcpus=1 dom0_vcpus_pin dom0_mem=512M,max:512M”
  • puis update-grub

Ainsi, Dom0 aura toujours un CPU assigné et 512Mo de RAM (sans ballooning)

Installation Ganeti

Notes

  • Le groupe LVM est crée automatiquement si besoin par xen-tools.
    • En premier lieu on a les partitions physiques.
    • Ensuite, un groupe LVM réunit une ou plusieurs de ces partitions physiques.
    • Puis, au sein d'un groupe LVM, on vient créer des partitions logiques.
  • Pas de crochet pour l'architecture (c.a.d `arch = amd64` pas `arch = [amd64]`).
  • Pour voir ce qui se passe sur l'hyperviseur :
# xentop
  • Interface de l'hyperviseur (xen 4.4) :
'XL - Xen management tool'
  • Commandes pratiques :
# xl info      "Info sur l'hyperviseur"
# xl list      "Toutes les machines connues par xen (y compris dm0)"
# xl vm-list   " Lister les VM"
# xl top       "Info en temps reel sur les VMs actives"
  • Pour récupérer une console sur la VM :
# xl console <nom de la VM>
  • Pour se déconnecter de la console : Ctrl-]

Documentation

projets/serveurs.txt · Dernière modification : 2016/12/29 16:05 de daimrod