ProHoster > BLOG > administrare > Crearea unei infrastructuri IT tolerante la erori. Partea 1 - pregătirea pentru implementarea unui cluster oVirt 4.3
Crearea unei infrastructuri IT tolerante la erori. Partea 1 - pregătirea pentru implementarea unui cluster oVirt 4.3
Cititorii sunt invitați să se familiarizeze cu principiile construirii unei infrastructuri tolerante la erori pentru o întreprindere mică în cadrul unui singur centru de date, care vor fi discutate în detaliu într-o serie scurtă de articole.
prodrom
În Centru de date (Centrul de procesare a datelor) poate fi înțeles ca:
propriul dvs. rack în propria „camera de server” din sediul întreprinderii, care îndeplinește cerințele minime pentru furnizarea de energie și răcirea echipamentelor și, de asemenea, are acces la internet prin doi furnizori independenți;
un rack închiriat cu echipament propriu, situat într-un adevărat centru de date - așa-numitul. Colocare, care respectă standardul Tier III sau IV și care garantează alimentare fiabilă cu energie, răcire și acces la Internet tolerant la erori;
echipament închiriat complet într-un centru de date de nivel III sau IV.
Ce opțiune de cazare să alegeți este individuală în fiecare caz și, de obicei, depinde de mai mulți factori principali:
De ce are nevoie o întreprindere de propria infrastructură IT?
ce anume își dorește întreprinderea de la infrastructura IT (fiabilitate, scalabilitate, manevrabilitate etc.);
volumul investițiilor inițiale în infrastructura IT, precum și ce tip de costuri pentru aceasta - capital (ceea ce înseamnă că vă cumpărați propriul echipament) sau operațional (echipamentul este de obicei închiriat);
orizontul de planificare al întreprinderii în sine.
Se pot scrie multe despre factorii care influențează decizia unei întreprinderi de a-și crea și utiliza infrastructura IT, dar scopul nostru este să arătăm în practică cum să creăm tocmai această infrastructură, astfel încât să fie tolerantă la erori și să poată economisi bani. costul achiziționării de software comercial sau evitați-le cu totul.
După cum arată practica pe termen lung, nu merită să economisiți pe hardware, deoarece zgârcitul plătește de două ori și chiar mult mai mult. Dar, din nou, hardware-ul bun este doar o recomandare și, în cele din urmă, ce anume să cumpărați și pentru cât depinde de capacitățile întreprinderii și de „lăcomia” managementului acesteia. Mai mult, cuvântul „lăcomie” ar trebui înțeles în sensul bun al cuvântului, deoarece este mai bine să investești în hardware în stadiul inițial, pentru a nu avea probleme serioase cu suportul și scalarea ulterioară a acestuia, deoarece planificarea inițial incorectă și economiile excesive pot duce la costuri mai mari decât la demararea proiectului.
Deci, datele inițiale pentru proiect:
există o întreprindere care a decis să-și creeze propriul portal web și să-și aducă activitățile pe Internet;
compania a decis să închirieze un rack pentru a-și plasa echipamentul într-un centru de date bun certificat conform standardului Tier III;
compania a decis să nu economisească mult pe hardware și, prin urmare, a achiziționat următoarele echipamente cu garanții extinse și asistență:
Lista de echipamente
două servere fizice Dell PowerEdge R640, după cum urmează:
două procesoare Intel Xeon Gold 5120
512 Gb RAM
două discuri SAS în RAID1, pentru instalarea sistemului de operare
placă de rețea 4G cu 1 porturi încorporată
două plăci de rețea 2G cu 10 porturi
un FC HBA 2G cu 16 porturi.
Sistem de stocare cu 2 controlere Dell MD3820f, conectat prin FC 16G direct la gazdele Dell;
două comutatoare de nivel al doilea - Cisco WS-C2960RX-48FPS-L stivuite;
două comutatoare de nivel al treilea - Cisco WS-C3850-24T-E, stivuite;
Rack, UPS, PDU, servere de consolă sunt furnizate de centrul de date.
După cum vedem, echipamentul existent are perspective bune pentru scalarea orizontală și verticală, dacă întreprinderea este capabilă să concureze cu alte companii de profil similar pe Internet și începe să obțină profituri, care pot fi investite în extinderea resurselor pentru concurență ulterioară. și creșterea profitului.
Ce echipamente putem adăuga dacă întreprinderea decide să mărească performanța clusterului nostru de calcul:
avem o rezervă mare în numărul de porturi pe switch-urile 2960X, ceea ce înseamnă că putem adăuga mai multe servere hardware;
achiziționați două switch-uri FC suplimentare pentru a conecta sisteme de stocare și servere suplimentare la acestea;
serverele existente pot fi actualizate - adăugați memorie, înlocuiți procesoarele cu altele mai puternice, conectați-vă la o rețea 10G folosind adaptoarele de rețea existente;
Puteți adăuga rafturi de discuri suplimentare la sistemul de stocare cu tipul de disc necesar - SAS, SATA sau SSD, în funcție de încărcarea planificată;
după adăugarea comutatoarelor FC, puteți achiziționa un alt sistem de stocare pentru a adăuga și mai multă capacitate de disc, iar dacă achiziționați o opțiune specială de replicare la distanță, puteți configura replicarea datelor între sistemele de stocare atât în cadrul aceluiași centru de date, cât și între centre de date ( dar acest lucru este deja dincolo de domeniul de aplicare al articolului);
Există, de asemenea, comutatoare de nivel al treilea - Cisco 3850, care pot fi folosite ca nucleu de rețea tolerant la erori pentru rutarea de mare viteză între rețelele interne. Acest lucru va fi de mare ajutor în viitor, pe măsură ce infrastructura internă crește. 3850 are, de asemenea, porturi 10G, care pot fi folosite ulterior atunci când actualizați echipamentul de rețea la viteze 10G.
Deoarece acum nu există nicăieri fără virtualizare, bineînțeles că vom fi în tendință, mai ales că aceasta este o modalitate excelentă de a reduce costul achiziționării de servere scumpe pentru elementele individuale de infrastructură (servere web, baze de date etc.), care nu sunt întotdeauna optime sunt folosite în caz de încărcare redusă, și exact asta se va întâmpla la începutul lansării proiectului.
În plus, virtualizarea are multe alte avantaje care ne pot fi foarte utile: toleranța la defecțiuni VM împotriva eșecului serverului hardware, migrarea live între nodurile cluster hardware pentru întreținerea lor, distribuția manuală sau automată a încărcării între nodurile clusterului etc.
Pentru hardware-ul achiziționat de întreprindere, implementarea unui cluster VMware vSphere cu înaltă disponibilitate sugerează de la sine, dar din moment ce orice software de la VMware este cunoscut pentru etichetele sale de preț „cal”, vom folosi software absolut gratuit pentru gestionarea virtualizării - oVirt, pe baza căruia se creează un produs cunoscut, dar deja comercial - rhev.
Software oVirt este necesar să combinați toate elementele de infrastructură într-un singur întreg pentru a putea lucra în mod convenabil cu mașini virtuale foarte disponibile - acestea sunt baze de date, aplicații web, servere proxy, echilibrare, servere pentru colectarea jurnalelor și analizelor etc., adică ceea ce înseamnă portalul web al întreprinderii noastre este format din.
Pentru a rezuma această introducere, putem aștepta cu nerăbdare următoarele articole, care vor arăta în practică exact cum să implementăm întreaga infrastructură hardware și software a unei întreprinderi:
Lista articolelor
Partea 1. Se pregătește pentru implementarea unui cluster oVirt 4.3.
Partea 2. Instalarea și configurarea clusterului oVirt 4.3.
Partea 3. Configurarea unui cluster VyOS, organizarea de rutare externă tolerantă la erori.
Partea 4. Configurarea unei stive Cisco 3850, organizarea de rutare intranet.
Partea 1. Pregătirea pentru implementarea unui cluster oVirt 4.3
Configurare de bază a gazdei
Instalarea și configurarea sistemului de operare este cel mai simplu pas. Există o mulțime de articole despre cum să instalați și să configurați corect sistemul de operare, așa că nu are rost să încercați să oferiți ceva exclusiv în acest sens.
Așadar, avem două gazde Dell PowerEdge R640 pe care trebuie să instalăm sistemul de operare și să realizăm setări preliminare pentru a le folosi ca hipervizoare pentru rularea mașinilor virtuale în clusterul oVirt 4.3.
Deoarece intenționăm să folosim software-ul gratuit necomercial oVirt, sistemul de operare a fost ales pentru implementarea gazdelor CentOS 7.7, deși alte sisteme de operare pot fi instalate pe gazde pentru oVirt:
o construcție specială bazată pe RHEL, așa-numita. oVirt Node;
OS Oracle Linux, vara 2019 s-a anunțat despre sprijinirea lucrării oVirt asupra acestuia.
Înainte de a instala sistemul de operare se recomandă:
configurați interfața de rețea iDRAC pe ambele gazde;
actualizați firmware-ul BIOS și iDRAC la cele mai recente versiuni;
configurați Profilul de sistem al serverului, de preferință în modul Performanță;
configurați RAID de pe discuri locale (se recomandă RAID1) pentru a instala sistemul de operare pe server.
Apoi instalăm sistemul de operare pe discul creat anterior prin iDRAC - procesul de instalare este normal, nu există momente speciale în el. Accesul la consola serverului pentru a începe instalarea sistemului de operare poate fi obținut și prin iDRAC, deși nimic nu vă împiedică să conectați un monitor, o tastatură și un mouse direct la server și să instalați sistemul de operare de pe o unitate flash.
După instalarea sistemului de operare, efectuăm setările inițiale ale acestuia:
systemctl enable network.service
systemctl start network.service
systemctl status network.service
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl status NetworkManager
Pentru a configura inițial sistemul de operare, trebuie să configurați orice interfață de rețea de pe server, astfel încât să puteți accesa Internetul pentru a actualiza sistemul de operare și a instala pachetele software necesare. Acest lucru se poate face atât în timpul procesului de instalare a sistemului de operare, cât și după acesta.
După instalarea sistemului de operare, trecem la următoarea parte - configurarea interfețelor de rețea pe gazde și a unui teanc de switch-uri Cisco 2960X.
Configurarea unei stive de comutatoare Cisco 2960X
Proiectul nostru va folosi următoarele numere de VLAN-uri - sau domenii de difuzare, izolate unele de altele, pentru a separa diferite tipuri de trafic:
VLAN 10 - Internet VLAN 17 – Management (iDRAC, sistem de stocare, management al comutatoarelor) VLAN 32 – Rețea de producție VM VLAN 33 – rețea de interconectare (către contractori externi) VLAN 34 – Rețea de testare VM VLAN 35 – Rețea de dezvoltatori VM VLAN 40 – Monitorizare rețea
Înainte de a începe lucrul, iată o diagramă la nivelul L2 la care ar trebui să ajungem în cele din urmă:
Pentru interacțiunea în rețea a gazdelor oVirt și a mașinilor virtuale între ele, precum și pentru gestionarea sistemului nostru de stocare, este necesar să configurați o stivă de switch-uri Cisco 2960X.
Gazdele Dell au plăci de rețea încorporate cu 4 porturi, prin urmare, este recomandabil să-și organizeze conexiunea la Cisco 2960X utilizând o conexiune de rețea tolerantă la erori, folosind o grupare de porturi fizice de rețea într-o interfață logică și protocolul LACP ( 802.3ad):
primele două porturi de pe gazdă sunt configurate în modul de legătură și conectate la comutatorul 2960X - această interfață logică va fi configurată pod cu o adresă pentru managementul gazdei, monitorizarea, comunicarea cu alte gazde din clusterul oVirt, va fi folosită și pentru migrarea Live a mașinilor virtuale;
celelalte două porturi de pe gazdă sunt, de asemenea, configurate în modul de legătură și conectate la 2960X - pe această interfață logică folosind oVirt, vor fi create în viitor punți (în VLAN-urile corespunzătoare) la care vor fi conectate mașinile virtuale.
ambele porturi de rețea, în cadrul aceleiași interfețe logice, vor fi active, adică. traficul peste acestea poate fi transmis simultan, în regim de echilibrare.
setările de rețea pe nodurile cluster trebuie să fie absolut ACEȘI, cu excepția adreselor IP.
Configurare de bază a stivei de comutatoare 2960X și porturile sale
Comutatoarele noastre trebuie să fie mai întâi:
montat pe rack;
conectat prin două cabluri speciale de lungimea necesară, de exemplu, CAB-STK-E-1M;
conectat la sursa de alimentare;
conectat la stația de lucru a administratorului prin portul de consolă pentru configurația lor inițială.
Îndrumările necesare pentru aceasta sunt disponibile la pagina oficială producător.
După parcurgerea pașilor de mai sus, configuram comutatoarele.
Ce înseamnă fiecare comandă nu este destinat să fie descifrat în cadrul acestui articol; dacă este necesar, toate informațiile pot fi găsite independent.
Scopul nostru este de a configura stiva de comutatoare cât mai repede posibil și de a conecta gazdele și interfețele de gestionare a stocării la acesta.
1) Conectați-vă la comutatorul principal, treceți în modul privilegiat, apoi treceți în modul de configurare și efectuați setările de bază.
Configurație de bază a comutatorului:
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
Salvăm configurația cu comanda „wr meme" și reporniți stiva de comutatoare cu comanda "reincarca» pe comutatorul principal 1.
2) Configuram porturile de retea ale switch-ului in modul de acces in VLAN 17, pentru a conecta interfetele de management ale sistemelor de stocare si serverelor iDRAC.
3) După reîncărcarea stivei, verificați dacă funcționează corect:
Verificarea funcționalității stivei:
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) Configurarea accesului SSH la stiva 2960X
Pentru a gestiona de la distanță stiva prin SSH, vom folosi IP 172.20.1.10 configurat pentru SVI (interfață virtuală de comutare) VLAN17.
Deși este recomandabil să utilizați un port dedicat dedicat pe switch în scopuri de gestionare, aceasta este o chestiune de preferințe și capacități personale.
Configurarea accesului SSH la o stivă de comutatoare:
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
Configurați o parolă pentru a intra în modul privilegiat:
enable secret *myenablepassword*
service password-encryption
Configurarea 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) Configurați interfețele Etherchannel logice și porturile fizice conectate la gazde. Pentru ușurința configurării, toate VLAN-urile disponibile vor fi activate pe toate interfețele logice, dar se recomandă, în general, să configurați doar ceea ce este necesar:
După finalizarea setărilor din stivă 2960H și gazde, repornim rețeaua pe gazde și verificăm funcționalitatea interfeței logice.
pe gazda:
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
pe stiva de comutatoare 2960H:
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)
Configurarea inițială a interfețelor de rețea pentru gestionarea resurselor cluster pe gazde Gazdă1 и Gazdă2
Configurarea interfeței logice BOND1 pentru management și a interfețelor sale fizice pe gazde:
Repornim rețeaua pe gazde și verificăm vizibilitatea acestora unul față de celălalt.
Acest lucru completează configurarea stivei de switch-uri Cisco 2960X și, dacă totul a fost făcut corect, atunci avem acum conectivitate la rețea a tuturor elementelor de infrastructură între ele la nivelul L2.
Configurarea sistemului de stocare Dell MD3820f
Înainte de a începe lucrul la configurarea sistemului de stocare, acesta trebuie să fie deja conectat la o stivă de switch-uri Cisco 2960H interfețe de control, precum și către gazde Gazdă1 и Gazdă2 prin intermediul FC.
Diagrama generală a modului în care sistemele de stocare ar trebui să fie conectate la o stivă de comutatoare a fost prezentată în capitolul anterior.
Diagrama pentru conectarea sistemului de stocare prin FC la gazde ar trebui să arate astfel:
În timpul conexiunii, trebuie să notați adresele WWPN pentru gazdele FC HBA conectate la porturile FC de pe sistemul de stocare - acest lucru va fi necesar pentru configurarea ulterioară a legării gazdelor la LUN-urile de pe sistemul de stocare.
Pe stația de lucru a administratorului, descărcați și instalați utilitarul pentru gestionarea sistemului de stocare Dell MD3820f – Manager de stocare pe disc modular PowerVault (MDSM).
Ne conectăm la el prin adresele sale IP implicite și apoi ne configurăm adresele de la VLAN17, pentru a gestiona controlere prin TCP/IP:
Storage1:
ControllerA IP - 172.20.1.13, MASK - 255.255.255.0, Gateway - 172.20.1.2
ControllerB IP - 172.20.1.14, MASK - 255.255.255.0, Gateway - 172.20.1.2
După configurarea adreselor, accesați interfața de gestionare a stocării și setați o parolă, setați ora, actualizați firmware-ul pentru controlere și discuri, dacă este necesar etc.
Cum se face acest lucru este descris în ghid de administrare Sistem de stocare
După finalizarea setărilor de mai sus, va trebui să facem doar câțiva pași:
Configurați ID-urile portului FC gazdă – Identificatori de port gazdă.
Creați un grup gazdă - Grup gazdă și adăugați cele două gazde Dell ale noastre.
Creați un grup de discuri și discuri virtuale (sau LUN) în el care vor fi prezentate gazdelor.
Configurați prezentarea discurilor virtuale (sau LUN) pentru gazde.
Adăugarea de noi gazde și legarea identificatorilor portului FC gazdă la ele se face prin meniu - Mapări gazdă -> Defini -> Gazdele…
Adresele WWPN ale gazdelor FC HBA pot fi găsite, de exemplu, în serverele iDRAC.
Ca rezultat, ar trebui să obținem ceva de genul acesta:
Adăugarea unui nou grup de gazde și legarea gazdelor la acesta se face prin meniu - Mapări gazdă -> Defini -> Grup gazdă...
Pentru gazde, selectați tipul de sistem de operare - Linux (DM-MP).
După crearea unui grup de gazdă, prin fila Servicii de stocare și copiere, creați un grup de discuri - Grup de discuri, cu un tip în funcție de cerințele pentru toleranța la erori, de exemplu, RAID10, și în acesta discuri virtuale de dimensiunea necesară:
Și, în sfârșit, etapa finală este prezentarea de discuri virtuale (sau LUN-uri) către gazde.
Pentru a face acest lucru, prin meniu - Mapări gazdă -> Cartografierea lunii -> Adăuga… Asociem discuri virtuale cu gazde, atribuindu-le numere.
Totul ar trebui să arate ca această captură de ecran:
Aici terminăm de configurat sistemul de stocare și, dacă totul a fost făcut corect, atunci gazdele ar trebui să vadă LUN-urile prezentate prin intermediul FC HBA.
Să forțăm sistemul să actualizeze informații despre discurile conectate:
ls -la /sys/class/scsi_host/
echo "- - -" > /sys/class/scsi_host/host[0-9]/scan
Să vedem ce dispozitive sunt vizibile pe serverele noastre:
Pe gazde, puteți configura suplimentar cale multiplă, și deși atunci când instalați oVirt poate face acest lucru singur, este mai bine să verificați în prealabil funcționarea corectă a MP.
După cum puteți vedea, toate cele trei discuri virtuale de pe sistemul de stocare sunt vizibile pe două căi. Astfel, toate lucrările pregătitoare au fost finalizate, ceea ce înseamnă că puteți trece la partea principală - configurarea clusterului oVirt, care va fi discutată în articolul următor.