We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

[TUTO] Proxmox


BBR
23/09/2014, 11h44
Créer une VM avec une ip locale (dans la plage 10.0.0.0/8) comme expliqué dans le tutoriel précédent.
Dans la suite de ce tutoriel, nous supposerons que l'ip de votre VM locale est 10.10.10.10 et que l'ip de votre serveur sous proxmox est 100.100.100.100

Pour autoriser toutes les VM locales à avoir accès à internet, sur l'hôte proxmox, vous devez ajouter cette ligne à votre firewall
Code:
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o vmbr0 -j SNAT --to 100.100.100.100
Maintenant, votre VM locale a accès à internet. (Vous pouvez le vérifier en effectuant un ping vers google.fr depuis votre console)

Nous allons maintenant voir la redirection de ports.

Afin de toujours pouvoir administrer votre hôte, je vous conseille de laisser le port 22 et 8006 sur l'hôte.

Pour vous connecter en ssh à votre VM, nous allons rediriger le port 1022 vers le port 22 de votre VM.
Code:
iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m tcp -d 100.100.100.100 --dport 1022 -j DNAT --to-destination 10.10.10.10:22
pour vous connecter en SSH à votre VM, il faut se connecter sur l'ip 100.100.100.100 port 1022.

Pour rediriger par exemple le port 80 vers votre VM locale,
Code:
iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m tcp -d 100.100.100.100 --dport 80 -j DNAT --to-destination 10.10.10.10:80
NB : toutes les "lignes" iptables, sont à ajouter à un script iptables qui se lance au boot du serveur.

=-=-=-=-=-=
Ce tuto a été écrit par Buddy pour mon site, je le mets ici car il complète celui au-dessus

BBR
16/08/2014, 16h24
La virtualisation avec Proxmox

Une version plus complète et en image ici
Partitionnement standard chez OVH
Code:
Ordre    Type    Systeme de fichier    Point de montage    Raid    Taille
1    primary    ext3    /    1    20000 MB
2    primary    swap    swap    1    1024 MB
3    lv    ext3    /var/lib/vz    1    Espace restant
Au cas où ces utilitaires ne soient pas installés
Code:
apt-get install nano
(vous pouvez utiliser vi ou autre bien sûr)
Code:
apt-get install ssh-keygen
Code:
ssh-keygen -t dsa
(pour générer un jeu de clés si votre Proxmox doit envoyer ses backups sur un autre serveur de façon automatisée)

Installation de votre clé ssh et blocage du root avec password
Code:
nano /root/.ssh/authorized_keys
y coller votre clé ssh

Code:
nano /etc/ssh/sshd_config
Code:
# PermitRootLogin Yes
PermitRootLogin without-password
Code:
service ssh restart
Changer le hostname
A faire de préférence avant de créer vos CT/VM
Code:
nano /etc/hostname
vous mettez le hostname désiré, vous enregistrez puis
Code:
/etc/init.d/hostname.sh start
Modifiez
Code:
nano /etc/hosts
et reverse IP dans le manager

