OpenVZ : Mise en place d'OpenVZ
Contents
- 1 Introduction
- 2 Installation
- 3 Configuration
- 4 Management
- 5 Services
- 6 FAQ
- 7 Ressources
1 Introduction
OpenVZ est une technologie de virtualisation de niveau système d'exploitation basée sur le noyau Linux. OpenVZ permet à un serveur physique d'exécuter de multiples instances de systèmes d'exploitation isolés, connus sous le nom de serveurs privés virtuels (VPS) ou environnements virtuels (VE).
En comparaison aux machines virtuelles telles que VMware et aux technologies de paravirtualisation telles que Xen, OpenVZ offre moins de flexibilité dans le choix du système d'exploitation : le système d'exploitation invité et hôte doivent être de type Linux (bien que les distributions de Linux peuvent être différentes dans des VEs différents). Cependant, la virtualisation au niveau OS d'OpenVZ offre une meilleure performance, une meilleure scalabilité (i.e. évolution), une meilleure densité, une meilleure gestion de ressource dynamique, et une meilleure facilité d'administration que ses alternatives. Selon le site Web d'OpenVZ, cette méthode de virtualisation introduirait une très faible pénalité sur les performances : 1 à 3% de pertes seulement par rapport à un ordinateur physique.
OpenVZ est la base de Virtuozzo, un produit propriétaire fourni par SWsoft, Inc. OpenVZ est distribué sous la Licence publique générale GNU version 2.
OpenVZ comprend le noyau Linux et un jeu de commandes utilisateurs.
2 Installation
Pour installer OpenVZ, c'est toujours aussi simple sur debian :
aptitude |
aptitude install vzquota vzctl linux-image-2.6-openvz-amd64 linux-image-openvz-amd64 linux-headers-2.6-openvz-amd64 debootstrap |
Nous allons également éditer les sysctl pour ajouter ceci :
Et on va activer ce dont nous avons besoin :
sysctl -p |
3 Configuration
3.1 Préparation des environnements
Vous avez la possibilité de créer vos environnements de 2 manières :
- Par debootstrap
- Par template
Les 2 solutions se valent. La plus rapide étant le template car elle doit se trouver sur votre machine.
Personnellement, j'ai utilisé longtemps la template. Puis récemment, j'ai du passer mon serveur en Squeeze (actuellement en testing) et aucunes templates n'existaient. J'ai donc opté pour la version debootstrap.
3.1.1 Debootstrap
Vous allez voir que c'est très simple. Pour créer un VE, nous allons donc utiliser la méthode debootstrap. Voici la liste des distributions disponibles :
Pour ma part, j'ai choisis Squeeze, donc :
debootstrap |
debootstrap --arch amd64 squeeze /mnt/containers/private/101 |
- --arch : On choisis l'architecture voulue, ici amd64.
- squeeze : le nom de la distrib souhaité
- /mnt/containers/private/101 : l'endroit ou doit être placé mon VE (j'utilise ici l'ID du VE)
3.1.2 Template
Nous n'allons pas créer notre template, mais plutôt en télécharger des déjà existantes à l'adresse suivante : http://wiki.openvz.org/Download/template/precreated et le placer au bon endroit. Pour ma part j'ai modifier le fichier /etc/vz/vz.conf pour modifier les chemins par défaut. Ca pointe donc vers /mnt/containers.
cd /mnt/containers/template/cache wget http://download.openvz.org/template/precreated/contrib/debian-5.0-amd64-minimal.tar.gz |
3.2 Réseaux
3.2.1 En mode NAT
Si vous avez besoin d'avoir plusieurs VE disponible depuis 1 seule IP et que vous ne pouvez pas avoir d'autres IP directement accessibles, il faudra alors passer en mode naté. C'est notamment le cas si vous possédez une Dedibox (Illiad) ou un serveur Kimsufi (OVH) dont une seule IP WAN est disponible (en standard) pour un serveur donné et qu'il vous est impossible de faire du mode bridgé.
Nous allons donc configurer simplement la partie carte réseaux :
Jusque là, tout est classique. Seulement nous allons avoir besoin suite à la création d'un VE de faire du masquerading pour la possibilité d'avoir Internet depuis les VE et du PREROUTING pour tout ce qui est redirection. Nous utiliserons donc ici IPtables qui nous donnera accès à l'extérieur depuis les VE et dont les redirections de ports seront possible depuis l'extérieur vers les VE :
Ici j'ai le port 80 et 443 qui sont redirigés vers une machine (Ed).
3.2.2 Avec une interface bridgée
Le gros intérêt de l’interface venet, c’est que ça permet à l’administrateur du serveur physique de décider de la configuration réseau de la machine virtuelle. C’est particulièrement appréciable pour un hébergeur qui souhaite vendre un service d’hébergement de machines virtuelles, car il peut librement laisser ses clients administrer leur serveur virtuel OpenVZ tout en étant certain qu’ils ne pourront pas perturber le réseau, s’attribuer davantage d’adresses IP que prévu, bidouiller les tables de routage, etc. Si vous utilisez OpenVZ pour fournir des services d’hébergement à vos clients, l’interface veth n’est pas faite pour vous. Je ne suis pas dans ce cas de figure, donc les potentiels problèmes de sécurité que peuvent poser l’interface veth pour un hébergeur ne me concernent pas.
J’utilise à la fois venet et veth sur les serveurs que j’administre : veth lorsque j’ai besoin d’avoir un accès aux couches ethernet depuis les serveurs virtuels, et venet dans tous les autres cas. Mais, contrairement à la simplicité offerte par les interfaces venet, pour pouvoir utiliser une interface veth dans un serveur virtuel, il faut faire quelques opérations de configuration complémentaires pour préparer le serveur physique à recevoir des serveurs virtuels utilisant veth. C’est ce que je vais décrire dans les sections suivantes.
Nous allons donc installer le nécessaire :
apt-get |
apt-get install bridge-utils |
Puis créer une configuration type :
Rebootez ensuite le serveur.
Afin qu’au lancement d’un serveur virtuel OpenVZ ajoute ou retire dynamiquement une interface veth au bridge, il faut créer quelques fichiers sur le serveur physique. Cette opération est à faire une bonne fois pour toutes sur le serveur physique, indépendamment du nombre de serveurs virtuels qui seront créés par la suite. Il est également possible de la faire sur un serveur qui, au final, n’héberge que des serveurs virtuels utilisant des interfaces venet, cela ne perturbe en rien ces derniers.
D’abord, il faut créer le fichier /etc/vz/vznet.conf, avec le contenu suivant :
/etc/vz/vznet.conf |
#!/bin/bash EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr" |
puis le fichier /usr/sbin/vznetaddbr, avec le contenu suivant :
Pour info, j'ai modifier la ligne contenant "bridge=" avec mon interface vmbr0.
Il faut également associer le droit d’exécution à ce fichier en tapant la commande :
chmod |
chmod 0500 /usr/sbin/vznetaddbr |
On va maintenant configurer la VE (voir également plus bas comment manager une VE) :
vzctl |
vzctl set $my_veid --netif_add eth0 --save |
Et enfin éditez votre configuration de machine et ajoutez l'interface bridge pour celui ci :
/etc/vz/conf/$VEID.conf |
CONFIG_CUSTOMIZED="yes" VZHOSTBR="vmbr0" |
La fin de config du fichier de conf doit au final ressembler à ceci :
Maintenant, il suffit de configurer l'interface eth0 comme vous avez l'habitude de faire sur votre VE.
3.2.3 Avec des vlans
Vous pouvez avoir besoin de créer des vlan dans vos VE. Ca fonctionne même très bien avec une interface bridgée. Pour se faire, sur la machine host, vous devez avoir un vlan de configuré (pour la mise en place, utilisez cette documentation). Pour ceux qui souhaitent quand même un exemple :
Cet exemple est fait avec une interface bridgée car j'ai du KVM qui tourne dessus, mais rien ne vous oblige à ce qu'elle le soit.
Ensuite, lorsque vous créez votre VE, vous n'avez rien de plus à faire lors de la création de votre interface réseau pour votre VE. Lancez ensuite la création de votre VE et n'oubliez pas d'installer le package "vlan" pour pouvoir créer un accès vlan au sein même de votre VE. Voici encore une fois de quoi vous donner une idée de la conf réseau du VE :
/etc/vz/conf/VEID.conf |
... CONFIG_CUSTOMIZED="yes" VZHOSTBR="vmbr0" IP_ADDRESS="" NETIF="ifname=eth0,mac=00:18:50:FE:EF:0B,host_ifname=veth101.0,host_mac=00:18:50:07:B8:F4" |
Pour la conf du VE, c'est preque identique que pour la machine host, il va falloir créer une interface vlan sur l'interface principale (pas besoin encore une fois d'avoir l'interface principale de configurée, seulement la vlan suffit). Pour les plus perplexes, voici un exemple de configuration dans un VE :
3.2.4 Avec du Bonding
Vous pouvez avoir besoin de créer du bonding bridgé dans vos VE. Pour se faire, sur la machine host, vous devez avoir un bonding de configuré (pour la mise en place, utilisez cette documentation). Pour ceux qui souhaitent quand même un exemple :
3.3 NFS
Je n'aborderais ici que le côté client dans un VE, pas d'un serveur dans un VE.
3.3.1 Serveur
Tout d'abord côté serveur, montez votre serveur NFS en suivant cette documentation.
Puis nous allons installer ceci qui va nous permettre d'utiliser non seulement le protocole v3 d'NFS, mais en plus de pouvoir faire abstraction de la couche kernel (pratique en cas de crash) :
aptitude |
aptitude install nfs-user-server |
3.3.2 Client
- Sur la machine hôte (HN), ajoutez ces lignes dans sysctl.conf :
/etc/sysctl.conf |
... # OpenVZ NFS Client sunrpc.ve_allow_rpc = 1 fs.nfs.ve_allow_nfs = 1 kernel.ve_allow_kthreads = 1 |
Puis on applique tout ça à chaud :
sysctl |
sysctl -p |
Activons maintenant le NFS sur les VE qui nous intéressent :
vzctl |
vzctl set $my_veid --features "nfs:on" --save |
Je ne sais pas si cette étape est indispensable, mais dans le doute, je l'ajoute quand même :
aptitude |
aptitude install nfs-user-server |
Ensuite, vous pouvez monter normalement vos points de montage NFS. Il est cependant possible que vous rencontriez quelques soucis. C'est pour quoi sur le serveur, je vous conseil de rajouter l'option 'no_root_squash' dans le fichier export :
/etc/export |
/mnt/backups/backups 192.168.0.127(rw,no_root_squash) |
Et sur le client, ajoutez l'option nolock pour monter le NFS :
mount |
mount -t nfs -o nolock @IP:/mon/partage mon_point_de_montage |
3.4 Mount Bind
Les mount bind peuvent être parfois très pratiques. Voilà comment faire :
3.4.1 Mount script
Créez un script dans /etc/vz/conf/vps.mount pour tous les VE ou /etc/vz/conf/CTID.mount pour un VE en particulier (remplacer CITD par le numéro du VE) :
/etc/vz/conf/101.mount |
#!/bin/bash source /etc/vz/vz.conf source ${VE_CONFFILE} mount --bind /mnt/disk ${VE_ROOT}/mnt/disk |
Et adaptez la dernière ligne avec vos besoins.
3.4.2 Unmount script
Et enfin la même chose pour le script du démontage, donc /etc/vz/conf/vps.umount ou /etc/vz/conf/CTID.umount :
/etc/vz/conf/101.umount |
#!/bin/bash source /etc/vz/vz.conf source ${VE_CONFFILE} umount ${VE_ROOT}/mnt/disk exit 0 |
Et enfin on applique les droits qu'il faut pour que ce soit exécutable :
chmod |
chmod u+x /etc/vz/conf/CTID.mount /etc/vz/conf/CTID.umount |
4 Management
4.1 Créer un VE
Choisissez la méthode voulu en fonction de la méthode de création de la VM que vous souhaitez (template ou debootstrap).
4.1.1 Template
Pour créer un container, utilisez cette commande :
Si vous voulez configurer vos interfaces en mode bridgé, n'oubliez pas cette partie.
4.1.2 Debootstrap
A l'époque ou j'écris ces lignes, Squeeze n'est pas encore la version stable, mais vient (aujourd'hui même de freezer pour être stable). Il y a donc quelques petits trucs qui peuvent varier comme ceci qu'il va falloir créer :
cp |
cp /etc/vz/conf/ve-basic.conf-sample /etc/vz/conf/ve-vps.basic.conf-sample |
Nous copions donc ici les paramètres par défaut d'un VE vers un nouveau nom qu'il sera capable de prendre par défaut. Lançons donc sa configuration :
vzctl |
> my_veid=101 > vzctl set $my_veid --applyconfig vps.basic --save WARNING: /etc/vz/conf/101.conf not found: No such file or directory Saved parameters for CT 101 |
Ensuite nous rajoutons quelques lignes supplémentaires nécessaire dans notre fichier de configuration :
echo "OSTEMPLATE=debian" >> /etc/vz/conf/$my_veid.conf |
Puis on configure les paramètres réseaux :
vzctl |
vzctl set $my_veid --ipadd 192.168.0.130 --save vzctl set $my_veid --nameserver 192.168.0.27 --save |
Ensuite nous allons supprimer udev qui peut empêcher la VM de booter :
rm |
rm /mnt/containers/private/101/etc/rcS.d/S02udev |
Puis nous allons démarrer le VE et entrer dedans :
vzctl |
vzctl start $my_veid vzctl enter $my_veid |
Renseignez votre fichier source.list :
Puis, lancez ces commandes pour supprimer le superflu et supprimer les gettys (les VEs n'en n'utilisent pas) :
sed -i -e '/getty/d' /etc/inittab rm -Rf /lib/udev/ |
Nous résolvons le problème de mtab :
rm -f /etc/mtab ln -s /proc/mounts /etc/mtab |
4.2 Démarrer un VE
Maintenant vous pouvez démarrer votre VE :
vzctl |
vzctl start 101 |
4.3 Changer le mot de passe root d'un VE
Si vous souhaitez changer le mot de passe root :
vzctl |
vzctl exec 101 passwd |
4.4 Lister les VE
Pour lister vos VE, utilisez la commande vzlist :
vzlist |
$ vzlist VEID NPROC STATUS IP_ADDR HOSTNAME 101 8 running 192.168.0.130 nagios.mycompany.com |
4.5 Stopper un VE
Pour arrêter noter VE :
vzctl |
vzctl stop 101 Stopping container ... Container was stopped Container is unmounted |
4.6 Redémarrer un VE
Pour redémarrer un VE :
4.7 Détruire un VE
Pour supprimer définitivement un VE :
vzctl |
$ vzctl destroy 101 Destroying container private area: /vz/private/101 Container private area was destroyed |
4.8 Entrer dans un VE
vzctl |
$ vzctl enter 101 entered into VE 101 |
4.9 Limites de VE
Par défaut il y a des limites que les VE ne peuvent passer. Nous allons voir comment les gérer ici. Si vous souhaitez tout de même aller encore plus loin, sachez qu'il y a tout d'expliquer sur le site officiel http://wiki.openvz.org/User_beancounters.
4.9.1 Lister les limites
Pour lister les limites, nous allons exécuter cette commande :
Il faut que la dernière ligne soit toujours à 0, sinon c'est que clairement vous avez atteint les limites.
Voici quelques informations importantes :
- held : Actuellement la valeur de la ressource
- maxheld : la valeur maximum que la ressource a atteind
- barrier : la limite soft (avertissement). Ca signifie que la valeur held a déjà été jusqu'à cette valeur
- limit : la milite hard. La valeur held ne pourra jamais dépasser cette valeur.
Pour les augmenter, limites vous avez 2 solutions :
- Vous pouvez le faire à la volée.
- Allez dans /etc/vz/conf/101.conf et augmentez les valeurs qui posent problème. Malheureusement, cela nécessite un redémarrage du VE pour que ces paramètres soient prit en compte.
Il est possible que le failcnt ne soit pas réinitialiser à 0...pas d'inquiétude, il se fera plus tard.
4.9.2 Maximiser les limites
Si vous avez trop de restrictions par rapport à vos besoins ou que vous sentez que le VE que vous allez créer va être lourde, maximisez dès le départ ceci :
vzsplit |
vzsplit -n 2 -f max-limits |
- 2 : changez ce numéro par le nombre de VM que vous voulez faire tourner sur votre machine et il se chargera de calculer au mieux les limites pour votre VE
Un fichier /etc/vz/conf/ve-max-limits.conf-sample. Vous pouvez l'éditer à tout moment et faire les modifications que vous souhaitez. Si vous voulez l'appliquer à un VE :
vzctl |
vzctl set 101 --applyconfig max-limits --save |
Le VE 101 a maintenant une nouvelle configuration via la config 'max-limits'.
4.9.3 Appliquer des limites à la volée
Par exemple, vous souhaitez changer la taille de la RAM à la volée :
vzctl |
vzctl set 101 --privvmpages 786432:1048576 --save --setmod restart |
- 786432 : correspondant à la limite soft (barrier)
- 1048576 : correspondant à la limite hard (limit)
Grâce au 'setmod restart', je peux maintenant appliquer des limites à la volée.
4.9.4 Quotas disques
Vous avez peut être mis des quotas disque et vous arrivez à 100% de votre disque VE. Pas de soucis, on augmente le quota à chaud :
vzctl |
vzctl set 101 --diskspace 14G:15G --save |
Si vous ne voulez pas de quota, ajoutez cette ligne dans la configuration du VE :
/etc/vz/conf/VEID.conf |
DISK_QUOTA=no |
4.9.5 Limiter le CPU
Si vous souhaitez limiter le CPU, il y a plusieurs façons d'y arriver. Soit vous jouez avec le scheduler, sois vous appliquez un pourcentage. Pour des usages basique la deuxième solution vous conviendra :
vzctl |
> vzctl set $my_veid --cpulimit 80 --save --setmod restart Setting CPU limit: 80 Saved parameters for CT 102 |
Par exemple ici j'ai limiter mon VE 102 à 80% de CPU. Pour plus d'infos : http://wiki.openvz.org/Resource_shortage
4.9.6 Désactiver les limites les plus contraignantes
Si vous avez beaucoup de charge sur un VE, vous allez régulièrement devoir augmenter certains paramètres assez régulièrement, ce qui peut vite devenir fatiguant. Pour être tranquile avec certains d'entre eux, on peut tout simplement désactiver les limites en entrant la valeur maximale :
4.9.7 Validation des limites
Si vous souhaitez faire valider vos limites pour être sur que tout est ok :
vzcfgvalidate |
> vzcfgvalidate /etc/vz/conf/101.conf Validation completed: success |
4.9.8 Validation automatique des limites
Si par exemple, vous voulez valider au mieux l'utilisation des ressources de votre machine et également suivre les best practices d'OpenVZ, vous pouvez utiliser l'outil vzcfgvalidate :
vzcfgvalidate |
vzcfgvalidate -i /etc/vz/conf/101.conf |
Ceci va lancer un mode interactif en informant de ce qui ne va pas. A vous de valider si oui ou non vous souhaitez faire les modifications. Si vous n'avez pas les capacité d'analyze nécessaire aux problèmes ou tout simplement que vous n'avez pas envie de vous prendre la tête avec ceci, remplacez l'option '-i' par '-r' qui ajustera automatiquement aux bonne valeurs.
Pour ceux qui ne veulent pas se prendre du tout la tête avec les limites, voici un petit script qui ajustera toutes les limites de tous vos VE automatiquement. Il ne reste plus qu'a le coller en crontab :
4.9.9 Ajustement automatique des limites
Que ce soit pour mon travail ou pour chez moi, la modification en permanence des valeurs des ressources me prends un peu la tête. J'ai donc créer un outil permettant de gérer tout celà tout seul appelé vzautobean (OpenVZ Auto Management User Beancounters).
Pour l'installer c'est très simple, nous allons le récupérer et le placer dans le dossier avec les autres binaires d'OpenVZ :
git clone git://git.deimos.fr/git/vzautobean.git sudo mv vzautobean/vzautobean /usr/sbin/ |
Ensuite soit vous le lancez et il s'exécutera sur tous vos VE en cours d'utilisation, soit vous pouvez lui spécifier un ou plusieurs VE en particulier :
vzautobean |
vzautobean -e 102 -e 103 |
Là il fera le VE 102 et 103. Par défaut il augmente toutes les barrier de 10% et les limites de 20% par rapport au maxheld.
Vous pouvez si vous le souhaitez changer ces valeurs en y ajouter 2 arguments :
vzautobean |
vzautobean -b 30 -l 50 |
Ici la barrier devra être mise à 30% au dessus du maxheld et la limite à 50% au dessus. Et cela pour tous les VE en lancés !
Il ne vous reste plus qu'à mettre ça en cron si vous souhaitez que ce programme tourne régulièrement.
4.10 Backup et restore
4.10.1 Installation
Vous pouvez avoir besoin de backuper un environnement entier et pour celà, il y a la commande vzdump :
aptitude |
aptitude install vzdump |
Si vous êtes sur une Debian inférieure à la 6, vous pouvez trouver la commande ici :
wget http://download.proxmox.com/debian/dists/lenny/pve/binary-amd64/vzdump_1.2-11_all.deb dpkg -i vzdump_1.2-11_all.deb |
4.10.2 Backup
Pour backuper, c'est très simple :
vzdump |
vzdump $my_veid |
4.10.3 Restaurer
Si l'on souhaite restaurer :
vzrestore |
vzrestore backup_101.tar $my_veid |
La machine sera restaurée sur le VE correspondant à $my_veid.
5 Services
Il peut arriver que certains services aient quelques problèmes à fonctionner correctement (toujours les mêmes). C'est pourquoi je vais donner les solutions de ceux que j'ai pu rencontrer.
5.1 NTP
Pour le service ntp, il suffit donc de configurer le VE comme ceci :
vzctl |
vzctl set 101 --capability sys_time:on --save |
5.2 GlusterFS
Si vous souhaitez faire du glusterfs dans un VE, vous risquez de vous heurter à des problèmes de droit:
fuse: failed to open /dev/fuse: Permission denied
Pour les contourner on va donc créer le device fuse depuis l'host sur le VE en question et lui rajouter les droits d'admin (un peu moyen en terme de sécu, mais pas le choix) :
vzctl set $my_veid --devices c:10:229:rw --save vzctl exec $my_veid mknod /dev/fuse c 10 229 vzctl set $my_veid --capability sys_admin:on --save |
5.3 Encfs
Si vous souhaitez faire de l'encfs dans un VE, vous risquez de vous heurter à des problèmes de droit:
EncFS Password: fuse: device not found, try 'modprobe fuse' first fuse failed. Common problems: - fuse kernel module not installed (modprobe fuse) - invalid options -- see usage message
Sachez donc qu'il faut déjà au niveau du VZ charger le module fuse pour que les VE en héritent. Ajoutez ceci sur votre VZ pour ne pas avoir à charger le module à chaque boot :
/etc/modules |
... # Load Fuse fuse ... |
Puis chargez le dynamiquement pour y avoir accès ensuite :
modprobe |
modprobe fuse |
Pour les contourner on va donc créer le device fuse depuis l'host sur le VE en question et lui rajouter les droits d'admin (un peu moyen en terme de sécu, mais pas le choix) :
vzctl set $my_veid --devices c:10:229:rw --save vzctl exec $my_veid mknod /dev/fuse c 10 229 vzctl set $my_veid --capability sys_admin:on --save |
Il est possible que la deuxième ligne ne fonctionne pas quand le VE est éteint. Lancez là alors une fois allumée puis montez votre partition encfs.
5.4 OpenVPN
Si vous souhaitez faire fonctionner un serveur OpenVPN dans un VE, ajoutez ce type de droits et créez les devices nécessaires :
6 FAQ
6.1 bridge vmbr0 does not exist!
Putain !!! Ah j'en ai chier sur ce truc de merde ! En effet par défaut Debian attribue à vmbr0 le nom de l'interface pour faire du bridge (certainement une nouvelle nomenclature pour Debian 6). J'avais trouvé ce problème à l'installation de mon serveur et puis comme un con j'avais pas noté ! Lorsque vous faites une mise à jour, celà peut ne plus fonctionner (le bridge de vos VMs) car le fichier /usr/sbin/vznetaddbr peut être remplacé. Ce qui lors du lancement d'un ve vous donne quelque chose comme :
Adding interface veth101.0 to bridge vmbr0 on CT0 for CT101 bridge vmbr0 does not exist!
Pour corriger le problème rapidement modifiez ce fichier et remplacer le nom de cette interface par la bonne (ici br0). Pour ma part, j'ai changé le nom de l'interface pour ne plus être ennuyé à l'avenir.
6.2 J'ai des freeze au boot/arrêt de mes VZ
Si vous avez des freeze au boot ou au stop des VZ et que vous êtes en mode bridge, il faut changer les adresses MAC comme ceci:
sed |
sed -i -e "s/00:18/FE:FF/g" /etc/vz/conf/*.conf sed -i -e "s/00:AB:BA/FE:FF:BA/g" /etc/vz/conf/*.conf |
7 Ressources
Installing And Using OpenVZ
Some Tips On OpenVZ Deployment
Splitting Resources Evenly Between OpenVZ VMs With vzsplit
Installing And Using OpenVZ On Debian
http://www.libresys.fr/2008/10/14/les-differentes-formes-de-configuration-du-reseau-avec-openvz/
http://www.famille-fontes.net/comments.php?y=10&m=02&entry=entry100208-094400
http://wiki.openvz.org/Backup_of_a_running_container_with_vzdump
http://www.kafe-in.net/Blog/OpenVZ-Les-ressources-syst-me-dans-un-VE