mardi 29 mai 2012

Proxmox, VZDUMP et LVM


En ce moment j'utilise beaucoup Proxmox, une solution Debian intégrant OpenVZ et QEMU/KVM.

Proxmox est très puissant, très agile et permet de virtualiser des machines Linux et Windows sans impact sur les performances avec de nombreuses fonctionnalités : 
  • Cluster, 
  • Backup, 
  • Web interface de management,
  • Template personnalité pour facilité la mise en production.
Proxmox permet de faire tout ça et gratuitement bien sûr.
Beaucoup de hosting compagnies l'utilisent ou bien seulement OpenVZ, la plus part des VPS sont des containers ou des VM Xen.

Une des qualités principales de Proxmox est VZDUMP.
VZDUMP permet de sauvegarder le serveur virtuel selon 3 modes :
  • Arrêt du serveur
  • Interruption du serveur, comme un freeze
  • Snapshot sans arrêt du serveur.


Évidement le mode snapshot est le plus intéressant mais curieusement avec une installation typique de Proxmox ce mode n'est pas possible car pour effectuer le snapshot il faut
  • Une partition source, un volume logique utilisant LVM
  • Une espace non utilisé, pour créer le volume logique snapshot
  • Une partition cible qui va recevoir le backup
Or la partition cible n'existe pas.

Proxmox installe
1 Volume groupe : PVE, conserve de l'espace libre et également ;
3 volumes logique :
  • /
  • swap
  • /var/lib/vz, qui contient les données de VZ (les serveurs virtuels)



Pour utiliser Vzdump en snapshot il faut conserver l'espace libre et créer une nouvelle partition Backup.



Étapes à suivre :


Arrêter les services VZ
/etc/init.d/vz stop (arrêter tous les VM et VE)
Démonter la partition Data
umount /var/lib/vz
Vérifier le filesystem de la partition
e2fsck /dev/pve/data
Réduire le filesystem de la partition
Réduire le Volume logique
lvreduce -r -L -500G /dev/pve/data
Vérifier le filesystem de la partition
e2fsck /dev/pve/data
Remonter la partition
mount /var/lib/vz
Créer le volume logique Backup
lvcreate -L 500G -n backup pve
Créer le filesystem de Backup
mkfs.ext3 -m 1 -v /dev/pve/backup
Créer le point de montage
mkdir /var/lib/vz/backup
Monter le disque
mount /dev/pve/backup /var/lib/vz/backup/
Démarrer les services VZ
/etc/init.d/vz start


Ne pas oublier d'ajouter /var/lib/vz/backup dans /etc/fstab


Pour éviter d'avoir un problèmes plutôt que d'utiliser efsresize, 
je préfère utiliser lvreduce avec l'option -r pour efsresize.


Évidement l'inverse est possible avec lvextend.

3 commentaires:

  1. Super ça fonctionne à merveille !
    Merci !

    RépondreSupprimer
  2. Pou que cela fonctionne en Proxmox2.2

    Arrêter les services VZ
    /etc/init.d/vz stop (arrêter tous les VM et VE)
    Démonter la partition Data
    umount /var/lib/vz

    Vérifier le filesystem de la partition
    e2fsck /dev/pve/data
    Réduire le filesystem de la partition
    Réduire le Volume logique
    lvreduce -r -L -500G /dev/pve/data
    Vérifier le filesystem de la partition
    e2fsck /dev/pve/data
    Remonter la partition
    mount /var/lib/vz
    Créer le volume logique Backup
    lvcreate -L 497G -n backup pve(il faut laisser un peu de place)
    Créer le filesystem de Backup
    mkfs.ext3 -m 1 -v /dev/pve/backup
    Créer le point de montage
    mkdir /opt/backup
    Monter le disque
    mount /dev/pve/backup /opt/backup/
    Démarrer les services VZ
    /etc/init.d/vz start

    RépondreSupprimer
    Réponses
    1. Je vois pas bien la difference :)
      Merci de lire mon blog.

      Je l'ai fait sur plusieurs Proxmox 2.2 avec succes.
      Je conseille de laisser d'avantage d'espace non affecté +/- 10G car on a besoin parfois d'une taille de lv snapshot plus grande, voir la configuration de vzdump.conf

      Supprimer