Configuration Xen · 5 min read · Feb 10, 2026

La configuration parfaite de Xen 3.0.3 pour Debian Sarge - Page 3

4.4 Créer une machine virtuelle (domU)

(Veuillez noter : la création d’image dépend de si vous avez installé Xen à partir des sources ou des binaires. Si vous avez installé Xen à partir des binaires, veuillez vous référer au chapitre 5.2 !)

Ensuite, nous créons une image d’une machine virtuelle. Ce sera un système Debian de base. Cette image sera le modèle pour toutes nos machines virtuelles. Chaque fois que nous voulons créer une nouvelle machine virtuelle, nous copions simplement cette image, créons un nouveau fichier de configuration Xen et démarrons la copie, puis nous pouvons continuer et configurer la copie selon nos besoins (par exemple, installer un serveur de messagerie, un serveur web, un serveur DNS, etc.). Toutes nos images seront sur la partition /vserver qui devrait être la plus grande que nous avons.

mkdir /vserver/vm_base  
mkdir /vserver/images

Maintenant, nous créons un fichier image de 1 Go et une image swap de 500 Mo. À la fin, les machines virtuelles auront 1 Go d’espace et 500 Mo de swap. Ce ne sont que des valeurs d’exemple, dans le monde réel, vous voudrez peut-être avoir plus d’espace pour vos machines virtuelles (par exemple, entre 5 et 30 Go), donc il suffit d’augmenter la valeur de count pour créer des images plus grandes.

dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000  
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500

Ensuite, nous formatons /vserver/images/vm_base.img avec ext3 et vm_base-swap.img avec swap :

mkfs.ext3 /vserver/images/vm_base.img

Lorsque vous voyez ce qui suit, répondez par y :

/vserver/images/mail.img n'est pas un périphérique spécial de bloc.  
Procéder quand même ? (y,n) <-- y
mkswap /vserver/images/vm_base-swap.img

4.4.1 Installer un Debian de base dans l’image

Pour installer un système Debian de base dans notre image, nous montons l’image, exécutons debootstrap et quelques autres commandes :

mount -o loop /vserver/images/vm_base.img /vserver/vm_base  
debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debian
chroot /vserver/vm_base  
apt-setup

On vous pose la question suivante :

Méthode d’accès aux archives pour apt : <– http

Ensuite, sélectionnez un miroir proche de vous.

Après cela, éditez /etc/apt/sources.list et remplacez testing par stable. Voici à quoi ressemble mon /etc/apt/sources.list :

vi /etc/apt/sources.list

| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main |

Ensuite, exécutez

apt-get update

Maintenant, nous configurons nos locales. Si nous ne le faisons pas maintenant, nous verrons des avertissements peu agréables pendant la configuration de base comme ceux-ci :

| perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_DE:en_US:en_GB:en", LC_ALL = (unset), LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory |

Ce ne sont pas graves, mais c’est moche… Donc nous exécutons

apt-get install localeconf

On vous posera quelques questions :

Sélectionner les locales à générer. <– en_US ISO-8859-1
Quelle locale devrait être la par défaut dans l’environnement système ? <– en_US
Gérer les fichiers de configuration des locales avec debconf ? <– Oui
Paramètres d’environnement qui devraient remplacer la locale par défaut : <– ne sélectionnez rien
Remplacer les fichiers de configuration des locales existants ? <– Oui
Locale système par défaut : <– par exemple, en_US ISO-8859-1

Ensuite, exécutez

base-config

Vous verrez un menu avec des options d’installation. Voici ce que nous faisons :

  1. Configurer le fuseau horaire
  2. Configurer les utilisateurs et les mots de passe
  3. Sélectionner et installer des paquets (quand il s’agit de Choisir le logiciel à installer :, vous pouvez choisir ce que vous voulez ; moi, cependant, je ne choisis rien car je veux installer un système de base.)
  4. Terminer la configuration du système de base

Ne vous occupez pas des autres éléments du menu, vous n’en avez pas besoin. Ensuite, nous supprimons nfs-common et supprimons /etc/hostname :

apt-get remove nfs-common  
rm -f /etc/hostname

Ensuite, éditez /etc/fstab. Il devrait ressembler à ceci :

vi /etc/fstab

| /dev/hda1 / ext3 defaults 1 2 /dev/hda2 none swap sw 0 0 /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 |

Changez /etc/network/interfaces pour qu’il ressemble à ceci :

vi /etc/network/interfaces

| auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 |

Ensuite, créez /etc/hosts :

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost # Les lignes suivantes sont souhaitables pour les hôtes capables d'IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |

Ensuite, nous éditons les scripts /etc/init.d/hwclock.sh et /etc/init.d/hwclockfirst.sh et ajoutons la ligne exit 0 tout au début car sinon ces deux scripts ralentiront vraiment le démarrage de nos machines virtuelles :

vi /etc/init.d/hwclock.sh

| #!/bin/sh # hwclock.sh Réglez et ajustez l'horloge CMOS, selon le UTC # réglage dans /etc/default/rcS (voir aussi rcS(5)). # # Version : @(#)hwclock.sh 2.00 14-Déc-1998 [email protected] # # Patches : # 2000-01-30 Henrique M. Holschuh <[email protected]> # - Changements cosmétiques mineurs dans une tentative d'aider les nouveaux # utilisateurs à remarquer que quelque chose CHANGE leurs horloges # pendant le démarrage/l'arrêt. # - Ajout de commentaires pour alerter les utilisateurs des problèmes d'horloge # et décourager les manipulations sans lecture de la documentation appropriée. # AVERTISSEMENT : Veuillez lire /usr/share/doc/util-linux/README.Debian.hwclock # avant de modifier ce fichier. Vous risquez de graves problèmes d'horloge # sinon. exit 0 [...] |

vi /etc/init.d/hwclockfirst.sh

| #!/bin/bash # hwclockfirst.sh Réglez l'horloge système sur l'horloge matérielle, selon le UTC # réglage dans /etc/default/rcS (voir aussi rcS(5)). # # # AVERTISSEMENT : S'exécute sans autorisation d'écriture sur /etc, et avant # le montage de tous les systèmes de fichiers ! Si vous avez besoin d'une autorisation d'écriture # pour faire quelque chose, faites-le dans hwclock.sh. # # AVERTISSEMENT : Si votre horloge matérielle n'est pas en UTC/GMT, ce script # doit connaître le fuseau horaire local. Cette information est # stockée dans /etc/localtime. Cela pourrait être un problème si # votre /etc/localtime est un lien symbolique vers quelque chose dans # /usr/share/zoneinfo ET /usr n'est pas dans la partition racine ! La solution de contournement est de définir TZ soit # dans /etc/default/rcS, soit à l'endroit approprié ci-dessous. # # N'OUBLIEZ PAS D'ÉDITER hwclock.sh ÉGALEMENT ! # Définissez ceci sur toutes les options que vous pourriez avoir besoin de donner à hwclock, telles # que le type d'horloge matérielle de la machine pour les Alphas. exit 0 HWCLOCKPARS= [...] |

Maintenant, nous quittons l’environnement chroot :

exit

Ensuite, nous copions les modules du noyau dans notre image de machine virtuelle et démontons l’image :

cp -dpR /lib/modules/2.6.16.29-xenU /vserver/vm_base/lib/modules/  
mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled  
fuser -k /vserver/vm_base  
umount /vserver/vm_base

Maintenant, notre modèle d’image de machine virtuelle est prêt !

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.