Outils pour utilisateurs

Outils du site


kb:linux:proxmox:hyperconverged-proxmox

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
kb:linux:proxmox:hyperconverged-proxmox [2020/02/15 14:41] – créée beukb:linux:proxmox:hyperconverged-proxmox [2020/02/21 20:10] (Version actuelle) beu
Ligne 7: Ligne 7:
 ====Informations préliminaires==== ====Informations préliminaires====
  
-La solution repose sur du BGP, du routage en mode peer to peer, du VxLAN, du CEPH.+La solution repose sur du VxLAN (assisté par du MP-BGP) et du CEPH.
  
 Il faut bien comprendre que l'on va réaliser n'est pas natif a Proxmox et va demander de contourner certaines contraintes de l'interface en les configurant en CLI. Il faut bien comprendre que l'on va réaliser n'est pas natif a Proxmox et va demander de contourner certaines contraintes de l'interface en les configurant en CLI.
Ligne 13: Ligne 13:
 L'objectif va être de réaliser cette infrastructure : L'objectif va être de réaliser cette infrastructure :
  
-{{ :kb:linux:proxmox:cluster-switchless-scheme.png?1000 |}}+{{ :kb:linux:proxmox:hyperconverged-proxmox-scheme.png?500 |}}
  
 avec les spécificités suivante: avec les spécificités suivante:
  
-  * Les IPs dans le réseau 10.50.0.0 et 10.43.0.0 sont routé en eBGP+  * Les IPs dans le réseau 10.50.0.0 sont routées statiquement
-  * Les IPs du réseau 10.50.0.0 servent pour les liaisons CEPH, et sont routé en priorité sur le réseau physique DATA  +  * Les IPs du réseau 10.50.0.0 servent pour les liaisons CEPH, pour les echanges BGP EVPN, pour les liaisons VxLANainsi que pour les laisons CoroSync.
-  * Les IPs du réseau 10.43.0.0 servent pour les liaisons entre VMet sont routé en priorité sur le réseau physique VM. L'IP dans ce réseau devra être utilisé comme "router-id"+
-  * Si le réseau DATA est injoignable, le noeud passera par le réseau VM, et vice-versa. +
-  * Les IPs pour les rings corosync sont eux routés en statique.+
  
  
Ligne 48: Ligne 45:
 auto enp3s0 auto enp3s0
 iface enp3s0 inet static iface enp3s0 inet static
- address 100.100.101.221/32+ address 10.50.0.221/32
  mtu 9000  mtu 9000
  
 auto enp3s1 auto enp3s1
 iface enp3s1 inet static iface enp3s1 inet static
- address 100.100.101.221/32 + address 10.50.0.221/32
- mtu 9000 +
- +
-auto enp4s0 +
-iface enp4s0 inet static +
- address 100.100.102.221/32 +
- mtu 9000 +
- +
-auto enp4s1 +
-iface enp4s1 inet static +
- address 100.100.102.221/32+
  mtu 9000  mtu 9000
  
Ligne 89: Ligne 76:
 auto enp3s0 auto enp3s0
 iface enp3s0 inet static iface enp3s0 inet static
- address 100.100.101.222/32+ address 10.50.0.222/32
  mtu 9000  mtu 9000
  
 auto enp3s1 auto enp3s1
 iface enp3s1 inet static iface enp3s1 inet static
- address 100.100.101.222/32 + address 10.50.0.222/32
- mtu 9000 +
- +
-auto enp4s0 +
-iface enp4s0 inet static +
- address 100.100.102.222/32 +
- mtu 9000 +
- +
-auto enp4s1 +
-iface enp4s1 inet static +
- address 100.100.102.222/32+
  mtu 9000  mtu 9000
  
Ligne 131: Ligne 108:
 auto enp3s0 auto enp3s0
 iface enp3s0 inet static iface enp3s0 inet static
- address 100.100.101.223/32+ address 10.50.0.223/32
  mtu 9000  mtu 9000
  
 auto enp3s1 auto enp3s1
 iface enp3s1 inet static iface enp3s1 inet static
- address 100.100.101.223/32 + address 10.50.0.223/32
- mtu 9000 +
- +
-auto enp4s0 +
-iface enp4s0 inet static +
- address 100.100.102.223/32 +
- mtu 9000 +
- +
-auto enp4s1 +
-iface enp4s1 inet static +
- address 100.100.102.223/32+
  mtu 9000  mtu 9000
  
Ligne 165: Ligne 132:
 </tabbox> </tabbox>
  
-puis on recharge sur chaque noeud la configuration réseau :+puis on recharge sur chaque nœud la configuration réseau :
  
 <code bash> <code bash>
