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 – , su cui si basa il noto, ma già prodotto commerciale — .
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:
- una build speciale basata su RHEL, nota come ;
- OS Oracle Linux, nell'estate del 2019 è stata annunciata Prima di installare il sistema operativo, si consiglia di:
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.servicesystemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManageryum install -y ntp
systemctl enable ntpd.service
systemctl start ntpd.servicecat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targetedcat /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536cat /etc/sysctl.conf
vm.max_map_count = 262144
vm.swappiness = 1Installiamo 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: ««.
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:

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 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
exit3) 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 14) 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_passwordImpostiamo la password per l'accesso alla modalità privilegiata:
enable secret *myenablepassword*
service password-encryptionImpostiamo 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 detail5) 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 activeConfigurazione 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-utilsConfigurazione 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 summaryConfiguriamo 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=publicConfigurazione 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=publicRiavviamo 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:

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.2Dopo 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 SCD.
Dopo aver eseguito le impostazioni sopra indicate, dovremo fare solo alcune azioni:
- Configurare gli identificatori delle porte FC host – Identificatori delle porte host.
- Creare un gruppo di host – Gruppo host e aggiungervi i nostri due host Dell.
- Creare un gruppo di dischi e al suo interno dischi virtuali (o LUN) che verranno presentati agli host.
- 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ì:

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:

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:

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]/scanVediamo 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 multipathdVerifica 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: sha256Stiamo esaminando le informazioni riassuntive sulla configurazione multipath esistente:
mpathconf
multipath è abilitato
find_multipaths è disabilitato
user_friendly_names è disabilitato
modulo dm_multipath è caricato
multipathd è in esecuzioneDopo aver aggiunto un nuovo LUN allo storage e presentato al host, è necessario effettuare una scansione degli HBA connessi al host.
systemctl reload multipathd
multipath -v2Infine, 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 runningCome 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
