Creazione di un'infrastruttura IT a prova di guasti. Parte 1 - preparazione al dispiegamento del cluster oVirt 4.3

Si invita i lettori a prendere visione dei principi di costruzione di un'infrastruttura resiliente per piccole imprese all'interno di un singolo data center, che saranno analizzati in un breve ciclo di articoli.

Introduzione

Sotto il Data Center (Centro Elaborazione Dati) può essere inteso come:

  • un rack di proprietà nella propria "sala server" presso l'azienda, che soddisfi i requisiti minimi per l'alimentazione elettrica e il raffreddamento delle attrezzature, e che abbia anche accesso a Internet tramite due provider indipendenti;
  • un rack in affitto con attrezzature di proprietà, situato in un vero Data Center – il cosiddetto collocation, che corrisponde agli standard Tier III o IV, e in cui viene garantita un'alimentazione affidabile, raffreddamento e viene assicurato un accesso a Internet resiliente;
  • completamente affittato in un Data Center Tier III o IV.

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

  • per cosa l'azienda ha bisogno di un'infrastruttura IT;
  • cosa desidera esattamente l'azienda dall'infrastruttura IT (affidabilità, scalabilità, gestibilità, ecc.);
  • l'ammontare degli investimenti iniziali nell'infrastruttura IT, e anche che tipo di costi ci siano – capitali (ovvero si acquista la propria attrezzatura), o operativi (le attrezzature sono generalmente in affitto);
  • l'orizzonte di pianificazione dell'azienda stessa.

Si possono scrivere molte cose sui fattori che influenzano la decisione dell'azienda di creare e utilizzare la propria infrastruttura IT, ma il nostro obiettivo è dimostrare praticamente come creare questa infrastruttura, affinché sia sia resiliente che economica – ridurre le spese per l'acquisto di software commerciale o addirittura evitarle del tutto.

Come dimostra una lunga pratica, non conviene risparmiare sull'hardware, poiché il taccagno paga due volte e anche molto di più. Ma 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 direzione. Inoltre, la parola "avarizia" deve essere intesa in senso positivo, poiché è meglio investire in hardware all'inizio, per non avere seri problemi nella sua successiva manutenzione e scalabilità. Una pianificazione iniziale errata e un risparmio eccessivo possono portare, in futuro, a costi maggiori rispetto a quelli previsti 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à su Internet;
  • l'azienda ha deciso di affittare uno spazio per posizionare la propria attrezzatura in un buon data center, che ha la certificazione secondo lo standard Tier III;
  • l'azienda ha deciso di non risparmiare troppo sull'hardware e quindi ha acquistato il seguente equipaggiamento con garanzie e supporto estesi:

Elenco dell'hardware

  • due server fisici Dell PowerEdge R640 con la seguente configurazione:
  • 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 a 4 porte 1G
  • due schede di rete a 2 porte 10G
  • una scheda FC HBA a 2 porte 16G.
  • Sistema di archiviazione Dell MD3820f a 2 controller, connesso tramite FC 16G direttamente agli host Dell;
  • due switch di livello 2 — Cisco WS-C2960RX-48FPS-L uniti in stack;
  • due switch di livello 3 — Cisco WS-C3850-24T-E, uniti in stack;
  • Rack, UPS, PDU, server di console – forniti dal data center.

Come possiamo vedere, l'hardware disponibile ha buone prospettive per la scalabilità orizzontale e verticale, nel caso in cui l'azienda riesca a competere con altre aziende simili su Internet e cominci a generare profitti, che possono essere reinvestiti per espandere le risorse per ulteriori competizioni e crescita del profitto.

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

  • abbiamo un ampio margine di porte sugli switch 2960X, quindi possiamo aggiungere più server fisici;
  • acquistare due switch FC per collegare il sistema di archiviazione e server aggiuntivi;
  • i server già esistenti possono essere aggiornati: aggiungere memoria, sostituire i processori con modelli più performanti, collegarli alla rete 10G utilizzando già gli adattatori di rete esistenti;
  • al sistema di archiviazione può essere aggiunto ulteriori scaffali per dischi con il tipo di dischi necessari – SAS, SATA o SSD, a seconda del carico previsto;
  • dopo aver aggiunto gli switch FC, è possibile acquistare ulteriormente un sistema di archiviazione, per aggiungere ulteriore capacità di archiviazione, e se si acquista l'opzione speciale Remote Replication, sarà possibile configurare la replica dei dati tra i sistemi di archiviazione sia all'interno dello stesso data center che tra data center (ma questo è già al di fuori dell'argomento dell'articolo);
  • sono inoltre disponibili switch di livello 3 – Cisco 3850, che possono essere utilizzati come nucleo di rete ridondante, per un routing ad alta velocità tra le reti interne. Questo sarà molto utile in futuro, man mano che la nostra infrastruttura interna crescerà. Inoltre, il 3850 dispone di porte 10G, che possono essere utilizzate in seguito, quando si aggiornerà l'hardware di rete alla velocità di 10G.

