Vous êtes ici : Accueil / Debian GNU/Linux / Système / Xen / Créer un domaine Xen

Créer un domaine Xen

Par Pierre-Yves Landuré Dernière modification 08/11/2017 14:54

Ce guide vous aide à utiliser xen-tools pour mettre en place un domaine Xen avec une partition /var séparée.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy

Prérequis

Ce guide nécessite:

Paramètres

Choisissez le nom d'hôte du futur domaine:

XEN_HOST="host.domain.xen1"

Je vous propose d'utiliser la convention de nommage suivante:

  • host: Code pour l'utilisation de la machine, par exemple: mysql pour un serveur MySQL.
  • domain: Nom de l'entreprise, par exemple: biapy
  • xen1: Code pour le serveur Xen, par exemple: ovh3 pour le 3ème serveur hébergé par OVH.

Cela donne:

XEN_HOST="mysql.biapy.ovh3"

Renseignez la taille de l'espace dédié aux données variables du domaine (ici, 10Go):

XEN_VAR="10g"

Renseignez l'adresse IP assignée au futur domaine:

XEN_IP="10.0.0.3"

Remarque: Pour obtenir l'adresse IP du domaine en DHCP, utilisez:

# XEN_IP="dhcp"

Création du domaine

Initialisation

Vérifiez les paramètres de l'adresse IP:

if [ "${XEN_IP}" = "dhcp" -o -z "${XEN_IP}" ]; then
IP_OPTIONS="--dhcp"
else
IP_OPTIONS="--ip ${XEN_IP}"
fi

Initialisez le domaine:

command xen-create-image --hostname "${XEN_HOST}" \
    ${IP_OPTIONS} --passwd --role automatic

Ajout d'un système de fichier /var

Selon les recommandations de la Linux Standard Base, le chemin "/var" contient les fichiers pouvant être modifiés par le système (base de données, e-mails, données des sites Internet, sauvegardes, etc...). Ce guide assigne un espace disque dédié à cette partition pour faciliter l'ajustement de sa taille en fonction des besoins du domaine créé.

Créez le volume logique LVM du système de fichier:

LVM_VG=$(command grep 'lvm' '/etc/xen-tools/xen-tools.conf' \
| command sed -e 's/lvm = //') command lvcreate -n "${XEN_HOST}-var" -L "${XEN_VAR}" "${LVM_VG}" command mkfs.ext4 "/dev/${LVM_VG}/${XEN_HOST}-var"

Modifiez le domaine pour l'utiliser:

command umount "/dev/${LVM_VG}/${XEN_HOST}-disk"
MOUNT_POINT=$(command mktemp -d)
command mount "/dev/${LVM_VG}/${XEN_HOST}-disk" "${MOUNT_POINT}"
DISK_TYPE="sda"
if [ -n "$(command grep -e "xvda" "${MOUNT_POINT}/etc/fstab")" ]; then
  DISK_TYPE="xvda"
fi
command echo "/dev/${DISK_TYPE}3   /var    ext4    defaults                0       1" \
>> "${MOUNT_POINT}/etc/fstab" VAR_MOUNT_POINT=$(command mktemp -d) command mount "/dev/${LVM_VG}/${XEN_HOST}-var" "${VAR_MOUNT_POINT}" command cp -a "${MOUNT_POINT}/var/"* "${VAR_MOUNT_POINT}" command umount "${VAR_MOUNT_POINT}" command umount "${MOUNT_POINT}" if [ $(command grep "disk[\t ]*=.*\]" "/etc/xen/${XEN_HOST}.cfg" \
| command wc --lines) -eq 0 ]; then command sed -i -e "/^disk[\t ]*=.*/a\\ 'phy:${LVM_VG}\/${XEN_HOST}-var,${DISK_TYPE}3,w'," \ "/etc/xen/${XEN_HOST}.cfg" else command sed -i \
-e "s/^\(disk[\t ]*=.*\)\]/\1, 'phy:${LVM_VG}\/${XEN_HOST}-var,sda3,w' ]/" \
"/etc/xen/${XEN_HOST}.cfg" fi

Démarrage

Activez le nouveau domaine avec:

command xm create "/etc/xen/${XEN_HOST}.cfg"

Configurez l'activation automatique du domaine au démarrage du système:

command mkdir --parents "/etc/xen/auto"
command mv "/etc/xen/${XEN_HOST}.cfg" "/etc/xen/auto"

Résolution des problèmes

Domaines Ubuntu

Les domaines Ubuntu posent parfois des problèmes de configuration des locales. Si c'est le cas, générez vos locales:

command locale-gen 'fr_FR.UTF-8'

Modifier le fichier "/etc/environment" et assurrez-vous qu'il contient:

LANG=fr_FR.UTF-8

Redémarrez le domaine pour prendre en compte les modifications.