Proxmox 3.3 - Installation, configuration cluster
De wikiGite
Sommaire
Installation
L'installation se fait à partir de l'image ISO (http://www.proxmox.com/downloads). L'installation est simple, se fait par une interface graphique mais ne propose toujours pas de partitionner manuellement les disques.
Configuration
Mises à jour
Depuis la version 3, les éditeurs de Proxmox ont modifié les dépôts. Les dépôts configurés de base sont réservés aux clients qui ont souscrit au support de Proxmox. N'étant pas notre cas, il faut modifier les sources pour accéder aux dépôts gratuits. REMPLACER le contenu du fichier source.list
# vi /etc/apt/sources.list
Par :
deb http://ftp.debian.org/debian wheezy main contrib # PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use deb http://download.proxmox.com/debian wheezy pve-no-subscription # security updates deb http://security.debian.org/ wheezy/updates main contrib
Puis supprimer le fichier qui contient le dépôt par défaut. Ceci évite des messages d'erreurs (connection refusée) lors des "apt-get update".
rm /etc/apt/sources.list.d/pve-enterprise.list
On peut maintenant effectuer les mises à jour
apt-get update && apt-get upgrade
Mise en cluster
On considère ici deux machines Proxmox fraîchement installées à l'identique. Pour fonctionner en cluster, il faut définir un noeud Maître. Sur une des deux machines éxecuter
pvecm create <nom_du_cluster>
Pour vérifier la création du cluster, lancer
# pvecm status Version: 6.2.0 Config Version: 1 Cluster Name: FWCluster Cluster Id: 40372 Cluster Member: Yes Cluster Generation: 4 Membership state: Cluster-Member Nodes: 1 Expected votes: 1 Total votes: 1 Node votes: 1 Quorum: 1 Active subsystems: 5 Flags: Ports Bound: 0 Node name: herrena Node ID: 1 Multicast addresses: 239.192.157.82 Node addresses: 192.168.37.11
Une fois le cluster créé, il faut ajouter la seconde machine. Pour cela, sur le second Proxmox, lancer la commande :
(où l'adresse IP correspond à celle du nœud Maître)
pvecm add <adresse_du_maitre>
Echangez les clés, puis vérifier l'ajout
pvecm status
Si cette commande fonctionne sur le second nœud, l'ajout à fonctionner. On peut s'en assurer en regardant dans la sortie de la commande précédente, la ligne :
Nodes: 2
GLusterFS
Glusterfs permet très simplement et de façon fiable d'avoir un système de fichiers partagé, répliqué et/ou distribué entre plusieurs serveurs. Le répertoire géré par GlusterFS sera vu comme un partage NFS dans Proxmox.
http://gluster.org/community/documentation//index.php/Main_Page
Sur tous les noeuds :
Ajouter la clé gluster.org :
wget -O - http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/Debian/gpg.key | apt-key add -
Ajouter le dépôt Glusterfs :
vi /etc/apt/sources.list.d/glusterfs.list deb http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/Debian/squeeze.repo squeeze main
Et installer le serveur (le client suivra en dépendance) :
aptitude install glusterfs-server
Préparer le terrain :
mkdir /var/lib/glusterfs
Sur un seul des noeuds, connecter un ou plusieurs autres noeuds et créer un volume. Exemple, à partir de "node1", on ajoute "node2" et on crée un volume répliqué sur les 2 machines (RAID1) :
gluster peer probe node2 gluster volume create glusterstorage replica 2 node1:/var/lib/glusterfs node2:/var/lib/glusterfs gluster volume start glusterstorage
Pour ajouter un serveur (une "brique") par la suite, sur n'importe lequel des noeud existant taper :
gluster peer probe node3 gluster volume add-brick glusterstorage replica 3 proxmox3:/var/lib/glusterfs gluster volume info
Dans l'interface, Créer un stockage GlusterFS, remplissez les champs Serveur principal et Serveur secondaire avec les noms de vos serveurs. Dans le menus déroulant Nom du volume devrait apparaître le volume que vous avez créé précédemment (ici "glusterstorage").
Quorum
Le Quorum est une partition partagée, à partir d'une troisième machine, qui permet d'utiliser la HA. Cette machine sert en fait de référent aux Proxmox, qui ont parfois du mal à déterminer s'il y a une panne ou non dans un configuration avec uniquement 2 noeuds Proxmox. On ajoute donc de la stabilité et une couche de sécurité pour les VMs/données.
Cette troisième machine sera ici une CentOS 6.5.
Pour commencer, créer la partition. (Réduire une autre si cela est nécessaire, en théorie QDisk n'utilise qu'une partition de 10Mo)
lvcreate -n proxmox2quorumdisk -L 10M vg_QUORUM
Installer le serveur iSCSI :
yum -y install scsi-target-utils
Important ! : le port 3260 doit être ouvert pour permettre les connexions à la cible iSCSI.
Créer ensuite la cible iSCSI :
# vim /etc/tgt/targets.conf <target iqn.2012-06.com.domain.hostname:server.p1qdisk> backing-store /dev/vg_SOMETHING/proxmox2quorumdisk initiator-address <IP_du_noeud_1> initiator-address <IP_du_noeud_2> </target>
Astuces pratiques
Supprimer l'avertissement de souscription
Lorsqu'on utilise Proxmox 3 sans souscription, un message apparrait à chaque login sur l'interface web. Pour se débarrasser de ce message, il faut modifier le fichier pvemanagerlib.js. On commence par sauvegarder le fichier d'origine :
# cp /usr/share/pve-manager/ext4/pvemanagerlib.js /usr/share/pve-manager/ext4/pvemanagerlib.js.OLD
Puis on édite
# vim /usr/share/pve-manager/ext4/pvemanagerlib.js
Il faut chercher l'instruction IF de la forme suivante :
if (data.status !== 'Active') { Ext.Msg.show({ title: gettext('No valid subscription'), icon: Ext.Msg.WARNING, msg: PVE.Utils.noSubKeyHtml, buttons: Ext.Msg.OK,
En fait, Proxmox teste si on a un abonnement non actif, auquel cas, il affiche le message. Il nous suffit donc de remplacer le test par false
if (false) { Ext.Msg.show({ title: gettext('No valid subscription'), icon: Ext.Msg.WARNING, msg: PVE.Utils.noSubKeyHtml, buttons: Ext.Msg.OK,
Problèmes connus avec QDisk
Les noeuds Proxmox utilisent iSCSI pour se connecter au disque de Quorum partagé. Les machines proxmox, au démarrage, lancent une connexion à la cible iSCSI. Or, si la machine de Quorum n'est pas présente lors de cette étape, les connexion échouent logiquement. Les proxmox ne sont ensuite pas capables de se reconnecter automatiquement au disque de quorum, il faut soit les redémarrer, soit connecter la cible manuellement, en ligne de commande. Bien que ce soit un scénario plus rare, il est toujours bon de savoir quoi faire.