Creazione di un'infrastruttura IT resiliente. Parte 1 — preparazione per il dispiegamento del cluster oVirt 4.3

Si invitano i lettori a conoscere i principi per costruire un'infrastruttura resiliente per una piccola impresa all'interno di un singolo data center, che saranno esaminati in dettaglio in un breve ciclo di articoli.

Introduzione

Sotto Data Center (Centro di Elaborazione Dati) può riferirsi a:

  • un proprio rack nella propria "stanza dei server" all'interno dell'azienda, che soddisfa i requisiti minimi per l'alimentazione elettrica e il raffreddamento delle attrezzature, e che ha accesso a Internet tramite due fornitori indipendenti;
  • un rack in affitto con attrezzature proprie, situato in un vero data center - il cosiddetto collocation, che corrisponde agli standard Tier III o IV, garantendo un'alimentazione elettrica affidabile, raffreddamento e un'uscita a Internet resiliente;
  • attrezzature completamente in affitto in un data center Tier III o IV.

Quale opzione di collocazione scegliere - in ogni caso è tutto individuale e dipende solitamente da alcuni fattori principali:

  • a cosa serve all'azienda l'infrastruttura IT.
  • cosa desidera esattamente un'azienda dalla propria infrastruttura IT (affidabilità, scalabilità, gestibilità, ecc.);
  • l'ammontare degli investimenti iniziali nell'infrastruttura IT e che tipo di spese siano previste – capitali (significa acquistare la propria attrezzatura) o operative (l'attrezzatura viene generalmente noleggiata);
  • l'orizzonte di pianificazione stesso dell'azienda.

Si possono scrivere molte informazioni sui fattori che influenzano la decisione di un'azienda di creare e utilizzare la propria infrastruttura IT, ma il nostro obiettivo è dimostrare praticamente come realizzare questa infrastruttura in modo che sia sia resiliente che economica, riducendo le spese per l'acquisto di software commerciale o addirittura evitando completamente tali costi.

Come dimostra una lunga esperienza, risparmiare sull'hardware non vale la pena, poiché chi è avaro paga due volte, e anche molto di più. D'altra parte, un buon hardware è solo una raccomandazione, e alla fine cosa acquistare e a che prezzo dipende dalle possibilità dell'azienda e dalla "avarizia" della sua dirigenza. Inoltre, il termine "avarizia" va inteso nel senso positivo, poiché è meglio investire in hardware fin dall'inizio, per evitare seri problemi nella sua successiva manutenzione e scalabilità. Una pianificazione inizialmente errata e il risparmio eccessivo possono portare, in futuro, a costi maggiori rispetto a quelli iniziali per il lancio del progetto.

Quindi, i dati di partenza per il progetto:

  • c'è un'azienda che ha deciso di creare un proprio portale web e portare la propria attività online;
  • l'azienda ha deciso di affittare uno spazio per posizionare le proprie attrezzature in un buon data center con certificazione secondo lo standard Tier III;
  • l'azienda ha deciso di non risparmiare molto sull'hardware e quindi ha acquistato il seguente equipaggiamento con garanzie e supporto estesi:

Elenco dell'hardware

  • due server fisici Dell PowerEdge R640 così configurati:
  • due processori Intel Xeon Gold 5120
  • 512 Gb di RAM
  • due dischi SAS in RAID1 per l'installazione del sistema operativo
  • scheda di rete integrata con 4 porte 1G
  • due schede di rete a 2 porte 10G
  • un HBA FC a 2 porte 16G.
  • Sistema di archiviazione Dell MD3820f a 2 controller, collegato tramite FC 16G direttamente agli host Dell;
  • due switch di secondo livello — Cisco WS-C2960RX-48FPS-L uniti in un stack;
  • due switch di terzo livello — Cisco WS-C3850-24T-E, uniti in un stack;
  • Rack, UPS, PDU, server console – forniti dal data center.

Come vediamo, l'attrezzatura disponibile ha buone prospettive per la scalabilità orizzontale e verticale, nel caso in cui l'azienda possa competere con altre aziende simili online e inizi a generare profitti, che potrebbero essere reinvestiti nell'ampliamento delle risorse per ulteriore concorrenza e crescita dei profitti.

Quale attrezzatura possiamo aggiungere se l'azienda decide di aumentare le prestazioni del nostro cluster di calcolo:

  • abbiamo un grande margine di porte sugli switch 2960X, quindi possiamo aggiungere più server hardware;
  • acquistare due switch FC per collegarvi l'SAN e server aggiuntivi;
  • i server esistenti possono essere potenziati – aggiungendo memoria, sostituendo i processori con modelli più performanti e collegandoli a una rete 10G utilizzando le schede di rete già in uso;
  • all'SAN è possibile aggiungere ulteriori scaffali disco con il tipo di dischi necessari – SAS, SATA o SSD, a seconda del carico previsto;
  • dopo aver aggiunto gli switch FC, è possibile acquistare un'altra SAN per aggiungere ulteriore capacità di archiviazione e, se si acquista l'opzione speciale Remote Replication, sarà possibile configurare la replicazione dei dati tra le SAN sia all'interno dello stesso data center sia tra diversi data center (ma questo esula dal contesto dell'articolo);
  • sono inoltre disponibili switch di terzo livello – Cisco 3850, che possono essere utilizzati come nucleo di rete ad alta disponibilità per il routing ad alta velocità tra le reti interne. Questo sarà molto utile in futuro, man mano che cresce l'infrastruttura interna. Inoltre, il 3850 ha porte 10G, che possono essere utilizzate in seguito, durante l'aggiornamento dell'hardware di rete a 10G.

