3073
Commentaire: Ajout
|
4655
ajustement sur la question des montages
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
<<TableOfContents>> |
|
Ligne 17: | Ligne 19: |
* créer le script de montage {{{ |
* créer le script de montage : {{{#!sh |
Ligne 21: | Ligne 22: |
Ligne 23: | Ligne 23: |
mount -o noatime /dev/vz/505-srv $RACINE/srv mount -o noatime /dev/vz/505-log $RACINE/var/log }}} * bien sûr, le démontage {{{ #/etc/vz/conf/505.umount #!/bin/bash RACINE=/var/lib/vz/root/505 for a in var/log srv do if mount|grep -q $RACINE/$a then umount $RACINE/$a fi done }}} |
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 |
Ligne 69: | Ligne 54: |
== 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 }}} |
Sommaire
Procédure utilisée pour la création de VE
cf https://wiki.auf.org/wikiteki/OpenVZ/Installation et https://wiki.auf.org/wikiteki/OpenVZ/OrganisationRéseau 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 :
#/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
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 -av --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 `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.
- créer les partitions nécessaires sur le nouveau serveur en calquant les tailles sur l'existant (serveur source)
- monter les partitions (racine et autres, ex : 404, 404-var, 404-srv) dans /var/lib/vz/private sur le nouveau serveur
- 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 ....")
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/
- fermer la connexion réseau du CT et re-rsync
- 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
- 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