« Proxmox3 » : différence entre les versions

Aller à la navigation Aller à la recherche
1 897 octets ajoutés ,  23 décembre 2018
m (Pfoo a déplacé la page Proxmox2 vers Proxmox3)
 
(39 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
[[Category:virtualisation]]
[[Category:virtualisation]]


Nous allons voir comment installer proxmox 2 (en beta à l'heure où j'écris ces lignes) avec support d'un raid virtuel (mdadm) et LVM2.
Nous allons voir comment installer proxmox 3 avec support d'un raid software (mdadm) et LVM2.


=Prérequis=
=Prérequis=
Ligne 25 : Ligne 25 :


Voici le partitionnement que je vais utiliser :
Voici le partitionnement que je vais utiliser :
* /dev/sd*1 15 Go (/) (type de partition : FD)
* /dev/sd*1 15 Go (/) (type de partition : FD00)
* /dev/sd*2 4096 Go (swap) (type de partition : 82)
* /dev/sd*2 4096 Go (swap) (type de partition : 8200)
* /dev/sd*3 reste de l'espace disque (lvm) (type de partition : FD)
* /dev/sd*3 reste de l'espace disque (lvm) (type de partition : FD00)


Nous allons créer le RAID software (raid 1) suivant :
Nous allons créer le RAID software (raid 1) suivant :
Ligne 53 : Ligne 53 :
</pre>
</pre>


Nous ne créerons pas de volume logique dans le LVM maintenant. Nous laisserons en effet proxmox et KVM se charger de créer des volumes logiques pour chaque VM.  
Nous ne créerons pas de volume logique dans le LVM maintenant. Nous laisserons en effet proxmox et KVM se charger de créer des volumes logiques pour chaque VM.


=Installation de proxmox=
=Installation de proxmox=
Ligne 65 : Ligne 65 :
</pre>
</pre>


<pre>debootstrap --arch=amd64 squeeze /mnt http://ftp.fr.debian.org/debian</pre>
<pre>debootstrap --arch=amd64 wheezy /mnt http://ftp.fr.debian.org/debian</pre>


==Configuration de Debian==
==Configuration de Debian==
Ligne 78 : Ligne 78 :
Editez le fichier <code>/etc/apt/sources.list</code> :
Editez le fichier <code>/etc/apt/sources.list</code> :
<pre>
<pre>
deb http://ftp.fr.debian.org/debian squeeze main contrib non-free
deb http://ftp.fr.debian.org/debian wheezy main contrib non-free
deb-src http://ftp.fr.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian wheezy main contrib non-free


#Sec
#mises à jour de sécurité
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free


#anciennement debian-volatile
#anciennement debian-volatile
deb http://ftp.fr.debian.org/debian squeeze-updates main contrib non-free
deb http://ftp.fr.debian.org/debian wheezy-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian wheezy-updates main contrib non-free
 
#anciennement backports
#deb http://ftp.fr.debian.org/debian/ wheezy-backports main contrib non-free
</pre>
</pre>


Ligne 172 : Ligne 175 :
Ajoutez le dépot proxmox dans le fichier /etc/apt/source.list :
Ajoutez le dépot proxmox dans le fichier /etc/apt/source.list :
<pre>
<pre>
# PVE packages provided by proxmox.com
# PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
deb http://download.proxmox.com/debian squeeze pve
deb http://download.proxmox.com/debian wheezy pve-no-subscription
</pre>
</pre>


Ligne 184 : Ligne 187 :
<pre>
<pre>
aptitude install pve-firmware
aptitude install pve-firmware
aptitude install pve-kernel-2.6.32-19-pve
aptitude install pve-kernel-2.6.32-26-pve
</pre>
</pre>


Lorsqu'on vous demandera où installer grub, choisissez sda et sdb.
'''Lorsqu'on vous demandera où installer grub, choisissez sda et sdb.'''


Et les headers si vous en avez besoin :
Et les headers si vous en avez besoin :
<pre>
<pre>
aptitude install pve-headers-2.6.32-19-pve
aptitude install pve-headers-2.6.32-26-pve
</pre>
</pre>


Ligne 257 : Ligne 260 :


Il est aussi capital d'adapter votre fichier /etc/hosts en fonction de toutes les IPs (qu'elles soient ipv4 ou ipv6 que vous configurez sur votre hôte). En effet, proxmox se sert du fichier /etc/hosts pour déterminer des éléments de configuration locale.
Il est aussi capital d'adapter votre fichier /etc/hosts en fonction de toutes les IPs (qu'elles soient ipv4 ou ipv6 que vous configurez sur votre hôte). En effet, proxmox se sert du fichier /etc/hosts pour déterminer des éléments de configuration locale.
A noter que les dernières versions de proxmox désactives ipv6 au niveau kernel. Pensez alors a éditer <code>/etc/modprobe.d/local.conf</code> et remplacez <code>options ipv6 disable=1</code> par <code>options ipv6 disable=0</code>