Poiché senza virtualizzazione non si va da nessuna parte, anche noi saremo ovviamente al passo con i tempi, soprattutto perché è un ottimo modo per ridurre i costi di acquisto di costosi server per singoli elementi dell'infrastruttura (server web, database, ecc.), che non sempre vengono utilizzati in modo ottimale in caso di bassa carico, e questo è esattamente quello che accadrà all'inizio del progetto.

Inoltre, la virtualizzazione ha molti altri vantaggi che ci possono tornare molto utili: resilienza delle VM ai guasti del server hardware, migrazione live tra i nodi hardware del cluster per la manutenzione, distribuzione manuale o automatica del carico tra i nodi del cluster, ecc.

Per l'hardware acquistato dall'azienda, si suggerisce di implementare un cluster ad alta disponibilità VMware vSphere, ma dato che qualsiasi software di VMware è noto per i suoi prezzi "esorbitanti", utilizzeremo un software completamente gratuito per la gestione della virtualizzazione - oVirt, sulla base del quale si crea un prodotto commerciale noto ma già affermato — RHEV.

Software oVirt è necessario unire tra loro tutti gli elementi dell'infrastruttura in un tutto unico, per ottenere la possibilità di lavorare facilmente con macchine virtuali altamente disponibili – database, applicazioni web, server proxy, bilanciatori, server per la raccolta di log e analisi, ecc., cioè ciò che costituisce il portale web della nostra azienda.

Riassumendo questa introduzione, ci aspettano i seguenti articoli che mostreranno nella pratica come implementare l'intera infrastruttura hardware e software dell'azienda:

Elenco degli articoli

  • Parte 1. Preparazione all'implementazione del cluster oVirt 4.3.
  • Parte 2. Installazione e configurazione del cluster oVirt 4.3.
  • Parte 3. Configurazione del cluster VyOS, organizzazione del routing esterno ridondante.
  • Parte 4. Configurazione dello stack Cisco 3850, organizzazione del routing interno.

Parte 1. Preparazione all'implementazione del cluster oVirt 4.3

Configurazione di base degli host

L'installazione e la configurazione del sistema operativo sono il passaggio più semplice. Ci sono innumerevoli articoli su come installare e configurare correttamente il sistema operativo, quindi non ha senso cercare di fornire qualcosa di esclusivo su questo argomento.

Abbiamo due host Dell PowerEdge R640 su cui dobbiamo installare un sistema operativo e effettuare le configurazioni preliminari per utilizzarli come hypervisor per eseguire macchine virtuali nel cluster oVirt 4.3.

Poiché prevediamo di utilizzare il software gratuito e non commerciale oVirt, per il dispiegamento degli host è stato scelto il sistema operativo CentOS 7.7, sebbene sia possibile installare altri sistemi operativi sugli host per oVirt:

