VServer

De Cliss XXI
Révision datée du 4 avril 2008 à 20:49 par imported>SylvainBeucler (→‎Survie : suppression to '/' en fin d'adresse de miroir - vserver en rajoute un tout seul)
Sauter à la navigation Sauter à la recherche

Atouts

  • on peut "entrer" dans un vserver depuis l'hôte sans passer par login (pas de mot de passe) (vserver monvserver enter)
  • pas d'émulation, donc rapidité
  • fonctionne comme un chroot sécurisé - pas besoin d'image disque ou de partition LVM séparée
  • peut partager des dossiers entre vservers, en lecture seule ou en écriture
  • une version pour tous les noyaux Linux - pas besoin de régresser à 2.6.18
  • fonctionne partout, serveurs ou portables (pas besoin de PAE)
  • très proche d'un noyau classique, pas de comportement bizarre à la Xen (port série, clavier...)
  • l'hôte peut éventuellement voir tous les processus hébergés, la charge totale, etc. Ce n'est pas juste un vserver parmi les autres.

Inconvénient

  • pas d'émulation réseau, donc pare-feu centralisé sur l'hôte (pas d'iptables dans les vservers)
  • configuration mal agencée

Survie

  • Création:
vserver monvserver build -m debootstrap -- -d etch -m http://mirror/debian
  • Lister les VServers:
vserver-stat
  • Entrer dans un VServer:
vserver monvserver enter
  • (re)Démarrer un VServer:
vserver monvserver stop
vserver monvserver start
vserver monvserver restart
  • Emplacement physique:
/vservers/monvserver/
/etc/vservers/monvserver/ # configuration

Renommer un VServer

Fichiers concernés:

/vservers/monvserver
/etc/vservers/monvserver
/etc/vservers/monvserver/name
/etc/vservers/monvserver/uts/nodename
/etc/vservers/monvserver/cache -> /etc/vservers/.defaults/cachebase/monvserver
/etc/vservers/monvserver/vdir -> /etc/vservers/.defaults/vdirbase/monvserver

Par script:

FROM=download
TO=sftp
vserver $FROM stop
mv /vservers/$FROM /vservers/$TO
mv /etc/vservers/$FROM /etc/vservers/$TO
echo $TO > /etc/vservers/$TO/name
echo $TO > /etc/vservers/$TO/uts/nodename
ln -sf /etc/vservers/.defaults/cachebase/$TO /etc/vservers/$TO/cache
ln -sf /etc/vservers/.defaults/vdirbase/$TO /etc/vservers/$TO/vdir
vserver $TO start

Vous aurez peut-être besoin de modifier également /vservers/$TO/etc/hosts.

Vérifiez enfin vos fstab.remote si vous avez partagé des dossiers entre vservers.

Précis de configuration

  • context: mettre un identifiant numérique unique pour le vserver
  • name: le nom dans vserver-stat
  • lancement automatique au démarrage de l'hôte: echo "default" > apps/init/mark
  • le hostname du vserver: uts/nodename
  • autoriser un vserver de sauvegarde (rsync) à utiliser mknod: echo MKNOD >> /etc/vservers/backup/bcapabilities

Optimiser le démarrage

Depuis util-vserver >= 0.30.214, util-vserver optimise le démarrage en supprimant des entrées dans /etc/rc?.d. Attention cependant, cela rend plus difficile de migrer le vserver vers une autre solution de virtualisation.

Si vous souhaitez en profiter pour d'ancien vservers sans les réinstaller, cf. /usr/lib/util-vserver/distributions/debian. Ou plus directement:

NAME=builder
for i in bootlogd checkfs checkroot halt hwclock.sh ifupdown klogd \
         libdevmapper1.02 makedev module-init-tools mountall.sh \
         mountdevsubfs.sh mountnfs.sh mountkernfs.sh mountvirtfs \
         networking reboot setserial single stop-bootlogd \
         stop-bootlogd-single umountfs umountnfs.sh umountroot \
         urandom; do
    vserver "$NAME" exec update-rc.d -f "$i" remove
done

Liens