Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Un mémo sur la mise en place d’un cluster en haute disponibilité d’hyperviseurs Proxmox avec un stockage distribuée et redondant Ceph. Cet article traite uniquement de l’installation et de la configuration de Ceph avec Proxmox. Présentation du cluster Proxmox HA avec Ceph Le cluster Ceph est composé de 3 nœuds Proxmox et un serveur NFS pour la sauvegarde des VM et le stockage des ISO.Chaque serveur Proxmox utilise 4 interfaces réseau : cuivre eth0 : port d’administration du serveur fibre LAN : plage d’adresse dédiée aux serveurs sur le site d’installation fibre réseau privé : dédiée aux communications entre les serveurs (pour le fonctionnement du cluster, et pour le fonctionnement de Ceph) cuivre pour la carte iDRAC L’installation du cluster nécessite au minimum 2 switches munis de ports fibre et de ports cuivre, respectivement dédiés aux communications sur le LAN et aux communications privées entre serveurs. Schéma de principe du cluster Proxmox Installation de Promox Installer Proxmox sur les trois nœuds du cluster, voir cet article : Proxmox 5 : Installation Après l’installation, il est possible d’utiliser le script de post installation pour simplifier la configuration générale des Proxmox : https://memo-linux.com/proxmox-script-post-installation/ Configuration des interfaces réseaux des Proxmox Pour chaque serveur, se connecter au serveur avec un navigateur internet en utilisant l’adresse configurée lors de l’installation : https://pve.domaine.tld:8006 Après avoir forcé l’acceptation du certificat, l’interface Proxmox s’affiche et saisir les identifiants. La case « save user name » permet de mémoriser le user name (ici root) de manière à ne devoir saisir que le mot de passe lors de la prochaine connexion : Configurer les interfaces réseau sur chaque serveur Proxmox avec :vmbr0 : Interface cuivre de management avec l’IP du serveur (créé à l’installation) vmbr1 : Interface fibre sans adresses réseau, dédiée aux VM pour accès au LAN vmbr2 : Interface fibre avec adresse réseau privé, dédiée à la communication entre les nœuds Mise en cluster des 3 nœuds Proxmox Sur chaque serveur Proxmox ajouter ces 3 lignes dans /etc/hosts :192.168.1.1 cluster-01 192.168.1.2 cluster-02 192.168.1.3 cluster-03 Vérifier que les serveurs sont synchroniser avec un serveur de temps :timedatectl Sur pve-01, créer le nom du cluster sur le réseau privé : pvecm create kluster -bindnet0_addr 192.168.1.0 -ring0_addr cluster-01Sur pve-02, rejoindre le cluster :pvecm add cluster-01 -ring0_addr 192.168.1.2Même chose sur pve-03 :pvecm add cluster-01 -ring0_addr 192.168.1.3Les 3 nœuds sont alors présents dans la même interface web : Installation de Ceph sur les 3 nœuds Proxmox Installater de Ceph sur chaque nœud Proxmox :https_proxy=http://IP_Proxy:PORT pveceph install -version luminous Cette commande doit être exécutée sur chaque serveur. Elle permet de télécharger et d’installer Ceph en étant derrière un proxy.Sur le premier nœud cluster-01, initialiser le réseau :pveceph init --network 192.168.1.0/24Sur Chaque nœud, créer le moniteur « mon » (il est aussi possible de réaliser cette étape via l’interface web de Proxmox, mais c’est tellement plus simple de le faire en ligne de commande) :pveceph createmon Vérification des disques pour Ceph Sur le premier nœud Proxmox, sélectionner le menu Disques : Dans ce menu, apparaît tous les disques présent sur le serveur. Le disque système (ici sur /dev/sda) se différencie des 4 autres.Se positionner sur chaque disque non-système et l’initialiser en cliquant sur le bouton « Initialize Disk with GPT »Cette opération est à réitérer sur chaque serveur. Configurer Ceph sous Proxmox Sous Proxmox, la configuration du Ceph est très simplifiée et assistée. Cette opération de configuration passe par deux étapes : création des OSD et création du pool.De façon très simple et schématique, les OSD sont les disques qui constituent le volume disque dédié au Ceph, où sera écrit les données (ici les données sont les VM). Le pool définit les règles de réplications des données sur l’ensemble des OSD. Création des OSD Sélectionner le premier nœud Proxmox, puis menu Ceph -> OSD et cliquer sur « Create:OSD » :Sélectionner le premier disque comme OSD et journal :BlueStore est un nouvel algorithme de stockage pour Ceph. Il prétend offrir de meilleures performances : en gros 2x en écriture, contrôle checksum global sur la data, et compression-à la volée. Remarque concernant le journal : si possible, il est préférable de dédier le journal uniquement un disque de type SSD, pour des raisons de performances.Faire de même avec les autres disques sauf pour le journal qui reste seulement sur le premier disque (/dev/sdb) :Tous les OSD créés sur le premier nœud :Refaire les mêmes actions sur les autres nœuds afin d’obtenir ce résultat : Création du pool Avant de créer le nouveau pool, il faut calculer le pg_num. Calcul du pg_num :(OSDx100)/size -> choisir la puissance de 2 supérieur au résultat de l’opération.OSD : nombre total d’OSD choisi pour le pool size : nombre de réplicationExemple pour le nouveau pool : (12*100)/3 = 400pg_num sera la puissance de 2 supérieure à 400, c’est à dire 512 Aller dans le menu « Ceph » puis « Pools » et cliquer sur « Créer » : Remplir les champs :Le nouveau pool est créé, et en ayant laissé coché la case Add Storages, deux stockages pool_vm_vm et pool_vm_ct sont ajouté automatiquement (rubrique Datacenter / stockage)Il s’agit là de stockages partagés : l’un réservé à des conteneurs LXC l’autre à des images disque KVM. Les deux stockages apparaissent sur tous les nœuds du cluster. Configuration du minuteur Watchdog matériel Sous Proxmox 5, il n’est plus nécessaire de configurer le fencing car il est pris en charge directement par le système.Cependant, il est possible de configurer le watchdog matériel et de régler la durée à 10s. Ce qui qui suit est valable pour les serveurs Dell possédant la carte iDrac. Vérification des valeurs actuelles du Watchdog Installer l’utilitaire dracadm7 :apt install srvadmin-idracadm7Vérification des valeurs par défaut :idracadm7 getsysinfo -w Résultat : Watchdog Information: Recovery Action = None Present countdown value = 479 seconds Initial countdown value = 480 seconds Les valeurs par défaut sont trop hautes et aucune action n’est définie. Configuration du Watchdog à 10secondes Modifier le fichier /etc/default/pve-ha-manager/ pour activer watchdog avec le module ipmi_watchdog :sed -i '2 s/#//' /etc/default/pve-ha-managerAjouter et configurer le module ipmi_watchdog :echo "options ipmi_watchdog action=power_cycle panic_wdt_timeout=10" > /etc/modprobe.d/ipmi_watchdog.conf action : comportement du serveur lors d’un problème panic_wdt_timeou : choix de la durée en seconde avant action lors d’un problème Modifier le Grub pour désactiver nmi watchdog, si embarqué dans cpu apic :Ajouter l’option nmi_watchdog=0 pour GRUB_CMDLINE_LINUX_DEFAULT :sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/"quiet"/"quiet nmi_watchdog=0"/' /etc/default/grubRecharger la configuration du grub :update-grubDésactiver dans iDRAC « Automated System Recovery Agent » :Exécuter cette commande pour désactiver le watchdog d’Openmanage si installé :/opt/dell/srvadmin/sbin/dcecfg command=removepopalias aliasname=dcifru Redémarrer le serveur :rebootUne fois reconnecté au serveur, vérifier les nouvelles valeurs :idracadm7 getsysinfo -w Résultat : Watchdog Information: Recovery Action = Reboot Present countdown value = 9 seconds Initial countdown value = 10 seconds Tuning Proxmox Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.