configurare l'interfaccia di rete iDRAC su entrambi gli host;

  • aggiornare i firmware per BIOS e iDRAC alle ultime versioni;
  • configurare il profilo di sistema del server preferibilmente in modalità Performance;
  • configurare il RAID con i dischi locali (si consiglia RAID1) per installare il sistema operativo sul server.
  • Successivamente, installiamo il sistema operativo sul disco precedentemente creato tramite iDRAC: il processo di installazione è standard e non presenta particolari momenti critici. L'accesso alla console del server per avviare l'installazione del sistema operativo può essere ottenuto anche tramite iDRAC, sebbene non ci sia nulla che impedisca di collegare direttamente un monitor, una tastiera e un mouse al server e installare il sistema operativo da una 'pen drive'.

Затем устанавливаем ОС на созданный ранее через iDRAC диск – процесс установки обычный, каких-то особых моментов в нём нет. Доступ к консоли сервера для начала установки ОС также можно получить через iDRAC, хотя ничто не мешает подключить монитор, клавиатуру и мышь напрямую к серверу и установить ОС с «флэшки».

Dopo l'installazione del sistema operativo, eseguiamo le impostazioni iniziali:

systemctl enable network.service
systemctl start network.service
systemctl status network.service

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager

yum install -y ntp
systemctl enable ntpd.service
systemctl start ntpd.service

cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted

cat /etc/security/limits.conf
 *               soft    nofile         65536
 *               hard   nofile         65536

cat /etc/sysctl.conf
vm.max_map_count = 262144
vm.swappiness = 1

Installiamo un set di base di software

Per la configurazione iniziale del sistema operativo, è necessario configurare un'interfaccia di rete sul server per avere accesso a Internet, per aggiornare il sistema operativo e installare i pacchetti software necessari. Questo può essere fatto sia durante l'installazione del sistema operativo che successivamente.

yum -y install epel-release
yum update
yum -y install bind-utils yum-utils net-tools git htop iotop nmon pciutils sysfsutils sysstat mc nc rsync wget traceroute gzip unzip telnet 

Tutte le impostazioni e il set di software sopra indicati sono questioni di preferenze personali e questo set è solo di carattere raccomandativo.

Poiché il nostro host agirà da hypervisor, attiviamo il profilo di prestazioni necessario:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Per ulteriori informazioni sui profili di prestazioni, puoi leggere qui: "Capitolo 4. tuned e tuned-adm«.

Dopo l'installazione del sistema operativo, passiamo alla fase successiva: la configurazione delle interfacce di rete sugli host e dello stack degli switch Cisco 2960X.

Configurazione dello stack degli switch Cisco 2960X

Nel nostro progetto utilizzeremo i seguenti numeri VLAN — o domini di broadcast, isolati tra loro, per separare diversi tipi di traffico:

VLAN 10 – Internet
VLAN 17 – Management (iDRAC, SAN, gestione degli switch)
VLAN 32 – rete di produzione VM
VLAN 33 – rete di interconnessione (ai contraenti esterni)
VLAN 34 – rete di test VM
VLAN 35 – rete di sviluppo VM
VLAN 40 – rete di monitoraggio

Prima di iniziare i lavori, presenteremo uno schema a livello L2, a cui dovremmo arrivare:

Creazione di un'infrastruttura IT resiliente. Parte 1 — preparazione per il dispiegamento del cluster oVirt 4.3

Per facilitare l'interazione tra gli host oVirt e le macchine virtuali, nonché per gestire il nostro SAN, è necessaria la configurazione dello stack degli switch Cisco 2960X.

Gli host Dell dispongono di schede di rete integrate a 4 porte; pertanto, è opportuno organizzare la loro connessione allo switch Cisco 2960X utilizzando una connessione di rete ridondante, raggruppando le porte di rete fisiche in un'interfaccia logica e utilizzando il protocollo LACP (802.3ad):

  • I primi due porte sull'host sono configurati in modalità bonding e collegati allo switch 2960X – su questa interfaccia logica sarà configurato bridge con un indirizzo per la gestione dell'host, il monitoraggio e la comunicazione con altri host nel cluster oVirt; sarà inoltre utilizzato per la migrazione live delle macchine virtuali.
  • Le seconde due porte sull'host sono anch'esse configurate in modalità bonding e collegate a 2960X – su questa interfaccia logica con oVirt, saranno successivamente creati bridge (nelle rispettive VLAN) ai quali si collegheranno le macchine virtuali.
  • Entrambe le porte di rete, all'interno di un'unica interfaccia logica, saranno attive, cioè il traffico potrà essere trasmesso simultaneamente, in modalità bilanciamento.
  • Le impostazioni di rete sui nodi del cluster devono essere assolutamente IDENTICHE, ad eccezione degli indirizzi IP.