Ligne 190: Ligne 157:
  
 <code> <code>
-pve1(config)# ip route 100.100.101.223/32 enp3s0 +pve1(config)# ip route 10.50.0.223/32 enp3s0 
-pve1(config)# ip route 100.100.101.222/32 enp3s1 +pve1(config)# ip route 10.50.0.222/32 enp3s1
-pve1(config)# ip route 100.100.102.223/32 enp4s0 +
-pve1(config)# ip route 100.100.102.222/32 enp4s1 +
-</code> +
- +
-On va ensuite ajouter les IP a l'interface loopback : +
- +
-<code> +
-pve1(config)# interface lo +
-pve1(config-if)# ip address 10.43.0.221/32 +
-pve1(config-if)# ip address 10.50.0.221/32 +
-pve1(config-if)# exit +
-</code> +
- +
-on va d'abord configurer les **access list** : +
- +
-<code> +
-pve1(config)# access-list data_net permit 10.50.0.0/24 +
-pve1(config)# access-list vm_net permit 10.43.0.0/24 +
-</code> +
- +
-Puis les **route-map** pour la priorité des flux en fonction((Pour rappel, la route priorisée est celle avec la **local preference** la plus élevée)) : +
-<code> +
-pve1(config)# route-map data_int permit 10 +
-pve1(config-route-map)# match ip address data_net +
-pve1(config-route-map)# set local-preference 110 +
-pve1(config-route-map)# exit +
-pve1(config)# route-map data_int permit 11 +
-pve1(config-route-map)# match ip address vm_net +
-pve1(config-route-map)# set local-preference 100 +
-pve1(config-route-map)# exit +
-</code> +
- +
-<code> +
-pve1(config)# route-map vm_int permit 10 +
-pve1(config-route-map)# match ip address vm_net +
-pve1(config-route-map)# set local-preference 110 +
-pve1(config-route-map)# exit +
-pve1(config)# route-map vm_int permit 11 +
-pve1(config-route-map)# match ip address data_net +
-pve1(config-route-map)# set local-preference 100 +
-pve1(config-route-map)# exit +
-</code> +
- +
-<code> +
-pve1(config)# route-map bgp_src_addr permit 10 +
-pve1(config-route-map)# match ip address data_net +
-pve1(config-route-map)# set src 10.50.0.221 +
-pve1(config-route-map)# exit +
-pve1(config)# route-map bgp_src_addr permit 11 +
-pve1(config-route-map)# match ip address vm_net +
-pve1(config-route-map)# set src 10.43.0.221 +
-pve1(config-route-map)# exit +
-pve1(config)# ip protocol bgp route-map bgp_src_addr+
 </code> </code>
  
Ligne 250: Ligne 164:
  
 <code> <code>
-pve1(config)# router bgp 65001+pve1(config)# router bgp 65000
 </code> </code>
  
Ligne 256: Ligne 170:
  
 <code> <code>
-pve1(config-router)# bgp router-id 10.43.0.221+pve1(config-router)# bgp router-id 10.50.0.221
 pve1(config-router)# no bgp default ipv4-unicast pve1(config-router)# no bgp default ipv4-unicast
-</code> 
- 
-Ensuite on créer nos peer-group avec leur configurations: 
-  * **pg-ipv4-data** - pour les peers du réseau DATA <code> 
-pve1(config-router)# neighbor pg-ipv4-data peer-group 
-pve1(config-router)# neighbor pg-ipv4-data timers 5 15 
-pve1(config-router)# neighbor pg-ipv4-data disable-connected-check  
-</code> 
-  * **pg-ipv4-vm** - pour les peers du réseau des VMs <code> 
-pve1(config-router)# neighbor pg-ipv4-vm peer-group 
-pve1(config-router)# neighbor pg-ipv4-vm timers 5 15 
-pve1(config-router)# neighbor pg-ipv4-vm disable-connected-check  
-</code> 
-  * **pg-evpn** - pour la partie BGP EVPN <code> 
 pve1(config-router)# neighbor pg-evpn peer-group pve1(config-router)# neighbor pg-evpn peer-group
 +pve1(config-router)# neighbor pg-evpn remote-as 65000
 pve1(config-router)# neighbor pg-evpn timers 5 15 pve1(config-router)# neighbor pg-evpn timers 5 15
