Proxmox 1.9 Installation, notes techniques : Différence entre versions
De wikiGite
(→DRBD) |
m (a déplacé Proxmox Installation, notes techniques vers Proxmox 1.9 Installation, notes techniques) |
||
(34 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
= Installation de Proxmox VE 1.7 à partir de l'ISO. = | = Installation de Proxmox VE 1.7 à partir de l'ISO. = | ||
− | |||
− | |||
− | |||
L'ISO est une debian version 5.0.7 (lenny) minimum avec les paquets PVE. Le noyau installé est en 64bits. | L'ISO est une debian version 5.0.7 (lenny) minimum avec les paquets PVE. Le noyau installé est en 64bits. | ||
Ligne 23 : | Ligne 20 : | ||
Passer tout de suite l'interface en français (Menu System/ onglet Options) | Passer tout de suite l'interface en français (Menu System/ onglet Options) | ||
− | Le réseau de l'hôte est manageable par l'interface | + | Le réseau de l'hôte est manageable par l'interface. Même le bonding est reconnu et peut être configuré (mode, etc...) (création par l'icone à côté du titre "configuration de l'interface"). |
− | Par contre, pour une interface eth2, j'ai du ajouter la gateway à la main, il ne proposait pas le champ. | + | Par contre, pour une interface eth2 non configurée au départ, j'ai du ajouter la gateway à la main, il ne proposait pas le champ. Mais une fois ajoutée manuellement dans le fichier /etc/network/interfaces et le réseau redémarré, il l'affiche bien dans le GUI et le champ apparait dans la config de eth2. |
− | '''Note''' : | + | '''Note''' : Quand on modifie le réseau par le GUI il créé un "interfaces.new" qui est pris en compte au prochain redémarrage. Il suffit de modifier ce fichier juste avant de redémarrer pour que ce soit pris en compte (ajout de la gateway, par exemple). |
− | + | = Utilisation = | |
− | |||
== Création VM full (KVM) == | == Création VM full (KVM) == | ||
− | par l'interface, pas de problème, c'est intuitif. On indique l'iso d'installation comme "CD de démarrage" | + | Téléchargement des isos pour l'installation des machines virtuelles par l'interface. ça tombe dans /var/lib/vz/template/iso/. |
+ | |||
+ | Création des VMs par l'interface, pas de problème, c'est intuitif. On indique l'iso d'installation comme "CD de démarrage". | ||
+ | |||
+ | La VM est bien lancée avec /usr/bin/kvm (pas de qemu sur Debian). | ||
− | + | == OpenVZ == | |
− | Pour les appliances | + | Pour les appliances openVZ, on peut uploader d'un poste ou choisir dans la liste des appliances disponibles directement chez Proxmox. |
Mais apparement elles n'y sont pas toutes. On en a un plus grand choix ici : http://pve.proxmox.com/wiki/Get_Virtual_Appliances | Mais apparement elles n'y sont pas toutes. On en a un plus grand choix ici : http://pve.proxmox.com/wiki/Get_Virtual_Appliances | ||
(notamment une BlueOnyx !) | (notamment une BlueOnyx !) | ||
− | |||
Test OpenVZ est avec une image debian6. Il faut paramétrer le réseau manuellement, mais sinon tout fonctionne. On peut paramétrer en venet (non-bridge) avec une adresse sur le sous-réseau quand même, la VM est bien accessible par son adresse dédiée (=> à priori pas besoin de bridge ici, donc pourquoi proposer l'option ?) | Test OpenVZ est avec une image debian6. Il faut paramétrer le réseau manuellement, mais sinon tout fonctionne. On peut paramétrer en venet (non-bridge) avec une adresse sur le sous-réseau quand même, la VM est bien accessible par son adresse dédiée (=> à priori pas besoin de bridge ici, donc pourquoi proposer l'option ?) | ||
+ | |||
La VM relance un système complet, avec un init [2] qui est pour l'OS virtuel son init de pid 1, à partir duquel sont lancés les processus spécifiques à la VM. Ces processus sont lancés sur la machine physique elle-même et donc visibles avec "ps -ef". | La VM relance un système complet, avec un init [2] qui est pour l'OS virtuel son init de pid 1, à partir duquel sont lancés les processus spécifiques à la VM. Ces processus sont lancés sur la machine physique elle-même et donc visibles avec "ps -ef". | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | = TIPS = | |
− | + | * En cas d'erreur dans le choix du stockage (ex. choix de LVM au lieu de Directory), pour enlever une référence à un "storage" qu'on ne pourrait pas enlever par l'UI, on peut éditer /etc/pve/storage.cfg sur tous les noeuds, puis relancer pvedaemon. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
------------------- | ------------------- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ' | + | = Installation manuelle de Proxmox = |
− | + | L'installation est recommandée sur Lenny. Ici problème : le Dell R610 refuse de booter sur un CD Lenny, on teste donc sur une Squeeze, et ça marche ! | |
− | + | Installation sur Squeeze 64 bits (Partitionnement LVM, une partition / de 10 Go, et le reste pour /var/lib/vz) de base (juste serveur SSH). | |
− | + | Quelques réglages réseau utiles à la fin de l'installation de Debian : | |
+ | vi /etc/sysctl.conf | ||
− | + | net.ipv4.conf.all.rp_filter=1 | |
+ | net.ipv4.icmp_echo_ignore_broadcasts=1 | ||
+ | net.ipv4.conf.default.forwarding=1 | ||
+ | net.ipv4.conf.default.proxy_arp = 0 | ||
+ | net.ipv4.ip_forward=1 | ||
+ | kernel.sysrq = 1 | ||
+ | net.ipv4.conf.default.send_redirects = 1 | ||
+ | net.ipv4.conf.all.send_redirects = 0 | ||
+ | net.ipv4.conf.eth0.proxy_arp=1 | ||
+ | Eventuellement ajouter "avec précaution" : | ||
+ | #optimiser en cas d'attaque | ||
+ | net.ipv4.conf.all.log_martians = 1 | ||
+ | net.ipv4.conf.default.log_martians = 1 | ||
+ | net.ipv4.tcp_max_syn_backlog = 2048 | ||
+ | net.ipv4.tcp_synack_retries = 3 | ||
+ | net.ipv4.tcp_syn_retries = 2 | ||
+ | Appliquer les changements | ||
+ | sysctl -p | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Modifier le sources.list : | Modifier le sources.list : | ||
vi /etc/apt/sources.list | vi /etc/apt/sources.list | ||
Ligne 228 : | Ligne 120 : | ||
Rebooter une dernière fois. | Rebooter une dernière fois. | ||
+ | = Conversion de disque virtuel - transfert qcow2 -> LVM = | ||
+ | == Conversion == | ||
+ | Pour convertir un fichier disque virtuel utiliser qemu-img. | ||
+ | qemu-img convert -O qcow2 vm-103-disk-1.raw vm-103-disk-1.qcow2 | ||
+ | convertir un disque raw en disque qcow2 (taille dynamique). | ||
+ | |||
+ | == Transfert fichier -> LVM == | ||
+ | Exemple : si on décide de transférer une image qcow2 vers un volume logique LVM, créer une VM avec disque LVM de la même taille et ''avec les mêmes périphériques''' ! (attention notamment au type de disque !). Puis transférer le fichier avec dd : | ||
+ | dd if=vm-103-disk-1.qcow2 of=/dev/drbdvg/vm-101-disk-1 | ||
+ | |||
+ | Si la copie ne fonctionnera pas (disque non bootable à l'arrivée), transformer d'abord en disque non dynamique (raw) : | ||
+ | qemu-img convert -O raw vm-103-disk-1.qcow2 vm-103-disk-1.raw | ||
+ | dd if=vm-103-disk-1.raw of=/dev/drbdvg/vm-101-disk-1 | ||
− | = | + | = Gestion en ligne de commande = |
− | + | L'outils '''qm''' permet de gérer les machines virtuelles en ligne de commande. "qm help" est la première chose à faire ! | |
− | * | + | * Liste les VMs |
− | + | qm list | |
− | * | + | * Gestion de l'état |
− | + | qm start <vmid> | |
− | + | qm stop <vmid> | |
− | + | qm reset <vmid> | |
+ | * Gestion des VMs | ||
+ | qm [create|set] <vmid> [voir l'aide pour la liste des paramètres à créer/modifier] | ||
+ | qm status <vmid> | ||
+ | qm destroy <vmid> | ||
+ | * VNC | ||
+ | qm vncproxy <vmid> <ticket> |
Version actuelle datée du 12 octobre 2012 à 11:45
Sommaire
Installation de Proxmox VE 1.7 à partir de l'ISO.
L'ISO est une debian version 5.0.7 (lenny) minimum avec les paquets PVE. Le noyau installé est en 64bits.
L'installateur crée automatiquement un bridge vmbr0 vers l'interface eth0.
Partitionnement sur un RAID1 232G (automatique, pas moyen de le modifier au cours de l'install)
Filesystem Size Used Avail Use% Mounted on /dev/mapper/pve-root 58G 1.1G 54G 3% / ---> 54G un peu excessif ? tmpfs 2.0G 0 2.0G 0% /lib/init/rw udev 10M 616K 9.4M 7% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm /dev/mapper/pve-data 164G 601M 163G 1% /var/lib/vz /dev/sda1 504M 31M 448M 7% /boot
A la fin de l'install, connexion à l'interface par http://192.168.37.110 --> renvoie vers https.
login root/<mot_de_passe donné à l'installation>
Passer tout de suite l'interface en français (Menu System/ onglet Options)
Le réseau de l'hôte est manageable par l'interface. Même le bonding est reconnu et peut être configuré (mode, etc...) (création par l'icone à côté du titre "configuration de l'interface").
Par contre, pour une interface eth2 non configurée au départ, j'ai du ajouter la gateway à la main, il ne proposait pas le champ. Mais une fois ajoutée manuellement dans le fichier /etc/network/interfaces et le réseau redémarré, il l'affiche bien dans le GUI et le champ apparait dans la config de eth2.
Note : Quand on modifie le réseau par le GUI il créé un "interfaces.new" qui est pris en compte au prochain redémarrage. Il suffit de modifier ce fichier juste avant de redémarrer pour que ce soit pris en compte (ajout de la gateway, par exemple).
Utilisation
Création VM full (KVM)
Téléchargement des isos pour l'installation des machines virtuelles par l'interface. ça tombe dans /var/lib/vz/template/iso/.
Création des VMs par l'interface, pas de problème, c'est intuitif. On indique l'iso d'installation comme "CD de démarrage".
La VM est bien lancée avec /usr/bin/kvm (pas de qemu sur Debian).
OpenVZ
Pour les appliances openVZ, on peut uploader d'un poste ou choisir dans la liste des appliances disponibles directement chez Proxmox.
Mais apparement elles n'y sont pas toutes. On en a un plus grand choix ici : http://pve.proxmox.com/wiki/Get_Virtual_Appliances (notamment une BlueOnyx !)
Test OpenVZ est avec une image debian6. Il faut paramétrer le réseau manuellement, mais sinon tout fonctionne. On peut paramétrer en venet (non-bridge) avec une adresse sur le sous-réseau quand même, la VM est bien accessible par son adresse dédiée (=> à priori pas besoin de bridge ici, donc pourquoi proposer l'option ?)
La VM relance un système complet, avec un init [2] qui est pour l'OS virtuel son init de pid 1, à partir duquel sont lancés les processus spécifiques à la VM. Ces processus sont lancés sur la machine physique elle-même et donc visibles avec "ps -ef".
TIPS
- En cas d'erreur dans le choix du stockage (ex. choix de LVM au lieu de Directory), pour enlever une référence à un "storage" qu'on ne pourrait pas enlever par l'UI, on peut éditer /etc/pve/storage.cfg sur tous les noeuds, puis relancer pvedaemon.
Installation manuelle de Proxmox
L'installation est recommandée sur Lenny. Ici problème : le Dell R610 refuse de booter sur un CD Lenny, on teste donc sur une Squeeze, et ça marche !
Installation sur Squeeze 64 bits (Partitionnement LVM, une partition / de 10 Go, et le reste pour /var/lib/vz) de base (juste serveur SSH).
Quelques réglages réseau utiles à la fin de l'installation de Debian :
vi /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.eth0.proxy_arp=1
Eventuellement ajouter "avec précaution" :
#optimiser en cas d'attaque net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 3 net.ipv4.tcp_syn_retries = 2
Appliquer les changements
sysctl -p
Modifier le sources.list :
vi /etc/apt/sources.list
# PVE packages provided by proxmox.com deb http://download.proxmox.com/debian lenny pve
Charger la clé Proxmox et mettre à jour APT
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add - apt-get update
Installer le noyau proxmox
aptitude install pve-kernel-2.6.32-4-pve
Les dépendance installent Grub, mais sur Squeeze c'est Grub 2 ! Il faut donc enregistrer le nouveau kernel :
update-grub
Afficher le fichier /boot/grub/grub.cfg généré pour repérer la place du noyau pve, et changer le noyau par défaut dans /etc/default/grub (rien que ça !!)
vi /etc/default/grub GRUB_DEFAULT=2
Et enfin re-re-générer grub.cfg
update-grub
OK! On peut rebooter, puis vérifier que le noyau PVE a été chargé
uname -a Linux 2.6.32-4-pve ...
Vérifier que les interfaces réseau n'ont pas changé de nom dans la bataille
ifconfig eth0
Si un message d'erreur "No device found" apparait, éditer le fichier /etc/udev/rules.d/70-persistent-net.rules et modifier les noms des interfaces.
Installer les paquets Proxmox VE et quelques dépendances
apt-get install postfix aptitude install proxmox-ve-2.6.32 ntp ssh
Sur un DELL R610 avec des cartes réseau Broadcom, le paquet pve-firmware a refusé de s'installer car il voulait remplacer le firmware bnx2 déjà présent sur le système et utilisé. Il a fallu forcer la désinstallation de ce dernier avant de terminer l'installation
dpkg -r firmware-bnx2 apt-get -f install
Rebooter, et vérifier que les processus pve ont bien été lancés.
On peut maintenant se connecter à l'interface web et configurer vmbr0 (le bridge pour les VMs) dans System Configuration / Network : mettre l'adresse IP de eth0, cocher autostart et indiquer "eth0" comme bridge ports".
Rebooter une dernière fois.
Conversion de disque virtuel - transfert qcow2 -> LVM
Conversion
Pour convertir un fichier disque virtuel utiliser qemu-img.
qemu-img convert -O qcow2 vm-103-disk-1.raw vm-103-disk-1.qcow2
convertir un disque raw en disque qcow2 (taille dynamique).
Transfert fichier -> LVM
Exemple : si on décide de transférer une image qcow2 vers un volume logique LVM, créer une VM avec disque LVM de la même taille et avec les mêmes périphériques' ! (attention notamment au type de disque !). Puis transférer le fichier avec dd :
dd if=vm-103-disk-1.qcow2 of=/dev/drbdvg/vm-101-disk-1
Si la copie ne fonctionnera pas (disque non bootable à l'arrivée), transformer d'abord en disque non dynamique (raw) :
qemu-img convert -O raw vm-103-disk-1.qcow2 vm-103-disk-1.raw dd if=vm-103-disk-1.raw of=/dev/drbdvg/vm-101-disk-1
Gestion en ligne de commande
L'outils qm permet de gérer les machines virtuelles en ligne de commande. "qm help" est la première chose à faire !
- Liste les VMs
qm list
- Gestion de l'état
qm start <vmid> qm stop <vmid> qm reset <vmid>
- Gestion des VMs
qm [create|set] <vmid> [voir l'aide pour la liste des paramètres à créer/modifier] qm status <vmid> qm destroy <vmid>
- VNC
qm vncproxy <vmid> <ticket>