===Ajout d'un réseau interne vmbr1===
===Ajout d'un réseau interne vmbr1===
Ligne 273 : Ligne 278 :
         bridge_stp off
         bridge_stp off
         bridge_fd 0
         bridge_fd 0
        #post-up /etc/pve/kvm-networking.sh
</pre>
</pre>


Ligne 312 : Ligne 316 :
enabled = false
enabled = false


[proxmox2]
[proxmox3]
enabled = true
enabled = true
port = https,http,8006
port = https,http,8006
filter = proxmox2
filter = proxmox3
logpath = /var/log/daemon.log
logpath = /var/log/daemon.log
maxretry = 4
maxretry = 4
Ligne 321 : Ligne 325 :
</pre>
</pre>


Créez le fichier <code>/etc/fail2ban/filter.d/proxmox2.conf</code> :
Créez le fichier <code>/etc/fail2ban/filter.d/proxmox3.conf</code> :
<pre>
<pre>
[Definition]
[Definition]
Ligne 328 : Ligne 332 :
</pre>
</pre>


Vous pouvez tester votre configuration avec la commande <code>fail2ban-regex /var/log/daemon.log /etc/fail2ban/filter.d/proxmox2.conf</code>
Vous pouvez tester votre configuration avec la commande <code>fail2ban-regex /var/log/daemon.log /etc/fail2ban/filter.d/proxmox3.conf</code>


Relancez fail2ban :
Relancez fail2ban :
Ligne 419 : Ligne 423 :
issuerAltName                  = issuer:copy
issuerAltName                  = issuer:copy
basicConstraints                = critical,CA:FALSE
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation, keyEncipherment
keyUsage                        = critical, digitalSignature, nonRepudiation, keyEncipherment
nsCertType                      = server
nsCertType                      = server
extendedKeyUsage                = serverAuth
extendedKeyUsage                = serverAuth
Ligne 459 : Ligne 463 :


=Utiliser sa propre CA pour le certificat proxmox=
=Utiliser sa propre CA pour le certificat proxmox=
Copiez les fichiers de votre ca ici : /etc/pve/pve-root-ca.pem et /etc/pve/priv/pve-root-ca.key


Attention tout de même, pour que les consoles vnc fonctionnent, les fichiers .pem et .key ne doivent contenir rien d'autre que les données contenues entre <code>-----BEGIN CERTIFICATE-----</code> et <code>-----END CERTIFICATE-----</code> ou entre <code>-----BEGIN RSA PRIVATE KEY-----</code> et <code>-----END RSA PRIVATE KEY-----</code>.
Attention, pour que les consoles vnc fonctionnent, les fichiers .pem et .key ne doivent contenir rien d'autre que les données contenues entre <code>-----BEGIN CERTIFICATE-----</code> et <code>-----END CERTIFICATE-----</code> ou entre <code>-----BEGIN RSA PRIVATE KEY-----</code> et <code>-----END RSA PRIVATE KEY-----</code>.
 
<br/>Admettons que vous avez la chaine de certification suivante suivante :
* une CA : root_ca.pem
* une ca intermédiaire 1 int_ca.pem (signée par root_ca)
* un certificat serveur proxmox : proxmox.pem et proxmox.key (signé par proxmox_ca)


<br/>La configuration de proxmox se fera de la manière suivante :
* Le fichier int_ca.key va dans /etc/pve/priv/pve-root-ca.key :
** cp int_ca.key  /etc/pve/priv/pve-root-ca.key


Pour générer automatiquement les certificats serveurs :
* Le fichier proxmox.key va dans /etc/pve/local/pve-ssl.key
<pre>
** cp proxmox.key /etc/pve/local/pve-ssl.key
rm /etc/pve/local/pve-ssl.*
 
pvecm updatecerts
* Les fichiers int_ca.pem et root_ca vont dans /etc/pve/pve-root-ca.pem DANS CET ORDRE :  
</pre>
** cat int_ca.pem root.pem > /etc/pve/pve-root-ca.pem
 
* Le fichier proxmox.pem va dans /etc/pve/local/pve-ssl.pem :
** cat proxmox.pem > /etc/pve/local/pve-ssl.pem
 
Attention ! L'ordre dans lequel vous entrez les fichiers est important !


Vous pouvez aussi générez vous même le certificat serveur avec openssl et le placer ici :
Notez que root_ca.pem devrait être importé dans les certificats trusté de votre navigateur ainsi que dans votre configuration du plugin java de votre navigateur.
/etc/pve/local/pve-ssl.pem
etc/pve/local/pve-ssl.key


Il faudra modifier la configuration apache dans /etc/apache2/sites-enabled/pve.conf afin d'ajouter votre éventuel chaine de certification
Notez que si vous créez un cluster, la CA utilisée sera *partagée* entre tous les nodes du cluster ! Si vous générez certains certificats manuellement dans votre cluster, veillez à maintenant le fichier /etc/pve/priv/pve-root-ca.srl à jour.