-pve1(config-router)# neighbor pg-evpn ebgp-multihop 255 
-pve1(config-router)# neighbor pg-evpn update-source 10.43.0.221 
-</code> 
- 
-Une fois fait on configure le routage IPv4 : 
-<code> 
-pve1(config-router)# address-family ipv4 unicast  
-pve1(config-router-af)# neighbor pg-ipv4-data activate 
-pve1(config-router-af)# neighbor pg-ipv4-vm activate 
-pve1(config-router-af)# neighbor pg-ipv4-data route-map data_int in 
-pve1(config-router-af)# neighbor pg-ipv4-vm route-map vm_int in  
-pve1(config-router-af)# network 10.43.0.221/32 
-pve1(config-router-af)# network 10.50.0.221/32 
-pve1(config-router-af)# exit  
 </code> </code>
  
Ligne 302: Ligne 189:
  
 <code> <code>
-pve1(config-router)# neighbor 100.100.101.222 remote-as 65002 +pve1(config-router)# neighbor 10.50.0.222 peer-group pg-evpn 
-pve1(config-router)# neighbor 100.100.101.222 peer-group pg-ipv4-vm +pve1(config-router)# neighbor 10.50.0.223 peer-group pg-evpn
-pve1(config-router)# neighbor 100.100.102.222 remote-as 65002 +
-pve1(config-router)# neighbor 100.100.102.222 peer-group pg-ipv4-data +
-pve1(config-router)# neighbor 100.100.101.223 remote-as 65003 +
-pve1(config-router)# neighbor 100.100.101.223 peer-group pg-ipv4-vm +
-pve1(config-router)# neighbor 100.100.102.223 remote-as 65003 +
-pve1(config-router)# neighbor 100.100.102.223 peer-group pg-ipv4-data +
-pve1(config-router)# neighbor 10.43.0.222 remote-as 65002 +
-pve1(config-router)# neighbor 10.43.0.222 peer-group pg-evpn +
-pve1(config-router)# neighbor 10.43.0.223 remote-as 65003 +
-pve1(config-router)# neighbor 10.43.0.223 peer-group pg-evpn+
 </code> </code>
  
Ligne 320: Ligne 197:
 <code> <code>
 pve1(config-router-af)# end pve1(config-router-af)# end
-pve1# clear bgp ipv4 * 
 pve1# clear bgp l2vpn evpn * pve1# clear bgp l2vpn evpn *
 </code> </code>
  
 Après avoir attendu quelques secondes on peux vérifier si les sessions BGP sont actives : Après avoir attendu quelques secondes on peux vérifier si les sessions BGP sont actives :
- 
- 
  
 <code> <code>
-pve1# sh bgp summary +pve1# sh bgp summary 
- +
-IPv4 Unicast Summary: +
-BGP router identifier 10.30.0.221, local AS number 65001 vrf-id 0 +
-BGP table version 16 +
-RIB entries 11, using 1760 bytes of memory +
-Peers 4, using 83 KiB of memory +
-Peer groups 3, using 192 bytes of memory +
- +
-Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd +
-100.100.102.222 4      65002     154     158        0    0    0 00:03:28            4 +
-100.100.102.223 4      65003     157     158        0    0    0 00:03:28            4 +
-100.100.101.222 4      65002     157     155        0    0    0 00:03:32            4 +
-100.100.101.223 4      65003     159     155        0    0    0 00:03:32            4 +
- +
-Total number of neighbors 4+
  
 L2VPN EVPN Summary: L2VPN EVPN Summary:
-BGP router identifier 10.30.0.221, local AS number 65001 vrf-id 0+BGP router identifier 10.50.0.221, local AS number 65000 vrf-id 0
 BGP table version 0 BGP table version 0
-RIB entries 5, using 800 bytes of memory+RIB entries 5, using 920 bytes of memory
 Peers 2, using 41 KiB of memory Peers 2, using 41 KiB of memory
-Peer groups 3, using 192 bytes of memory+Peer groups 1, using 64 bytes of memory
  
 Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
-10.43.0.222          65002      47      50           0    0 00:03:02            4 +10.50.0.222          65000      79      85           0    0 00:01:52            1 
-10.43.0.223          65003      51      55           0    0 00:03:30            4+10.50.0.223          65000      13      13           0    0 00:00:46            1
  
 Total number of neighbors 2 Total number of neighbors 2
- 
 </code> </code>
  
Ligne 382: Ligne 240:
 </code> </code>
  
-On va définir les routes statiques afin d'epargner un peu la découverte ARP inutile :+On va définir les routes statiques afin d'épargner un peu la découverte ARP inutile :
  
 <code> <code>
