La conversion a été réalisée sur la machine suivante:

srvglus238:~# uname -a
Linux srvglus238 2.6.29.2-vs2.3.0.36.10-cgroups #2 Tue May 19 15:02:48 CEST 2009 x86_64 GNU/Linux

srvglus238:~# free
             total       used       free     shared    buffers     cached
Mem:        505472     450776      54696          0     119584     247188
-/+ buffers/cache:      84004     421468
Swap:       506036       3352     502684

srvglus238:~# df -hT
Sys. de fich. Type     Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1     ext3    2,5G  1,5G  936M  62% /
tmpfs        tmpfs    247M     0  247M   0% /lib/init/rw
udev         tmpfs     10M  140K  9,9M   2% /dev
tmpfs        tmpfs    247M     0  247M   0% /dev/shm
/dev/sdb1     ext3   1004M  824M  130M  87% /usr/share
/dev/sdc1     ext3    2,2G  1,5G  648M  70% /opt
/dev/sdd1     ext3    496M   11M  460M   3% /swap
/dev/sdh4     ext3    1,8G  866M  792M  53% /srv
/dev/sdg1     ext4    3,0G  1,7G  1,2G  61% /opt/vservers/vweb3
/dev/sdf2     ext3    1,1G  398M  622M  39% /opt/vservers/vweb4
/dev/sdh3     ext3    1,9G  889M  893M  50% /opt/vservers/vweb5
/dev/sdh2     ext3    464M  345M   95M  79% /usr/local
/dev/sdh1     ext4    942M  513M  382M  58% /var/cache

srvglus238:~# cat /etc/issue.net
Debian GNU/Linux 5.0

Plusieurs vservers étaient déjà installés et fonctionnels:

srvglus238:~# vserver-stat
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME
40011   23   1.2G  45.8M   0m11s84   0m19s36   1h41m37 vweb4
40020    9 204.6M   5.5M   0m00s96   0m00s84   1h29m35 vweb5

Je stoppe tous les vservers et vérifie:

srvglus238:~# vserver vweb4 stop
...
srvglus238:~# vserver vweb5 stop
...


srvglus238:~# vserver-stat
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME


Je ferais la conversion sur le vserver vweb1 que je démarre une dernière fois en mode linux-vserver:

srvglus238:~# vserver vweb1 start
Starting system log daemon....
Starting OpenLDAP: slapd.
Starting Courier IMAP server: imapd.
Starting ftp server: proftpd - setting default address to 192.168.1.242
.
Starting periodic command scheduler: crond.

Je détaille rapidement sa config:

vweb1:/# ifconfig |grep 192
          inet adr:192.168.1.242  Bcast:192.168.1.255  Masque:255.255.255.0