Poiché ora non si può fare a meno della virtualizzazione, sicuramente saremo in linea con le tendenze, essendo questo un ottimo modo per ridurre i costi per l'acquisto di server costosi per elementi separati dell'infrastruttura (server web, database, ecc.), che non vengono sempre utilizzati in modo ottimale in caso di carichi leggeri, e così sarà all'inizio del lancio del progetto.

Inoltre, la virtualizzazione ha molti altri vantaggi che ci possono tornare molto utili: tolleranza ai guasti delle macchine virtuali in caso di guasto del server hardware, migrazione live tra i nodi hardware del cluster per la loro manutenzione, distribuzione del carico manuale o automatica tra i nodi del cluster, ecc.

Per l'hardware acquistato dall'azienda, si propone il dispiegamento di un cluster ad alta disponibilità VMware vSphere, ma poiché qualsiasi software di VMware è noto per i suoi prezzi "esorbitanti", utilizzeremo un software di gestione della virtualizzazione completamente gratuito – oVirt, su cui si basa il noto, ma già prodotto commerciale — RHEV.

Software oVirt è necessario per integrare tutti gli elementi dell'infrastruttura in un tutto unico, al fine di facilitare il lavoro con macchine virtuali ad alta disponibilità - database, applicazioni web, server proxy, bilanciatori, server per la raccolta di log e analisi e così via, ovvero ciò di cui è composto il portale web della nostra azienda.

In sintesi, 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 al deployment 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 ad alta disponibilità.
  • Parte 4. Configurazione dello stack Cisco 3850, organizzazione del routing interno.

Parte 1. Preparazione al deployment del cluster oVirt 4.3

Configurazione di base degli host

L'installazione e la configurazione del sistema operativo sono il passo più semplice. Ci sono moltissimi articoli su come installare e configurare correttamente un sistema operativo, quindi non ha senso cercare di fornire qualcosa di esclusivo a riguardo.

Abbiamo quindi due host Dell PowerEdge R640 sui quali è necessario installare il sistema operativo e apportare le configurazioni preliminari per utilizzarli come hypervisor per avviare macchine virtuali nel cluster oVirt 4.3.

Poiché prevediamo di utilizzare il software gratuito e non commerciale oVirt, abbiamo scelto il sistema operativo CentOS 7.7, anche se è possibile installare altri sistemi operativi sugli host per oVirt:

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

  • aggiornare il firmware del BIOS e dell'iDRAC all'ultima versione disponibile;
  • configurare il profilo di sistema del server, preferibilmente in modalità Performance;
  • configurare il RAID su dischi locali (si consiglia RAID1), per l'installazione del sistema operativo sul server.
  • Successivamente, installiamo il sistema operativo sul disco precedentemente creato tramite iDRAC: il processo di installazione è standard, senza particolari aspetti degni di nota. L'accesso alla console del server per avviare l'installazione del sistema operativo può essere effettuato anche tramite iDRAC, sebbene nulla impedisca di collegare un monitor, una tastiera e un mouse direttamente al server e di installare il sistema operativo da una chiavetta USB.

Dopo aver installato il sistema operativo, procediamo alle sue configurazioni iniziali:

Dopo l'installazione del sistema operativo, eseguiamo le configurazioni 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 base di software