-pve2(config)# ip route 100.100.101.221/32 enp3s0 +pve2(config)# ip route 10.50.0.221/32 enp3s0 
-pve2(config)# ip route 100.100.101.223/32 enp3s1 +pve2(config)# ip route 10.50.0.223/32 enp3s1
-pve2(config)# ip route 100.100.102.221/32 enp4s0 +
-pve2(config)# ip route 100.100.102.223/32 enp4s1 +
-</code> +
- +
-On va ensuite ajouter les IP a l'interface loopback : +
- +
-<code> +
-pve2(config)# interface lo +
-pve2(config-if)# ip address 10.43.0.222/32 +
-pve2(config-if)# ip address 10.50.0.222/32 +
-pve2(config-if)# exit +
-</code> +
- +
-on va d'abord configurer les **access list** : +
- +
-<code> +
-pve2(config)# access-list data_net permit 10.50.0.0/24 +
-pve2(config)# access-list vm_net permit 10.43.0.0/24 +
-</code> +
- +
-Puis les **route-map** pour la priorité des flux en fonction((Pour rappel, la route priorisée est celle avec la **local preference** la plus élevée)) : +
-<code> +
-pve2(config)# route-map data_int permit 10 +
-pve2(config-route-map)# match ip address data_net +
-pve2(config-route-map)# set local-preference 110 +
-pve2(config-route-map)# exit +
-pve2(config)# route-map data_int permit 11 +
-pve2(config-route-map)# match ip address vm_net +
-pve2(config-route-map)# set local-preference 100 +
-pve2(config-route-map)# exit +
-</code> +
- +
-<code> +
-pve2(config)# route-map vm_int permit 10 +
-pve2(config-route-map)# match ip address vm_net +
-pve2(config-route-map)# set local-preference 110 +
-pve2(config-route-map)# exit +
-pve2(config)# route-map vm_int permit 11 +
-pve2(config-route-map)# match ip address data_net +
-pve2(config-route-map)# set local-preference 100 +
-pve2(config-route-map)# exit +
-</code> +
- +
-<code> +
-pve2(config)# route-map bgp_src_addr permit 10 +
-pve2(config-route-map)# match ip address data_net +
-pve2(config-route-map)# set src 10.50.0.222 +
-pve2(config-route-map)# exit +
-pve2(config)# route-map bgp_src_addr permit 11 +
-pve2(config-route-map)# match ip address vm_net +
-pve2(config-route-map)# set src 10.43.0.222 +
-pve2(config-route-map)# exit +
-pve2(config)# ip protocol bgp route-map bgp_src_addr+
 </code> </code>
  
Ligne 445: Ligne 250:
  
 <code> <code>
-pve2(config)# router bgp 65002+pve2(config)# router bgp 65000
 </code> </code>
  
Ligne 451: Ligne 256:
  
 <code> <code>
-pve2(config-router)# bgp router-id 10.43.0.222+pve2(config-router)# bgp router-id 10.50.0.222
 pve2(config-router)# no bgp default ipv4-unicast pve2(config-router)# no bgp default ipv4-unicast
-</code> 
- 
-Ensuite on créer nos peer-group avec leur configurations: 
-  * **pg-ipv4-data** - pour les peers du réseau DATA <code> 
-pve2(config-router)# neighbor pg-ipv4-data peer-group 
-pve2(config-router)# neighbor pg-ipv4-data timers 5 15 
-pve2(config-router)# neighbor pg-ipv4-data disable-connected-check  
-</code> 
-  * **pg-ipv4-vm** - pour les peers du réseau des VMs <code> 
-pve2(config-router)# neighbor pg-ipv4-vm peer-group 
-pve2(config-router)# neighbor pg-ipv4-vm timers 5 15 
-pve2(config-router)# neighbor pg-ipv4-vm disable-connected-check  
-</code> 
-  * **pg-evpn** - pour la partie BGP EVPN <code> 
 pve2(config-router)# neighbor pg-evpn peer-group pve2(config-router)# neighbor pg-evpn peer-group
 +pve2(config-router)# neighbor pg-evpn remote-as 65000
 pve2(config-router)# neighbor pg-evpn timers 5 15 pve2(config-router)# neighbor pg-evpn timers 5 15
-pve2(config-router)# neighbor pg-evpn ebgp-multihop 255 
-pve2(config-router)# neighbor pg-evpn update-source 10.43.0.222 
-</code> 
- 
-Une fois fait on configure le routage IPv4 : 
-<code> 
-pve2(config-router)# address-family ipv4 unicast  
-pve2(config-router-af)# neighbor pg-ipv4-data activate 
-pve2(config-router-af)# neighbor pg-ipv4-vm activate 
-pve2(config-router-af)# neighbor pg-ipv4-data route-map data_int in 
-pve2(config-router-af)# neighbor pg-ipv4-vm route-map vm_int in  
-pve2(config-router-af)# network 10.43.0.222/32 
-pve2(config-router-af)# network 10.50.0.222/32 
-pve2(config-router-af)# exit  
 </code> </code>
  