vweb1:/# 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.1.242:143       0.0.0.0:*               LISTEN      26929/couriertcpd
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      26938/proftpd: (acc
tcp        0      0 192.168.1.242:389       0.0.0.0:*               LISTEN      26922/slapd    


Je ne reprends pas toute les étapes d'install, celles-ci étant détaillées dans le billet précédent.

Install d'un noyau 2.6.30.5 avec les bonnes options, modification du paramétrage réseau (eth0 -> br0) et reboot.

srvglus238:~# uname -a
Linux srvglus238 2.6.30.5 #1 Wed Aug 19 12:17:36 CEST 2009 x86_64 GNU/Linux

srvglus238:~# ifconfig
br0       Link encap:Ethernet  HWaddr 00:0c:29:e7:1c:6c 
          inet adr:192.168.1.241  Bcast:192.168.1.255  Masque:255.255.255.0
          adr inet6: fe80::20c:29ff:fee7:1c6c/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1576 errors:0 dropped:0 overruns:0 frame:0
          TX packets:921 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:183446 (179.1 KiB)  TX bytes:139202 (135.9 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0c:29:e7:1c:6c 
          adr inet6: fe80::20c:29ff:fee7:1c6c/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6669 errors:0 dropped:0 overruns:0 frame:0
          TX packets:922 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:1861141 (1.7 MiB)  TX bytes:139364 (136.0 KiB)

lo        Link 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:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:295 (295.0 B)  TX bytes:295 (295.0 B)

Installation des paquets pré-requis (voir billet précédent) et montage de cgroup.
Remarque: le paquet lxc est maintenant en version 0.6.3 (le lien devient donc:
wget http://downloads.sourceforge.net/sourceforge/lxc/lxc-0.6.3.tar.gz?use_mirror=freefr)

srvglus238:/# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdb1 on /usr/share type ext3 (rw,noatime)
/dev/sdc1 on /opt type ext3 (rw,noatime)
/dev/sdd1 on /swap type ext3 (rw,noatime)
/dev/sdh4 on /srv type ext3 (rw,noatime)
/dev/sdg1 on /opt/vservers/vweb3 type ext4 (rw,noatime)
/dev/sdf2 on /opt/vservers/vweb4 type ext3 (rw,noatime)
/dev/sdh3 on /opt/vservers/vweb5 type ext3 (rw,noatime)
/dev/sdh2 on /usr/local type ext3 (rw,noatime)
/dev/sdh1 on /var/cache type ext4 (rw,noatime)
/cgroup on /cgroup type cgroup (rw)
configfs on /sys/kernel/config type configfs (rw)


Création des répertoires requis (partant du fait que mon install de lxc est dans /usr/local)

1) Création de /usr/local/var/lib/lxc

srvglus238:/usr/local/var# ll
total 5
drwxr-sr-x  5 root staff 1024 aoû 19 14:06 .
drwxr-xr-x 22 root root  1024 aoû 19 14:05 ..
drwxr-sr-x  3 root staff 1024 fév 16  2009 cache
drwxr-sr-x  3 root staff 1024 aoû 19 14:06 lib
drwxr-sr-x  5 root staff 1024 fév 16  2009 run
srvglus238:/usr/local/var# ll lib
total 3
drwxr-sr-x 3 root staff 1024 aoû 19 14:06 .
drwxr-sr-x 5 root staff 1024 aoû 19 14:06 ..
drwxrwsrwx 2 root staff 1024 aoû 19 14:06 lxc

2) Création d'une configuration pour le premier container (je laisse le tarball utilisé ici)

srvglus238:/usr/local/var/lib/lxc# tar ztvf lxc-debian-conf.tgz
drwxr-sr-x root/staff        0 2009-08-14 16:58 debian/
drwxr-sr-x root/staff        0 2009-07-09 00:35 debian/rootfs/
lrwxrwxrwx root/staff        0 2009-07-09 00:35 debian/rootfs/rootfs -> /lxc/rootfs.debian
-rw------- root/staff        7 2009-08-14 16:58 debian/state
-rwxr-xr-x root/staff        6 2009-07-09 00:35 debian/pts
-rw-r----- root/staff       72 2009-07-09 00:35 debian/fstab
-rwxr-xr-x root/staff        3 2009-07-09 00:35 debian/tty
drwxr-sr-x root/staff        0 2009-07-09 00:35 debian/network/
drwxr-sr-x root/staff        0 2009-07-09 00:36 debian/network/veth0/
-rwxr-xr-x root/staff        6 2009-07-09 00:35 debian/network/veth0/name
-rwxr-xr-x root/staff        6 2009-07-09 00:35 debian/network/veth0/mtu
-rwxr-xr-x root/staff        5 2009-07-09 00:35 debian/network/veth0/link
-rwxr-xr-x root/staff        2 2009-07-09 00:35 debian/network/veth0/up
-rwxr-xr-x root/staff        3 2009-08-13 22:16 debian/network/veth0/ifindex
-rw-r--r-- root/staff      283 2009-07-09 00:35 debian/cgroup
-rwxr-xr-x root/staff        8 2009-07-09 00:35 debian/utsname


Mon vserver s'appelant à l'origne vweb1 je renomme pour plus de clarté:

srvglus238:/usr/local/var/lib/lxc# mv debian/ vweb1

3) Mises à jour des fichiers de configuration:

A l'origine:

srvglus238:/usr/local/var/lib/lxc/vweb1# cat fstab

/lxc/rootfs.debian /usr/local/var/lib/lxc/debian/rootfs none rbind 0 0

srvglus238:/usr/local/var/lib/lxc/vweb1# cat utsname
debian

srvglus238:/usr/local/var/lib/lxc/vweb1/rootfs# ll
total 2
drwxr-sr-x 2 root staff 1024 jui  9 00:35 .
drwxr-sr-x 4 root staff 1024 aoû 19 14:14 ..
lrwxrwxrwx 1 root staff   18 aoû 19 14:11 rootfs -> /lxc/rootfs.debian


Après modif:

srvglus238:/usr/local/var/lib/lxc/vweb1# cat fstab

/opt/vservers/vweb1 /usr/local/var/lib/lxc/vweb1/rootfs none rbind 0 0