Si vous changez le hostname après avoir créé des CT/VM, plus rien ne fonctionnera correctement.
Après avoir changé le hostname, Proxmox va créer un node avec le nouveau hostname,
il faut donc mettre nos CT/VM sur ce nouveau node
Code:
mv /etc/pve/nodes/ancien_hostname/openvz/* /etc/pve/nodes/nouveau_hostname/openvz/
Mettre à l'heure locale
Code:
dpkg-reconfigure tzdata
(Europe/Paris)

Mise à jour Proxmox
On modifie les sources pour les mises à jour.
Proxmox est la version gratuite mais le lien des sources est celui de la version payante
Code:
nano /etc/apt/sources.list.d/pve-enterprise.list
on commente la ligne et on ajoute l'autre
Code:
# deb https://enterprise.proxmox.com/debian wheezy pve-enterprise
deb http://download.proxmox.com/debian wheezy pve-no-subscription
Lorsque vous aurez des CT ou VM il faudra les arrêter avant de faire les mises à jour
Code:
apt-get update && apt-get upgrade

Distributions pour les containers, vous les trouverez ici :
http://wiki.openvz.org/Download/template/precreated

Récupérer Debian pour les CT
Code:
cd /var/lib/vz/template/cache
Code:
wget http://download.openvz.org/template/precreated/debian-7.0-x86_64.tar.gz
Si les containers sont créés avec l'interface graphique, ils ne seront peut-être pas à l'heure
ssh sur le CT ( IP_CT root et pass root attribué au CT)
Code:
dpkg-reconfigure tzdata
Pour sauvegarder vos CT/VM:
Code:
vzdump numero_CT --dumpdir /var/lib/vz/backup/dump --mode snapshot --compress lzo --mailto votre@email
Pour les restaurer :
Code:
vzrestore nom_du_fichier_de_sauvegarde.tar numero_CT
Migration d'un CT vers une IP (je n'ai pas testé)
Code:
vzmigrate -v --ssh="-pPASS_PROX-DESTINATION destination_node_port" destination_node_ip container_id
Voir les perfs du serveur

Code:
root@serveurprox:~# pveperf
Code:
CPU BOGOMIPS:      25543.20
REGEX/SECOND:      1525760
HD SIZE:           14.53 GB (/dev/md1)
BUFFERED READS:    376.92 MB/sec
AVERAGE SEEK TIME: 0.08 ms
FSYNCS/SECOND:     1705.76
DNS EXT:           20.65 ms
DNS INT:           1.76 ms (ip-xx-xx-xxx.eu)
Voir la liste des CPU Units

Code:
root@serveurprox:~# vzcpucheck -v
Code:
VEID            CPUUNITS
-------------------------
0               1000
100             166666
101             50000
102             50000
103             50000
104             50000
105             50000
106             50000
107             50000
108             50000
109             50000
Current CPU utilization: 617666
Power of the node: 638580
La somme des CPU Units de tous les containers ne doit pas dépasser ce qui est indiqué dans
Power of the node: 638580 (dans notre exemple)
sinon vous aurez un message
Warning: hardware node is overcommitted

Calcul des cpu units pour un CT :
(CPU units / Power of the node) * 100 = % cpu utilisé

si on accorde par exemple 200000 à un CT :
200000 / 638580 = 0.31 * 100 = 31% du temps cpu

Pour l'attribution de la mémoire, la somme des CT ne doit pas dépasser la mémoire physique du serveur

Le nombre maxi théorique de containers est égal à Nb coeurs + Nb Threads
par exemple pour un 4 c / 8 t, le max théorique sera de 12 CT

Planification dans interface graphique de Proxmox
En premier lieu il faut créer le répertoire de backup
cliquer sur Centre de données, puis sur Stockage puis Ajouter
là vous choisissez Directory
ID : Backups,
Répertoire : /var/lib/vz/backup
Contenu : Backups,
Nombre de sauvegardes : 7 est un bon compromis
valider
Cliquer sur centre de données puis sur sauvegarde, ajouter et choisir la fréquence de planification

Sauvegardes programmées avec l'interface graphique
Attention si vous avez mis par exemple maxi 7 fichiers et une sauvegarde par jour,
cela ne veut pas dire que le 8eme jour la plus ancienne sera remplacée par la plus récente
Proxmox ne fera tout simplement plus les sauvegardes !
Il faut donc mettre en place un ménage automatique dans le répertoire des Dumps
(utile de toutes façons quelque soit la méthode)

On crée un fichier menage_dumps.sh
Code:
nano /home/menage_dumps.sh
Code:
#!/bin/bash
# on se met dans le repertoire de sauvegarde
cd /var/lib/vz/backup/dump
# Format de la date
format_date='%Y_%m_%d'
# Variable de date du jour
date=`date +${format_date}`;
# Le nombre de jours que vous souhaitez archiver
nbjours="5";
# Fichiers ayant la date qui seront effaces selon le nombre de jours que vous archivez
deldate=`date --date "-${nbjours} days" +${format_date}`;
# echo "liste des fichiers de plus de ${nbjours} jours correspondants a cette date : ${deldate}" ;
ls -l vzdump-openvz-???-${deldate}*.*
rm vzdump-openvz-???-${deldate}*.*
echo "Liste des fichiers apres l'effacement de ${deldate} ";
ls -l
Enregistrer, puis rendre exécutable
Code:
chmod +x /home/menage_dumps.sh
on le met en cron par exemple à 3h45
(si le dump est lui exécuté à 2h30, adapter selon l'heure du dump)
Code:
crontab -e
on ajoute la ligne
Code:
45 3 * * * sh /home/menage_dumps.sh
(Merci à Buddy pour m'avoir aidée à me lancer dans la virtualisation)