Ligne 497: Ligne 275:
  
 <code> <code>
-pve2(config-router)# neighbor 100.100.101.221 remote-as 65001 +pve2(config-router)# neighbor 10.50.0.221 peer-group pg-evpn 
-pve2(config-router)# neighbor 100.100.101.221 peer-group pg-ipv4-vm +pve2(config-router)# neighbor 10.50.0.223 peer-group pg-evpn
-pve2(config-router)# neighbor 100.100.102.221 remote-as 65001 +
-pve2(config-router)# neighbor 100.100.102.221 peer-group pg-ipv4-data +
-pve2(config-router)# neighbor 100.100.101.223 remote-as 65003 +
-pve2(config-router)# neighbor 100.100.101.223 peer-group pg-ipv4-vm +
-pve2(config-router)# neighbor 100.100.102.223 remote-as 65003 +
-pve2(config-router)# neighbor 100.100.102.223 peer-group pg-ipv4-data +
-pve2(config-router)# neighbor 10.43.0.221 remote-as 65001 +
-pve2(config-router)# neighbor 10.43.0.221 peer-group pg-evpn +
-pve2(config-router)# neighbor 10.43.0.223 remote-as 65003 +
-pve2(config-router)# neighbor 10.43.0.223 peer-group pg-evpn+
 </code> </code>
  
Ligne 515: Ligne 283:
 <code> <code>
 pve2(config-router-af)# end pve2(config-router-af)# end
-pve2# clear bgp ipv4 * 
 pve2# clear bgp l2vpn evpn * pve2# clear bgp l2vpn evpn *
 </code> </code>
  
 Après avoir attendu quelques secondes on peux vérifier si les sessions BGP sont actives : Après avoir attendu quelques secondes on peux vérifier si les sessions BGP sont actives :
- 
- 
  
 <code> <code>
-pve2# sh bgp summary +pve2# sh bgp summary 
- +
-IPv4 Unicast Summary: +
-BGP router identifier 10.30.0.222, local AS number 65002 vrf-id 0 +
-BGP table version 14 +
-RIB entries 11, using 1760 bytes of memory +
-Peers 4, using 83 KiB of memory +
-Peer groups 3, using 192 bytes of memory +
- +
-Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd +
-100.100.102.221 4      65001     281     281        0    0    0 00:13:51            4 +
-100.100.102.223 4      65003     282     281        0    0    0 00:13:51            4 +
-100.100.101.221 4      65001     279     281        0    0    0 00:13:55            4 +
-100.100.101.223 4      65003     281     281        0    0    0 00:13:55            4 +
- +
-Total number of neighbors 4+
  
 L2VPN EVPN Summary: L2VPN EVPN Summary:
-BGP router identifier 10.30.0.222, local AS number 65002 vrf-id 0+BGP router identifier 10.50.0.222, local AS number 65000 vrf-id 0
 BGP table version 0 BGP table version 0
-RIB entries 5, using 800 bytes of memory+RIB entries 5, using 920 bytes of memory
 Peers 2, using 41 KiB of memory Peers 2, using 41 KiB of memory
-Peer groups 3, using 192 bytes of memory+Peer groups 1, using 64 bytes of memory
  
 Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
-10.43.0.221          65001     171     173           0    0 00:13:25            4 +10.50.0.221          65000      79      81           0    0 00:01:52            1 
-10.43.0.223          65003     173     177           0    0 00:13:42            4+10.50.0.223          65000      13      18           0    0 00:00:44            1
  
 Total number of neighbors 2 Total number of neighbors 2
- 
- 
 </code> </code>
  
Ligne 578: Ligne 326:
 </code> </code>
  
-On va définir les routes statiques afin d'epargner un peu la découverte ARP inutile :+On va définir les routes statiques afin d'épargner un peu la découverte ARP inutile :
  
 <code> <code>
