Un grup de computere vechi Windows. Cluster de desktop. Verificarea conexiunilor de rețea și a rezoluțiilor de nume

Astăzi, procesele de afaceri ale multor companii sunt complet legate de informații
tehnologii. Odată cu dependența tot mai mare a organizațiilor de munca de calcul
rețelele, disponibilitatea serviciilor în orice moment și sub orice sarcină joacă un rol important
rol. Un computer poate oferi doar un nivel inițial de fiabilitate și
scalabilitate, nivelul maxim poate fi atins prin combinare
un singur sistem de două sau mai multe computere - un cluster.

De ce ai nevoie de un cluster?

Clusterele sunt utilizate în organizațiile care au nevoie de 24 de ore și
disponibilitatea neîntreruptă a serviciilor și în cazul în care orice întrerupere a muncii este nedorită și
inacceptabil. Sau în cazurile în care există o posibilă creștere a sarcinii, ceea ce poate
nu pot face față serverul principal, apoi suplimentar
gazde care îndeplinesc de obicei alte sarcini. Pentru server de mail, prelucrare
zeci și sute de mii de scrisori pe zi sau un server web care servește
magazine online, utilizarea clusterelor este foarte de dorit. Pentru utilizator
un astfel de sistem rămâne complet transparent - întregul grup de calculatoare va
arata ca un singur server. Folosind mai multe, chiar mai ieftine,
computerele vă permite să obțineți avantaje foarte semnificative față de un singur
și un server rapid. Aceasta este o distribuție uniformă a cererilor primite,
toleranță crescută la defecțiuni, deoarece atunci când un element se defectează, sarcina acestuia
preluat de alte sisteme, scalabilitate, întreținere convenabilă și înlocuire
noduri de cluster și multe altele. Eșecul unui nod automat
este detectată și încărcarea este redistribuită, toate acestea rămân pentru client
neobservat.

Caracteristici Win2k3

În general, unele clustere sunt concepute pentru a îmbunătăți disponibilitatea datelor,
altele pentru a asigura performanţe maxime. În contextul articolului noi
va fi de interes MPP (Procesare paralelă masivă)- clustere, în
în care aplicații similare rulează pe mai multe computere, furnizând
scalabilitatea serviciilor. Există mai multe tehnologii care permit
distribuiți sarcina între mai multe servere: redirecționarea traficului,
traducerea adresei, DNS Round Robin, utilizarea de special
programe
, lucrând la nivel de aplicație, cum ar fi acceleratoarele web. ÎN
Win2k3, spre deosebire de Win2k, suportul pentru clustering este inclus inițial și
sunt acceptate două tipuri de clustere, care diferă în aplicații și specificități
date:

1. clustere NLB (Network Load Balancing).- asigura
scalabilitate și disponibilitate ridicată a serviciilor și aplicațiilor bazate pe protocoale TCP
și UDP, combinând până la 32 de servere cu același set de date într-un singur cluster, activat
rulează aceleași aplicații. Fiecare cerere este executată ca
tranzacție separată. Obișnuit să lucreze cu seturi de schimbare rar
date, cum ar fi WWW, ISA, Terminal Services și alte servicii similare.

2. Clustere de servere– pot uni până la opt noduri, principalele lor
Sarcina este de a asigura disponibilitatea aplicației în caz de eșec. Constă din active și
noduri pasive. Nodul pasiv stă inactiv de cele mai multe ori, jucând un rol
rezerva nodului principal. Pentru aplicații individuale este posibilă configurarea
mai multe servere active, distribuind sarcina între ele. Ambele noduri
conectat la un singur depozit de date. Pentru operare este folosit un cluster de servere
cu volume mari de date care se schimbă frecvent (e-mail, fișiere și
servere SQL). Mai mult, un astfel de cluster nu poate consta din noduri care rulează sub
gestionarea diferitelor variante Win2k3: Enterprise sau Datacenter (Web și
Clusterele standard de server nu sunt acceptate).

ÎN Aplicația Microsoft Centru 2000(și numai) mai era un fel
cluster - CLB (echilibrarea sarcinii componentelor), oferind oportunitatea
distribuirea aplicațiilor COM+ pe mai multe servere.

clustere NLB

Când utilizați echilibrarea sarcinii, a
un adaptor de rețea virtuală cu propria sa adresă IP și MAC independentă de cea reală.
Această interfață virtuală reprezintă clusterul ca un singur nod, clienți
îl accesează tocmai prin adresa sa virtuală. Toate cererile sunt primite de toată lumea
nod cluster, dar sunt procesate de unul singur. Se rulează pe toate nodurile
Serviciul de echilibrare a sarcinii în rețea
,
care, folosind un algoritm special care nu necesită schimb de date între
noduri, decide dacă un anumit nod trebuie să proceseze o cerere sau
Nu. Schimb de noduri mesaje ale bătăilor inimii arătându-le
disponibilitate. Dacă gazda nu mai emite bătăile inimii sau apare un nou nod,
nodurile rămase încep proces de convergenţă, din nou
redistribuirea sarcinii. Echilibrarea poate fi implementată în unul din două moduri
moduri:

1) unicast– unicast atunci când în loc de un MAC fizic
Este utilizat MAC-ul adaptorului de cluster virtual. În acest caz, nodurile cluster nu sunt
pot face schimb de date între ele folosind adrese MAC numai prin IP
(sau un al doilea adaptor care nu este asociat cu clusterul);

Doar unul dintre aceste moduri ar trebui utilizat într-un singur cluster.

Poate fi personalizat mai multe clustere NLB pe un adaptor de rețea,
specificarea regulilor specifice pentru porturi. Astfel de grupuri sunt numite virtuale. Lor
aplicația face posibilă setarea pentru fiecare aplicație, nod sau adresă IP
anumite computere din clusterul principal sau blocați traficul pentru
unele aplicații fără a afecta traficul pentru alte programe care rulează
pe acest nod. Sau, invers, o componentă NLB poate fi legată de mai multe
adaptoare de rețea, care vă vor permite să configurați un număr de clustere independente pe fiecare
nodul. De asemenea, ar trebui să știți că configurați clustere de servere și NLB pe același nod
nu este posibil deoarece funcționează diferit cu dispozitivele de rețea.

