Modifications entre les versions 6 et 11 (s'étendant sur 5 versions)
Version 6 à la date du 2010-09-18 17:47:15
Taille: 3138
Éditeur: MoussaNombre
Commentaire: démontage des partoches des ct
Version 11 à la date du 2011-12-20 20:59:31
Taille: 4955
Éditeur: MoussaNombre
Commentaire: Mise à jour
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
<<TableOfContents>>
Ligne 69: Ligne 71:

== 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
   }}}

Procédure utilisée pour la création de VE

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 -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
    • 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

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

  1. créer les partitions nécessaires sur le nouveau serveur en calquant les tailles sur l'existant (serveur source)
  2. monter les partitions (racine et autres, ex : 404, 404-var, 404-srv) dans /var/lib/vz/private sur le nouveau serveur
  3. 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 ....")
  4. 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/

  5. fermer la connexion réseau du CT et re-rsync
  6. 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
  7. 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

ZA/Montréal/CréationServeurVirtuelOpenvz (dernière édition le 2013-12-11 09:57:38 par MoussaNombre)