-pve3(config)# ip route 100.100.101.221/32 enp3s0 +pve3(config)# ip route 10.50.0.221/32 enp3s0 
-pve3(config)# ip route 100.100.101.222/32 enp3s1 +pve3(config)# ip route 10.50.0.222/32 enp3s1
-pve3(config)# ip route 100.100.102.221/32 enp4s0 +
-pve3(config)# ip route 100.100.102.222/32 enp4s1 +
-</code> +
- +
-On va ensuite ajouter les IP a l'interface loopback : +
- +
-<code> +
-pve3(config)# interface lo +
-pve3(config-if)# ip address 10.43.0.223/32 +
-pve3(config-if)# ip address 10.50.0.223/32 +
-pve3(config-if)# exit +
-</code> +
- +
-on va d'abord configurer les **access list** : +
- +
-<code> +
-pve3(config)# access-list data_net permit 10.50.0.0/24 +
-pve3(config)# access-list vm_net permit 10.43.0.0/24 +
-</code> +
- +
-Puis les **route-map** pour la priorité des flux en fonction((Pour rappel, la route priorisée est celle avec la **local preference** la plus élevée)) : +
-<code> +
-pve3(config)# route-map data_int permit 10 +
-pve3(config-route-map)# match ip address data_net +
-pve3(config-route-map)# set local-preference 110 +
-pve3(config-route-map)# exit +
-pve3(config)# route-map data_int permit 11 +
-pve3(config-route-map)# match ip address vm_net +
-pve3(config-route-map)# set local-preference 100 +
-pve3(config-route-map)# exit +
-</code> +
- +
-<code> +
-pve3(config)# route-map vm_int permit 10 +
-pve3(config-route-map)# match ip address vm_net +
-pve3(config-route-map)# set local-preference 110 +
-pve3(config-route-map)# exit +
-pve3(config)# route-map vm_int permit 11 +
-pve3(config-route-map)# match ip address data_net +
-pve3(config-route-map)# set local-preference 100 +
-pve3(config-route-map)# exit +
-</code> +
- +
-<code> +
-pve3(config)# route-map bgp_src_addr permit 10 +
-pve3(config-route-map)# match ip address data_net +
-pve3(config-route-map)# set src 10.50.0.223 +
-pve3(config-route-map)# exit +
-pve3(config)# route-map bgp_src_addr permit 11 +
-pve3(config-route-map)# match ip address vm_net +
-pve3(config-route-map)# set src 10.43.0.223 +
-pve3(config-route-map)# exit +
-pve3(config)# ip protocol bgp route-map bgp_src_addr+
 </code> </code>
  
Ligne 641: Ligne 336:
  
 <code> <code>
-pve3(config)# router bgp 65003+pve3(config)# router bgp 65000
 </code> </code>
  
Ligne 647: Ligne 342:
  
 <code> <code>
-pve3(config-router)# bgp router-id 10.43.0.223+pve3(config-router)# bgp router-id 10.50.0.223
 pve3(config-router)# no bgp default ipv4-unicast pve3(config-router)# no bgp default ipv4-unicast
-</code> 
- 
-Ensuite on créer nos peer-group avec leur configurations: 
-  * **pg-ipv4-data** - pour les peers du réseau DATA <code> 
-pve3(config-router)# neighbor pg-ipv4-data peer-group 
-pve3(config-router)# neighbor pg-ipv4-data timers 5 15 
-pve3(config-router)# neighbor pg-ipv4-data disable-connected-check  
-</code> 
-  * **pg-ipv4-vm** - pour les peers du réseau des VMs <code> 
-pve3(config-router)# neighbor pg-ipv4-vm peer-group 
-pve3(config-router)# neighbor pg-ipv4-vm timers 5 15 
-pve3(config-router)# neighbor pg-ipv4-vm disable-connected-check  
-</code> 
-  * **pg-evpn** - pour la partie BGP EVPN <code> 
 pve3(config-router)# neighbor pg-evpn peer-group pve3(config-router)# neighbor pg-evpn peer-group
 +pve3(config-router)# neighbor pg-evpn remote-as 65000
 pve3(config-router)# neighbor pg-evpn timers 5 15 pve3(config-router)# neighbor pg-evpn timers 5 15
-pve3(config-router)# neighbor pg-evpn ebgp-multihop 255 
-pve3(config-router)# neighbor pg-evpn update-source 10.43.0.223 
-</code> 
- 
-Une fois fait on configure le routage IPv4 : 
-<code> 
-pve3(config-router)# address-family ipv4 unicast  
-pve3(config-router-af)# neighbor pg-ipv4-data activate 
-pve3(config-router-af)# neighbor pg-ipv4-vm activate 
-pve3(config-router-af)# neighbor pg-ipv4-data route-map data_int in 
-pve3(config-router-af)# neighbor pg-ipv4-vm route-map vm_int in  
-pve3(config-router-af)# network 10.43.0.223/32 
-pve3(config-router-af)# network 10.50.0.223/32 
-pve3(config-router-af)# exit  
 </code> </code>
  
Ligne 693: Ligne 361:
  
 <code> <code>
