Creazione Cluster Proxmox
Le configurazioni classiche prevedono almento 3 nodi per realizzare una infrastruttura HCI con CEPH come storage system.
Quindi ipotiziamo che lo switch sia così configurato:
- vlan 10 : management
- vlan 11 : ceph public
- vlan 12 : ceph private
- vlan 13 : net-client
- vlan 14 : net-guest
- vlan 15 : net-server
- vlan 16 : net-printer
Lo switch usato sarà un 24 porte a 10G almeno per dare un po’ di velocità al nostro ambiente.
Se volessimo stare tranquilli in produzione bisogna usare almeno uno switch a 40G o 100G ma i costi ovviamente crescono. (anche su questo si potrebbe aprire una discussione)
Mappatura porte switch
vlan | interface | mode |
---|---|---|
10,13,14,15,16 | g1/1,2,3,4,5,6 | trunk |
11 | g1/7,8,9,10,11,12 | access |
12 | g1/13,14,15,16,17,18 | access |
configurare lo switch come da mappatura e collegare i cavi
Configurazione bond
Il BOND è un termine per dire aggregazione di due o più schede di rete. In Cisco viene detto EtherChannel o PortChannel a seconda dell’apparato con cui andiamo ad operare.
Per creare/configurare un bond eseguire questi tre semplici passaggi:
-
Creare il LINUX BOND vedi guida
7 tipi di modalità per il BONDING :
- Round-robin (balance-rr):
- Active-backup (active-backup):
- XOR (balance-xor):
- Broadcast (broadcast):
- IEEE 802.3ad Dynamic link aggregation (802.3ad)(LACP):
- Adaptive transmit load balancing (balance-tlb):
- Adaptive load balancing (balance-alb):
Siccome la maggior parte degli switch supporta il LACP, è consigliabile usare la stessa tipologia 802.3ad LACP Non approndiamo in questa sede le altre modalità fino al loro effettivo utilizzo. In ogni caso se fosse di vostro interesse mandateci una mail e cercheremo di accontentarvi.
Esempio di configurazione:
auto lo
iface lo inet loopback
iface eno1 inet manual
iface eno2 inet manual
auto bond0
iface bond0 inet static
bond-slaves eno1 eno2
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer2+3
- creare il LINUX BRIDGE a cui poi assegnamo il bond creato al punto 1
I bridge vengo sempre indicati nel seguente formato: vmbr[X] dove X indica il numero progressivo del bridge e si parte sempre da 0.
auto vmbr0
iface vmbr0 inet static
address [Indirizzo IP]/[MASK]
gateway [GATEWAY IP]
bridge-ports bond0
bridge-stp off
bridge-fd 0
-
creare una LINUX VLAN vmbr.[VLAN-ID] con la subnet richiesta
Ora per creare una vlan bisogna taggare la vlan che si vuole sul bridge. In Proxmox si dice “vlan aware” la cosidetta modalità trunk in gerco networking, quindi se voglo assegnare la nostra management VLAN 10 farò:
## ADD VLAN 10 PVE1 auto vmbr0.10 iface vmbr0.10 inet static address 192.168.10.10/24 gateway 192.168.10.1 auto vmbr0 iface vmbr0 inet manual bridge-ports bond0 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094
## File configurazione bond finale
auto lo iface lo inet loopback iface eno1 inet manual iface eno2 inet manual auto bond0 iface bond0 inet static bond-slaves eno1 eno2 bond-miimon 100 bond-mode 802.3ad bond-xmit-hash-policy layer2+3 auto vmbr0.10 iface vmbr0.10 inet static address 192.168.10.10/24 gateway 192.168.10.1 auto vmbr0 iface vmbr0 inet manual bridge-ports bond0 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094
ATTENZIONE:
Questa configurazione del bond va rifatta anche per tutti gli altri nodi: pve2, pve3
Queste tipologia di configurazione si possono configurare anche dalla GUI WEB di proxmox e potete verificare il file di configurazione dalla console.
Configurazione Cluster
ATTENZIONE: la configurazione di un cluster deve essere realizzata prima di creare macchine virtuali nel sistema PROXMOX, perchè altrimenti bisogna eseguire dei backup delle configurazioni della cartella /etc/pve
Una volta che avete configurato tutti i nodi e verificato che potete raggiungerli, per esempio:
ping 192.168.10.10
ping 192.168.10.11
ping 192.168.10.12
Verificate anche:
- Data e ora di ogni sistema che devono essere in sincrono.
- Verificate che potete entrare in SSH su ogni nodo
- Modificate la password di ROOT con una con criteri forti
Ora creiamo il cluster : questa operazione si può eseguire sia da console che via WEB.
- Entrare nel primo nodo pve1 , click su Datacenter-> Cluster e click su Create Cluster
- Inserire il nome del cluster
- lasciare il resto dei campi i valori di default
- Aggiungere i nodi al cluter
- entra nel primo nodo pve1: Datacenter->Cluster-> Join information
- click su “Copy Information” o basta copiare il testo del campo “Join information”
- Entrare nel secondo nodo PVE2, e sempre Datacenter->Cluster->Join Cluster e incolla le informazioni copiate dal nodo pve1. La password va inserita manualmente.
- Eseguire la stessa cosa per il terzo nodo PVE3
- Verifica dello status del cluster via Web : Datacenter->Cluster
Via Console: Seleziona un nodo click su “SHELL” :
$ pvecm status
Alcuni comandi utili:
$ pvecm --help
# ELimino un nodo:
$ pvecm delnode [nome nodo]
# Aggiungo un nodo:
$ pvecm addnode [nome nodo]