Outils personnels

Proxmox 3.3 - Installation, configuration cluster : Différence entre versions

De wikiGite

(Configuration)
(Astuces pratiques)
Ligne 131 : Ligne 131 :
 
  </target>
 
  </target>
  
= Astuces pratiques =
+
= Astuces et notes =
 
=== Supprimer l'avertissement de souscription ===
 
=== 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 :
 
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 :

Version du 24 novembre 2014 à 14:50

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 et notes

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.