-pve3(config-router)# neighbor 100.100.101.221 remote-as 65001 +pve3(config-router)# neighbor 10.50.0.221 peer-group pg-evpn 
-pve3(config-router)# neighbor 100.100.101.221 peer-group pg-ipv4-vm +pve3(config-router)# neighbor 10.50.0.222 peer-group pg-evpn
-pve3(config-router)# neighbor 100.100.102.221 remote-as 65001 +
-pve3(config-router)# neighbor 100.100.102.221 peer-group pg-ipv4-data +
-pve3(config-router)# neighbor 100.100.101.222 remote-as 65002 +
-pve3(config-router)# neighbor 100.100.101.222 peer-group pg-ipv4-vm +
-pve3(config-router)# neighbor 100.100.102.222 remote-as 65002 +
-pve3(config-router)# neighbor 100.100.102.222 peer-group pg-ipv4-data +
-pve3(config-router)# neighbor 10.43.0.221 remote-as 65001 +
-pve3(config-router)# neighbor 10.43.0.221 peer-group pg-evpn +
-pve3(config-router)# neighbor 10.43.0.222 remote-as 65002 +
-pve3(config-router)# neighbor 10.43.0.222 peer-group pg-evpn+
 </code> </code>
  
Ligne 711: Ligne 369:
 <code> <code>
 pve3(config-router-af)# end pve3(config-router-af)# end
-pve3# clear bgp ipv4 * 
 pve3# clear bgp l2vpn evpn * pve3# clear bgp l2vpn evpn *
 </code> </code>
  
 Après avoir attendu quelques secondes on peux vérifier si les sessions BGP sont actives : Après avoir attendu quelques secondes on peux vérifier si les sessions BGP sont actives :
- 
- 
  
 <code> <code>
-pve3# sh bgp summary +pve3# sh bgp summary 
- +
-IPv4 Unicast Summary: +
-BGP router identifier 10.30.0.223, local AS number 65003 vrf-id 0 +
-BGP table version 15 +
-RIB entries 11, using 1760 bytes of memory +
-Peers 4, using 83 KiB of memory +
-Peer groups 3, using 192 bytes of memory +
- +
-Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd +
-100.100.102.221 4      65001     156     159        0    0    0 00:03:29            4 +
-100.100.102.222 4      65002     154     159        0    0    0 00:03:29            4 +
-100.100.101.221 4      65001     155     159        0    0    0 00:03:33            4 +
-100.100.101.222 4      65002     155     159        0    0    0 00:03:33            4 +
- +
-Total number of neighbors 4+
  
 L2VPN EVPN Summary: L2VPN EVPN Summary:
-BGP router identifier 10.30.0.223, local AS number 65003 vrf-id 0+BGP router identifier 10.50.0.223, local AS number 65000 vrf-id 0
 BGP table version 0 BGP table version 0
 RIB entries 5, using 800 bytes of memory RIB entries 5, using 800 bytes of memory
 Peers 2, using 41 KiB of memory Peers 2, using 41 KiB of memory
-Peer groups 3, using 192 bytes of memory+Peer groups 1, using 64 bytes of memory
  
 Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
-10.43.0.221          65001      53      52           0    0 00:03:31            4 +10.50.0.221          65000      13      13           0    0 00:00:46            1 
-10.43.0.222          65002      51      51           0    0 00:03:21            4+10.50.0.222          65000      14      14           0    0 00:00:44            1
  
 Total number of neighbors 2 Total number of neighbors 2
- 
 </code> </code>
  
Ligne 773: Ligne 412:
  
 <code bash> <code bash>
-# pvecm add 10.1.9.221+# pvecm add 10.50.0.221
 </code> </code>
 +
 <code> <code>
-Please enter superuser (root) password for '10.1.9.221'+# pvecm add 10.50.0.221 
-                                                        Password for root@10.1.9.221: ************* +Please enter superuser (root) password for '10.50.0.221': ************* 
-Establishing API connection with host '10.1.9.221' +Establishing API connection with host '10.50.0.221' 
-The authenticity of host '10.1.9.221' can't be established. +The authenticity of host '10.50.0.221' can't be established. 
-X509 SHA256 key fingerprint is 59:28:DC:C3:12:1E:4A:C8:5A:9A:34:52:16:FB:47:C8:30:08:43:29:C9:B0:C8:64:33:48:96:46:92:5D:76:61.+X509 SHA256 key fingerprint is 38:5F:E9:43:F7:58:18:40:70:93:57:0F:CE:DD:CB:F1:CB:88:DD:CF:85:5A:52:5C:FA:56:45:C3:38:B0:E6:D1.
 Are you sure you want to continue connecting (yes/no)? yes Are you sure you want to continue connecting (yes/no)? yes
 Login succeeded. Login succeeded.