Per la configurazione iniziale del sistema operativo, è necessario configurare qualsiasi interfaccia di rete sul server, in modo da poter accedere a Internet per aggiornare il sistema operativo e installare i pacchetti software necessari. Questo può essere fatto sia durante il processo di 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 configurazioni e il set di software sopra menzionati sono una questione di preferenze personali e questo set ha solo un carattere raccomandato.

Poiché il nostro host fungerà da hypervisor, attiveremo il profilo di prestazioni necessario:

systemctl enable tuned 
systemctl start tuned 
systemctl status tuned 

tuned-adm profile 
tuned-adm profile virtual-host 

Per ulteriori dettagli sul profilo delle prestazioni, è possibile 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 di switch Cisco 2960X.

Configurazione dello stack di switch Cisco 2960X

Nel nostro progetto saranno utilizzati i seguenti numeri VLAN - o domini di broadcast, isolati l'uno dall'altro, con l'obiettivo di separare i diversi tipi di traffico:

VLAN 10 – Internet
VLAN 17 – Management (iDRAC, storage SAN, gestione switch)
VLAN 32 – Rete di produzione VM
VLAN 33 – rete di interconnessione (per appaltatori 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, al quale dobbiamo arrivare:

Creazione di un'infrastruttura IT a prova di guasti. Parte 1 - preparazione al dispiegamento del cluster oVirt 4.3

Per l'interazione di rete tra gli host oVirt e le macchine virtuali, nonché per la gestione del nostro storage SAN, è necessaria la configurazione dello stack di switch Cisco 2960X.

Gli host Dell sono dotati di schede di rete integrate a 4 porte, quindi è opportuno organizzare il loro collegamento a Cisco 2960X tramite una connessione di rete ridondante, utilizzando il raggruppamento di porte fisiche di rete in un'interfaccia logica e il protocollo LACP (802.3ad):

  • i primi due porti 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, monitoraggio, comunicazione con altri host nel cluster oVirt, sarà inoltre utilizzato per la migrazione live delle macchine virtuali;
  • i secondi due porti sull'host sono configurati in modalità bonding e collegati a 2960X - su questa interfaccia logica, tramite oVirt, saranno successivamente create bridge (nelle VLAN appropriate) a cui si connetteranno le macchine virtuali.
  • entrambi i porti di rete, all'interno di un'unica interfaccia logica, saranno attivi, cioè il traffico può essere trasmesso contemporaneamente, in modalità bilanciata.
  • le impostazioni di rete sui nodi del cluster devono essere assolutamente IDENTICHE, ad eccezione degli indirizzi IP.

Configurazione di base della rete degli switch 2960X e delle sue porte

Preliminarmente i nostri switch devono essere:

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

Esiste una guida necessaria per questo sul pagina ufficiale sito del produttore.

Dopo aver eseguito le operazioni sopra indicate, procederemo con la configurazione degli switch.
Cosa significa ogni comando non verrà spiegato in questo articolo, ma tutte le informazioni necessarie possono essere trovate autonomamente.
Il nostro obiettivo è configurare il più rapidamente possibile la rete degli switch e collegarvi gli host e le interfacce di gestione dello storage.

1) Ci connettiamo allo switch principale, passiamo alla modalità privilegiata, quindi accediamo alla modalità di configurazione e effettuare 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 connettere le interfacce di gestione dei sistemi di archiviazione e dei server iDRAC.

Configurazione delle porte di gestione:

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

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

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

interface GigabitEthernet2/0/6
 description 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

Stack Ring Speed        : 20G
Stack Ring Configuration: Full
Stack Ring Protocol     : FlexStack

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

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

2960X#show switch detail
Switch/Stack Mac Address : 0cd0.f8e4.XXXX
Mac persistency wait time: Indefinito
                                           H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 0cd0.f8e4.XXXX    15     4       Pronto
 2       Member 0029.c251.XXXX     14     4       Pronto

         Stato porta stack             Vicini
Switch#  Port 1     Port 2           Port 1   Port 2
--------------------------------------------------------
  1        Ok         Ok                2        2
  2        Ok         Ok                1        1

4) Configurazione dell'accesso SSH allo stack 2960X

Per la gestione remota dello stack tramite SSH, utilizzeremo l'IP 172.20.1.10, configurato sull'SVI (switch virtual interface) VLAN17.