srvglus238:/usr/local/var/lib/lxc/vweb1# cat utsname
vweb1

srvglus238:/usr/local/var/lib/lxc/vweb1/rootfs# ll
total 2
drwxr-sr-x 2 root staff 1024 aoû 19 14:17 .
drwxr-sr-x 4 root staff 1024 aoû 19 14:14 ..
lrwxrwxrwx 1 root staff   19 aoû 19 14:17 rootfs -> /opt/vservers/vweb1


Pour les suivants il faudra également modifier cette valeur:

srvglus238:/usr/local/var/lib/lxc/vweb1# cat network/veth0/ifindex
9

C'est terminé pour les fichiers de conf. Maintenant il faut reparamétrer un peu le vserver (en effet bien que les
technos linux-vserver et lxc aient des points communs, il subsiste quand même quelques différences), notamment dans les scripts de démarrage.

Je me chroote sur le futur container et recrée les liens symboliques nécessaires:

srvglus238:/usr/local/var/lib/lxc/vweb1/rootfs# chroot /opt/vservers/vweb1

Au final j'ai ceci:

srvglus238:/etc/rc0.d# ll
total 12
drwxr-xr-x  2 root root 4096 aoû 19 16:27 .
drwxr-xr-x 73 root root 4096 aoû 19 15:01 ..
lrwxrwxrwx  1 root root   22 jun  3 14:01 K20courier-imap -> ../init.d/courier-imap
lrwxrwxrwx  1 root root   17 mai 26 10:09 K50proftpd -> ../init.d/proftpd
lrwxrwxrwx  1 root root   15 avr  6 18:10 K60slapd -> ../init.d/slapd
lrwxrwxrwx  1 root root   26 aoû 19 14:52 K63mountoverflowtmp -> ../init.d/mountoverflowtmp
lrwxrwxrwx  1 root root   18 aoû 19 16:24 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx  1 root root   17 aoû 19 14:54 S30urandom -> ../init.d/urandom
lrwxrwxrwx  1 root root   22 aoû 19 16:26 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx  1 root root   20 aoû 19 14:45 S35networking -> ../init.d/networking
lrwxrwxrwx  1 root root   18 aoû 19 16:26 S36ifupdown -> ../init.d/ifupdown
lrwxrwxrwx  1 root root   20 aoû 19 16:26 S60umountroot -> ../init.d/umountroot


srvglus238:/etc/rc3.d# ll
total 12
drwxr-xr-x  2 root root 4096 aoû 19 16:19 .
drwxr-xr-x 73 root root 4096 aoû 19 15:01 ..
lrwxrwxrwx  1 root root   15 avr  6 18:10 S19slapd -> ../init.d/slapd
lrwxrwxrwx  1 root root   22 jun  3 14:01 S20courier-imap -> ../init.d/courier-imap
lrwxrwxrwx  1 root root   17 mai 26 10:09 S50proftpd -> ../init.d/proftpd
lrwxrwxrwx  1 root root   14 oct 14  2008 S89cron -> ../init.d/cron
lrwxrwxrwx  1 root root   18 oct 14  2008 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx  1 root root   19 aoû 19 16:19 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx  1 root root   30 aoû 19 14:55 S99stop-bootlogd-single -> ../init.d/stop-bootlogd-single


