<> = Procédure utilisée pour la création de VE = cf https://wiki.auf.org/wikiteki/OpenVZ/Installation, https://wiki.auf.org/wikiteki/OpenVZ/OrganisationRéseau et http://wiki.auf.org/wikiteki/OpenVZ/Conseils pour l'installation du serveur hôte openvz == Partitionnement == * racine du VE : `lvcreate -L 3G -n 505 vz` partition lvm de 3G dans le groupe de volume "vz" * partitions particulières en fonction du rôle du VE : * var : `lvcreate -L 2G -n 505-var vz` * log : `lvcreate -L 2G -n 505-var-log vz` * tmp : `lvcreate -L 1G -n 505-tmp vz` * srv : `lvcreate -L 5G -n 505-srv vz` * etc. * formater les partitions : `for i in 505 505-var 505-var-log 505-srv 505-tmp; do mkfs.ext3 /dev/vz/$i; done` * point de montage * racine : /dev/vz/505 /var/lib/vz/private/505 * les autres : /dev/vz/505-''partoche'' /var/lib/vz/root/505/''partoche'' * ajouter ces montages (la racine et les autres) dans /etc/fstab * créer le script de montage : {{{#!sh #/etc/vz/conf/505.mount #!/bin/bash RACINE=/var/lib/vz/root/505 mount -n -o noatime /dev/vz/505-srv $RACINE/srv mount -n -o noatime /dev/vz/505-log $RACINE/var/log }}} . {i} pas besoin de script de démontage * les rendre exécutables : `chmod u+x /etc/vz/conf/505.mount` == Création du VE == * `vzctl create 505 --hostname git-prive --ostemplate debian-4.0-i386-ca-auf` * renommage du répertoire de base du VE pour pouvoir le mettre dans sa partition finale : `mv /var/lib/vz/private/505 /var/lib/vz/private/505.tmp` * montage de la partition racine : `mkdir /var/lib/vz/private/505 ; mount /dev/vz/505 /var/lib/vz/private/505` * montage des autres partitions (provisoirement dans private, le temps du transfert) : `for i in var srv tmp; do mkdir /var/lib/vz/private/505/$i; mount /dev/vz/$i /var/lib/vz/private/505/$i`; done` * transfert du VE dans sa slot finale : `rsync -avPHS --numeric-ids /var/lib/vz/private/505.tmp/* /var/lib/vz/private/505/` * suppression du répertoire temporaire : `rm -rf /var/lib/vz/private/505.tmp` * démontage des partitions sauf la racine : `for i in tmp srv var; do umount /dev/vz/$i; done` * modifier le fichier de configuration : `/etc/vz/conf/505.conf` : * ONBOOT="yes" * DISK_QUOTA="no" == Configuration réseau == (cf https://wiki.auf.org/wikiteki/OpenVZ/OrganisationRéseau) * vzctl set 505 --netif_add * "eth0,00:15:00:00:50:5A,veth505.0,00:15:00:00:50:5B" --save * configurer l'interface réseau du VE : dans `/var/lib/vz/private/505/etc/network/interface` : lui assigner une adresse IP == Ajustement de quelques paramètres == * hostname : `/var/lib/vz/private/505/etc/hostname` * resolver : `/var/lib/vz/private/505/etc/resolv.conf` * etc. == Zou, on peut le lancer == * `vzctl start 505` * on y accède par ssh pour la suite (ou depuis l'hôte vzctl enter 505) == Migration du contenu des CT == __Note__ : l'outil [[http://wiki.openvz.org/Migration_from_one_HN_to_another|`vzmigrate`]] (http://openvz.org/documentation/mans/vzmigrate.8) permet de transferer un CT d'un HN à un autre sans "éteindre" le CT. Dans mon cas, où les CT ont chacun leurs propres partions, je ne peux pas l'utiliser. 1. créer les partitions nécessaires sur le nouveau serveur en calquant les tailles sur l'existant (serveur source) 1. monter les partitions (racine et autres, ex : 404, 404-var, 404-srv) dans /var/lib/vz/private sur le nouveau serveur 1. copier le fichier de config du CT depuis l'ancien serveur (/etc/vz/conf/404.conf) et adapter la ligne de config réseau (NETIF="ifname ....") 1. faire une première copie par rsync depuis l'ancien : `rsync -avPHS --numeric-ids /var/lib/vz/root/404/ new-vz:/var/lib/vz/private/404/` 1. fermer la connexion réseau du CT et re-rsync 1. sur le nouveau serveur : * démonter les partitions sauf de la racine du CT (umount /var/lib/vz/private/404/var /var/lib/vz/private/404/srv) * démarrer le CT 1. arrêter le CT sur l'ancien et modif de la config pour mettre ONBOOT="no" __Résumé__ : (je met ici dans un script les commandes que j'ai exécutées), en supposant que les partitions sont déjà montées (A ADAPTER AVANT DE LANCER !) {{{ # migration-ct.sh ct=$1 rsync -avPHS --numeric-ids /var/lib/vz/root/$ct/ new-vz:/var/lib/vz/private/$ct/ vzctl exec $ct /etc/init.d/networking stop rsync -avPHS --numeric-ids /var/lib/vz/root/$ct/ new-vz:/var/lib/vz/private/$ct/ ssh new-vz "umount /var/lib/vz/private/$ct/var /var/lib/vz/private/$ct/srv ; vzctl start $ct" vzctl stop $ct sed -i '/^ONBOOT/c ONBOOT="no"' /etc/vz/conf/$ct.conf }}}