Administratorul poate face un fel de configurație hibridă care are
avantajele ambelor metode, de exemplu, prin crearea unui cluster NLB și configurarea replicării
date între noduri. Dar replicarea nu se realizează în mod constant, ci din când în când,
deci informaţia privind noduri diferite va fi diferit pentru o vreme.

Să terminăm cu teoria aici, deși putem vorbi despre construirea clusterelor
pentru o lungă perioadă de timp, enumerarea posibilităților și modalităților de a construi, oferind diverse
recomandări și opțiuni pentru implementarea specifică. Să lăsăm toate aceste subtilități și nuanțe
Pentru auto-studiuși să trecem la partea practică.

Configurarea unui cluster NLB

Pentru organizarea clusterelor NLB nu este nevoie de software suplimentar, asta e tot
produs folosind instrumentele Win2k3 disponibile. Pentru a crea, întreține și monitoriza
Clusterele NLB folosesc componenta „Manager de echilibrare a sarcinii în rețea”
(Manager de echilibrare a sarcinii în rețea)
, care se află în filă
„Administrare” „Panou de control” (comandă NLBMgr). Din moment ce componenta
„Echilibrarea sarcinii rețelei” este setat ca standard driver de rețea Windows
NLB poate fi instalat și folosind „ Conexiuni la rețea", V
unde este disponibil articolul corespunzător. Dar este mai bine să-l folosești doar pe primul
opțiune, utilizarea simultană a managerului NLB și „Conexiuni de rețea”
poate duce la rezultate imprevizibile.

NLB Manager vă permite să configurați și să gestionați munca dintr-un singur loc simultan
mai multe clustere și noduri.

De asemenea, este posibil să instalați un cluster NLB pe un computer cu o singură rețea
adaptor asociat cu Network Load Balancing, dar acesta
În cazul în modul unicast, managerul NLB de pe acest computer nu poate fi
folosit pentru a controla alte noduri, iar nodurile în sine nu pot face schimb
informații unul cu celălalt.

Acum sunăm dispeceratul NLB. Nu avem încă grupuri, deci ce a apărut
fereastra nu conține nicio informație. Selectați „Nou” din meniul „Cluster” și
Începem să completăm câmpurile din fereastra „Parametri cluster”. În câmpul „Setări”.
Parametri IP Cluster" introduceți valoarea adresei IP virtuale a clusterului, masca
subrețea și numele complet. Valoarea adresei MAC virtuale este setată
automat. Chiar mai jos selectăm modul de funcționare a clusterului: unicast sau
multicast. Acordați atenție casetei de selectare „Permiteți controlul de la distanță” - în
toată lumea documente Microsoft recomandă insistent să nu-l folosiți în
evitarea problemelor de securitate. În schimb, ar trebui să utilizați
dispecer sau alte mijloace telecomanda, de exemplu trusa de instrumente
Windows Management (WMI). Dacă decizia de a-l folosi este luată, ar trebui
luați toate măsurile corespunzătoare pentru a proteja rețeaua, acoperind suplimentar
firewall porturi UDP 1717 și 2504.

După ce ați completat toate câmpurile, faceți clic pe „Următorul”. În fereastra „Adrese IP Cluster”, când
dacă este necesar, adăugați adrese IP virtuale suplimentare care vor
folosit de acest cluster. În următoarea fereastră „Reguli portului”, puteți
setați echilibrarea sarcinii pentru unul sau pentru un grup de porturi din toate sau
IP selectat prin protocoale UDP sau TCP, precum și blocarea accesului la cluster
anumite porturi (care firewall nu înlocuiește). Cluster implicit
procesează cererile pentru toate porturile (0–65365); Este mai bine să limitezi această listă,
adăugând doar ceea ce este cu adevărat necesar. Deși, dacă nu vrei să te încurci,
poți lăsa totul așa cum este. Apropo, în Win2k implicit tot traficul
direcționat către cluster, a procesat doar nodul care a avut cea mai mare prioritate,
nodurile rămase au fost conectate numai atunci când cel principal a eșuat.

De exemplu, pentru IIS va trebui să activați doar porturile 80 (http) și 443 (https).
Mai mult, puteți face astfel încât, de exemplu, conexiunile protejate să fie procesate
numai anumite servere pe care este instalat certificatul. Pentru a adăuga
regulă nouă, faceți clic pe „Adăugați”, în caseta de dialog care apare, introduceți
Adresa IP a gazdei sau dacă regula se aplică tuturor, lăsați caseta de selectare
"Toate". În câmpurile „De la” și „Către” ale intervalului de porturi setăm aceeași valoare -
80. Câmpul cheie este „Modul de filtrare” - aici
precizează cine va procesa această cerere. Există trei câmpuri disponibile care definesc modul
filtrare: „Noduri multiple”, „Nod unic” și „Dezactivați acest interval de porturi”.
Selectarea „Single Node” înseamnă că traficul este direcționat către IP-ul selectat (computer
sau cluster) cu numărul de port specificat va fi procesat de nodul activ,
având indicatorul cu cea mai mică prioritate (mai multe despre asta mai jos). Selectând „Dezactivați...”
înseamnă că un astfel de trafic va fi eliminat de toți membrii clusterului.

În modul de filtrare „Noduri multiple”, puteți specifica în plus opțiunea
determina afinitatea clientului de a direcționa traficul de la un anumit client către
același nod de cluster. Există trei opțiuni: „Niciuna”, „Una” sau „Clasă”
C". Alegerea primei înseamnă că orice solicitare va primi un răspuns arbitrar
nodul Dar nu ar trebui să-l utilizați dacă protocolul UDP este selectat în regulă sau
„Amândoi”. La selectarea punctelor rămase, asemănarea clienților va fi determinată de
IP specific sau interval de rețea de clasă C.

