Outils pour utilisateurs

Outils du site


Panneau latéral

linux:proxmox (lu 93916 fois)

Ceci est une ancienne révision du document !


Proxmox

Définition

Proxmox est une distribution linux sous debian lenny qui intègre les outils openvz ( http://wiki.openvz.org/Main_Page ) permettant la virtualisation de machine.

L’intérêt de proxmox est qu’ils ont développés une interface web permettant de gérer facilement les outils openvz.

Installation

Ici l’install se fait via OVH sur un kimsufi 2g

On va sur la page http://pve.proxmox.com/wiki/Get_Virtual_Appliances pour trouver nos OS qu’on veut installer en VM

Ensuite, dans notre cas nous voulons installer une debian 6.0 64bit

cd /vz/template/cache/
wget http://download.proxmox.com/appliances/system/debian-6.0-standard_6.0-4_amd64.tar.gz

Configuration

Cas de figure : une seule adresse ip + un LAN

On rajouter pour l’instant une petite règle de firewall

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j SNAT --to 70.70.70.70

Cela permet à votre réseau virtuel en 192.168.0.0 d’avoir accès à internet via votre serveur 70.70.70.70

Pour un accès ssh de votre VM, vous devez utiliser un autre port que le 22 qui est déja utilisé par votre serveur principal.
Exemple pour le port 2222 qui sera redirigé sur le port 22 de votre VM 192.168.0.1
On déclare tout d’abord une règle permettant de faire du NAT sur notre réseau local virtuelle 192.168.0.0/24

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j SNAT --to-source 70.70.70.70

Ensuite on redirige le port 2222

iptables -t nat -A PREROUTING -d 70.70.70.70 -p tcp --dport 2222 -j DNAT --to-dest 192.168.0.1:22

(a venir, une config plus sécurisé du firewall…)

Je désactive l’ecoute sur le port 80 du serveur principal pour laisser libre ce port pour les autres machines.
L’interface reste toujours accessible sur le port 443 via https://...

Pour cela, modifiez le fichier /etc/apache2/ports.conf et commentez la ligne Listen 80

Rédémarrez apache

Installons maintenant pound qui permet le reverse-proxy et load-balancer

aptitude install pound

Voir plus de détails sur Pound

Cas de figure : Une adresse ip WAN pour chaque VM

Dans ce cas la, pas besoin de faire du nat, on a une sorte de pont entre le wan et les vm. On ne peut pas faire d’iptables directement dans les VM, je n’ai pas trouvé l’astuce… Donc tout se faire sur le serveur proxmox.

L’insterface vmbr0 correspond à l’interface de proxmox, ensuite, tout ce qui est forwardé sur cette interface fini sur les VM.

Brièvement, pour couper le port 80 sur la machine proxmox mais sans couper le port 80 de vos VM

iptables -A INPUT -i vmbr0 -p tcp --dport 80 -j DROP

A l’inverse, couper le port 80 de toutes vos VM sans couper celui de proxmox

iptables -A FORWARD -i vmbr0 -p tcp --dport 80 -j DROP

Pour couper le port 80 d’une seule VM, procurez-vous son adresse ip et ajoutez-la dans la règle

iptables -A FORWARD -i vmbr0 -p tcp -d 199.199.199.199 --dport 80 -j DROP

Garder à l’esprit que vos VM peuvent communiquer entre elle, je mettrai prochainement une règle permettant de les isoler entre elles.

Backup & restore

La commande suivante permet un backup de base

[root@serveur:]# vzdump --compress 102
INFO: starting new backup job: vzdump --compress 102
INFO: Starting Backup of VM 102 (openvz)
INFO: CTID 102 exist unmounted down
INFO: status = CTID 102 exist unmounted down
INFO: backup mode: stop
INFO: ionice priority: 7
INFO: creating archive '/var/lib/vz/dump/vzdump-openvz-102-2012_01_22-23_33_14.tgz'
INFO: Total bytes written: 457912320 (437MiB, 4.3MiB/s)
INFO: archive file size: 188MB
INFO: Finished Backup of VM 102 (00:01:46)
INFO: Backup job finished successfuly

Le contenu de l’archive comprend toute l’arborescence du serveur virtuel ce qui est pratique pour récupérer toutes les données que l’on souhaite sans avoir les outils openvz sous la main.

La commande suivante permet la restautarion d’un backup de ma machine 101 sur une nouvelle machine nommé 103

[root@serveur:/vz/vzdump]# vzrestore vzdump-openvz-101-2012_01_29-00_00_02.tgz 103
INFO: restore openvz backup 'vzdump-openvz-101-2012_01_29-00_00_02.tgz' using ID 103
INFO: extracting archive 'vzdump-openvz-101-2012_01_29-00_00_02.tgz'
INFO: Total bytes read: 583393280 (557MiB, 21MiB/s)
INFO: extracting configuration to '/etc/vz/conf/103.conf'
INFO: restore openvz backup 'vzdump-openvz-101-2012_01_29-00_00_02.tgz' successful

Avec proxmox vous n’avez pas besoin d’utiliser ces lignes de commandes pour faire un backup, tout est prévu dans l’interface web.

Il suffit de déclarer un espace de stockage pour les backups, ensuite on crée une tache de backup en spécifiant la période, combien de backup on garde et quelle machine on veut sauvegarder.

Rien n’est prévu toutefois pour faire une restauration… il faudra passer par la ligne de commande.
Une fois la commande de restauration effectué, vous retrouverez la machine dans votre interface web.

Partager un répertoire

Admettons vous voulez un répertoire dans votre VM qui contient plein de données mais vous ne souhaitez pas que ces données soient inclus dans le backup de votre VM.

La solution est de créer un répertoire qui sera partagé par le système proxmox dans votre VM.

Pour cela on va utiliser un montage bind directement sur la machine proxmox.

Admettons que votre VM est le numéro 101, tapez cette commande sur la machine proxmox.

mount --bind /var/lib/vz/stockage /var/lib/vz/root/101/mnt/stockage

Maintenant tout ce que vous stockerez sur votre VM dans le répertoire /mnt/stockage ne sera pas considérer comme des données de votre VM et ne sera donc pas sauvegardé par votre backup.

Pour que ce montage se fasse automatiquement, vous devez créer le fichier suivant

/etc/vz/conf/101.mount
#!/bin/bash
source /etc/vz/vz.conf
source ${VE_CONFFILE}
mount --bind /vz/stockage ${VE_ROOT}/mnt/stockage

Assurez-vous qu’il soit exécutable, chez moi il s’est mis automatiquement exécutable.

Templates supplémentaires

Par défaut on trouve pas mal de templates disponibles sur proxmox mais par exemple, il n’y a que la version 32bits de Debian.

On peut trouver une version 64bits et d’autres distrib ici ⇒ http://wiki.openvz.org/Download/template/precreated

Il n’y a plus qu’a les télécharger dans le répertoire template prévu par proxmox.

linux/proxmox.1416142161.txt.gz · Dernière modification: 16-11-2014 13:49 de edmc73