Ceci est une ancienne révision du document !
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.
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
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
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.
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.