Deci, pentru regula noastră cu portul 80, să alegem opțiunea
"Noduri multiple - clasa C." Completam regula pentru 443 în același mod, dar folosiți
„Un nod”, astfel încât clientul să primească întotdeauna răspuns de către nodul principal cu cel mai mic
prioritate. Dacă dispecerul detectează o regulă incompatibilă, aceasta se va afișa
mesaj de avertizare, suplimentar în jurnal evenimente Windows va fi introdus
intrarea corespunzătoare.

Apoi, conectați-vă la nodul viitorului cluster introducând numele sau IP-ul real și
Determinăm interfața care va fi conectată la rețeaua cluster. În fereastra Opțiuni
nod" selectați prioritatea din listă, specificați setările de rețea, setați inițiala
starea nodului (în rulare, oprit, întrerupt). Prioritate în același timp
este un identificator unic de nod; cu cât numărul este mai mic, cu atât prioritatea este mai mare.
Nodul cu prioritate 1 este serverul master, care primește în primul rând
pachete și acționând ca un manager de rutare.

Caseta de selectare „Salvare stare după repornirea computerului” vă permite
eșecul sau repornirea acestui nod îl va pune în funcțiune automat. După ce faceți clic
Pe „Gata”, o intrare despre noul cluster va apărea în fereastra Manager, în care pentru moment
există un singur nod.
Adăugarea următorului nod este, de asemenea, ușoară. Selectați „Adăugați nod” din meniu sau
„Conectați-vă la existent”, în funcție de computer
se face conexiunea (este deja parte a clusterului sau nu). Apoi în fereastră
indicați numele sau adresa computerului, dacă drepturile de conectare sunt suficiente, una nouă
nodul va fi conectat la cluster. La început, pictograma de lângă numele lui va fi
diferit, dar când procesul de convergență este finalizat, acesta va fi același ca
primul computer.

Deoarece dispecerul afișează proprietățile nodurilor în momentul conexiunii sale, pt
Pentru a clarifica starea curentă, ar trebui să selectați un cluster și meniul contextual paragraf
„Actualizare”. Managerul se va conecta la cluster și va afișa datele actualizate.

După instalare cluster NLB nu uitați să schimbați înregistrarea DNS în
rezoluția numelui arăta acum IP-ul clusterului.

Modificarea încărcării serverului

În această configurație, toate serverele vor fi încărcate uniform (cu excepția
opțiunea „Un nod”). În unele cazuri, este necesară redistribuirea sarcinii,
plasarea cea mai mare parte a lucrării pe unul dintre noduri (de exemplu, cel mai puternic).
Pentru un cluster, regulile pot fi modificate după ce au fost create selectând
în meniul contextual care apare când faceți clic pe nume, selectați elementul „Proprietăți cluster”.
Toate setările despre care am vorbit mai sus sunt disponibile aici. Element de meniu
Node Properties oferă mai multe mai multe posibilitati. În „Opțiuni nod”
puteți modifica valoarea de prioritate pentru un anumit nod. În „Reguli
pentru porturi" nu puteți adăuga sau șterge o regulă; aceasta este disponibilă doar la nivel
cluster. Dar, alegând să edităm o anumită regulă, avem ocazia
regla unele setări. Da, când modul stabilit filtrare
„Noduri multiple” elementul „Estimarea încărcării” devine disponibil, permițând
redistribuiți sarcina către un anumit nod. Valoarea implicită este bifată
„Egal”, dar în „Estimarea încărcăturii” puteți specifica o valoare de încărcare diferită pentru
nod specific, ca procent din sarcina totala cluster. Dacă modul este activat
filtrarea „Nod unic”, în această fereastră apare un nou parametru „Prioritate”.
prelucrare." Folosind-o, puteți face trafic către un anumit port
va fi procesat mai întâi de un nod al clusterului, iar la altul de către alții
nod.

Înregistrare evenimente

După cum am menționat mai devreme, Network Load Balancing înregistrează toate
acțiunile cluster și modificările în jurnalul de evenimente Windows. Pentru a le vedea
selectați „Event Viewer – System”, NLB include mesaje WLBS (de la
Serviciul de echilibrare a încărcăturii Windows, așa cum a fost numit acest serviciu în NT). În plus, în
fereastra dispecerului afișează cele mai recente mesaje care conțin informații despre erori
și despre toate modificările de configurare. În mod implicit, această informație nu este
este salvat. Pentru ca acesta să fie scris într-un fișier, selectați „Opțiuni ->
Opțiuni de înregistrare”, bifați caseta de selectare „Activați înregistrarea” și specificați un nume
fişier. Un nou fișier va fi creat într-un subdirector al dvs contîn Documente
și Setări.

Configurarea IIS cu replicare

Un cluster este un cluster, dar fără un serviciu nu are sens. Prin urmare, să adăugăm IIS (Internet
Servicii de informare)
. Serverul IIS este inclus cu Win2k3, dar pentru a se rezuma la el
minimizează posibilitatea atacurilor asupra serverului; acesta nu este instalat implicit.

Există două moduri de a instala IIS: prin Panoul de control sau
asistent de gestionare a rolurilor a acestui server. Să ne uităm la primul. Să mergem la
„Panou de control - Adăugați sau eliminați programe”
Eliminați programe), selectați „Instalare Componentele Windows» (Adăugați/Eliminați Windows
Componente). Acum accesați elementul „Server de aplicații” și verificați „Servicii”
IIS” este tot ce este necesar. În mod implicit, directorul de lucru al serverului este \Inetpub\wwwroot.
Odată instalat, IIS poate scoate documente statice.