Configurazione di base dello stack di switch 2960X e le sue porte

I nostri switch devono essere:

  • montati in rack;
  • collegati tramite due cavi speciali della lunghezza adeguata, ad esempio, CAB-STK-E-1M;
  • collegati all'alimentazione;
  • connessi alla workstation dell'amministratore tramite la porta console per la loro configurazione iniziale.

La guida necessaria è disponibile su pagina ufficiale del produttore.

Dopo aver completato i passaggi sopra indicati, procediamo alla configurazione degli switch.
Non ci si propone di interpretare cosa significhi ogni comando in questo articolo; se necessario, tutte le informazioni possono essere trovate autonomamente.
Il nostro obiettivo è configurare rapidamente il stack di switch e collegare ad esso gli host e le interfacce di gestione dello storage.

1) Ci connettiamo allo switch principale, accediamo alla modalità privilegiata, poi entriamo nella modalità di configurazione e facciamo le impostazioni di base.

Configurazione di base dello switch:

 abilita
 configura terminale

 hostname 2960X

 no service pad
 service timestamps debug datetime msec
 service timestamps log datetime localtime show-timezone msec
 no service password-encryption
 service sequence-numbers

 switch 1 priority 15
 switch 2 priority 14
 stack-mac persistent timer 0

 clock timezone MSK 3
  vtp mode trasparente
  ip subnet-zero

 vlan 17
  name Management

 vlan 32
  name PROD 

 vlan 33
  name Interconnect

 vlan 34
  name Test

 vlan 35
  name Dev

 vlan 40
  name Monitoring

 spanning-tree mode rapid-pvst
 spanning-tree etherchannel guard misconfig
 spanning-tree portfast bpduguard default
 spanning-tree extend system-id
 spanning-tree vlan 1-40 root primary
 spanning-tree loopguard default
 vlan internal allocation policy ascending
 port-channel load-balance src-dst-ip

 errdisable recovery cause loopback
 errdisable recovery cause bpduguard
 errdisable recovery interval 60

line con 0
 session-timeout 60
 exec-timeout 60 0
 logging synchronous
line vty 5 15
 session-timeout 60
 exec-timeout 60 0
 logging synchronous

 ip http server
 ip http secure-server
 no vstack

interface Vlan1
 no ip address
 shutdown

 exit 

Salviamo la configurazione con il comando «wr mem» e riavviamo lo stack degli switch con il comando «reload» sullo switch principale switch 1.

2) Configuriamo le porte di rete dello switch in modalità accesso (access) nella VLAN 17, per collegare le interfacce di gestione dei sistemi di archiviazione (SXD) e dei server iDRAC.

Configurazione delle porte di gestione:

interfaccia GigabitEthernet1/0/5
 descrizione iDRAC - host1
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

interfaccia GigabitEthernet1/0/6
 descrizione Storage1 - Cntr0/Eth0
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

interfaccia GigabitEthernet2/0/5
 descrizione iDRAC - host2
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge

interfaccia GigabitEthernet2/0/6
 descrizione Storage1 – Cntr1/Eth0
 switchport access vlan 17
 switchport mode access
 spanning-tree portfast edge
 exit

3) Dopo il riavvio dello stack, verifichiamo che funzioni correttamente:

Verifica del funzionamento dello stack:

2960X#show switch stack-ring speed

Velocità Stack Ring        : 20G
Configurazione Stack Ring: Completa
Protocollo Stack Ring     : FlexStack

2960X#show switch stack-ports
  Switch #    Porta 1       Porta 2
  --------    ------       ------
    1           Ok           Ok
    2           Ok           Ok

2960X#show switch neighbors
  Switch #    Porta 1       Porta 2
  --------    ------       ------
      1         2             2
      2         1             1

2960X#show switch detail
Indirizzo Mac Switch/Stack : 0cd0.f8e4.XXXX
Tempo di attesa persistenza Mac: Indefinito
                                           H/W   Corrente
Switch#  Ruolo   Indirizzo Mac     Priorità Versione  Stato
----------------------------------------------------------
*1       Master 0cd0.f8e4.XXXX    15     4       Pronto
 2       Membro 0029.c251.XXXX     14     4       Pronto

         Stato Porta Stack             Vicini
