Clustering proxmox avec tinc

De Linux Server Wiki
Aller à la navigation Aller à la recherche

cluster de 2 nodes : node1 ayant comme ip principale 88.88.88.88 et node2 ayant comme ip principale 99.99.99.99

node 1

aptitude install tinc
mkdir -p /etc/tinc/vpn/hosts

Créez le fichier /etc/tinc/vpn/tinc.conf contenant :

Name = node1
AddressFamily = ipv4
Device = /dev/net/tun
Mode = switch
ConnectTo = node2

Créez le fichier /etc/tinc/vpn/hosts/node1

Address = 88.88.88.88
Port = 655
Compression = 0

Nous allons maintenant générer la paire de clé de node1. Tapez simplement la commande suivante et validez a chaque question :

tincd -n vpn -K4096

créez le fichier /etc/tinc/vpn/tinc-up contenant :

#!/bin/bash

/sbin/ip link set vpn up
/sbin/ip addr add 10.10.10.1/24 dev vpn
/sbin/ip route add 10.10.10.0/24 dev vpn
/sbin/route add -net 224.0.0.0 netmask 240.0.0.0 dev vpn

Créez le fichier /etc/tinc/vpn/tinc-down contenant :

#!/bin/bash
/sbin/route del -net 224.0.0.0 netmask 240.0.0.0 dev vpn
/sbin/ip link set vpn down

Rendez ces deux fichiers executables :

chmod +x /etc/tinc/vpn/tinc-*

Ajoutez le lancement du vpn :

echo vpn >> /etc/tinc/nets.boot

node 2

aptitude install tinc
mkdir -p /etc/tinc/vpn/hosts

Créez le fichier /etc/tinc/vpn/tinc.conf contenant :

Name = node2
AddressFamily = ipv4
Device = /dev/net/tun
Mode = switch
ConnectTo = node1

Créez le fichier /etc/tinc/vpn/hosts/node2

Address = 99.99.99.99
Port = 655
Compression = 0

Nous allons maintenant générer la paire de clé de node2. Tapez simplement la commande suivante et validez a chaque question :

tincd -n vpn -K4096

créez le fichier /etc/tinc/vpn/tinc-up contenant :

#!/bin/bash

/sbin/ip link set vpn up
/sbin/ip addr add 10.10.10.2 dev vpn
/sbin/ip route add 10.10.10.0/24 dev vpn
/sbin/route add -net 224.0.0.0 netmask 240.0.0.0 dev vpn

Créez le fichier /etc/tinc/vpn/tinc-down contenant :

#!/bin/bash
/sbin/route del -net 224.0.0.0 netmask 240.0.0.0 dev vpn
/sbin/ip link set vpn down

Rendez ces deux fichiers executables :

chmod +x /etc/tinc/vpn/tinc-*

Ajoutez le lancement du vpn :

echo vpn >> /etc/tinc/nets.boot

Synchronisez la configuration des deux nodes

Copiez le fichier /etc/tinc/vpn/hosts/node1 de node1 vers /etc/tinc/vpn/hosts/ sur node2

Copiez le fichier /etc/tinc/vpn/hosts/node2 de node2 vers /etc/tinc/vpn/hosts/ sur node1

Lancement et test de la configuration

Ajoutez ceci dans /etc/hosts sur les deux nodes :

10.10.10.1      node1
10.10.10.2      node2

Sur les deux nodes :

/etc/init.d/tinc start

Installez omping pour tester le multicast (sur les deux nodes) :

aptitude install omping

Lancez cette commande sur les deux nodes

omping node1 node2

Création du cluster

Attention : si vous avez désactivé le login ssh root par password il faut le réactiver (vous pourrez à nouveau le désactiver une fois le cluster créé).

Sur node1

pvecm create <nom-du-cluster>
pvecm status

Vérifiez notamment que vous avez bien la ligne :

Node addresses: 10.10.10.1

Sur node2

pvecm add node1
pvecm nodes
Node  Sts   Inc   Joined               Name
   1   M     16   2013-08-23 22:46:09  node1
   2   M     12   2013-08-23 22:46:09  node2

Sur tous les nodes avec tinc

Editez le fichier /etc/init.d/tinc et ajoutez dans les en-tête d'init les deux lignes suivantes :

# X-Start-Before:    pve-cluster
# X-Stop-After:      pve-cluster

Puis lancez

update-rc.d tinc defaults

Ainsi, tinc démarrera toujours avant pve-cluster et s'arrêtera toujours après pve-cluster (il est logique que le lien vpn soit prêt avant et tombe après le cluster)

Documentations tinc