Am construit primul meu „cluster” de computere cu o singură placă aproape imediat după ce microcomputerul Orange Pi PC a început să câștige popularitate. Ar fi greu să-l numim „cluster”, pentru că din punct de vedere formal a fost doar o rețea locală de patru panouri care „s-au văzut” și ar putea accesa Internetul.

Dispozitivul a participat la proiectul SETI@home și chiar a reușit să numere ceva. Dar, din păcate, nimeni nu a venit să mă ia de pe această planetă.
Totuși, în tot acest timp, jocând cu fire, conectori și carduri microSD, am învățat multe. Deci, de exemplu, am aflat că nu ar trebui să aveți încredere în puterea declarată a sursei de alimentare, că ar fi bine să distribuiți sarcina în ceea ce privește consumul, iar secțiunea transversală a firului contează.

Și da, a trebuit să „exploatam în mod colectiv” sistemul de management al energiei, deoarece pornirea simultană a cinci dispozitive cu o singură placă poate necesita un curent de pornire de ordinul 8-10A (5 * 2)! Este mult, mai ales pentru sursele de alimentare realizate la subsolurile tarii, unde ne place sa comandam tot felul de... gadgeturi interesante.

Probabil că voi începe cu ea. Sarcina s-a rezumat la acțiuni relativ simple - după o anumită perioadă de timp, porniți secvențial 4 canale prin care sunt furnizați 5 volți. Cel mai simplu mod de a-ți implementa planul este Arduino (din care fiecare tocilar care se respectă are o abundență) și această placă miracolă de la Ali cu 4 relee.

Și știi, chiar a funcționat.

Cu toate acestea, clicurile „în stilul frigiderului” la pornire au cauzat un anumit disconfort. În primul rând, când a existat un clic, interferența a trecut prin sursa de alimentare și a fost necesar să se instaleze condensatori, iar în al doilea rând, întreaga structură a fost destul de mare.

Așa că într-o zi am înlocuit pur și simplu blocul de relee cu comutatoare cu tranzistori bazate pe IRL520.

Acest lucru a rezolvat problema cu interferența, dar deoarece mosfetul controlează „zero”, a trebuit să abandonez picioarele de alamă din rack pentru a nu conecta accidental masa plăcilor.

Și acum, soluția este replicată perfect și două clustere funcționează deja stabil, fără surprize. Exact așa cum a fost planificat.

Dar să revenim la replicare. De ce să cumpărați surse de alimentare pentru o sumă semnificativă de bani când există multe ATX-uri la prețuri accesibile literalmente sub picioarele dvs.?
Mai mult, au toate tensiunile (5,12,3.3), inceputurile de autodiagnosticare si posibilitatea controlului programului.

Ei bine, nu voi intra în prea multe detalii aici - un articol despre controlul ATX prin Arduino.

Ei bine, toate pastilele sunt mâncate și ștampilele sunt și ele lipite? Este timpul să punem totul împreună.

Va exista un nod principal care se va conecta la lumea exterioară prin WiFi și transferă „internet” către cluster. Acesta va fi alimentat de la tensiunea de așteptare ATX.

De fapt, TBNG este responsabil pentru distribuirea internetului.
Deci, dacă se dorește, nodurile clusterului pot fi ascunse în spatele TOR.

De asemenea, va exista o placă dificilă conectată prin i2c la acest nod principal. Acesta va putea porni/opri fiecare dintre cele 10 noduri de lucru. În plus, va putea controla trei ventilatoare de 12 V pentru a răci întregul sistem.

Scenariul de operare este următorul: când ATX este pornit la 220V, pornește nodul principal. Când sistemul este gata de funcționare, pornește secvenţial toate cele 10 noduri și ventilatoare.
Când procesul de comutare este finalizat, nodul principal va parcurge fiecare nod de lucru și va întreba cum ne simțim, care este temperatura. Dacă unul dintre suporturi se încălzește, creșteți fluxul de aer.
Ei bine, cu o comandă de oprire, fiecare dintre noduri va fi oprit cu atenție și dezactivat.

Am desenat singur diagrama tablei, așa că pare înfiorător. Cu toate acestea, trasarea și fabricarea s-a ocupat de o persoană bine pregătită, fapt pentru care îi mulțumim foarte mult.

Iată-l în proces de asamblare

Iată una dintre primele schițe ale locației componentelor clusterului. Realizat pe o bucată de hârtie în carouri și imortalizat prin Office Lens de telefon.

Întreaga structură este așezată pe o foaie de textolit achiziționată pentru ocazie.

Cam așa arată locația nodurilor din interior. Două rafturi cu cinci cărți fiecare.

Aici puteți vedea controlul Arduino. Este conectat la capul Orange Pi PC prin i2c printr-un convertor de nivel.

Ei bine, aici este finala (versiunea actuală).

Deci, tot ce aveți nevoie este să scrieți mai multe utilitare în Python care să conducă toată această muzică - porniți-o, porniți-o și reglați viteza ventilatorului.

Nu vă voi plictisi cu detalii tehnice - arată cam așa:

1
2
3
4
5
6
7
8
#!/usr/bin/env sh

echo „Se pornește placa ATX...”
/home/zno/i2creobus/i2catx_tool.py --start
ecou „Setarea valorilor inițiale ale ventilatorului...”
/home/zno/i2creobus/i2creobus_tool.py --fan 0 --set 60
/home/zno/i2creobus/i2creobus_tool.py --fan 1 --set 60
/home/zno/i2creobus/i2creobus_tool.py --fan 2 --set 60

Deoarece avem deja până la 10 noduri, folosim Ansible, care ne va ajuta, de exemplu, la oprirea corectă a tuturor nodurilor. Sau rulați un monitor de temperatură pe fiecare.

1
2
3
4
5
6
7
8
---

- gazde: muncitori
roluri:
- webmon_stop
- webmon_remove
- webmon_install
- webmon_start

