Dedibox XC

De SeRoM - Wiki
Aller à : navigation, rechercher

Console

Prérequis

Pour lancer la console, il faut un environnent Java Web Start. Si vous n'avez pas IcedTea vous recevez le message d'erreur suivant.

"You need the latest Java(TM) Runtime Environment. Would you like to update now?"

On install donc l'implémentation free du Java Web Start: icedtea-web

 ~# yum install icedtea-web

Note

Note

visiblement sous Debian icedtea fait partie du package openjdk-6-jre.

Boot depuis un ISO

On monte une image ISO comme media virtuel:

> Virtual Media > Virtual Storage

  • Logical Drive Type: ISO File
  • Image File Name and Full Path: Browse

Cliquez sur Plug in puis OK.

Et on redémarre la machine

> Power Control > Set Power Reset

Tapez sur F11 pour afficher le boot menu. Selectionnez ATEN Virtual CDROM YSOJ.

ref: https://www.youtube.com/watch?v=dyll_txEx14

KVM Host

Partitionnement

  • sda1 - 500MB: /boot
  • sda2 - 2GB: SWAP
  • sda3 - le reste: LVM 1PV
    • vg-main/lv-host-root - 30GB: /
    • vg-main/lv-host-var - 20GB: /var

Installation KVM - Qemu

On installe les différents paquages utiles pour monter un serveur Host KVM:

 ~# apt install qemu-kvm libvirt-bin bridge-utils

Configurations réseau

On veut que nos machines virtuelles puisse être joignable depuis le monde extérieur. On va pour cela configurer un bridge publique.