srvglus238:/etc/rcS.d# ll
total 8
drwxr-xr-x  2 root root 4096 aoû 19 16:34 .
drwxr-xr-x 73 root root 4096 aoû 19 15:01 ..
lrwxrwxrwx  1 root root   18 aoû 19 16:30 S01glibc.sh -> ../init.d/glibc.sh
lrwxrwxrwx  1 root root   21 aoû 19 16:30 S02hostname.sh -> ../init.d/hostname.sh
lrwxrwxrwx  1 root root   24 aoû 19 16:31 S02mountkernfs.sh -> ../init.d/mountkernfs.sh
lrwxrwxrwx  1 root root   26 aoû 19 16:31 S04mountdevsubfs.sh -> ../init.d/mountdevsubfs.sh
lrwxrwxrwx  1 root root   18 aoû 19 16:32 S05bootlogd -> ../init.d/bootlogd
lrwxrwxrwx  1 root root   22 aoû 19 16:32 S10checkroot.sh -> ../init.d/checkroot.sh
lrwxrwxrwx  1 root root   17 aoû 19 16:32 S12mtab.sh -> ../init.d/mtab.sh
lrwxrwxrwx  1 root root   24 aoû 19 16:32 S18ifupdown-clean -> ../init.d/ifupdown-clean
lrwxrwxrwx  1 root root   20 aoû 19 16:32 S30checkfs.sh -> ../init.d/checkfs.sh
lrwxrwxrwx  1 root root   16 aoû 19 16:32 S30procps -> ../init.d/procps
lrwxrwxrwx  1 root root   21 aoû 19 16:32 S35mountall.sh -> ../init.d/mountall.sh
lrwxrwxrwx  1 root root   31 aoû 19 16:33 S36mountall-bootclean.sh -> ../init.d/mountall-bootclean.sh
lrwxrwxrwx  1 root root   26 aoû 19 16:33 S37mountoverflowtmp -> ../init.d/mountoverflowtmp
lrwxrwxrwx  1 root root   18 aoû 19 16:33 S39ifupdown -> ../init.d/ifupdown
lrwxrwxrwx  1 root root   20 aoû 19 16:33 S40networking -> ../init.d/networking
lrwxrwxrwx  1 root root   21 aoû 19 16:33 S45mountnfs.sh -> ../init.d/mountnfs.sh
lrwxrwxrwx  1 root root   31 aoû 19 16:33 S46mountnfs-bootclean.sh -> ../init.d/mountnfs-bootclean.sh
lrwxrwxrwx  1 root root   21 aoû 19 16:33 S55bootmisc.sh -> ../init.d/bootmisc.sh
lrwxrwxrwx  1 root root   17 aoû 19 16:33 S55urandom -> ../init.d/urandom
lrwxrwxrwx  1 root root   30 aoû 19 16:34 S99stop-bootlogd-single -> ../init.d/stop-bootlogd-single

srvglus238:/etc/rc1.d# ll
total 8
drwxr-xr-x  2 root root 4096 aoû 19 16:37 .
drwxr-xr-x 73 root root 4096 aoû 19 15:01 ..
lrwxrwxrwx  1 root root   14 oct 14  2008 K11cron -> ../init.d/cron
lrwxrwxrwx  1 root root   17 mai 26 10:09 K50proftpd -> ../init.d/proftpd
lrwxrwxrwx  1 root root   22 aoû 19 16:36 K55courier-imap -> ../init.d/courier-imap
lrwxrwxrwx  1 root root   15 avr  6 18:10 K80slapd -> ../init.d/slapd
lrwxrwxrwx  1 root root   19 aoû 19 16:36 S30killprocs -> ../init.d/killprocs
lrwxrwxrwx  1 root root   16 aoû 19 16:36 S90single -> ../init.d/single

srvglus238:/etc/rc6.d# ll
total 8
drwxr-xr-x  2 root root 4096 aoû 19 16:40 .
drwxr-xr-x 73 root root 4096 aoû 19 15:01 ..
lrwxrwxrwx  1 root root   14 oct 14  2008 K11cron -> ../init.d/cron
lrwxrwxrwx  1 root root   22 jun  3 14:01 K20courier-imap -> ../init.d/courier-imap
lrwxrwxrwx  1 root root   17 mai 26 10:09 K50proftpd -> ../init.d/proftpd
lrwxrwxrwx  1 root root   15 avr  6 18:10 K51slapd -> ../init.d/slapd
lrwxrwxrwx  1 root root   26 aoû 19 16:39 K63mountoverflowtmp -> ../init.d/mountoverflowtmp
lrwxrwxrwx  1 root root   18 aoû 19 16:39 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx  1 root root   17 aoû 19 16:40 S30urandom -> ../init.d/urandom
lrwxrwxrwx  1 root root   22 aoû 19 16:40 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx  1 root root   20 aoû 19 16:40 S35networking -> ../init.d/networking
lrwxrwxrwx  1 root root   18 aoû 19 16:40 S36ifupdown -> ../init.d/ifupdown
lrwxrwxrwx  1 root root   20 aoû 19 16:40 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx  1 root root   16 aoû 19 16:40 S90reboot -> ../init.d/reboot

Terminé, on sort:
srvglus238:/etc/rc6.d# exit
exit


DERNIERE MANIP: pour une raison que j'ignore pour l'instant, il y a un problème avec le répertoire /dev du vserver d'origine (il doit manquer des fichiers ??).
J'ai donc fait un tarball du répertoire dev d'un container existant puis l'ai recopié de cette façon:

srvglus238:/opt/vservers/vweb1# mv dev dev.old  (on ne sait jamais)

