Serveurs Virtuels · 9 min read · Dec 07, 2025
Xen Sur Debian Wheezy Avec LVM
Xen Sur Debian Wheezy Avec LVM
Auteur : Jason Norwood-Young jason [at] freespeechpub dot co dot za
Alors vous avez des besoins sérieux en matière de serveur. Vous voulez une multitude de serveurs, avec quelques systèmes d’exploitation, exécutant leurs propres sites fous faisant des choses justes, servant le monde et le rendant meilleur. Il n’y a qu’un seul problème - vous êtes pauvre. Trop pauvre pour démarrer des serveurs AWS et Rackspace sans compter les heures qu’ils sont en ligne, et pleurer chaque fois que vous recevez la facture.
Ne vous inquiétez pas - vous pouvez avoir ce que vous cherchez, pour beaucoup moins cher que ces serveurs cloud ne vous coûtent, surtout si vous avez besoin qu’ils soient en ligne 24/7/365. Avec la virtualisation, vous pouvez utiliser un gros serveur pour héberger beaucoup de petits serveurs. C’est presque comme avoir votre propre cloud !
Ce tutoriel couvre l’installation de Xen et votre première machine virtuelle sur Debian Wheezy. Si vous utilisez Squeeze, consultez le tutoriel de Falko Timme, qui m’a servi d’inspiration pour le mien (même si nous faisons les choses un peu différemment).
0. Choisir un serveur pour exécuter cela
Alors j’utilise Hetzner Allemagne. Pourquoi ? Parce qu’ils sont sacrément bon marché. Avec un environnement virtualisé, ce que vous recherchez vraiment, c’est beaucoup de mémoire. Plus vous avez de mémoire, plus vous pouvez entasser de systèmes virtuels, et plus ils peuvent être grands. J’ai deux serveurs de 32 Go, ce qui me permet d’exécuter environ 8 serveurs entre 1 Go et 4 Go chacun sans problème. Ce n’est pas une recommandation de quelque sorte et je n’ai aucune relation avec Hetzner à part leur donner mon argent durement gagné chaque mois.
Ce que vous recherchez, c’est un fournisseur qui vous donnera un serveur root à un prix raisonnable, avec beaucoup et beaucoup de mémoire, et la capacité de redémarrer à distance et de secourir au cas où vous feriez vraiment une erreur.
1. Installer Xen
Je suppose que vous avez installé Wheezy, que vous êtes connecté en tant que root, et que vous avez effectué toutes les mises à jour et mises à niveau apt-get nécessaires. Alors, commençons !
apt-get install xen-linux-system xen-toolsCela installe Xen, quelques trucs à haute mémoire, et les très utiles xen-tools que nous utiliserons pour créer nos images virtuelles plus tard.
Ensuite, nous voulons dire à Xen comment gérer le réseau. J’ai une petite confession à faire : je ne suis pas un gars du réseau. En fait, je déteste le réseau. C’est la plomberie d’Internet, et je refuse de me pencher et de montrer ma fente de plombier. Et le réseau Xen est compliqué, avec des routes et des ponts bizarres et Dieu sait quoi d’autre. Donc, je fais juste la solution la plus facile, la plus rapide et la plus sale - je le mets en mode NAT. (Non, je ne sais pas vraiment ce qu’est le NAT, mais ça fonctionne, d’accord ? Arrêtez de poser des questions.)
pico /etc/xen/xend-config.sxpDécommentez les deux lignes suivantes :
(network-script network-nat)
(vif-script vif-nat)Bien que nous ayons installé Xen, il n’est en fait pas en cours d’exécution. Xen fonctionne au niveau du noyau, ce qui signifie que vous devez réellement démarrer sous Xen.
Tout d’abord, nous devons dire à Debian de démarrer Xen au lieu de son noyau habituel :
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen update-grubEnsuite, nous devons redémarrer :
rebootJe sais que vous avez hâte de vous connecter en ssh à votre nouveau système Xen génial, mais laissez-lui une seconde pour redémarrer.
D’accord, essayez maintenant.
Et maintenant ?
Vous êtes dedans ? Tout va bien ? Bien. Continuons.
2. Contrôler Xen
Alors maintenant, vous voulez vous assurer que Xen fonctionne réellement. Sur Squeeze, vous pouviez simplement exécuter uname -r, et vous verriez quelque chose comme : 2.6.32-5-xen-amd64. Pour une raison mystérieuse inconnue de l’humanité, cela ne fonctionne pas sur Wheezy, alors faites plutôt ceci :
xen dmesgVous devriez voir quelque chose comme :
(XEN) Version de Xen 4.1.4 (Debian 4.1.4-3+deb7u1) ([email protected]) (gcc version 4.7.2 (Debian 4.7.2-5) ) Dimanche 5 mai 14:44:49 UTC 2013
(XEN) Chargeur de démarrage : GRUB 1.99-27+deb7u2
(XEN) Ligne de commande : placeholder
(XEN) Informations vidéo :
(XEN) VGA est en mode texte 80x25, police 8x16
(XEN) Méthodes VBE/DDC : V2 ; Temps de transfert EDID : 1 seconde
(XEN) Informations sur le disque :
(XEN) Trouvé 2 signatures MBR
(XEN) Trouvé 2 structures d'information EDD
...Si vous ne voyez pas cela, vous avez fait quelque chose de mal. Revenez en arrière et réessayez. Pour tout le monde, SUCCÈS ! Félicitations ! Vous avez maintenant une instance Dom0 géniale !
Dom-quoi ? Qui vous appelle dom ?
Détendez-vous, mon gars. Dom0, ou Domaine 0, est votre serveur hôte, celui sur lequel vous êtes maintenant, le bas de la pile. Les serveurs invités sont appelés DomU, probablement parce que cela sonne aussi légèrement insultant.
xm listNom ID Mem VCPUs État Temps(s)
Domaine-0 0 31089 8 r—— 8.8Cette commande liste tous nos serveurs virtuels, y compris Dom0. Pour le moment, c’est le seul serveur que nous avons en cours d’exécution.
Nous pouvons faire beaucoup de choses avec xm, y compris xm create qui démarre un serveur, xm destroy qui tue un serveur, xm reboot qui redémarre un serveur, et xm top qui surveille tous les serveurs en cours d’exécution.
3. Configurer LVM
Vous pouvez créer des serveurs Xen soit en tant que périphériques de bloc, soit en tant qu’instances LVM. J’aime LVM, parce que c’est plus viril, et cela rend également beaucoup plus facile le redimensionnement des partitions plus tard.
Tout d’abord, nous avons besoin d’un disque vide et démonté pour mettre LVM. Je n’ai pas de disque vide et démonté, donc je vais juste en voler un à mon serveur.
df -hSystème de fichiers Taille Utilisé Disponible Utilisation% Monté sur
rootfs 1008G 915M 956G 1% /
udev 10M 0 10M 0% /dev
tmpfs 3.0G 292K 3.0G 1% /run
/dev/disk/by-uuid/5642a4c4-1bcb-49e2-b89c-7d754e6a521a 1008G 915M 956G 1% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 9.2G 0 9.2G 0% /run/shm
/dev/md1 496M 34M 437M 8% /boot
/dev/md3 1.7T 196M 1.7T 1% /home1.7 To pour /home ? Vous êtes sérieux ? Cela semble totalement inutile.
pico /etc/fstabCommentez le disque problématique
#/dev/md/3 /home ext4 defaults 0 0Démontez le disque
umount /dev/md3Bien, maintenant nous pouvons créer notre partition LVM.
pvcreate /dev/md3 Écriture des données du volume physique sur le disque "/dev/md3"
Volume physique "/dev/md3" créé avec succèsvgcreate xen-vol /dev/md3vgdisplay --- Groupe de volumes ---
Nom VG xen-vol
ID système
Format lvm2
Zones de métadonnées 1
Numéro de séquence de métadonnées 1
Accès VG lecture/écriture
État VG redimensionnable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
Taille VG 1.71 TiB
Taille PE 4.00 MiB
Total PE 448996
PE alloués / taille 0 / 0
PE libre / taille 448996 / 1.71 TiB
UUID VG wa0QCN-lBc1-545B-zMwf-vIuS-VXXI-GZAfbWJuste !
4. Configurer Xen Tools
Xen Tools rend notre vie Xen beaucoup plus facile, surtout en ce qui concerne la création de nouveaux serveurs. Mais d’abord, nous devons le configurer un peu.
pico /etc/xen-tools/xen-tools.conflvm = xen-vol
size = 20Gb # Taille de l'image disque.
memory = 4Gb # Taille de la mémoire
swap = 512Mb # Taille de l'échange
gateway = 192.168.1.2
netmask = 255.255.0.0
broadcast = 192.168.1.255
mirror = http://ftp.de.debian.org/debian/
mirror_precise = http://archive.ubuntu.com/ubuntu # (et d'autres que vous voulez)
serial_device = hvc0
disk_device = xvda #par défaut
copyhosts = 15. Créer un serveur invité
Il est temps pour l’événement principal ! C’est le processus que vous répéterez chaque fois que vous voudrez créer un nouveau serveur invité Xen.
Pour notre premier serveur de test, je vais faire quelque chose d’un peu plus petit que les valeurs par défaut que nous avons définies dans xen-tools.conf. Vous pouvez remplacer n’importe lequel des paramètres par défaut en ligne de commande, selon ce que vous voulez. Puisque nous n’utilisons pas de serveur dhcp, vous devrez définir “hostname” et “ip” à chaque fois. Tout le reste est optionnel.
xen-create-image --hostname=test --ip=192.168.1.99 --memory=512Mb --size=5G --swap=256KbInformations générales
--------------------
Nom d'hôte : test
Distribution : wheezy
Miroir : http://ftp.de.debian.org/debian/
Partitions : swap 256Kb (swap)
/ 5G (ext3)
Type d'image : complet
Taille de la mémoire : 512Mb
Chemin du noyau : /boot/vmlinuz-3.2.0-4-amd64
Chemin de l'Initrd : /boot/initrd.img-3.2.0-4-amd64
Informations sur le réseau
----------------------
Adresse IP 1 : 192.168.1.99 [MAC: 00:16:3E:27:33:2D]
Masque de sous-réseau : 255.255.0.0
Diffusion : 192.168.1.255
Passerelle : 192.168.1.2
Création de l'échange sur /dev/xen-vol/test-swap
Fait
Création du système de fichiers ext3 sur /dev/xen-vol/test-disk
Fait
Méthode d'installation : debootstrap
Exécution des hooks
Fait
Aucun script de rôle n'a été spécifié. Ignorer
Création du fichier de configuration Xen
Fait
Aucun script de rôle n'a été spécifié. Ignorer
Configuration du mot de passe root
Génération d'un mot de passe pour le nouvel invité.
Tout est fait
Fichier journal produit à :
/var/log/xen-tools/test.log
Résumé de l'installation
---------------------
Nom d'hôte : test
Distribution : wheezy
Adresse IP(s) : 192.168.1.99
Empreinte RSA : de:92:b7:63:55:20:74:46:d3:de:cc:ff:55:22:69:24
Mot de passe root : MlkaIn8Cela crée le fichier de configuration et la partition pour nous, mais ne démarre pas le serveur pour nous. Le fichier de configuration se trouve à /etc/xen/hostname.cfg. Vous pouvez modifier ce fichier directement si vous devez changer des choses comme la mémoire plus tard.
Allons-y et démarrons le serveur
xm create /etc/xen/test.cfgUtilisation du fichier de configuration "/etc/xen/test.cfg".
Domaine test démarré (id=1)Ce qui est plutôt cool, c’est que “test” sera ajouté à notre fichier /etc/hosts, ce qui signifie que nous pouvons simplement faire ceci :
ssh testUtilisez le mot de passe que vous avez reçu à la fin de la sortie de xen-create-image, et vous êtes dedans !
Assurez-vous que vous pouvez voir les interwebs :
ping google.comPING google.com (173.194.70.113) 56(84) octets de données.
64 octets de fa-in-f113.1e100.net (173.194.70.113) : icmp_req=1 ttl=48 time=6.05 ms
64 octets de fa-in-f113.1e100.net (173.194.70.113) : icmp_req=2 ttl=48 time=6.03 ms
^C
--- statistiques de ping google.com ---
2 paquets transmis, 2 reçus, 0% perte de paquets, temps 1001ms
rtt min/moy/max/mdev = 6.030/6.044/6.058/0.014 ms6. Prenez une bière
Vous le méritez !
7. Pointer des adresses IP vers vos serveurs virtuels
Vous aurez besoin d’un tas d’adresses IP de votre FAI (appelé un sous-réseau). Je paie un peu plus par mois pour huit adresses IP supplémentaires. Mais les faire passer directement à votre serveur virtuel nécessite un peu de travail.
pico /etc/network/interfacesauto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.0.0
pre-up brctl addbr $IFACE
post-down brctl delbr $IFACE/etc/init.d/networking restartifconfig br0br0 Link encap:Ethernet HWaddr 82:18:d1:b8:37:c9
inet addr:192.168.1.2 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::9118:d1ff:feb8:37c9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:172 (172.0 B)ip addr add 80.1.2.41 dev eth0iptables -A PREROUTING -t nat -p all -i eth0 -d 80.1.2.41 -j DNAT --to 192.168.1.99Utilisez –bridge=br0 lors de l’utilisation de xen-create. Pour les fichiers /etc/xen/*.cfg existants, modifiez cette ligne :
vif = [ 'ip=192.168.1.99,mac=00:15:3F:B4:AC:34' ]pour ressembler à ceci :
vif = [ 'ip=192.168.1.99,mac=00:15:3F:B4:AC:34','bridge=br0' ]Détruisez et créez le serveur virtuel si nécessaire.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.