Sunt adesea acuzat pe un ton disprețuitor, spunând că aceasta este doar o rețea locală cu o singură placă (cum am menționat deja la început). În general, nu-mi pasă de părerile altora, dar poate vom adăuga un pic de farmec și vom organiza un grup de docker.
Sarcina este foarte simplă și poate fi finalizată în mai puțin de 10 minute. Apoi lansăm o instanță de Portainer pe nodul principal și voila!

Acum poți într-adevăr scară sarcini. Deci, în în acest moment Clusterul rulează minerul de criptomonede Verium Reserve. Și destul de succes. Sper că cel mai apropiat nativ va recupera energia electrică consumată;) Ei bine, sau reduceți numărul de noduri implicate și mine altceva de genul Turtle Coin.

Dacă doriți o sarcină utilă, puteți arunca Hadoop în cluster sau puteți aranja echilibrarea serverelor web. Există o mulțime de imagini gata făcute pe Internet și există suficient material de instruire. Ei bine, dacă imaginea (imaginea docker) lipsește, puteți oricând să vă construiți propria.

Ce m-a învățat asta? În general, „stiva” de tehnologie este foarte largă. Judecă singur - Docker, Ansible, Python, upgrade Arduino (Doamne iartă-mă, nu se va spune noaptea) și shell, desigur. Și, de asemenea, KiCad și lucrul cu un antreprenor :).

Ce se poate face mai bine? Mult. În ceea ce privește software-ul, ar fi bine să rescrieți utilitățile de control în Go. Apropo - fă-l mai steampunk - KDPV la început ridică perfect ștacheta. Deci este ceva de lucrat.

Roluri îndeplinite de:

  • Head node - Orange Pi PC cu usb wifi.
  • Noduri de lucru - Orange Pi PC2 x 10.
  • Rețea - 100 Mbit TP-link@16ports.
  • Brain - Clona Arduino bazată pe convertor de nivel Atmega8 +.
  • Inima este un controler de putere ATX cu o sursă de alimentare.
  • Software (suflet) - Docker, Ansible, Python 3, puțin shell și puțină lene.
  • Timpul petrecut este neprețuit.

În timpul experimentelor, câteva plăci Orange Pi PC2 au fost deteriorate din cauza unei surse de alimentare amestecate (ard foarte frumos), un alt PC2 a pierdut Ethernetul (aceasta este o poveste separată în care nu înțeleg fizica procesului) .

Aceasta pare să fie toată povestea „de sus în jos”. Dacă cineva îl consideră interesant, pune întrebări în comentarii. Și votați pentru întrebări acolo (vot pozitiv - fiecare comentariu are un buton pentru asta). Cele mai multe intrebari interesante vor fi acoperite în noi note.
Vă mulțumesc că ați citit până la capăt.

În primul rând, decideți de ce componente și resurse veți avea nevoie. Veți avea nevoie de un nod principal, cel puțin o duzină de noduri de calcul identice, un comutator Ethernet, o unitate de distribuție a energiei și un rack. Determinați cablarea și capacitatea de răcire, precum și cantitatea de spațiu de care veți avea nevoie. De asemenea, decideți ce adrese IP doriți să utilizați pentru noduri, ce software veți instala și ce tehnologii veți avea nevoie pentru a crea putere de calcul în paralel (mai multe despre asta mai jos).

  • Deși hardware-ul este scump, toate programele prezentate în acest articol sunt distribuite gratuit, iar majoritatea sunt open source.
  • Dacă doriți să aflați cât de rapid ar putea fi teoretic supercalculatorul dvs., utilizați acest instrument:

Montați nodurile. Va trebui să asamblați noduri de rețea sau să cumpărați servere pre-asamblate.

  • Alegeți cadre de server care maximizează spațiul, eficiența energetică și eficiența răcirii.
  • Sau poți „recicla” vreo duzină de servere uzate, câteva învechite - și chiar dacă greutatea lor depășește greutatea totală a componentelor, dar vei economisi o sumă decentă. Toate procesoarele, adaptoarele de rețea și plăcile de bază trebuie să fie aceleași pentru ca computerele să funcționeze bine împreună. Desigur, nu uitați de RAM și hard disk-uri pentru fiecare nod, precum și cel puțin unul unitate optică pentru nodul principal.
  • Instalați serverele în rack.Începeți de jos, astfel încât suportul să nu fie supraîncărcat în partea de sus. Veți avea nevoie de ajutorul unui prieten - serverele asamblate pot fi foarte grele, iar plasarea lor în cuștile care le țin în rack este destul de dificilă.

    Instalați un comutator Ethernet lângă rack. Merită să configurați comutatorul imediat: setați dimensiunea cadrelor jumbo la 9000 de octeți, setați adresa IP statică pe care ați ales-o la pasul 1 și dezactivați protocoalele inutile, cum ar fi SMTP.

    Instalați o unitate de distribuție a energiei (PDU sau unitate de distribuție a energiei).În funcție de sarcina maximă pe care o pot suporta nodurile din rețeaua dvs., este posibil să aveți nevoie de 220 de volți pentru computerul dvs. de înaltă performanță.

  • Când totul este instalat, treceți la configurare. Linux este, de fapt, sistemul de bază pentru clustere de înaltă performanță (HPC) - nu numai că este ideal ca mediu de calcul științific, dar nici nu trebuie să plătiți pentru a instala sistemul pe sute sau chiar mii de noduri. Imaginează-ți cât ar costa Instalare Windows la toate nodurile!

    • Începeți prin a instala cel mai recent Versiunea BIOS Pentru placa de bazași software de la producător, care trebuie să fie același pentru toate serverele.
    • Setați preferințele dvs distribuție Linux la toate nodurile, iar la nodul principal - un kit de distribuție cu interfata grafica. Sisteme populare: CentOS, OpenSuse, Scientific Linux, RedHat și SLES.
    • Autorul recomandă utilizarea Rocks Cluster Distribution. Pe lângă instalarea tuturor software-ului și instrumentelor necesare pentru un cluster, Rocks oferă o metodă excelentă pentru „migrarea” rapidă a mai multor copii ale unui sistem pe servere similare folosind PXE boot și procedura „Kick Start” Red Hat.
  • Instalați interfața de transmitere a mesajelor, managerul de resurse și alte biblioteci necesare. Dacă nu ați instalat Rocks în pasul anterior, va trebui să instalați manual necesarul software pentru a configura logica de calcul paralel.

    • Pentru a începe veți avea nevoie sistem portabil pentru lucrul cu bash, de exemplu, Torque Resource Manager, care vă permite să împărțiți și să distribuiți sarcini pe mai multe mașini.
    • Adăugați Maui Cluster Scheduler la Torque pentru a finaliza instalarea.
    • Apoi, trebuie să instalați o interfață de transmitere a mesajelor, care este necesară pentru a vă asigura că procesele individuale din fiecare nod individual utilizează datele comune. OpenMP este cea mai simplă opțiune.
    • Nu uitați de bibliotecile și compilatoarele de matematică cu mai multe fire care vă vor „asambla” programele pentru calcul distribuit. Am menționat că ar trebui să joci Rocks?
  • Conectați computerele la o rețea. Nodul principal trimite sarcini pentru calcul la nodurile slave, care la rândul lor trebuie să returneze rezultatul și, de asemenea, să își trimită mesaje unul altuia. Și cu cât toate acestea se întâmplă mai repede, cu atât mai bine.

    • Folosește privat Rețea Ethernet pentru a conecta toate nodurile într-un cluster.
    • Nodul master poate acționa și ca server NFS, PXE, DHCP, TFTP și NTP atunci când este conectat la Ethernet.
    • Trebuie să separați această rețea de cele publice pentru a vă asigura că pachetele nu se suprapun cu altele din LAN.
  • Testați clusterul. Ultimul lucru pe care ar trebui să-l faceți înainte de a oferi utilizatorilor acces la puterea computerului este să testați performanța. Benchmarkul HPL (High Performance Lynpack) este o opțiune populară pentru măsurarea vitezei de calcul într-un cluster. Trebuie să compilați software-ul de la sursă până la cel mai înalt grad de optimizare pe care îl permite compilatorul dvs. pentru arhitectura pe care o alegeți.

    • Desigur, ar trebui să compilați cu toți setări posibile optimizări care sunt disponibile pentru platforma pe care o alegeți. De exemplu, atunci când utilizați un procesor AMD, compilați la Open64 și la nivelul de optimizare -0.
    • Comparați rezultatele cu TOP500.org pentru a vă pune clusterul cu cele mai rapide 500 de supercomputere din lume!
  • Apăsați centrul

    Crearea unui cluster bazat pe Windows 2000/2003. Pas cu pas

    Un cluster este un grup de două sau mai multe servere care lucrează împreună pentru a asigura funcționarea fără probleme a unui set de aplicații sau servicii și sunt percepute de client ca o singură unitate. Nodurile de cluster sunt conectate între ele folosind hardware de rețea, resurse partajate și software de server.

    Microsoft Windows 2000/2003 acceptă două tehnologii de grupare: clustere de echilibrare a sarcinii de rețea și clustere de servere.

    În primul caz (clustere echilibrate de încărcare), serviciul Network Load Balancing face ca serviciile și aplicațiile să fie extrem de fiabile și scalabile, combinând până la 32 de servere într-un singur cluster. În acest caz, cererile de la clienți sunt distribuite între nodurile clusterului într-o manieră transparentă. Dacă un nod eșuează, clusterul își schimbă automat configurația și comută clientul la oricare dintre nodurile disponibile. Acest mod de configurare a clusterului este numit și mod activ-activ, în care o aplicație rulează pe mai multe noduri.

    Un cluster de servere își distribuie sarcina între serverele din cluster, fiecare server având propria sa sarcină. Dacă un nod din cluster eșuează, aplicațiile și serviciile configurate să ruleze în cluster sunt repornite în mod transparent pe oricare dintre nodurile gratuite. Clusterele de servere folosesc discuri partajate pentru a comunica în cadrul clusterului și pentru a oferi acces transparent la aplicațiile și serviciile cluster. Au nevoie de echipamente speciale, dar această tehnologie oferă foarte nivel înalt fiabilitate, deoarece clusterul în sine nu are niciun punct unic de defecțiune. Acest mod de configurare a clusterului este numit și mod activ-pasiv. O aplicație dintr-un cluster rulează pe un singur nod cu date partajate situate pe stocare externă.

    Abordarea cluster pentru organizarea unei rețele interne oferă următoarele avantaje:

    Disponibilitate ridicată Adică, dacă un serviciu sau o aplicație eșuează pe un nod de cluster care este configurat să funcționeze împreună într-un cluster, software-ul cluster permite aplicației să repornească pe un alt nod. Utilizatorii vor experimenta o scurtă întârziere atunci când efectuează o operațiune sau nu vor observa deloc o defecțiune a serverului.

    Scalabilitate Pentru aplicațiile care rulează într-un cluster, adăugarea de servere într-un cluster înseamnă creșterea capacităților: toleranță la erori, distribuție a încărcăturii etc. Capacitate de gestionare Administratorii, folosind o singură interfață, pot gestiona aplicațiile și serviciile, pot seta un răspuns la eșec într-un nod de cluster și distribuiți sarcina între noduri cluster și îndepărtați sarcina de la noduri pentru a efectua lucrări de întreținere. În acest articol voi încerca să-mi adun experiența în crearea sistemelor cluster pe Bazat pe Windows si da un mic ghid pas cu pas

    pentru a crea un cluster de servere cu două noduri cu stocare de date partajată.

    Servicii terminale pentru managementul serverului de la distanță. Nu este necesar, dar dacă aveți servicii terminale, este convenabil să gestionați serverele de la locul de muncă.

    Comentariu: Pentru a crea un cluster cu două noduri nu este deloc necesar să aveți două servere absolut identice. După o eroare la primul server, veți avea timp să analizați și să restabiliți funcționarea nodului principal. Al doilea nod va funcționa pentru fiabilitatea sistemului în ansamblu. Cu toate acestea, acest lucru nu înseamnă că al doilea server va fi inactiv. Ambele noduri de cluster își pot desfășura treaba cu calm și pot rezolva diferite probleme. Dar putem configura o anumită resursă critică să funcționeze într-un cluster, crescând toleranța la erori (a acestei resurse).

    Cerințe pentru setările de rețea

    • Un nume NetBIOS unic pentru cluster.
    • Cinci unice adrese IP statice. Două pentru adaptoare de rețea per rețea de cluster, două pentru adaptoare de rețea per rețea partajată și unul pentru cluster.
    • Cont de domeniu pentru serviciul Cluster.
    • Toate nodurile de cluster trebuie să fie fie servere membre în domeniu, fie controlere de domeniu.
    • Fiecare server trebuie să aibă două adaptoare de rețea. Unul pentru conectarea la o rețea comună (Public Network), al doilea pentru schimbul de date între nodurile clusterului (Private Network).

    Comentariu: Conform recomandărilor Microsoft, serverul dumneavoastră trebuie să aibă două adaptoare de rețea, unul pentru rețeaua generală, al doilea pentru schimbul de date în cadrul clusterului. Este posibil să construiți un cluster pe o singură interfață - probabil da, dar nu l-am încercat.

    Instalarea clusterului

    Când proiectați un cluster, trebuie să înțelegeți că folosind unul rețea fizică atât pentru schimbul de cluster cât şi pentru retea locala, creșteți rata de eșec a întregului sistem. Prin urmare, este foarte de dorit ca schimbul de date cluster să folosească o subrețea, alocată ca element fizic separat al rețelei. Pentru o rețea locală, ar trebui să utilizați o subrețea diferită. Astfel, creșteți fiabilitatea întregului sistem în ansamblu.

    În cazul construirii unui cluster cu două noduri, se folosește un comutator rețea comună. Două servere de cluster pot fi conectate direct unul la altul folosind un cablu încrucișat, așa cum se arată în figură.

    Instalarea unui cluster cu două noduri poate fi împărțită în 5 pași

    • Instalarea și configurarea nodurilor într-un cluster.
    • Instalarea și configurarea unei resurse partajate.
    • Verificarea configurației discului.
    • Configurarea primului nod de cluster.
    • Configurarea celui de-al doilea nod din cluster.

    Acest ghid pas cu pas vă va ajuta să evitați greșelile în timpul instalării și să economisiți mult timp. Deci să începem.

    Instalarea și configurarea nodurilor

    Vom simplifica puțin sarcina. Deoarece toate nodurile de cluster trebuie să fie fie membri de domeniu, fie controlori de domeniu, vom face din primul nod de cluster deținătorul rădăcină al directorului AD (Active Directory) și serviciul DNS va rula pe el. Al doilea nod al clusterului va fi un controler de domeniu complet.

    Instalare sistem de operare Sunt gata să o omit, crezând că nu ar trebui să ai probleme cu asta. Și aici este configurația dispozitive de rețea as vrea sa explic.

    Setări de rețea

    Înainte de a începe instalarea clusterului și a Active Directory, trebuie să finalizați setările de rețea. Aș dori să împart toate setările de rețea în 4 etape. Pentru a rezolva numele în rețea, este recomandabil să aveți un server DNS cu înregistrări existente despre serverele cluster.

    Fiecare server are două plăci de rețea. O placă de rețea va servi pentru schimbul de date între nodurile clusterului, a doua va funcționa pentru clienții din rețeaua noastră. În consecință, vom numi prima Conexiune Private Cluster, a doua o vom numi Conexiune Public Cluster.

    Setările adaptorului de rețea pentru unul și celălalt server sunt identice. În consecință, voi arăta cum să configurați adaptorul de rețea și voi da un semn cu setările de rețea toate cele 4 adaptoare de rețea de pe ambele noduri de cluster. Pentru a configura adaptorul de rețea, trebuie să parcurgeți următorii pași:

    • Locațiile din rețeaua mea → Proprietăți
    • Conexiune la cluster privat → Proprietăți → Configurare → Avansat

      Acest punct necesită unele clarificări. Cert este că, conform recomandărilor puternice ale Microsoft, toate adaptoarele de rețea ale nodurilor de cluster trebuie să fie setate la viteza optimă a adaptorului, așa cum se arată în figura următoare.

    • Protocol Internet (TCP/IP) → Proprietăți → Utilizați următorul IP: 192.168.30.1

      (Pentru al doilea nod, utilizați adresa 192.168.30.2). Introduceți masca de subrețea 255.255.255.252. Utilizați 192.168.100.1 ca adresă de server DNS pentru ambele noduri.

    • În plus, în fila Advanced → WINS, selectați Disabled NetBIOS over TCP/IP. Pentru a configura adaptoare de rețea pentru rețeaua publică, omiteți acest element.
    • Faceți același lucru cu placa de retea pentru Conexiune la Cluster Public de rețea locală. Utilizați adresele date în tabel. Singura diferență în configurația celor două plăci de rețea este că Public Cluster Connection nu necesită dezactivarea modului WINS - NetBIOS prin TCP/IP.

    Pentru a configura toate adaptoarele de rețea pe nodurile cluster, utilizați următoarea etichetă:

    Nod Numele rețelei adresa IP MASCA Server DNS
    1 Conexiune la cluster public 192.168.100.1 255.255.255.0 192.168.100.1
    1 Conexiune la cluster privat 192.168.30.1 255.255.255.252 192.168.100.1
    2 Conexiune la cluster public 192.168.100.2 255.255.255.0 192.168.100.1
    3 Conexiune la cluster privat 192.168.30.2 255.255.255.252 192.168.100.1

    Instalarea Active Directory

    Întrucât articolul meu nu își propune să vorbească despre instalați Active Director, atunci voi omite acest articol. Sunt tot felul de recomandări, s-au scris destul de multe cărți despre asta. Alege nume de domeniu, ca mycompany.ru, instalați Active Directory pe primul nod, adăugați al doilea nod la domeniu ca controler de domeniu. Când ați terminat, verificați configurațiile serverului și Active Directory.

    Instalarea Contului de utilizator Cluster

    • Start → Programe → Instrumente administrative → Utilizatori și computere Active Directory
    • Adăugați un utilizator nou, de exemplu ClusterService.
    • Bifați casetele pentru: Utilizatorul nu poate schimba parola și Parola nu expiră niciodată.
    • De asemenea, adăugați acest utilizator în grupul de administratori și acordați-i drepturi de conectare ca serviciu (drepturile sunt atribuite în local Politica de securitateŞi Politica de securitate pentru controlerul de domeniu).

    Configurarea unei matrice de date externe

    Pentru a configura o matrice de date externă într-un cluster, trebuie să vă amintiți că înainte de a instala Serviciul Cluster pe noduri, trebuie mai întâi să configurați discurile pe matricea externă, abia apoi să instalați serviciul cluster mai întâi pe primul nod și abia apoi pe al doilea. Dacă ordinea de instalare nu este corectă, veți eșua și nu vă veți atinge obiectivul. Va fi posibil să-l reparăm - probabil că da. Când apare o eroare, veți avea timp să vă ajustați setările. Dar Microsoft este un lucru atât de misterios încât nu știi pe ce greșeli vei călca. Este mai ușor să ai în fața ochilor tăi instrucțiuni pas cu pasși nu uitați să apăsați butoanele. Pașii pentru configurarea unei matrice externe arată astfel:

    1. Ambele servere trebuie să fie oprite, matricea externă trebuie să fie pornită, conectată la ambele servere.
    2. Pornim primul server. Obținem acces la matricea de discuri.
    3. Verificăm că exteriorul matrice de discuri a fost creat ca Basic. Dacă nu este cazul, convertiți discul utilizând opțiunea Revenire la discul de bază.
    4. Creăm pe unitate externă prin Computer Management → Disk Management o mică secțiune. Conform recomandărilor Microsoft, ar trebui să fie de cel puțin 50 MB. Recomand să creezi o partiție de 500 MB. sau un pic mai mult. Acest lucru este suficient pentru a găzdui date grupate. Partiția trebuie să fie formatată în NTFS.
    5. Pe ambele noduri de cluster, această partiție va fi numită cu aceeași literă, de exemplu, Q. În consecință, atunci când creați o partiție pe primul server, selectați elementul Atribuiți următoarea literă de unitate - Q.
    6. Puteți marca restul discului după cum doriți. Desigur, este foarte recomandabil să se folosească sistem de fișiere NTFS. De exemplu, la configurarea serviciilor DNS și WINS, bazele de date de servicii principale vor fi mutate pe o unitate partajată (nu volumul sistemului Q, iar al doilea a fost creat de tine). Și din motive de securitate, vă va fi mai convenabil să utilizați volume NTFS.
    7. Închideți Gestionarea discurilor și verificați accesul la partiția nou creată. De exemplu, puteți crea pe el fișier text test.txt, scrieți și ștergeți. Dacă totul a mers bine, atunci am terminat cu configurarea matricei externe pe primul nod.
    8. Acum oprim primul server. Matricea externă trebuie să fie activată. Pornim al doilea server și verificăm accesul la partiția creată. De asemenea, vom verifica dacă litera atribuită primei partiții este identică cu cea pe care am selectat-o, adică Q.

    Aceasta completează configurarea matricei externe.

    Instalarea software-ului Cluster Service

    Configurarea primului nod de cluster

    Înainte de a instala software-ul Cluster Service, toate nodurile de cluster trebuie să fie oprite și toate matricele externe trebuie să fie pornite. Să trecem la configurația primului nod. Matricea externă este pornită, primul server este pornit. Întregul proces de instalare are loc utilizând Expertul de configurare Cluster Service:


    Configurarea celui de-al doilea nod de cluster

    Pentru a instala și configura al doilea nod de cluster, primul nod trebuie să fie pornit, toate unități de rețea au fost incluse. Procedura de configurare a celui de-al doilea nod este foarte asemănătoare cu cea descrisă mai sus. Cu toate acestea, există câteva modificări minore. Pentru a face acest lucru, utilizați următoarele instrucțiuni:

    1. În caseta de dialog Creare sau alăturare unui cluster, selectați Al doilea sau următorul nod din clusterși faceți clic pe următorul.
    2. Introduceți numele clusterului pe care l-am setat mai devreme (în exemplu este MyCluster) și faceți clic pe următorul.
    3. După conectarea celui de-al doilea nod la cluster, Cluster Service Configuration Wizard va prelua automat toate setările de la nodul principal. Pentru a porni Serviciul Cluster, utilizați numele pe care l-am creat mai devreme.
    4. Introduceți parola contului și faceți clic pe următorul.
    5. În următoarea casetă de dialog, faceți clic pe Terminare pentru a finaliza instalarea.
    6. Serviciul de cluster va fi lansat pe al doilea nod.
    7. Închideți fereastra Adăugare/Eliminare programe.

    Pentru a instala noduri de cluster suplimentare, utilizați aceleași instrucțiuni.

    Postscript, mulțumesc

    Pentru a evita confundarea cu toate etapele instalării unui cluster, voi furniza un mic tabel care reflectă toate etapele principale.

    Pas Nodul 1 Nodul 2 Matrice externă