=Configurer les alertes raid software=
=Configurer les alertes raid software=
Ligne 597 : Ligne 611 :


Une fois la VM crées dans l'interface proxmox, je vous recommande d'écrire des zero sur son disque afin de réduire la taille des futurs backups. Si votre vm porte le numéro 100 et possède un seul disque :
Une fois la VM crées dans l'interface proxmox, je vous recommande d'écrire des zero sur son disque afin de réduire la taille des futurs backups. Si votre vm porte le numéro 100 et possède un seul disque :
<pre>dd if=/dev/zero of=/dev/main/vm-100-disk1 bs=1M</pre>
<pre>dd if=/dev/zero | pv -ptrb | dd of=/dev/main/vm-100-disk1 bs=1M</pre>


===Configuration réseau en bridge vmbr0 (ip public)===
===Configuration réseau en bridge vmbr0 (ip public)===
Ligne 717 : Ligne 731 :
Sur votre nouveau serveur, créez une VM identique à celle de votre premier serveur (surtout en qui concerne la taille de disque).
Sur votre nouveau serveur, créez une VM identique à celle de votre premier serveur (surtout en qui concerne la taille de disque).
Depuis server1, copiez avec un dd over ssh le disque d'origine de votre vm vers votre nouveau serveur.
Depuis server1, copiez avec un dd over ssh le disque d'origine de votre vm vers votre nouveau serveur.
<pre>dd if=/dev/main/vm-102-disk-1 bs=1M | pv -ptrb | ssh -c blowfish root@server2.domain.tld dd of=/dev/main/vm-102-disk-1</pre>
<pre>dd if=/dev/main/vm-102-disk-1 | pv -ptrb | ssh -c blowfish -o "Compression no" root@server2.domain.tld "dd of=/dev/main/vm-102-disk-1 bs=100M"</pre>
 
Note : sur un réseauu 100Mbps utilisez plutôt <code>-o "Compressionlevel 1"</code>


Une fois la copie terminée, coupez la vm 102 sur server1, puis lancez lvmsync sur le snapshot (toujours sur server1) :
Une fois la copie terminée, coupez la vm 102 sur server1, puis lancez lvmsync sur le snapshot (toujours sur server1) :
Ligne 731 : Ligne 747 :
==Désactiver le login root sur l'interface proxmox==
==Désactiver le login root sur l'interface proxmox==
Cela n'est malheureusement pas directement supporté par l'interface web, la meilleure solution reste de désactiver le mot-de-passe de l'utilisateur root :
Cela n'est malheureusement pas directement supporté par l'interface web, la meilleure solution reste de désactiver le mot-de-passe de l'utilisateur root :
<pre>passwd --delete root</pre>
<pre>passwd --lock root</pre>


Attention vous ne pourrez plus vous loguer en root sur le serveur par ssh (sauf si vous avez une clé ssh défini), écran ou kvm !
Attention vous ne pourrez plus vous loguer en root sur le serveur par ssh (sauf si vous avez une clé ssh défini), écran ou kvm !


N'oubliez pas de créer avant cela un utilisateur ayant les droits d'administration pour accéder à l'interface de proxmox
N'oubliez pas de créer avant cela un utilisateur ayant les droits d'administration pour accéder à l'interface de proxmox
Une autre solution consiste à créer des utilisateurs pve au lieu de pam, et de désactiver le login pam en éditant <code>/etc/pam.d/other</code> et en y ajoutant, en début de fichier, les lignes suivantes :
<pre>
auth        required    pam_deny.so
auth        required    pam_warn.so
account    required    pam_deny.so
account    required    pam_warn.so
#password      required        pam_deny.so
#session            required    pam_deny.so
</pre>


==Problème de layout dans la console vnc==
==Problème de layout dans la console vnc==
Ligne 758 : Ligne 784 :
Terminez par relancer procps :
Terminez par relancer procps :
<pre>/etc/init.d/procps restart</pre>
<pre>/etc/init.d/procps restart</pre>
==paramètre sysctl ipv6 non appliqué au boot==
Ajoutez le module ipv6 dans /etc/modules afin d'assurer le chargement d'ipv6 avant l’exécution de sysctl :
<pre>echo ipv6 >> /etc/modules</pre>


==LVM inaccessible depuis l'host==
==LVM inaccessible depuis l'host==
Ligne 940 : Ligne 970 :
</pre>
</pre>


Comme vous le voyez, le lv de na vm 101 n'est pas tagué. Vous pouvez ajouter le tag avec <code>lvchange --addtag pve-vm-101 /dev/main/vm-101-disk-1</code> :
Comme vous le voyez, le lv de la vm 101 n'est pas tagué. Vous pouvez ajouter le tag avec <code>lvchange --addtag pve-vm-101 /dev/main/vm-101-disk-1</code> :
<pre>
<pre>
~# lvchange --addtag pve-vm-101 /dev/main/vm-101-disk-1
~# lvchange --addtag pve-vm-101 /dev/main/vm-101-disk-1
4 231

modifications

Menu de navigation