Switch#  Porta 1     Porta 2           Porta 1   Porta 2
--------------------------------------------------------
  1        Ok         Ok                2        2
  2        Ok         Ok                1        1

4) Configurazione dell'accesso SSH allo stack 2960X

Per gestire da remoto il stack tramite SSH, utilizzeremo l'IP 172.20.1.10, configurato su SVI (switch virtual interface) VLAN17.

Sebbene per motivi di gestione sia preferibile utilizzare una porta dedicata sullo switch, questo dipende da preferenze personali e disponibilità.

Configurazione dell'accesso SSH allo stack degli switch:

ip default-gateway 172.20.1.2

interface vlan 17
 ip address 172.20.1.10 255.255.255.0

hostname 2960X
 ip domain-name hw.home-lab.ru
 no ip domain-lookup

clock set 12:47:04 06 Dec 2019

crypto key generate rsa

ip ssh version 2
ip ssh time-out 90

line vty 0 4
 session-timeout 60
 exec-timeout 60 0
 privilege level 15
 logging synchronous
 transport input ssh

line vty 5 15
 session-timeout 60
 exec-timeout 60 0
 privilege level 15
 logging synchronous
 transport input ssh

aaa new-model
aaa authentication login default local 
username cisco privilege 15 secret my_ssh_password

Impostiamo la password per l'accesso al livello di privilegio:

enable secret *myenablepassword*
service password-encryption

Impostiamo l'NTP:

ntp server 85.21.78.8 prefer
ntp server 89.221.207.113
ntp server 185.22.60.71
ntp server 192.36.143.130
ntp server 185.209.85.222

show ntp status
show ntp associations
show clock detail

5) Configuriamo le interfacce logiche Etherchannel e le porte fisiche collegate agli host. Per semplificare la configurazione, tutte le VLAN esistenti saranno consentite su tutte le interfacce logiche, ma solitamente si raccomanda di configurare solo ciò che è necessario:

Impostazione delle interfacce Etherchannel:

interfaccia Port-channel1
 descrizione EtherChannel con Host1-management
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 spanning-tree portfast edge trunk

interfaccia Port-channel2
 descrizione EtherChannel con Host2-management
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 spanning-tree portfast edge trunk

interfaccia Port-channel3
 descrizione EtherChannel con Host1-VM
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 spanning-tree portfast edge trunk

interfaccia Port-channel4
 descrizione EtherChannel con Host2-VM
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 spanning-tree portfast edge trunk

interfaccia GigabitEthernet1/0/1
 descrizione Host1-management
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 1 modalità attiva

interfaccia GigabitEthernet1/0/2
 descrizione Host2-management
  switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 2 modalità attiva

interfaccia GigabitEthernet1/0/3
 descrizione Host1-VM
  switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 3 modalità attiva

interfaccia GigabitEthernet1/0/4
 descrizione Host2-VM
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 4 modalità attiva

interfaccia GigabitEthernet2/0/1
 descrizione Host1-management
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 1 modalità attiva

interfaccia GigabitEthernet2/0/2
 descrizione Host2-management
  switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 2 modalità attiva

interfaccia GigabitEthernet2/0/3
 descrizione Host1-VM
  switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 3 modalità attiva

interfaccia GigabitEthernet2/0/4
 descrizione Host2-VM
 switchport trunk vlan consentiti 10,17,30-40
 switchport modalità trunk
 channel-protocol lacp
 gruppo-canale 4 modalità attiva

Configurazione iniziale delle interfacce di rete per le macchine virtuali, sugli host Host1 e Host2

Verifichiamo la presenza dei moduli necessari per il funzionamento del bonding nel sistema, installiamo il modulo per la gestione dei bridge:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Configurazione dell'interfaccia logica BOND1 sugli host per le macchine virtuali e delle sue interfacce fisiche:

cat /etc/sysconfig/network-scripts/ifcfg-bond1
#DESCRIZIONE - gestione
DEVICE=bond1
NAME=bond1
TYPE=Bond
IPV6INIT=no
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BOOTPROTO=none
BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'

cat /etc/sysconfig/network-scripts/ifcfg-em2
#DESCRIZIONE - gestione
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no
NM_CONTROLLED=no

cat /etc/sysconfig/network-scripts/ifcfg-em3
#DESCRIZIONE - gestione
DEVICE=em3
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no
NM_CONTROLLED=no 