srvglus238:/opt/vservers/vweb1# tar zxvf devlxc.tgz




Dernière vérif: la config du container:

srvglus238:~# lxc-checkconfig -n vweb1
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled

--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled
Macvlan: enabled
File capabilities: enabled

Ca parait correct, on y va:

srvglus238:/# lxc-start -n vweb1 -d -o /tmp/lxc1

srvglus238:/# cat /tmp/lxc1


 "1" respawning too fast: disabled for 5 minutespériphérique
Starting OpenLDAP: slapd.
Starting Courier IMAP server: imapd.
Starting ftp server: proftpd - setting default address to 192.168.1.242
.
Starting periodic command scheduler: crond.
ms...done.
Activating swapfile swap...done.
/etc/rcS.d/S37mountoverflowtmp: line 31: test: 1024-blocks: integer expression expected
Setting up networking....
Configuring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface lo before doing NFS mounts (warning).
done.

Quelques petits avertissments sans importance mais ça parait bon. Je tente de me connecter sur la console:

srvglus238:/# lxc-console -n vweb1 -t 2

Type <Ctrl+a q> to exit the console

Debian GNU/Linux 5.0 vweb1.net.pat tty2

vweb1.net.pat login: root
Mot de passe :

Dernière connexion : mercredi 22 octobre 2008 à 09:30:23 CEST de vweb1.domaine.pat sur pts/4
Linux vweb1.net.pat 2.6.30.5 #2 Wed Aug 19 16:17:15 CEST 2009 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
vweb1:~#

YESSSS C'est bon !

Pour la forme je fais le tour du proprio:

vweb1:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 4a:c5:25:e7:74:f4 
          inet adr:192.168.1.242  Bcast:0.0.0.0  Masque:255.255.255.0
          adr inet6: fe80::48c5:25ff:fee7:74f4/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:104 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:25224 (24.6 KiB)  TX bytes:913 (913.0 B)

lo        Link 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:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:269 (269.0 B)  TX bytes:269 (269.0 B)

vweb1:~# 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.1.242:389       0.0.0.0:*               LISTEN      262/slapd      
tcp        0      0 192.168.1.242:143       0.0.0.0:*               LISTEN      269/couriertcpd
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      278/proftpd: (accep

Je retrouve bien la conf réseau et les mêmes services activés.

vweb1:~# logout

srvglus238:/# lxc-info -n vweb1
'vweb1' is RUNNING

srvglus238:/# lxc-ps --lxc
CONTAINER    PID TTY          TIME CMD
vweb1       2276 ?        00:00:00 init
vweb1       2563 ?        00:00:00 slapd
vweb1       2569 ?        00:00:00 courierlogger
vweb1       2570 ?        00:00:00 couriertcpd
vweb1       2579 ?        00:00:00 proftpd
vweb1       2594 ?        00:00:00 cron
vweb1       2605 pts/1    00:00:00 getty
vweb1       2607 pts/3    00:00:00 getty
vweb1       2608 pts/4    00:00:00 getty
vweb1       2647 pts/2    00:00:00 getty

srvglus238:/# lxc-stop -n vweb1

srvglus238:/# lxc-info -n vweb1
'vweb1' is STOPPED

srvglus238:/# lxc-ps --lxc
CONTAINER    PID TTY          TIME CMD


Dernière remarque: je n'avais pas configuré de limites particulières sur le linux-vserver. Les fichiers habituels concernant celles-ci voir à ce sujet

http://linux-vserver.org/Memory_Limits

http://linux-vserver.org/Resource_Limits

http://linux-vserver.org/Disk_Limits_and_Quota

http://linux-vserver.org/Applying_CPU_Limits

sont désormais gérées (peut-être moins finement ?) via le cgroup (documentation dans les sources du kernel) à l'exception des quotas de disques.

Pour l'instant (?) la seule alternative concernant ces derniers est de passer par un montage LVM et de créer des unités logiques par container ou bien d'utiliser les partitions /home sur un système gérant les quotas pour celles-ci (ce qui n'est déjà pas si mal).

Autre fonctionnalité à oublier en cas de migration: l'unification (procédure consistant à créer des liens symboliques entre vservers pour les fichiers communs (/usr/bin par exemple).




Je n'ai pas de machine configurée en openvz sous la main actuellement mais j'imagine qu'il doit être également possible d'effectuer une migration et si j'ai l'occasion de faire le test, pour le coup ça sera sans remords.