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

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

Installazione del set di software di base

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.

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 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:

Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3

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.

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 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:

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 Ospite1 и Ospite2

Verifichiamo la presenza dei moduli necessari al funzionamento del bonding nell'impianto, installiamo il modulo per la gestione dei ponti:

modinfo bonding
modinfo 8021q
yum install bridge-utils

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

cat /etc/sysconfig/network-scripts/ifcfg-bond1
#DESCRIPTION - management
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
#DESCRIPTION - management
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

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

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:

cat /etc/sysconfig/network-scripts/ifcfg-bond0
#DESCRIPTION - management
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
#DESCRIPTION - management
DEVICE=em0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no 
NM_CONTROLLED=no 

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

Dopo aver completato le impostazioni sullo stack 2960X e host, riavviare la rete sugli host e verificare l'operabilità dell'interfaccia logica.

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

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

Configura un'interfaccia di rete di gestione su ciascun host in VLAN 17e associarlo 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.

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:

Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3

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:

  1. Configura gli ID delle porte FC host - Identificatori della porta host.
  2. Creare un gruppo host − gruppo ospitante e aggiungervi i nostri due host Dell.
  3. Crea un gruppo di dischi e dei dischi virtuali (o LUN) al suo interno, che verranno presentati agli host.
  4. 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:

Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3

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:

Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3

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:

Creazione di un'infrastruttura IT tollerante ai guasti. Parte 1: preparazione alla distribuzione di un cluster oVirt 4.3

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:

cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 02 Id: 00 Lun: 00
  Vendor: DELL     Model: PERC H330 Mini   Rev: 4.29
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 00
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 01
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 04
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 11
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 31
  Vendor: DELL     Model: Universal Xport  Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 00
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 01
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 04
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 11
  Vendor: DELL     Model: MD38xxf          Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 31
  Vendor: DELL     Model: Universal Xport  Rev: 0825
  Type:   Direct-Access                    ANSI  SCSI revision: 05

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

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.

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]"
 }

Imposta il servizio MP sull'avvio automatico e avvialo:

systemctl enable multipathd && systemctl restart multipathd

Verifica delle informazioni sui moduli caricati per il funzionamento 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 <[email protected]>
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

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.

Controllo 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 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.

Fonte: habr.com

Aggiungi un commento