Dopo aver completato le impostazioni nello stack 2960X e sugli host, riavviamo la rete sugli host e controlliamo il funzionamento dell'interfaccia logica.

  • sull'host:

systemctl restart network

cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (27 aprile 2011)

Modalità di bonding: aggregazione dinamica dei link IEEE 802.3ad
Politica di hash di trasmissione: layer2+3 (2)
Stato MII: su
Intervallo di polling MII (ms): 100
Ritardo in su (ms): 0
Ritardo in giù (ms): 0
...
info 802.3ad
Tasso LACP: veloce
Min link: 0
Politica di selezione dell'aggregatore (ad_select): stabile
Priorità di sistema: 65535
...
Interfaccia secondaria: em2
Stato MII: su
Velocità: 1000 Mbps
Duplex: completo
...
Interfaccia secondaria: em3
Stato MII: su
Velocità: 1000 Mbps
Duplex: completo

  • sullo stack dei switch 2960X:

2960X#show lacp internal
Flags:  S - Il dispositivo richiede Slow LACPDUs
        F - Il dispositivo richiede Fast LACPDUs
        A - Il dispositivo è in modalità attiva       P - Il dispositivo è in modalità passiva

Gruppo canale 1
                            LACP porta     Admin     Oper    Porta        Stato
Porta      Flags   Stato     Priorità      Chiave       Chiave     Numero      Stato
Gi1/0/1   SA      bndl      32768         0x1       0x1     0x102       0x3D
Gi2/0/1   SA      bndl      32768         0x1       0x1     0x202       0x3D

2960X#sh etherchannel summary
Flags:  D - giù        P - accoppiato nel port-channel
        I - stand-alone s - sospeso
        H - Hot-standby (solo LACP)
        R - Layer3      S - Layer2
        U - in uso      N - non in uso, nessuna aggregazione
        f - errore nell'allocazione dell'aggregatore

        M - non in uso, link minimi non raggiunti
        m - non in uso, porta non aggregata a causa dei link minimi non raggiunti
        u - inadatto per l'accoppiamento
        w - in attesa di aggregazione
        d - porta di default

        A - formato da Auto LAG

Numero di gruppi canale in uso: 11
Numero di aggregatori:           11

Gruppo  Port-channel  Protocollo    Porte
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/1(P)  Gi2/0/1(P)

Configurazione iniziale delle interfacce di rete per la gestione delle risorse del cluster, sugli host Host1 e Host2

Configurazione sugli host dell'interfaccia logica BOND1 per la gestione e delle sue interfacce fisiche:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#DESCRIZIONE - gestione
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPV6INIT=no
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
BOOTPROTO=none
BONDING_OPTS='mode=4 lacp_rate=1 xmit_hash_policy=2'

cat /etc/sysconfig/network-scripts/ifcfg-em0
#DESCRIZIONE - gestione
DEVICE=em0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

cat /etc/sysconfig/network-scripts/ifcfg-em1
#DESCRIZIONE - gestione
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

Dopo aver completato le impostazioni nello stack 2960X e sugli host, riavviamo la rete sugli host e controlliamo il funzionamento dell'interfaccia logica.

systemctl restart network
cat /proc/net/bonding/bond1

2960X#show lacp internal
2960X#sh etherchannel summary

Impostiamo l'interfaccia di rete di gestione su ciascun host in VLAN 17, e la colleghiamo all'interfaccia logica BOND1:

Configurazione VLAN17 su Host1:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17
DEVICE=bond1.17
NAME=bond1-vlan17
BOOTPROTO=none
ONBOOT=yes 
USERCTL=no 
NM_CONTROLLED=no 
VLAN=yes
MTU=1500  
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPADDR=172.20.17.163
NETMASK=255.255.255.0
GATEWAY=172.20.17.2
DEFROUTE=yes
DNS1=172.20.17.8
DNS2=172.20.17.9
ZONE=public

Configurazione VLAN17 su Host2:

cat /etc/sysconfig/network-scripts/ifcfg-bond1.17
DEVICE=bond1.17
NAME=bond1-vlan17
BOOTPROTO=none
ONBOOT=yes 
USERCTL=no 
NM_CONTROLLED=no 
VLAN=yes
MTU=1500  
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPADDR=172.20.17.164
NETMASK=255.255.255.0
GATEWAY=172.20.17.2
DEFROUTE=yes
DNS1=172.20.17.8
DNS2=172.20.17.9
ZONE=public

