REVISION du 08/03/09: spécificité Lenny

  1. Préambule
  2. Environnement de travail
  3. Installation Openvcp
  4. Création d'un vserver
  5. Galerie et liens



Rappel: Le site : http://linux-vserver.org/Welcome_to_Linux-VServer.org

Linux-VServer provides virtualization for GNU/Linux systems. This is accomplished by kernel level isolation. It allows to run multiple virtual units at once. Those units are sufficiently isolated to guarantee the required security, but utilize available resources efficiently, as they run on the same kernel.

Pour des explications plus approfondies sur les technologies de virtualisation et notamment sur linux-vserver je vous invite à lire ce document :

http:/www.pmenier.info/docext/pdf/LB-virtualisationEntrepriseBearstech.pdf

Ma préférence pour linux-vserver est particulièrement liée à ce passage:

"Le principal problème avec OpenVZ est que SWsoft ne « joue pas le jeu » du logiciel libre. En effet, le projet libre dispose de moins de fonctionnalités que la version propriétaire et payante. La version payante est montrée comme la version complète, alors que la version libre est juste là pour appâter la communauté et attirer les contributions.
De plus, la société se targue de posséder plusieurs brevets sur les méthodes de virtualisation. Le mouvement du logiciel libre étant en général plutôt opposé à l’idée de
brevetabilité des logiciels et des idées, cette mise en avant de brevets logiciels est plutôt malvenue."



J'ajoute que bien qu'effectivement limité en termes de moyens, le projet linux-vserver est toujours très actif et qu'à l'heure où j'écris un patch est disponible pour le noyau 2.6.27.8. Ce patch est toutefois dans la branche experimental car tous les tests n'ont pas encore été effectués. Il est cependant suffisamment abouti pour permettre de l'installer (il est d'ailleurs en place sur le serveur que vous consultez :). Téléchargement sur : http://vserver.13thfloor.at/Experimental/

Vous trouverez dans la galerie des copies d'écrans des options ajoutées à un noyau patché linux-vserver.



Passons donc à Openvcp:

Description: OpenVCP is a Open-Source VServer Control Panel published under the GNU General Public Licence (GPL). OpenVCP is developed for use with Linux in combination with Linux-Vserver ( [www.linux-vserver.org] ). It provides a web-based interface to manage a whole farm of VServer hosts, build guests, control the guests, account traffic and much more.

Première étape: disposer d'un noyau linux-vserver. J'ai déjà expliqué dans ce lien comment je procédais pour le patch et la compil d'un noyau . Il suffira d'adapter les versions.

Notez tout de même que si la compil d'un noyau ne vous attire pas, debian propose des noyaux pré-patchés, version 2.6.26 si vous ajoutez backports dans votre sources.list.

linux-image-2.6.18-6-vserver-686 - Linux 2.6.18 image on PPro/Celeron/PII/PIII/P4
linux-image-2.6.18-6-vserver-k7 - Linux 2.6.18 image on AMD K7
linux-image-2.6.26-bpo.1-vserver-686 - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer support
linux-image-2.6.26-bpo.1-vserver-686-bigmem - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4





1) Environnement de travail

La machine sur laquelle j'effectue ce test est une machine physique qui possède l'adresse ip 192.168.0.8, son nom est lindows.net.hom géré par un dns local.

Sur celle-ci 2 vservers ont été installés avec les ip 192.168.0.210 et 192.168.0.211.



Il y a pas mal de services en route mais cela ne gêne en rien linux-vserver.

lindows:/# netstat -tpan
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name  
tcp        0      0 192.168.0.8:3306        0.0.0.0:*               LISTEN     5051/mysqld        
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     2631/tcpserver     
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN     2650/imapproxyd    
tcp        0      0 127.0.0.1:783           0.0.0.0:*               LISTEN     2230/spamd.pid     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     1611/portmap       
tcp        0      0 192.168.0.8:80          0.0.0.0:*               LISTEN     17427/httpd        
tcp        0      0 192.168.0.8:6000        0.0.0.0:*               LISTEN     27486/openvcpd     
tcp        0      0 0.0.0.0:113             0.0.0.0:*               LISTEN     2573/inetd         
tcp        0      0 192.168.0.211:53        0.0.0.0:*               LISTEN     2080/named         
tcp        0      0 192.168.0.210:53        0.0.0.0:*               LISTEN     2080/named         
tcp        0      0 192.168.0.8:21          0.0.0.0:*               LISTEN     2585/pure-ftpd (SER
tcp        0      0 192.168.0.8:53          0.0.0.0:*               LISTEN     2080/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     2080/named         
tcp        0      0 192.168.0.8:25          0.0.0.0:*               LISTEN     2596/tcpserver     
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN     2080/named         
tcp6       0      0 :::8143                 :::*                    LISTEN     2554/couriertcpd   
tcp6       0      0 :::22                   :::*                    LISTEN     2612/sshd          
tcp6       0      0 :::443                  :::*                    LISTEN     17427/httpd        
tcp6       0      0 ::ffff:192.168.0.8:22   ::ffff:192.168.0.:54007 ESTABLISHED4613/0      


lindows:/# uname -a
Linux lindows 2.6.27.7-vs2.3.0.36.1 #1 Sat Nov 22 13:12:28 CET 2008 i686 GNU/Linux

lindows:/# vserver-info
Versions:
                   Kernel: 2.6.27.7-vs2.3.0.36.1
                   VS-API: 0x00020304
             util-vserver: 0.30.215; Mar 29 2008, 14:28:39

Features:
               CC: gcc, gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
                      CXX: g++, g++ (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
                 CPPFLAGS: ''
                   CFLAGS: '-g -O2 -std=c99 -Wall -pedantic -W -funit-at-a-time'
                 CXXFLAGS: '-g -O2 -ansi -Wall -pedantic -W -fmessage-length=0 -funit-at-a-time'
               build/host: i686-pc-linux-gnu/i686-pc-linux-gnu
             Use dietlibc: yes
       Build C++ programs: yes
       Build C99 programs: yes
           Available APIs: compat,v11,fscompat,v13,net,v21,v22,v23,netv2,oldproc,olduts
            ext2fs Source: e2fsprogs
    syscall(2) invocation: alternative
      vserver(2) syscall#: 273/glibc
               crypto api: beecrypt

Paths:
                   prefix: /usr/local
        sysconf-Directory: ${prefix}/etc
            cfg-Directory: ${prefix}/etc/vservers
         initrd-Directory: $(sysconfdir)/init.d
       pkgstate-Directory: ${prefix}/var/run/vservers
          vserver-Rootdir: /opt/vservers


Assumed 'SYSINFO' as no other option given; try '--help' for more information.


Il s'agit de la version util-vserver-0.30.215 de daniel_hozac, compilée localement.

Téléchargement sur http://ftp.linux-vserver.org/pub/utils/util-vserver/util-vserver-0.30.215.tar.bz2

Rappel: si vous avez des difficultés dans l'utilisation de linux-vserver, n'hésitez pas à aller sur irc://irc.oftc.net#vserver. Les gens sont très sympas.


lindows:/# free
             total       used       free     shared    buffers     cached
Mem:       1035580     763120     272460          0      60372     512680
-/+ buffers/cache:     190068     845512
Swap:      1576472          0    1576472


lindows:/# df -hT
Sys. de fich. Type     Tail. Occ. Disp. %Occ. Monté sur
/dev/hda1     ext3    4,6G  2,0G  2,4G  46% /
tmpfs        tmpfs    506M     0  506M   0% /lib/init/rw
tmpfs        tmpfs    506M     0  506M   0% /dev/shm
/dev/hda6     ext3    897M  9,5M  840M   2% /home
/dev/hda7     ext3     16G  3,0G   12G  21% /opt
/dev/hda3     ext3    2,8G  920M  1,8G  35% /usr/local
/dev/hda2     ext3    1,8G  188M  1,5G  12% /var
/dev/hda5     ext3    2,8G  1,6G  1,1G  61% /web

lindows:/# cat /proc/cpuinfo | egrep 'model\ name|cpu\ MHz|bogomips'
model name    : AMD Duron(tm) Processor
cpu MHz        : 1107.744
bogomips    : 2215.48


lindows:/# php -v
PHP 5.2.7RC1 (cli) (built: Oct 11 2008 10:38:08)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with Suhosin v0.9.27, Copyright (c) 2007, by SektionEins GmbH

lindows:/# mysql --version
mysql  Ver 14.12 Distrib 5.0.67, for debian-linux-gnu (i486) using readline 5.2

lindows:/# /usr/local/apache2/bin/httpd -V | grep "Server version"
Server version: Apache/2.2.10 (Unix)



2) Installation openvcp

Installer subversion puis récupérer la dernière version d'openvcp par:

lindows:/usr/local/ovcd/# svn co http://openvcp.org/svn/trunk

lindows:/usr/local/ovcd/trunk# ll
total 28
drwxr-sr-x 7 root staff 4096 2008-12-12 15:30 .
drwxr-sr-x 3 root staff 4096 2008-12-12 17:12 ..
drwxr-sr-x 7 root staff 4096 2008-12-12 15:46 daemon
drwxr-sr-x 4 root staff 4096 2008-12-12 15:30 openvcp-gui
drwxr-sr-x 3 root staff 4096 2008-12-12 15:30 php-gnutls
drwxr-sr-x 6 root staff 4096 2008-12-12 15:30 .svn
drwxr-sr-x 7 root staff 4096 2008-12-12 15:30 webinterface

Dans la mesure où c'est un noyau linux-vserver il a été compilé par mes soins. Je dispose donc des headers et des outils de compilation.


Il sera également nécessaire d'installer les paquets suivants:


Ensuite compil du démon openvcpd dans le répertoire daemon. Comme on a récupéré depuis le svn il faudra lancer : autoconf dans ce répertoire puis la routine:

lindows:/usr/local/ovcd/trunk/daemon# ./configure && make && make install. Lisez tout de même la doc...

Remarque 1: lors du configure et du make j'ai rencontré quelques soucis avec des fichiers du paquet libxml-dev non trouvés. J'ai donc créé un lien symbolique dans /usr/include de cette façon:

lindows:/usr/include# ll libxml*
lrwxrwxrwx 1 root root   15 2008-12-12 15:40 libxml -> libxml2/libxml/


Le démon est installé dans /bin. On le lance par: /bin/openvcpd après avoir adapté le fichier de config /usr/local/etc/openvcpd.conf:

Remarque 2: Installant les util-vserver par défaut dans /usr/local, les libvserver* n'étaient pas trouvées et le démon refusait de se lancer. J'ai donc recopié à la barbare celles-ci dans /usr/lib.



lindows:/usr/local/etc# cat openvcpd.conf
IP=192.168.0.8
Port=6000
Password=test

Logfile=/var/log/openvcp.log
# 0=DEBUG, 1=INFO, 2=OVCP_WARNING, 3=OVCP_ERROR
LogLevel=3

# first Context ID that OpenVCP will assign to a vserver
StartXID=7000

prefix=/usr/local
RootDir=/opt/vservers
ConfigDir=/usr/local/etc/vservers
BackupDir=/opt/vservers/backups
ImageDir=/opt/vservers/images
RunDir=/usr/local/var/run/vservers
CacheDir=/usr/local/etc/vservers/.defaults/cachebase
PidFile=/var/run/openvcpd.pid

# traffic will only be logged on the following interfaces
Ifaces=eth0

# IFB Device that will be used for ingress traffic shaping
IfbDev=ifb0       <----- ça je ne sais pas d'où ça sort...

# email address of the administrator
AdminEmail=openvcp@lists.openvcp.org
# Fin du fichier


Si tout se passe bien après avoir lancé lé demon vous devriez avoir quelque chose comme ceci:


lindows:/# netstat -tpan | grep 6000
tcp        0      0 192.168.0.8:6000        0.0.0.0:*               LISTEN     6320/openvcpd      

lindows:/# ps ax |grep openvcp
 6319 pts/0    Sl     0:02 /bin/openvcpd
 6320 pts/0    S      0:00 /bin/openvcpd



Pour le web, le serveur Apache est configuré avec des vhosts. Je vais donc en utiliser un pour la gestion des vservers et il sera nommé www.client1.hom.
L'install des scripts nécessaires s'effectue par un simple cp du répertoire :

lindows:/usr/local/ovcd/trunk# cp -a webinterface/ /home/websites/client1/openvcp

Selon que php tourne en cgi ou en modules, n'oubliez pas de mettre les droits à jour pour le répertoire ainsi créé dans le vhost.

Il faut ensuite créer une base de données:

lindows:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1728
Server version: 5.0.67-0.dotdeb.1-log (Dotdeb)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database openvcp;
mysql> grant all on openvcp.* to 'openvcp'@'localhost' identified by 'openvcp';
mysql> flush privileges;
mysql> quit;

Je vérifie par précaution que l'utilisateur et la base sont ok:

lindows:/# mysql -u openvcp -p openvcp
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1729
Server version: 5.0.67-0.dotdeb.1-log (Dotdeb)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> quit;


Je me rends ensuite sur :

http://www.client1.hom/openvcp/install.php et je fournis les informations demandées.
C'est exactement comme une install de cms classique: hôte mysql, login, pass, nom de la bd et préfixe des tables.

La validation du formulaire mettra à jour le fichier:
DOCUMENT_ROOT/openvcp/core/openvcp.conf

ATTENTION: la ligne ou est déclaré le mot de passe de la bdd mysql doit être :   passwd <mot de passe>

En effet par défaut le fichier est renseigné avec : passwort


3) Création d'un vserver

Maintenant j'imagine que l'interface va me proposer d'installer de nouveaux vservers. Pour cela il faudra disposer de templates. Coup de chance on en trouve même s'ils ne sont pas trop à jour et de toutes façons on vous explique la méthode pour en créer:

http://www.cryptronic.de/wiki/Vserver_en:creating_own_images

http://www.cryptronic.de/wiki/Vserver_en:images_for_openvcp

Je vais tout de même tenter avec une image du site:

lindows:/# cd /opt/vservers/images
lindows:/# wget http://www.cryptronic.de/openvcp_images/Debian.Sid.vserver_image.i386.openvcp_ready.tar.bz2

Je vérifie avant de décompresser la structure
lindows:/# tar jtvf Debian.Sid.vserver_image.i386.openvcp_ready.tar.bz2 |less

lindows:/# tar jxvf Debian.Sid.vserver_image.i386.openvcp_ready.tar.bz2


On a donc à dispo :

lindows:/opt/vservers/images# ll debian_sid_i386/
total 80
drwxr-xr-x 20 root root 4096 2006-08-22 14:34 .
drwxr-xr-x  3 root root 4096 2008-12-13 10:14 ..
drwxr-xr-x  2 root root 4096 2008-12-13 10:14 bin
drwxr-xr-x  2 root root 4096 2006-08-07 19:38 boot
drwxr-xr-x  3 root root 4096 2008-12-13 10:14 dev
drwxr-xr-x 36 root root 4096 2008-12-13 10:14 etc
drwxr-xr-x  2 root root 4096 2006-08-07 19:38 home
drwxr-xr-x  2 root root 4096 2006-08-22 10:32 initrd
drwxr-xr-x 10 root root 4096 2006-08-22 10:33 lib
drwxr-xr-x  2 root root 4096 2006-08-22 10:32 media
drwxr-xr-x  2 root root 4096 2006-08-07 19:38 mnt
drwxr-xr-x  2 root root 4096 2006-08-22 10:32 opt
drwxr-xr-x  2 root root 4096 2006-08-07 19:38 proc
drwxr-xr-x  2 root root 4096 2006-08-22 11:43 root
drwxr-xr-x  2 root root 4096 2008-12-13 10:14 sbin
drwxr-xr-x  2 root root 4096 2006-08-22 10:32 srv
drwxr-xr-x  2 root root 4096 2006-08-17 03:17 sys
drwxrwxrwt  2 root root 4096 2006-08-22 14:18 tmp
drwxr-xr-x 10 root root 4096 2006-08-22 10:32 usr
drwxr-xr-x 13 root root 4096 2006-08-22 10:32 var

Lorsque par la suite je vais créer un nouveau vserver, openvcp fera une copie de ce répertoire dans /opt/vservers/nom-du-vserver et la config sera écrite (dans mon cas)
dans /usr/local/etc/vservers:

lindows:/usr/local/etc/vservers/vweb3# ll
total 40
drwxr-sr-x 7 root staff 4096 2008-12-13 10:33 .
drwxr-sr-x 7 root staff 4096 2008-12-13 10:33 ..
lrwxrwxrwx 1 root staff   49 2008-12-13 10:33 cache -> /usr/local/etc/vservers/.defaults/cachebase/vweb3
-rwxr-xr-x 1 root staff    5 2008-12-13 10:33 context
drwxr-sr-x 3 root staff 4096 2008-12-13 10:33 dlimits
-rwxr-xr-x 1 root staff   69 2008-12-13 10:33 fstab
drwxr-sr-x 3 root staff 4096 2008-12-13 10:33 interfaces
-rwxr-xr-x 1 root staff    0 2008-12-13 10:33 locked
-rwxr-xr-x 1 root staff    6 2008-12-13 10:33 name
drwxr-sr-x 2 root staff 4096 2008-12-13 10:33 rlimits
lrwxrwxrwx 1 root staff   33 2008-12-13 10:33 run -> /usr/local/var/run/vservers/vweb3
drwxr-sr-x 2 root staff 4096 2008-12-13 10:33 sched
drwxr-sr-x 2 root staff 4096 2008-12-13 10:33 uts
lrwxrwxrwx 1 root staff   19 2008-12-13 10:33 vdir -> /opt/vservers/vweb3


Comme je le précise sur l'image 8 de la galerie il est intéressant de voir la correspondance entre les fichiers de configuration et les choix effectués via l'interface web:


Je démarre ensuite la machine via openvcp et vais jeter un oeil en console (pour info, l'équivalent du démarrage par l'interface web en mode console est: vserver vweb3 start).

Je vérifie que le vserver est bien démarré:

lindows:/# vserver-stat
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME
7000     2   3.7M   1.2M   0m00s10   0m00s11   1m39s83 vweb3

Et je rentre dans celui-ci:

lindows:/# vserver vweb3 enter

vweb3:/# ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 init [2] 
 9791 ?        Ss     0:00 /sbin/syslogd
 9823 ?        Ss     0:00 /usr/sbin/cron
10148 ?        R+     0:00 login                                                                                              
10209 pts/2    Rs     0:00 /bin/bash -login
10253 pts/2    R+     0:00 ps ax

vweb3:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:27:92:42:56 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:76798 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47613 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99729715 (95.1 MiB)  TX bytes:4555589 (4.3 MiB)
          Interrupt:17

eth0:vweb Link encap:Ethernet  HWaddr 00:90:27:92:42:56 
          inet addr:192.168.0.212  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:17

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1214 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:170752 (166.7 KiB)  TX bytes:170752 (166.7 KiB)



REMARQUE: comme on le constate l'interface virtuelle attachée au vserver est nommée : eth0:vweb30.
Ce mode de fonctionnement est désormais obsolète avec les nouvelles versions. Evidemment récupérant une
image datant de 2006, il ne fallait tout de même pas s'attendre à ce que tout passe correctement.

Sur les nouvelles versions le répertoire interface est ainsi constitué et il n'y a plus de notion
d'interface virtuelle: tout passe par la carte de l'hôte.

(srvweb est le serveur que vous consultez en ce moment)

srvweb:/usr/local/etc/vservers/vweb4/interfaces# cat dev
eth0
srvweb:/usr/local/etc/vservers/vweb4/interfaces# ll
total 16
drwxr-sr-x 3 root staff 4096 2008-05-30 18:20 .
drwxr-sr-x 6 root staff 4096 2008-06-13 16:36 ..
drwxr-sr-x 2 root staff 4096 2006-12-17 19:51 0
-rw-r--r-- 1 root staff    5 2006-12-17 19:52 dev

srvweb:/usr/local/etc/vservers/vweb4/interfaces# ll 0
total 20
drwxr-sr-x 2 root staff 4096 2006-12-17 19:51 .
drwxr-sr-x 3 root staff 4096 2008-05-30 18:20 ..
-rw-r--r-- 1 root staff   14 2006-12-04 12:37 bcast
-rw-r--r-- 1 root staff   14 2007-04-19 15:12 ip
-rw-r--r-- 1 root staff   14 2006-12-04 12:37 mask



Je procède donc aux corrections nécessaires:

lindows:/usr/local/etc/vservers/vweb3/interfaces# echo "eth0" >dev
lindows:/usr/local/etc/vservers/vweb3/interfaces# cd 0
lindows:/usr/local/etc/vservers/vweb3/interfaces/0# rm dev
lindows:/usr/local/etc/vservers/vweb3/interfaces/0# rm name
lindows:/usr/local/etc/vservers/vweb3/interfaces/0# cat ip
192.168.0.212
lindows:/usr/local/etc/vservers/vweb3/interfaces/0# echo "192.168.0.255" > bcast
lindows:/usr/local/etc/vservers/vweb3/interfaces/0# echo "255.255.255.0" > mask
lindows:/usr/local/etc/vservers/vweb3/interfaces/0# cd ..
lindows:/usr/local/etc/vservers/vweb3/interfaces# ll
total 16
drwxr-sr-x 3 root staff 4096 2008-12-13 10:59 .
drwxr-sr-x 7 root staff 4096 2008-12-13 10:33 ..
drwxr-sr-x 2 root staff 4096 2008-12-13 11:00 0
-rw-r--r-- 1 root staff    5 2008-12-13 10:59 dev

Je stoppe puis redémarre le vserver:

lindows:/usr/local/etc/vservers/vweb3/interfaces# vserver vweb3 stop && sleep 2 && vserver vweb3 start

..... arrêt....

Starting system log daemon: syslogd.
Starting kernel log daemon: klogd.
Starting internet superserver: no services enabled, inetd not started.
Starting OpenBSD Secure Shell server: sshd.
Starting periodic command scheduler....

Sur l'hôte seul eth0 est visible

lindows:/usr/local/etc/vservers/vweb3/interfaces# ifconfig
eth0      Lien encap:Ethernet  HWaddr 00:90:27:92:42:56 
          inet adr:192.168.0.8  Bcast:192.168.0.255  Masque:255.255.255.0
          adr inet6: fe80::290:27ff:fe92:4256/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:77711 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48164 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:99819801 (95.1 MiB)  TX bytes:4628429 (4.4 MiB)
          Interruption:17

lo        Lien encap:Boucle locale 
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1334 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1334 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:195452 (190.8 KiB)  TX bytes:195452 (190.8 KiB)

lindows:/usr/local/etc/vservers/vweb3/interfaces# vserver vweb3 enter

Dans le vserver seul eth0 est visible.

vweb3:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:90:27:92:42:56 
          inet addr:192.168.0.212  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:77772 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48196 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99825219 (95.2 MiB)  TX bytes:4633085 (4.4 MiB)
          Interrupt:17

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1334 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1334 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:195452 (190.8 KiB)  TX bytes:195452 (190.8 KiB)

vweb3:/#

Il faudra ensuite paramétrer le sources.list puis lancer un dpkg-reconfigure locales exactement comme sur une machine physique.


Pour une prochaine install il suffira de suivre la doc :

Creating own images for openvcp is pretty easy:

   1. Install a normal VServer, with existing image or brand new with vserver build.
   2. Start the vserver (vserver xyz start)
   3. Enter into the vserver with vserver xyz enter and install your applications with the preferred way of your distribution, e.g. apt-get.
   4. Shut down the vserver (vserver xyz stop)
   5. Copy the files inside of the vserver directory e.g. /vservers/xyz to the openvcp image directory e.g. /vservers/images/your_image_name: cp -a /vservers/xyz /vservers/images/your_image_name


4) Galerie et liens

La suite en images via : http://www.client1.hom/openvcp/

J'insiste bien sur le fait que cela a été réalisée sur une machine de test. Les capabilities
accordées aux vservers seraient probablement à peaufiner.

Le projet Openvcp ne semble pas très actif sans doute faute de moyens (humains et financiers).
N'hésitez pas à contribuer si vous le pouvez.

Ils sont également présents sur l'irc: irc.oftc.net#openvcp .


http://www.cryptronic.de/wiki/Kategorie:VServer
http://linux-vserver.org/Welcome_to_Linux-VServer.org
http://linux-vserver.org/Documentation
http://linux-vserver.org/Downloads
http://vserver.13thfloor.at/Experimental/
http://ftp.linux-vserver.org/pub/utils/util-vserver/
http://www.openvcp.org/
Virtualisations

irc://irc.oftc.net#vserver


REVISION 03/08/09 : Spécificité Lenny


Ayant effectué la mise à jour Lenny sur la machine hôte, j'ai procédé également à la mise à jour de openvcp. Il y a désormais quelques subtilités liées aux nouveaux paquets debian.

1) Tout d'abord mettre à jour openvcp: pour cela il suffit de resynchroniser le svn comme à l'étape d'install.

     lindows:/usr/local/ovcd/# svn co http://openvcp.org/svn/trunk


2) Recopier ensuite les fichiers de webinterface mis à jour vers le vhost apache. Ca c'est facile.

3) Pour mettre à jour le demon openvcpd ça se gâte un peu: en effet lors du ./configure il nous jette en prétextant que iptables-dev n'est pas installé car il manque les fichiers libiptc.*.  Or j'avais bien mis à jour iptables-dev version Lenny. Renseignements pris sur l'irc (puis sur google) il s'avère que debian n'inclue plus cette librairie dans le paquet iptables-dev (vérifié par dpkg -L iptables-dev).

Il faut donc récupérer les sources d'iptables, les compiler, recopier libiptc.a et libiptc.h aux emplacementd qui vont bien (respectivement /usr/lib et /usr/include).

Détail de la manip:

# apt-get source iptables
# tar zxvf iptables-1.4.2-6.tar.gz
# cd iptables-1.4.2-6
# ./configure
# make
# find . -name libiptca.a -exec cp {} /usr/lib \;
# find . -name libiptca.h -exec cp {} /usr/include \;