Ligne 786: Ligne 426:
 Join request OK, finishing setup locally Join request OK, finishing setup locally
 stopping pve-cluster service stopping pve-cluster service
-backup old database to '/var/lib/pve-cluster/backup/config-1570610507.sql.gz'+backup old database to '/var/lib/pve-cluster/backup/config-1582313226.sql.gz'
 waiting for quorum...OK waiting for quorum...OK
 (re)generate node files (re)generate node files
Ligne 793: Ligne 433:
 generated new node certificate, restart pveproxy and pvedaemon services generated new node certificate, restart pveproxy and pvedaemon services
 successfully added node 'pve2' to cluster. successfully added node 'pve2' to cluster.
-</code> 
- 
-Une fois fait, il vous faudra modifier sur l'un des noeud le fichier **/etc/pve/corosync.conf**, pour y modifier le ring existant, et y ajouter le second ring((Il vous faudra incrementer la valeur de config_version)) : 
- 
-<code file [highlight_lines_extra="11,12,18,19,25,26,36,40,41,42"]> 
-logging { 
-  debug: off 
-  to_syslog: yes 
-} 
- 
-nodelist { 
-  node { 
-    name: pve1 
-    nodeid: 1 
-    quorum_votes: 1 
-    ring0_addr: 100.100.101.221 
-    ring1_addr: 100.100.102.221 
-  } 
-  node { 
-    name: pve2 
-    nodeid: 2 
-    quorum_votes: 1 
-    ring0_addr: 100.100.101.222 
-    ring1_addr: 100.100.102.222 
-  } 
-  node { 
-    name: pve3 
-    nodeid: 3 
-    quorum_votes: 1 
-    ring0_addr: 100.100.101.223 
-    ring1_addr: 100.100.102.223 
-  } 
-} 
- 
-quorum { 
-  provider: corosync_votequorum 
-} 
- 
-totem { 
-  cluster_name: pve-switchless 
-  config_version: 4 
-  interface { 
-    linknumber: 0 
-  } 
-  interface { 
-    linknumber: 1 
-  } 
-  ip_version: ipv4-6 
-  secauth: on 
-  version: 2 
-} 
  
 </code> </code>
  
-Il faut ensuite installer ceph sur chaque nœud **en CLI** :+Il faut ensuite installer Ceph sur chaque nœud **en CLI** :
  
 <code bash> <code bash>
Ligne 858: Ligne 447:
 </code> </code>
  
-Il va falloir modifier le fichier **/etc/pve/ceph.conf** pour :+Il va falloir modifier le fichier **/etc/pve/ceph.conf** pour y ajouter ceci a la fin du fichier 
  
-  * Retirer les deux lignes suivantes : <code> +<code>
- cluster_network = 10.50.0.0/24 +
- public_network = 10.50.0.0/24 +
-</code> +
-  * Ajouter ceci a la fin du fichier : <code>+
 [mon.pve1] [mon.pve1]
  host = pve1  host = pve1
Ligne 891: Ligne 476:
 Une fois fait, on peut repasser sur l'interface pour ajouter les managers manquant : Une fois fait, on peut repasser sur l'interface pour ajouter les managers manquant :
  
-{{ :kb:linux:proxmox:cluster-switchless-create-manager.png?300 |}}+{{ :kb:linux:proxmox:hyperconverged-proxmox-create-manager.png?300 |}}
  
 Puis les OSD sur chaque nœud : Puis les OSD sur chaque nœud :
  
-{{ :kb:linux:proxmox:cluster-switchless-create-osd.gif |}}+{{ :kb:linux:proxmox:hyperconverged-proxmox-create-osd.gif |}}
  
 Et pour finir le pool de données : Et pour finir le pool de données :
  
-{{ :kb:linux:proxmox:cluster-switchless-create-pool.png?300 |}}+{{ :kb:linux:proxmox:hyperconverged-proxmox-create-pool.png?300 |}}
  
 On peux aussi créer un pool CephFS si nécessaire en créant les MDS : On peux aussi créer un pool CephFS si nécessaire en créant les MDS :
  
-{{ :kb:linux:proxmox:cluster-switchless-create-mds.png?300 |}}+{{ :kb:linux:proxmox:hyperconverged-proxmox-create-mds.png?300 |}}
  
 Puis le pool CephFS : Puis le pool CephFS :
-{{ :kb:linux:proxmox:cluster-switchless-create-cephfs.gif |}}+{{ :kb:linux:proxmox:hyperconverged-proxmox-create-cephfs.gif |}}
  
  
kb/linux/proxmox/hyperconverged-proxmox.1581777716.txt.gz · Dernière modification : 2020/02/15 14:41 de beu