Riavviamo la rete sugli host e controlliamo la loro visibilità reciproca.

La configurazione dello stack degli switch Cisco 2960X è completata e, se tutto è stato fatto correttamente, ora abbiamo la connettività di rete tra tutti gli elementi dell'infrastruttura a livello L2.

Configurazione dello storage Dell MD3820f

Prima di iniziare la configurazione dello storage, deve già essere collegato allo stack degli switch Cisco 2960X tramite interfacce di gestione, così come agli host Host1 e Host2 via FC.

Lo schema generale di come lo storage deve essere collegato allo stack degli switch è stato fornito nel capitolo precedente.

Lo schema di connessione dello storage via FC agli host dovrebbe apparire così:

Creazione di un'infrastruttura IT resiliente. Parte 1 — preparazione per il dispiegamento del cluster oVirt 4.3

Durante il collegamento, è necessario annotare gli indirizzi WWPN degli host FC HBA collegati alle porte FC dello storage – saranno necessari per la successiva configurazione del binding degli host ai LUN dello storage.

Sulla workstation dell'amministratore, scarichiamo e installiamo l'utilità per gestire lo storage Dell MD3820f – PowerVault Modular Disk Storage Manager (MDSM).
Ci colleghiamo tramite il suo indirizzo IP predefinito e poi configuriamo i nostri indirizzi da VLAN17, per gestire i controller tramite TCP/IP:

Storage1:

ControllerA IP - 172.20.1.13, MASCHERA - 255.255.255.0, Gateway - 172.20.1.2
ControllerB IP - 172.20.1.14, MASCHERA - 255.255.255.0, Gateway - 172.20.1.2

Dopo aver configurato gli indirizzi, accediamo all'interfaccia di gestione dello storage e impostiamo la password, configuriamo il tempo, aggiorniamo il firmware per i controller e i dischi, se necessario e così via.
Come fare ciò è descritto in guida all'amministrazione dello storage.

Dopo aver completato le impostazioni sopra indicate, dovremo eseguire solo alcune azioni:

  1. Impostare gli identificatori dei porti FC host – Host Port Identifiers.
  2. Creare un gruppo di host – Host group e aggiungere i nostri due host Dell a esso.
  3. Creare un gruppo di dischi e al suo interno i dischi virtuali (o LUN) che verranno presentati agli host.
  4. Configurare la presentazione dei dischi virtuali (o LUN) per gli host.

L'aggiunta di nuovi host e l'associazione degli identificatori dei porti FC host avviene tramite il menu – Host Mappings -> Define -> Hosts…
Gli indirizzi WWPN degli HBA FC degli host possono essere trovati, per esempio, in iDRAC del server.

Di conseguenza, dovremmo ottenere un'immagine simile a questa:

Creazione di un'infrastruttura IT resiliente. Parte 1 — preparazione per il dispiegamento del cluster oVirt 4.3

L'aggiunta di un nuovo gruppo di host e l'associazione ad esso degli host avviene tramite il menu – Host Mappings -> Define -> Host Group…
Per gli host scegliamo il tipo di OS – Linux (DM-MP).

Dopo aver creato il gruppo di host, tramite la scheda Storage & Copy Services, creiamo un gruppo di dischi – Disk Group, con un tipo che dipende dalle esigenze di tolleranza ai guasti, ad esempio RAID10, e al suo interno ci sono dischi virtuali della dimensione necessaria:

Creazione di un'infrastruttura IT resiliente. Parte 1 — preparazione per il dispiegamento del cluster oVirt 4.3

E infine, l'ultima fase è la presentazione dei dischi virtuali (o LUN) ai host.
Per fare ciò, nel menu – Host Mappings -> Mappatura Lun -> Aggiungi… colleghiamo i dischi virtuali agli host, assegnando loro numeri.

Dovrebbe risultare come nello screenshot seguente:

Creazione di un'infrastruttura IT resiliente. Parte 1 — preparazione per il dispiegamento del cluster oVirt 4.3

Con questa configurazione del sistema di archiviazione, concludiamo, e se tutto è stato fatto correttamente, gli host dovrebbero vedere i LUN presentati tramite i loro FC HBA.
Forziamo il sistema ad aggiornare le informazioni sui dischi connessi:

ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan

Vediamo quali dispositivi sono visibili sui nostri server:

cat /proc/scsi/scsi
Dispositivi collegati:
Host: scsi0 Canale: 02 Id: 00 Lun: 00
  Fornitore: DELL     Modello: PERC H330 Mini   Rev: 4.29
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 00
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 01
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 04
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 11
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 31
  Fornitore: DELL     Modello: Universal Xport  Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 00
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 01
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 04
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 11
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 31
  Fornitore: DELL     Modello: Universal Xport  Rev: 0825
  Tipo:   Accesso Diretto                    ANSI revisione SCSI: 05

lsscsi
[0:2:0:0]    disco  DELL     PERC H330 Mini   4.29  /dev/sda
[15:0:0:0]   disco  DELL     MD38xxf          0825  -
[15:0:0:1]   disco  DELL     MD38xxf          0825  /dev/sdb
[15:0:0:4]   disco  DELL     MD38xxf          0825  /dev/sdc
[15:0:0:11]  disco  DELL     MD38xxf          0825  /dev/sdd
[15:0:0:31]  disco  DELL     Universal Xport  0825  -
 [18:0:0:0]   disco  DELL     MD38xxf          0825  -
[18:0:0:1]   disco  DELL     MD38xxf          0825  /dev/sdi
[18:0:0:4]   disco  DELL     MD38xxf          0825  /dev/sdj
[18:0:0:11]  disco  DELL     MD38xxf          0825  /dev/sdk
[18:0:0:31]  disco  DELL     Universal Xport  0825  -

Nei server è anche possibile configurare multipath, e sebbene durante l'installazione di oVirt possa farlo automaticamente, è meglio controllare in anticipo il corretto funzionamento del MP da soli.

Installazione e configurazione di DM Multipath

yum install device-mapper-multipath
mpathconf --enable --user_friendly_names y

cat /etc/multipath.conf | egrep -v "^s*(#|$)"
defaults {
    user_friendly_names yes
            find_multipaths yes
}

blacklist {
  wwid 26353900f02796769
  devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"     
  devnode "^hd[a-z]"
 }

Impostiamo il servizio MP per l'avvio automatico e lo avviamo:

systemctl enable multipathd && systemctl restart multipathd

Controllo delle informazioni sui moduli caricati per il funzionamento del MP:

lsmod | grep dm_multipath
dm_multipath           27792  6 dm_service_time
dm_mod                124407  139 dm_multipath,dm_log,dm_mirror

modinfo dm_multipath
filename:       /lib/modules/3.10.0-957.12.2.el7.x86_64/kernel/drivers/md/dm-multipath.ko.xz
license:        GPL
author:         Sistina Software 
description:    device-mapper multipath target
retpoline:      Y
rhelversion:    7.6
srcversion:     985A03DCAF053D4910E53EE
depends:        dm-mod
intree:         Y
vermagic:       3.10.0-957.12.2.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        A3:2D:39:46:F2:D3:58:EA:52:30:1F:63:37:8A:37:A5:54:03:00:45
sig_hashalgo:   sha256

Visualizziamo un riepilogo delle informazioni sulla configurazione multipath esistente:

mpathconf
multipath è abilitato
find_multipaths è disabilitato
user_friendly_names è disabilitato
dm_multipath module è caricato
multipathd è in esecuzione

Dopo aver aggiunto un nuovo LUN al sistema di archiviazione e presentato all'host, è necessario eseguire la scansione degli HBA collegati all'host.

systemctl reload multipathd
multipath -v2

Infine, verifichiamo se tutti i LUN sono stati presentati al sistema di archiviazione per gli host e se ci sono due percorsi per ciascuno di essi.

Controllo del funzionamento di MP:

multipath -ll
3600a098000e4b4b3000003175cec1840 dm-2 DELL    ,MD38xxf
size=2.0T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:1  sdb 8:16  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:1  sdi 8:128 active ready running
3600a098000e4b48f000002ab5cec1921 dm-6 DELL    ,MD38xxf
size=10T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 18:0:0:11 sdk 8:160 active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 15:0:0:11 sdd 8:48  active ready running
3600a098000e4b4b3000003c95d171065 dm-3 DELL    ,MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

Come si può vedere, tutti e tre i dischi virtuali nel sistema di archiviazione sono visibili su due percorsi. Pertanto, tutti i lavori preliminari sono stati completati, e si può passare alla parte principale: la configurazione del cluster oVirt, che sarà trattata nel prossimo articolo.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster