4580
Commentaire: migration du contenu des CT
|
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 -- '''OBSOLETE''', à ne plus FAIRE --màj 20100918 MoussaNombre {{{ #/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 70: | Ligne 55: |
== migration du contenu des CT == | == Migration du contenu des CT == |
Ligne 73: | Ligne 58: |
1. montage des partitions (racine et autres, ex : 404, 404-var, 404-srv) dans /var/lib/vz/private sur le nouveau serveur 1. une première copie par rsync depuis l'ancien : `rsync -av --numeric-ids /var/lib/vz/root/404/ new-vz:/var/lib/vz/private/404/` 1. fermeture de la connexion réseau du CT et re-rsync 1. sur le nouveau serveur : * démontage des partitions sauf de la racine du CT (umount /var/lib/vz/private/404/var /var/lib/vz/private/404/srv) * démarrage du CT 1. arrêt du 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) |
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 !) |
Ligne 84: | Ligne 71: |
rsync -av --numeric-ids /var/lib/vz/root/$ct/ new-vz:/var/lib/vz/private/$ct/ | rsync -avPHS --numeric-ids /var/lib/vz/root/$ct/ new-vz:/var/lib/vz/private/$ct/ |
Ligne 86: | Ligne 73: |
rsync -av --numeric-ids /var/lib/vz/root/$ct/ new-vz:/var/lib/vz/private/$ct/ | rsync -avPHS --numeric-ids /var/lib/vz/root/$ct/ new-vz:/var/lib/vz/private/$ct/ |
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