kb:linux:proxmox:cluster_deux_nœuds_proxmox
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| kb:linux:proxmox:cluster_deux_nœuds_proxmox [2019/09/23 21:33] – beu | kb:linux:proxmox:cluster_deux_nœuds_proxmox [2019/09/27 23:13] (Version actuelle) – beu | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ======Cluster deux nœuds Proxmox====== | ======Cluster deux nœuds Proxmox====== | ||
| - | FIXME PAGE EN COURS DE RÉDACTION | ||
| - | < | + | :!: Cette solution comporte des risques de [[https://en.wikipedia.org/wiki/Split-brain_(computing)|Split-brain]]. Il faut évidement préférer faire un cluster avec 3 nœuds, ou au pire avec un Qdevice. |
| - | global_filter = [ "a|/dev/drbd.*|", " | + | |
| - | </code> | + | L' |
| - | < | + | |
| + | Voici le diagramme réseau qui va être utilisé pour ce topic. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Le disque **/dev/sda** est le disque racine comportant les partitions (LVM) créé par l'ISO proxmox, et le disque **/dev/sdb** est le disque utilisé comme volume DRBD entre les nœuds. | ||
| + | |||
| + | Je pars du principe que les deux serveurs sont configurés et que la configuration réseau est faite. | ||
| + | |||
| + | ====Création du cluster Proxmox ==== | ||
| + | |||
| + | Comme pour un cluster | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Puis avec l' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Une fois fait, il faut modifier la configuration corosync, pour qu'il fonctionne en mode deux nœuds, en ajoutant les lignes **two_node: 1** et **expected_votes: | ||
| + | |||
| + | < | ||
| logging { | logging { | ||
| debug: off | debug: off | ||
| Ligne 16: | Ligne 36: | ||
| quorum_votes: | quorum_votes: | ||
| ring0_addr: 10.50.0.221 | ring0_addr: 10.50.0.221 | ||
| + | ring1_addr: 192.168.9.221 | ||
| } | } | ||
| node { | node { | ||
| Ligne 22: | Ligne 43: | ||
| quorum_votes: | quorum_votes: | ||
| ring0_addr: 10.50.0.222 | ring0_addr: 10.50.0.222 | ||
| + | ring1_addr: 192.168.9.222 | ||
| } | } | ||
| } | } | ||
| Ligne 28: | Ligne 50: | ||
| provider: corosync_votequorum | provider: corosync_votequorum | ||
| two_node: 1 | two_node: 1 | ||
| + | expected_votes: | ||
| } | } | ||
| totem { | totem { | ||
| - | cluster_name: | + | cluster_name: |
| config_version: | config_version: | ||
| interface { | interface { | ||
| linknumber: 0 | linknumber: 0 | ||
| + | } | ||
| + | interface { | ||
| + | linknumber: 1 | ||
| } | } | ||
| ip_version: ipv4-6 | ip_version: ipv4-6 | ||
| Ligne 41: | Ligne 67: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | et puis restart le daemon corosync sur les deux nœuds : | ||
| + | |||
| + | <code bash> | ||
| + | # systemctl restart corosync | ||
| + | </ | ||
| + | |||
| + | ====Création du volume partagé==== | ||
| + | |||
| + | Pour que les VM puissent entré en mode " | ||
| + | |||
| + | Pour cela, on va créer un volume drbd, sur lequel on va placer un volume LVM. | ||
| + | |||
| + | On va donc créer le volume DRBD, en créant le fichier **/ | ||
| + | |||
| < | < | ||
| - | resource | + | resource |
| meta-disk internal; | meta-disk internal; | ||
| device /dev/drbd0; | device /dev/drbd0; | ||
| Ligne 65: | Ligne 106: | ||
| </ | </ | ||
| - | ==== Ajout d'une Raspberry pi en tant que QDevice ==== | + | On va suite initialiser le volume DRBD : |
| + | |||
| + | * Sur les deux nœuds :<code bash> | ||
| + | # drbdadm create-md pv0 | ||
| + | </ | ||
| + | # drbdadm up pv0 | ||
| + | </ | ||
| + | |||
| + | * puis, sur l'un des deux nœud :<code bash> | ||
| + | # drbdadm -- --overwrite-data-of-peer primary | ||
| + | </ | ||
| + | |||
| + | * Vérifier l' | ||
| + | # cat / | ||
| + | </ | ||
| + | |||
| + | * Une fois la synchronisation faite, tapez sur le second nœud :<code bash> | ||
| + | # drbdadm primary | ||
| + | </ | ||
| + | |||
| + | Une fois synchronisé, | ||
| + | # vgcreate vg0 / | ||
| + | </ | ||
| + | |||
| + | et on l' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | :!: il faut impérativement cocher la case **Shared** | ||
| + | |||
| + | Il faut ensuite limiter la détection des volumes LVM, afin qu'il évite de " | ||
| + | |||
| + | Pour cela on va modifier, dans le fichier **/ | ||
| + | |||
| + | < | ||
| + | global_filter | ||
| + | </ | ||
| + | |||
| + | cette variable fonctionne en expression régulière. Nous autorisons manuellement chaque disques et désactivons tout détection. | ||
| + | |||
| + | puis il faut mettre a jour l' | ||
| + | |||
| + | <code bash> | ||
| + | # update-initramfs -u | ||
| + | </ | ||
| + | |||
| + | Maintenant, je vous invite a redémarrer un des noeuds et voir si au redémarrage, | ||
kb/linux/proxmox/cluster_deux_nœuds_proxmox.1569274413.txt.gz · Dernière modification : de beu