Sebbene per scopi di gestione sia preferibile utilizzare una porta dedicata specifica sullo switch, si tratta di una questione di preferenze personali e opportunità.

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 alla modalità privilegiata:

enable secret *myenablepassword*
service password-encryption

Impostiamo 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 semplicità di configurazione, tutte le VLAN esistenti saranno autorizzate su tutte le interfacce logiche, ma di solito è consigliabile configurare solo ciò che serve:

Configurazione delle interfacce Etherchannel:

interface Port-channel1
 description EtherChannel with Host1-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel2
 description EtherChannel with Host2-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel3
 description EtherChannel with Host1-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface Port-channel4
 description EtherChannel with Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 spanning-tree portfast edge trunk

interface GigabitEthernet1/0/1
 description Host1-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 1 mode active

interface GigabitEthernet1/0/2
 description Host2-management
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 2 mode active

interface GigabitEthernet1/0/3
 description Host1-VM
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 3 mode active

interface GigabitEthernet1/0/4
 description Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 4 mode active

interface GigabitEthernet2/0/1
 description Host1-management
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 1 mode active

interface GigabitEthernet2/0/2
 description Host2-management
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 2 mode active

interface GigabitEthernet2/0/3
 description Host1-VM
  switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 3 mode active

interface GigabitEthernet2/0/4
 description Host2-VM
 switchport trunk allowed vlan 10,17,30-40
 switchport mode trunk
 channel-protocol lacp
 channel-group 4 mode active

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

Controlliamo la presenza dei moduli necessari per il funzionamento del bonding nel sistema, installiamo il modulo per gestire i bridge:

modinfo bonding
modinfo 8021q
yum install bridge-utils

Configurazione su host dell'interfaccia logica BOND1 per 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 configurazioni sullo stack 2960X e sugli host, riavviamo la rete sugli host e verifichiamo il funzionamento dell'interfaccia logica.

  • sull'host:

systemctl restart network

cat /proc/net/bonding/bond1
Driver di bonding del canale Ethernet: v3.7.1 (27 aprile 2011)

Modalità di bonding: aggregazione dinamica del link IEEE 802.3ad
Politica di hash di trasmissione: layer2+3 (2)
Stato MII: su
Intervallo di polling MII (ms): 100
Ritardo di attesa (ms): 0
Ritardo di inattività (ms): 0
...
Info 802.3ad
Tasso LACP: veloce
Minimo collegamenti: 0
Politica di selezione dell'aggregatore (ad_select): stabile
Priorità di sistema: 65535
...
Interfaccia slave: em2
Stato MII: su
Velocità: 1000 Mbps
Duplex: pieno
...
Interfaccia slave: em3
Stato MII: su
Velocità: 1000 Mbps
Duplex: pieno

  • sullo stack degli switch 2960X:

2960X#show lacp internal
Flags:  S - Il dispositivo sta richiedendo LACPDUs lenti
        F - Il dispositivo sta richiedendo LACPDUs veloci
        A - Il dispositivo è in modalità attiva       P - Il dispositivo è in modalità passiva

Gruppo canale 1
                            Porta LACP     Amministrativo     Operativo    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 - incluso nel port-channel
        I - indipendente 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, collegamenti minimi non soddisfatti
        m - non in uso, porta non aggregata a causa di collegamenti minimi non soddisfatti
        u - non adatto per l'aggregazione
        w - in attesa di essere aggregato
        d - porta predefinita

        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 su 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=sì
IPV6INIT=no
ONBOOT=sì
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=sì
MASTER=bond0
SLAVE=sì
USERCTL=no
NM_CONTROLLED=no

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

Dopo aver completato le configurazioni sullo stack 2960X e sugli host, riavviamo la rete sugli host e verifichiamo il funzionamento dell'interfaccia logica.

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

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

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

Configurazione di VLAN17 su Host1:

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

Configurazione di VLAN17 su Host2:

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

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

Con questo, la configurazione degli switch Cisco 2960X è completata, e se tutto è stato fatto correttamente, ora abbiamo 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 di switch Cisco 2960X con le interfacce di gestione, così come agli host Host1 e Host2 tramite FC.

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

Lo schema di collegamento dello storage tramite FC agli host deve apparire come segue:

Creazione di un'infrastruttura IT a prova di guasti. Parte 1 - preparazione al dispiegamento del cluster oVirt 4.3

Durante il collegamento, è necessario annotare gli indirizzi WWPN per gli HBA FC degli host, collegati alle porte FC dello storage – questo sarà necessario per la successiva configurazione dell'associazione degli host ai LUN dello storage.

Sul workstation dell'amministratore scarichiamo e installiamo l'utilità per gestire lo storage Dell MD3820f – PowerVault Modular Disk Storage Manager (MDSM).
Ci connettiamo ad essa tramite i suoi indirizzi IP predefiniti, e poi configuriamo i nostri indirizzi da VLAN17, per gestire i controller tramite TCP/IP:

Storage1:

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

Dopo aver configurato gli indirizzi, entriamo nell'interfaccia di gestione dello storage e impostiamo la password, configuriamo l'orario, aggiorniamo i firmware per i controller e i dischi, se necessario, ecc.
Come farlo è descritto in guida all'amministrazione SCD.

Dopo aver eseguito le impostazioni sopra indicate, dovremo fare solo alcune azioni:

  1. Configurare gli identificatori delle porte FC host – Identificatori delle porte host.
  2. Creare un gruppo di host – Gruppo host e aggiungervi i nostri due host Dell.
  3. Creare un gruppo di dischi e al suo interno 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 delle porte FC host avviene tramite il menu – Mappature host -> Definisci -> Host…
Gli indirizzi WWPN degli HBA FC degli host possono essere trovati, ad esempio, in iDRAC del server.

Il risultato dovrebbe apparire così:

Creazione di un'infrastruttura IT a prova di guasti. Parte 1 - preparazione al 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 – Mappature host -> Definisci -> Gruppo host…
Per gli host selezioniamo 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 – Gruppo di dischi, con un tipo che dipende dai requisiti di disponibilità, ad esempio, RAID10, e al suo interno dischi virtuali delle dimensioni necessarie:

Creazione di un'infrastruttura IT a prova di guasti. Parte 1 - preparazione al dispiegamento del cluster oVirt 4.3

E infine, l'ultimo passaggio — la presentazione dei dischi virtuali (o LUN) per gli host.
Per questo tramite il menu – Mappature host -> Mappatura Lun -> Aggiungi… colleghiamo i dischi virtuali agli host, assegnando loro i numeri.

Tutto dovrebbe apparire come in questa schermata:

Creazione di un'infrastruttura IT a prova di guasti. Parte 1 - preparazione al dispiegamento del cluster oVirt 4.3

Con la configurazione della SCD abbiamo finito, e se tutto è stato fatto correttamente, gli host dovrebbero vedere i LUN presentati tramite i loro HBA FC.
Insegniamo al 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                    Revisione ANSI SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 00
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 01
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 04
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 11
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi15 Canale: 00 Id: 00 Lun: 31
  Fornitore: DELL     Modello: Universal Xport  Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 00
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 01
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 04
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 11
  Fornitore: DELL     Modello: MD38xxf          Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI SCSI: 05
Host: scsi18 Canale: 00 Id: 00 Lun: 31
  Fornitore: DELL     Modello: Universal Xport  Rev: 0825
  Tipo:   Accesso diretto                    Revisione ANSI 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  -

Sui host è possibile configurare anche ulteriori impostazioni multipath, e anche se durante l'installazione di oVirt potrebbe farlo autonomamente, è meglio verificare in anticipo il corretto funzionamento di MP.

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

Verifica delle informazioni sui moduli caricati per il funzionamento di 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

Stiamo esaminando le informazioni riassuntive sulla configurazione multipath esistente:

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

Dopo aver aggiunto un nuovo LUN allo storage e presentato al host, è necessario effettuare una scansione degli HBA connessi al host.

systemctl reload multipathd
multipath -v2

Infine, verifichiamo se tutti i LUN sono stati presentati allo storage per i host e se a tutti portano due percorsi.

Controllo del funzionamento 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 vede, tutti e tre i dischi virtuali nello storage sono visibili attraverso due percorsi. Pertanto, tutte le operazioni preliminari sono state completate e possiamo procedere con la fase 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