ProHoster > blog > amministrazione > Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3
Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3
I lettori sono invitati a familiarizzare con i principi della creazione di un'infrastruttura tollerante ai guasti per una piccola impresa all'interno di un singolo data center, che verranno discussi in dettaglio in una breve serie di articoli.
prodromo
sotto Banca dati (Centro Elaborazione Dati) può essere inteso come:
proprio rack nella propria "sala server" sul territorio dell'azienda, che soddisfa i requisiti minimi per la fornitura di apparecchiature di alimentazione e raffreddamento e dispone anche di accesso a Internet tramite due fornitori indipendenti;
un rack noleggiato con la propria attrezzatura, situato in un vero data center, il cosiddetto. collocazione conforme allo standard Tier III o IV e che garantisce un'alimentazione elettrica affidabile, un raffreddamento e un accesso a Internet tollerante ai guasti;
apparecchiature completamente noleggiate in un data center di livello III o IV.
Quale opzione di alloggio scegliere: in ogni caso, tutto è individuale e di solito dipende da diversi fattori principali:
perché un'impresa ha bisogno di una propria infrastruttura IT;
cosa vuole esattamente l'impresa dall'infrastruttura IT (affidabilità, scalabilità, gestibilità, ecc.);
l'importo dell'investimento iniziale nell'infrastruttura IT, nonché il tipo di costi sostenuti: capitale (che significa acquistare la propria attrezzatura) o funzionamento (l'attrezzatura viene solitamente noleggiata);
l’orizzonte progettuale dell’impresa stessa.
Puoi scrivere molto sui fattori che influenzano la decisione di un'azienda di creare e utilizzare la propria infrastruttura IT, ma il nostro obiettivo è mostrare in pratica come creare questa stessa infrastruttura in modo che sia tollerante ai guasti e che tu possa comunque risparmiare - ridurre i costi di acquisizione del software commerciale o evitarli del tutto.
Come dimostra una lunga pratica, non vale la pena risparmiare sul ferro, poiché l'avaro paga due volte e anche molto di più. Ma ancora una volta: buon hardware, questa è solo una raccomandazione, e alla fine cosa comprare esattamente e quanto dipende dalle capacità dell'azienda e dall '"avidità" della sua gestione. Inoltre, la parola "avidità" dovrebbe essere intesa nel buon senso della parola, poiché è meglio investire nell'hardware nella fase iniziale, in modo da non avere in seguito seri problemi con il suo ulteriore supporto e ridimensionamento, poiché inizialmente errato la pianificazione e i risparmi eccessivi possono portare a costi più elevati rispetto all’avvio di un progetto.
Quindi, i dati iniziali del progetto:
c'è un'impresa che ha deciso di creare un proprio portale web e portare le proprie attività su Internet;
l'azienda ha deciso di noleggiare un rack per ospitare le proprie apparecchiature in un buon data center certificato secondo lo standard Tier III;
l'azienda ha deciso di non risparmiare molto sull'hardware e ha quindi acquistato le seguenti apparecchiature con garanzia e supporto estesi:
Elenco attrezzature
due server fisici Dell PowerEdge R640 come segue:
due processori Intel Xeon Gold 5120
512 Gb RAM
due dischi SAS in RAID1, per l'installazione del sistema operativo
scheda di rete 4G a 1 porte integrata
due schede di rete 2G a 10 porte
un FC HBA 2G a 16 porte.
Storage controller Dell MD2f 3820 connesso tramite FC 16G direttamente agli host Dell;
due switch del secondo livello: Cisco WS-C2960RX-48FPS-L impilati;
due switch del terzo livello: Cisco WS-C3850-24T-E, combinati in uno stack;
Rack, UPS, PDU, server console: forniti dal data center.
Come possiamo vedere, le attrezzature esistenti hanno buone prospettive di scalabilità orizzontale e verticale, nel caso in cui l'impresa possa competere con altre aziende con un profilo simile su Internet, e inizi a realizzare un profitto che può essere investito nell'espansione delle risorse per ulteriore concorrenza e crescita dei profitti.
Quali apparecchiature possiamo aggiungere se l'azienda decide di aumentare le prestazioni del nostro cluster informatico:
disponiamo di una grande riserva in termini di numero di porte sugli switch 2960X, il che significa che possiamo aggiungere più server hardware;
acquistare due switch FC per connettere ad essi sistemi di storage e server aggiuntivi;
i server esistenti possono essere aggiornati: aggiungere memoria, sostituire i processori con altri più efficienti, connettersi a una rete 10G con adattatori di rete esistenti;
è possibile aggiungere ulteriori scaffali per dischi al sistema di archiviazione con il tipo di dischi richiesto: SAS, SATA o SSD, a seconda del carico pianificato;
dopo aver aggiunto gli switch FC, è possibile acquistare un altro sistema di storage per aggiungere ancora più capacità del disco e, se si acquista una speciale opzione di replica remota, è possibile configurare la replica dei dati tra sistemi di storage sia all'interno dei confini di un data center che tra data center (ma questo va già oltre lo scopo dell'articolo);
ci sono anche switch di terzo livello: Cisco 3850, che può essere utilizzato come core di rete tollerante ai guasti per il routing ad alta velocità tra reti interne. Ciò aiuterà molto in futuro, man mano che l’infrastruttura interna crescerà. Il 3850 dispone anche di porte 10G che possono essere utilizzate successivamente quando si aggiornano le apparecchiature di rete alla velocità 10G.
Dato che ormai non c'è posto senza virtualizzazione, saremo sicuramente nella tendenza, soprattutto perché questo è un ottimo modo per ridurre i costi di acquisizione di server costosi per i singoli elementi dell'infrastruttura (server web, database, ecc.), che non sono sempre ottimali vengono utilizzati in caso di basso carico, e questo è esattamente ciò che sarà all'inizio del lancio del progetto.
Inoltre, la virtualizzazione presenta molti altri vantaggi che possono esserci molto utili: tolleranza agli errori delle VM in caso di guasto del server hardware, migrazione in tempo reale tra i nodi hardware del cluster per la loro manutenzione, distribuzione manuale o automatica del carico tra i nodi del cluster, ecc.
Per l'hardware acquistato dall'azienda, si suggerisce l'implementazione di un cluster VMware vSphere ad alta disponibilità, ma poiché qualsiasi software VMware è noto per i suoi cartellini dei prezzi "cavallo", utilizzeremo un software di gestione della virtualizzazione assolutamente gratuito - ovirt, sulla base del quale viene creato un prodotto noto, ma già commerciale - rev.
Software ovirt necessario combinare tutti gli elementi dell'infrastruttura in un unico insieme per poter lavorare comodamente con macchine virtuali ad alta disponibilità: si tratta di database, applicazioni web, server proxy, bilanciatori, server per la raccolta di registri e analisi, ecc., cioè , in cosa consiste il portale web della nostra azienda.
Riassumendo questa introduzione, ci aspettano i seguenti articoli, che mostreranno in pratica esattamente come implementare l'intera infrastruttura hardware e software di un'impresa:
Elenco degli articoli
1 Part. Preparazione alla distribuzione di un cluster oVirt 4.3.
2 Part. Installazione e configurazione di un cluster oVirt 4.3.
3 Part. Configurazione di un cluster VyOS, organizzazione del routing esterno tollerante ai guasti.
4 Part. Configurazione dello stack Cisco 3850, organizzazione del routing intranet.
Parte 1. Preparazione alla distribuzione di un cluster oVirt 4.3
Configurazione host di base
Installare e configurare il sistema operativo è il passaggio più semplice. Ci sono molti articoli su come installare e configurare correttamente il sistema operativo, quindi non ha senso provare a fornire qualcosa di esclusivo al riguardo.
Abbiamo quindi due host Dell PowerEdge R640 sui quali dobbiamo installare il sistema operativo ed eseguire le impostazioni preliminari per utilizzarli come hypervisor per eseguire macchine virtuali in un cluster oVirt 4.3.
Poiché prevediamo di utilizzare il software gratuito non commerciale oVirt, abbiamo scelto il sistema operativo per la distribuzione degli host 7.7 CentOS, anche se è possibile installare altri sistemi operativi sugli host per oVirt:
una build speciale basata su RHEL, la cosiddetta. oNodo Virt;
Sistema operativo Oracle Linux estate 2019 è stato annunciato su come mantenere oVirt in esecuzione su di esso.
Prima di installare il sistema operativo, si consiglia:
configurare l'interfaccia di rete iDRAC su entrambi gli host;
aggiornare il firmware per BIOS e iDRAC alle versioni più recenti;
configurare il Profilo di Sistema del server, preferibilmente in modalità Prestazioni;
configurare RAID dai dischi locali (si consiglia RAID1) per installare il sistema operativo sul server.
Quindi installiamo il sistema operativo sul disco creato in precedenza tramite iDRAC: il processo di installazione è normale, non contiene momenti speciali. Puoi anche accedere alla console del server per avviare l'installazione del sistema operativo tramite iDRAC, sebbene nulla ti impedisca di collegare monitor, tastiera e mouse direttamente al server e di installare il sistema operativo da un'unità flash.
Dopo aver installato il sistema operativo, eseguiamo le sue impostazioni iniziali:
systemctl enable network.service
systemctl start network.service
systemctl status network.service
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager
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 dopo.
Tutte le impostazioni e il set di software di cui sopra sono una questione di preferenze personali e questo set è solo una raccomandazione.
Poiché il nostro host svolgerà il ruolo di hypervisor, abiliteremo il profilo prestazionale desiderato:
systemctl enable tuned
systemctl start tuned
systemctl status tuned
tuned-adm profile
tuned-adm profile virtual-host
Puoi leggere ulteriori informazioni sul profilo prestazionale qui:capitolo 4«.
Dopo aver installato il sistema operativo, passiamo alla parte successiva: configurazione delle interfacce di rete sugli host e di uno stack di switch Cisco 2960X.
Configurazione di uno stack di switch Cisco 2960X
Nel nostro progetto verranno utilizzati i seguenti numeri VLAN - ovvero domini broadcast isolati tra loro, in modo da separare le diverse tipologie di traffico:
VLAN 10 - Internet VLAN 17 – Gestione (iDRAC, storage, gestione degli switch) VLAN 32 – Rete di produzione VM VLAN 33 – rete di interconnessione (a contraenti esterni) VLAN 34 – Rete di prova VM VLAN 35 – Rete di sviluppatori VM VLAN 40 – rete di monitoraggio
Prima di iniziare il lavoro, diamo uno schema a livello L2, al quale dovremmo eventualmente arrivare:
Per l'interazione in rete degli host oVirt e delle macchine virtuali tra loro, nonché per la gestione del nostro sistema di storage, è necessario configurare uno stack di switch Cisco 2960X.
Gli host Dell dispongono di schede di rete a 4 porte integrate, pertanto è consigliabile organizzare la connessione al Cisco 2960X utilizzando una connessione di rete con tolleranza agli errori, utilizzando il raggruppamento delle porte di rete fisiche in un'interfaccia logica e il LACP (802.3 ad) protocollo:
le prime due porte sull'host sono configurate in modalità bonding e collegate allo switch 2960X: questa interfaccia logica verrà configurata Ponte dei lucchetti dotato di indirizzo per la gestione degli host, il monitoraggio, la comunicazione con gli altri host del cluster oVirt, verrà utilizzato anche per la migrazione Live delle macchine virtuali;
anche le seconde due porte dell'host sono configurate in modalità bonding e connesse al 2960X: su questa interfaccia logica tramite oVirt verranno successivamente creati dei bridge (nelle VLAN corrispondenti) a cui si collegheranno le macchine virtuali.
entrambe le porte di rete all'interno della stessa interfaccia logica saranno attive, ovvero il traffico su di essi può essere trasmesso simultaneamente, in modalità bilanciamento.
le impostazioni di rete sui nodi del cluster devono essere esattamente le stesse, ad eccezione degli indirizzi IP.
Configurazione di base dello stack di switch 2960X e i suoi porti
In precedenza, i nostri interruttori dovrebbero essere:
montato su rack;
collegato da due cavi speciali della lunghezza richiesta, ad esempio CAB-STK-E-1M;
collegato all'alimentazione;
collegati alla workstation dell'amministratore tramite la porta della console per la configurazione iniziale.
La guida necessaria a questo scopo è disponibile all'indirizzo pagina ufficiale produttore.
Dopo aver completato i passaggi precedenti, configuriamo gli interruttori.
Il significato di ciascun comando non dovrebbe essere decifrato nell'ambito di questo articolo; se necessario, tutte le informazioni possono essere trovate in modo indipendente.
Il nostro obiettivo è configurare rapidamente uno stack di switch e connettervi host e interfacce di gestione dello storage.
1) Ci colleghiamo all'interruttore principale, andiamo alla modalità privilegiata, quindi andiamo alla modalità di configurazione ed effettuiamo le impostazioni di base.
Configurazione dell'interruttore di base:
enable
configure terminal
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 transparent
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
Salvare la configurazione con il comando "wr mem" e riavviare lo switch stack con il comando "ricaricare» sull'interruttore generale 1.
2) Configuriamo le porte di rete dello switch in modalità di accesso (access) nella VLAN 17, per connettere le interfacce di controllo dei sistemi di storage e dei server iDRAC.
3) Dopo aver ricaricato lo stack verificare 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.ХХХХ
Mac persistency wait time: Indefinite
H/W Current
Switch# Role Mac Address Priority Version State
----------------------------------------------------------
*1 Master 0cd0.f8e4.ХХХХ 15 4 Ready
2 Member 0029.c251.ХХХХ 14 4 Ready
Stack Port Status Neighbors
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 gestire lo stack da remoto tramite SSH utilizzeremo l'IP 172.20.1.10 configurato su SVI (switch virtual Interface) VLAN17.
Sebbene sia preferibile utilizzare una porta dedicata sullo switch per scopi di gestione, si tratta di una questione di preferenze e opportunità personali.
Configurazione dell'accesso SSH allo stack di 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
Imposta una password per accedere alla modalità privilegiata:
enable secret *myenablepassword*
service password-encryption
Configura 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) Configurare le interfacce Etherchannel logiche e le porte fisiche connesse agli host. Per facilità di configurazione, tutte le VLAN disponibili saranno consentite su tutte le interfacce logiche, ma generalmente si consiglia di configurare solo ciò che è necessario:
Dopo aver completato le impostazioni sullo stack 2960X e host, riavviare la rete sugli host e verificare l'operabilità dell'interfaccia logica.
sull'ospite:
systemctl restart network
cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
...
802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
...
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
...
Slave Interface: em3
MII Status: up
Speed: 1000 Mbps
Duplex: full
sullo stack di switch 2960X:
2960X#show lacp internal
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1
LACP port Admin Oper Port Port
Port Flags State Priority Key Key Number State
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 - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use N - not in use, no aggregation
f - failed to allocate aggregator
M - not in use, minimum links not met
m - not in use, port not aggregated due to minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
A - formed by Auto LAG
Number of channel-groups in use: 11
Number of aggregators: 11
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
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 Ospite1 и Ospite2
Configurazione dell'interfaccia logica BOND1 per la gestione sugli host e le sue interfacce fisiche:
Riavviamo la rete sugli host e controlliamo la loro visibilità reciproca.
Ciò completa la configurazione dello stack di switch Cisco 2960X e, se tutto è stato eseguito correttamente, ora abbiamo la connettività di rete di tutti gli elementi dell'infrastruttura tra loro a livello L2.
Configurazione di archiviazione Dell MD3820f
Prima di iniziare a lavorare sulla configurazione del sistema di storage, questo deve essere già collegato allo stack di switch Cisco 2960X interfacce di gestione, nonché agli host Ospite1 и Ospite2 tramite FC.
Lo schema generale di come il sistema di storage dovrebbe essere collegato allo switch stack è stato fornito nel capitolo precedente.
Lo schema per connettere lo storage tramite FC agli host dovrebbe assomigliare a questo:
Durante la connessione è necessario annotare gli indirizzi WWPN per gli host HBA FC collegati alle porte FC sul sistema di storage: ciò sarà necessario per la successiva configurazione dell'associazione degli host alle LUN sul sistema di storage.
Scaricare e installare l'utilità di gestione dello storage Dell MD3820f sulla workstation dell'amministratore - Gestione archiviazione su disco modulare PowerVault (MDSM).
Ci colleghiamo a lei tramite i suoi indirizzi IP predefiniti e quindi configuriamo i nostri indirizzi da VLAN17, per gestire i controllori tramite TCP/IP:
Archiviazione 1:
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 impostato gli indirizzi, andiamo all'interfaccia di gestione della memoria e impostiamo una password, impostiamo l'ora, aggiorniamo il firmware per controller e dischi, se necessario, ecc.
Il modo in cui ciò avviene è descritto in guida amministrativa magazzinaggio.
Dopo aver effettuato le impostazioni di cui sopra, dobbiamo solo fare alcune cose:
Configura gli ID delle porte FC host - Identificatori della porta host.
Creare un gruppo host − gruppo ospitante e aggiungervi i nostri due host Dell.
Crea un gruppo di dischi e dei dischi virtuali (o LUN) al suo interno, che verranno presentati agli host.
Configura la presentazione dei dischi virtuali (o LUN) per gli host.
L'aggiunta di nuovi host e gli identificatori di associazione delle porte FC host ad essi avviene tramite il menu - Mappature host -> Define -> Ospiti…
Gli indirizzi WWPN degli host HBA FC si trovano, ad esempio, nell'iDRAC del server.
Di conseguenza, dovremmo ottenere qualcosa di simile a questa immagine:
L'aggiunta di un nuovo gruppo host e il collegamento degli host ad esso vengono eseguiti tramite il menu - Mappature host -> Define -> Gruppo ospitante...
Per gli host, seleziona il tipo di sistema operativo: Linux (DM-MP).
Dopo aver creato un gruppo host, attraverso la scheda Servizi di archiviazione e copia, crea un gruppo di dischi - Gruppo di dischi, con un tipo che dipende dai requisiti di tolleranza agli errori, ad esempio RAID10, e in esso dischi virtuali della dimensione richiesta:
E infine, la fase finale è la presentazione dei dischi virtuali (o LUN) per gli host.
Per fare ciò, attraverso il menu - Mappature host -> Mappatura lun -> Aggiungi ... leghiamo i dischi virtuali agli host assegnando loro dei numeri.
Tutto dovrebbe assomigliare a questo screenshot:
Qui è dove terminiamo con la configurazione dello storage e, se tutto è stato eseguito correttamente, gli host dovrebbero vedere i LUN presentati loro tramite i loro HBA FC.
Forziamo il sistema ad aggiornare le informazioni sulle unità connesse:
ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan
Vediamo quali dispositivi sono visibili sui nostri server:
Sugli host, puoi anche configurare ulteriormente multipercorso, e sebbene possa farlo da solo durante l'installazione di oVirt, è meglio verificare prima la correttezza di MP.
Visualizzazione di un riepilogo della configurazione multipath esistente:
mpathconf
multipath is enabled
find_multipaths is disabled
user_friendly_names is disabled
dm_multipath module is loaded
multipathd is running
Dopo aver aggiunto una nuova LUN al sistema di storage e averla presentata all'host, è necessario eseguire la scansione degli HBA collegati all'host su di essa.
systemctl reload multipathd
multipath -v2
Infine, controlliamo se tutti i LUN sono stati presentati nel sistema di storage per gli host e se esistono due percorsi per raggiungerli tutti.
Come puoi vedere, tutti e tre i dischi virtuali sul sistema di archiviazione sono visibili in due modi. Pertanto, tutto il lavoro preparatorio è stato completato, il che significa che puoi procedere alla parte principale: la configurazione del cluster oVirt, di cui parleremo nel prossimo articolo.