Initalement votre configuration /etx/network/interfaces devrait ressembler à quelques chose comme ceci:

 source /etc/network/interfaces.d/*
 
 auto lo
 iface lo inet loopback
 
 allow-hotplug eth0
 iface eth0 inet dhcp

On va remplacer/renommer notre interface eth0 en br0 que sera plus adapté à l'utilisation que l'on va en faire:

 ~# vim /etc/network/interfaces
      source /etc/network/interfaces.d/*
      
      auto lo
      iface lo inet loopback
      
      auto br0
      allow-hotplug br0
      iface br0 inet dhcp
      	bridge_ports    eth0
      	bridge_stp      off
      	bridge_maxwait  0
     	bridge_fd       0

Attention

Attention

Pensez à Murphy et assurez-vous que vous avez un accès console fonctionnel le cas échant ou la configuration échouerait...

On redémarre le script service networking

 ~# systemctl restart networking.service

Attention

Attention

Visiblement dans ce cas, le ifdown de l'ethO ne se fait pas propremant, je me suis donc retrouvé avec 2 interfaces revendiquant la même adresse IP. Et dans un laps de temps relativement court, je n'avais plus accès au serveur via le réseau.

Un reboot a remis l'ordre qu'il faut et à réglé ce conflit.

Configurations génériques (facultatives)

J'aime bien configurer une certain nombre de choses (ssh, iptables, syslog, vim, bash,...) sur mes machines pour qu'elles soient toutes au carré. Vous pouvez jeter un œil sur ces manipulations sur la page dédié à cela.

Note

Note

Les configurations suivantes ne sont en rien nécessaires à la construction d'un 'Host KVM'. Il s'agit juste des configurations que je met en place par habitude sur mes serveurs.

VM Guest

Création de notre première VM. Commençons par lui créer un espace disque sur notre LVM

Partition

On est parti pour créer une partition de 100G sur notre volume groupe vg01:

 ~# lvcreate -n lv-vm01 -L 100G vg01

Création de la VM

Il nous faut récupérer une image de netinstall Debian:

 ~$ wget dehttp://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso

Pour créer et installer notre première VM, nous avons plusieurs méthode:

virsh

La première, la plus bas niveau, est d'utiliser virsh et avec un fichier xml. Mais l'envie me manque pour éditer la description de la VM en xml from scratch (même depuis un exemple). ;-P

virt-install

Seconde Méthode étant virt-install. J'aime tout de suite beaucoup plus la possibilité de passer la description de la VM en ligne de commande. Ceci dit, autre problème survient. Pour lancer l'installation, soit elle est entièrement automatisée (PXE,tftboot,kickstart,preseed,...) ce qui n'est pas notre cas, soit on a besoin d'avoir une interface pour répondre au question de l'installation. Le plus courrant est de passer via VNC pour récupérer la console:

 ~# virt-install -v --os-type=linux -n vm01 -r 2048 --vcpus=2 --disk=/dev/vg01/lv-vm01 --network bridge=br0 --cdrom=/home/user/distro/debian-8.1.0-amd64-netinst.iso  --graphics vnc,password=mot2passe,listen=<ip_source> 

Une seconde possibilité est de rediriger la console vers un ttys. Mais du coup on est obligé de passer par l'option --location pour fournir le cd d'installation:

 ~# virt-install -v --os-type=linux -n vm01 -r 2048 --vcpus=2 --disk=/dev/vg01/lv-vm01 --network bridge=br0 --graphics none -x "console=tty0 console=ttyS0,115200n8" --location=http://ftp.us.debian.org/debian/dists/stable/main/installer-amd64/

virt-manager

Dernière possibilité, c'est avec virt-manager. Là on a carrément le confort de l'interface graphique!

 ~# virt-manager

Ici, pas de problème de redirection de console. Ceci dit, il faut être sûr d'avoir autorisé le X11Forwarding.

 ~# grep X11Forwarding /etc/ssh/sshd_config 
 X11Forwarding yes

Et une fois en root, récupérer en l'xauth de l'utilisateur de connexion (référence).

 user@client~$ ssh -Y user@serveur-kvm
 password: 
 user@serveur-kvm:~$ xauth list
 client/unix:10  MIT-MAGIC-COOKIE-1  132aze133aze321aze321aze321aze
 user@serveur-kvm:~$ su -
 password: 
 user@serveur-kvm:~# xauth add client/unix:10  MIT-MAGIC-COOKIE-1  132aze133aze321aze321aze321aze

Vous pouvez éventuellement donner les droits d'administration de KVM et Libvirt à votre utilisateur de connexion:

 ~# usermod -a -G kvm user
 ~# usermod -a -G libvirt user
 ~# usermod -a -G libvirt-qemu user
 
 ~$ virt-manager

Configurations réseau

Administratif sur Online.net

Dans la console Online.net, il faut au préalable avoir:

  • commandé une IP Failover
  • attribué cette IP Failover à votre serveur (Drag&Drop l'IP de la case IP Failovers vers celle de votre serveurs).
  • déclaré votre une adresse MAC (de type KVM) pour cette IP Failover.

Note

Note

Dans le cas où vous n'avez pas spécifié cette adresse MAC à la création de la VM, vous pouvez adapter cela en allant écrire l'adresse MAC générée par Online dans le fichier xml de votre machine et redémarrer libvirt.

~# vim /etc/libvirt/qemu/vm-01.xml
     ...
     <interface type='bridge'>
 >     <mac address='MAC-ADRESSE'/>
       <source bridge='br0'/>
       <model type='virtio'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </interface>
     ...
~# systemctl restart libvirtd.service

Sur la VM

Et enfin on peut appliquer la configuration réseau sur notre VM avec les infos suivantes

  • Adresse IP: <ip_failover-vm-01>
  • Netmask: 255.255.255.255
  • Gateway: <ip_host-kvm>
  • Mode PointToPoint vers: <ip_host-kvm>
  • DNS servers: 62.210.16.6 62.210.16.7

Malheureusement le Debian-Installer n'accepte pas un masque 255.255.255.255 et ne donne pas la possibilité de fournir une adresse de PointToPoint. On va donc éditer la configuration en post-install:

 ~# vim /etc/network/interfaces
      source /etc/network/interfaces.d/*
      
      auto lo
      iface lo inet loopback
      
      allow-hotplug eth0
      iface eth0 inet static
              address <ip_failover-vm-01>
              netmask 255.255.255.255
              gateway <ip_host-kvm>
              pointopoint <ip_host-kvm>

Configuration accès console

Pour être capable de se connecter sur la console de la machine via virsh console

Draft Draft / Brouillon
Cette page/chapitre est un brouillon, pas un article ou une règle, et peut être incomplète ou non-fiable! Vous êtes invités à faire des suggestions en page de discussion.

Je ne l'ai pas encore fait. En attendant vous pouvez les instructions ici:

Configurations génériques (facultatives)

J'aime bien configurer une certain nombre de choses (ssh, iptables, syslog, vim, bash,...) sur mes machines pour qu'elles soient toutes au carré. Vous pouvez jeter un oeil sur ces manipulations sur la page dédié à cela.

Note

Note

Les configurations suivantes ne sont en rien nécessaires à la construction d'un 'Host KVM'. Il s'agit juste des configurations que je met en place par habitude sur mes serveurs.

Références

  • Setup de KVM/Libvirt sur une dedibox:
http://blog.alteroot.org/articles/2013-09-06/setup-kvm-libvirt-sur-dedibox.html
  • Configuration d’ip failover dedibox avec KVM:
http://obn.me/2011/04/configuration-dip-failover-dedibox-avec-kvm/
  • Installation de KVM sur Ubuntu 14.04 server sur Dedibox:
http://info.chatelier.eu/installation-de-kvm-sur-ubuntu-14-04-server-sur-dedibox/
  • Hetzner Root-Server with Debian/KVM IPv4 and IPv6 Networking:
https://www.sysorchestra.com/2014/11/08/hetzner-root-server-with-kvm-ipv4-and-ipv6-networking/
  • KVM - Setting guest network - Public Bridge:
http://www.linux-kvm.org/page/Networking#public_bridge
  • LibVirt - Networking - Debian/Ubuntu Bridging:
http://wiki.libvirt.org/page/Networking#Debian.2FUbuntu_Bridging
  • Configuration DNS Bind:
http://documentation.online.net/fr/serveur-dedie/tutoriel/gestion-dns-secondaire-dedibox-online