Instalarea cluster-ul Web 1C Bitrix

Pentru a fi sincer sarcina inițială a fost de a descrie modul în care se răcească proiecte la scară mică, în decizia finală. Dar, până la sfârșitul testului, totul a căzut în loc.

Bitrix web cluster „de ce tot atât de rău“

Primul lucru pe care am vrut să rețineți atunci când scrieți articolul 1C-Bitrix cluster-ul Web. Partea 1 este faptul că este normal să colecteze cluster și rula pe ea site-ul a fost de numai 5 încercări. Pentru a face acest lucru, așa cum ar trebui să sape mai adânc într-un fișierele de configurare a cluster-ul web, pentru a studia în detaliu setările și, în general, modul în care le colectează serverul.

Presupunem că cluster-ul în sine este deja instalat.

Să începem cu faptul că fișierele de pe nodul 2 timp de 5 minute nu va apărea ca o consecință a sincronizatoarele configurate în mod necorespunzător.

Ce se întâmplă în realitate?

Tu sincronizați cluster, și va funcționa! Tu chiar multiplicatori să plasați fișierul pe orice server și le schimba în minte va funcționa, dar!

În cazul în care prima încercare de a ridica site-ul Bitrix pe nodul principal, veți obține un efect neașteptat, cluster încetează să mai funcționeze.

O examinare mai detaliată va înțelege motivele pentru o astfel de acțiune. Synchronizer fișiere csync2 atunci când porniți prima dată, toate cele adăugate în mod valid și funcționează foarte decent. Pentru coroana o dată în 5 minute de fiecare fișier rulând configurația corespunzătoare, mai multe detalii pot fi văzute în cron.d

De asemenea, se pare destul de decente

La rândul său, demonul responsabil pentru site-urile de sincronizare sunt acum ocupate de un singur lucru, adună o listă mare de fișiere la o viteză de 10-20 de fișiere pe minut! În baza sa de date. După care începe fiecare fișier de pe o sesiune separată pentru a flip la un nou server (cu viteza de copierea fișierelor este de fapt mai mică decât FTP de mai multe ori), având în vedere ritmul lent compilarea bazei de date în sine, și cu voracitatea foarte mare la timpul IO atunci când apare obișnuit site-ul stoc Bitrix pe al doilea nod despre 21 de ore! Tot acest timp csync2 va lucra în mod activ sistemul prosazhivaya I-O la 98%. Fără a face practic nimic!

Ca urmare, sincronizarea normală prima dată, trebuie să dezactivați sincronizarea coroanei, du-te la Manchester pe csync2 și de a face prima sincronizare pe mâini, va dura sute sau chiar mii de ori mai rapid decât doar de așteptare. Aceasta este singura cale!

Dar nu chiar atât de rău, Bitrix este luată în considerare, și face acest lucru, la prima sincronizare a cluster-ului, lăsând întreaga arhivă a unui site la un nou nod, ei bine, într-adevăr, o face cu un ext_ dosar și prima dată nu doar nimic acolo. Așa că funcția în acest moment în mașină Bitrix acolo, dar ea a colectat atât de prost conceput că momentul real de sincronizare va trebui să facă mai întâi cu mâinile.

Și astfel ne-a sincroniza fișierele și toate cu o minte la locul de muncă, a lansat încă SEK continuă să funcționeze număr mic de fișiere în sine sincronizate este destul de acceptabil, în numerar așa cum putem vedea din config fișiere nu sunt sincronizate deloc.

Și apoi motivul este clar, cu viteza de copiere a fișierelor mici, vă puteți uita în general, despre ea ca un vis rău despre.

Dar distracția nu se termină aici.

Vom adăuga un al doilea sit spune test.kz și apoi am început chestii foarte amuzant.

Pentru a începe sincronizarea se ocupă primul site pe care l verifica dacă totul este de lucru, si da, am început sarcina coroanei era de lucru, care este într-adevăr căzut de pe primul site!

Ne urcăm în / etc / ansiblu pentru debriefing

Am găsit doar un astfel de lucru minunat> = domeniul dvs. la punct.

Și am două domenii test1.ru test1.kz

Prin urmare verifica ghici caută în configurare

Instalarea cluster-ul Web 1C Bitrix

În consecință, configs noastre roase ca această variabilă este utilizat în mai multe alte locuri, cum ar fi atât fișierul de configurare, iar în coroana și așa mai departe. D., și așa mai departe. N. În general, s-au găsit mai târziu aceste erori în mai mult de 57 de locații, de fapt peste cluster din baza de date la balansier. Ridicati două domenii sraznitsey identic este imposibilă fără un cluster de tăiere complet! Prin modul în care acest lucru se aplică numai pentru plasarea celor două site-uri, acestea vor fi, de asemenea, o mică problemă la crearea unei baze de date. Acestea vor fi, de asemenea, identice, și desfășurarea celui de al doilea site-ului, este corect să spunem că baza de date este deja ocupată.

Când am cerut sprijinul client al imposibilității de a utiliza domeniu cu o diferență la nivelul 1 răspuns plin de har a fost „vă mulțumesc pentru contactarea cu funcția de cluster va fi multilocație eliminată în curând“

Deci, pentru oglinzi regionale Bitrix în viitor, vă va recomanda rack server individuale!

Apoi, eu vorbesc la infinit, o mulțime de lucruri care sunt evidente cu configurare parsare completă și modalități de a crea un cluster pare destul de simplu, dar este un eșec din punct de vedere al managementului.

Instalarea cluster-ul Web 1C Bitrix

Iată o listă rapidă a problemelor care au apărut la mine la crearea cluster-ului:

  1. Ansamblu standard a clusterului - sincronizare 879 Mb a avut 21 de ore. cu absența oricărui statut în panoul sau pe site-ul web.
  2. După dosarul de sincronizare bitrix poskoku a fost șters la data creării a fost o versiune nouă a folderului de pe nodul secundar (acesta este creat doar dbcon.php clusterului Bitrix. Da, ceea ce sozdaetsya eroare în prefixul bazei de date în cazul în care aceleași site-uri la nivel de domeniu 2.
  3. Ștergerea acestui director ca index.php în nodul secundar pentru a sincroniza condus la același rezultat csync2 tocmai a ucis aceste fișiere și directoare pe gazda de master. Așa cum am spus înainte de prima sincronizare trebuie efectuată mânere, metoda standard este pur și simplu inaplicabilă.
  4. Config pentru toate ubilis domenii identice 2 nivele.
  5. Performanța site-ului a scăzut la aproximativ 200 de ori acest lucru se datorează configurației master slave pentru conținut static, cuplat cu dinamica.
  6. Un grup nu poate lucra cu cache-ul a scris deja mai sus.
  7. Un grup nu poate lucra cu aproape CDN pentru același motiv.
  8. Un grup nu poate lucra cu compozit.
  9. Un grup nu poate lucra cu cache-ul html.
  10. Un grup de cutii imposibil de configurat, nu este pur și simplu nici un meniu pentru aceasta, configurația sa de bază este cea mai proastă opțiune a tuturor.
  11. Cluster fără cunoștințe profunde de Linux ridica pur și simplu imposibil.
  12. Cluster funcționează numai pe mașină virtuală 1C-Bitrix, orice alt mod de a instala este atât de dificil, care este de 10 ori mai ușor de a pune împreună cluster fără utilizarea 1C-Bitrix. în principiu, acest lucru este valabil chiar și cu utilizarea unei mașini virtuale.
  13. Foarte produs brut ca un întreg, nu numai că încă greu documentate.
  14. Cerere de prezentare a Bitrix 14 privind includerea „cluster“ cu 2 servere în toate soluțiile de bază complete și minciuni clare, clusterul ca un singur a fost „mai în vârstă“, editat așa că a rămas.
  15. Echilibrist nu sunt reguli clare cu privire la modul de a comuta nodurile de master slave.

Dar, mai întâi lucrurile primele.

Să presupunem că ne-am câștigat și fișiere și baze de date au sincronizat funcționează, dar de ce este totul teribil de lent? Performanță în 1C-Bitrix a scăzut la 0,2 la 170!

apoi motivul pentru configurația implicită a clusterului.

Tot ce ai citit despre master-slave de master-master și așa mai departe. D. Multiplicatorii arunca la gunoi, 1C-Bitrix configurație comutator NU CAPABIL. Acest lucru este pur și simplu o minciună, nu există nici o singură linie de cod responsabil pentru acest lucru. Deoarece nu există nici o singură linie de cod indică tipul de configurația actuală, exact ca documentația pe această temă. Chiar și în formarea Bitrix mașină virtuală, nu veți găsi locația bazei bazei cluster-ului asamblat.

Și se pare că acest lucru!

Instalarea cluster-ul Web 1C Bitrix

Ce un geniu inteligent și cu siguranță rău a oferit pentru a colecta clusterul așa că nu știu, dar din punct de vedere al managementului este în mod clar un eșec!

Iată cum sa schimbat de performanță:

Eu sincer nu cred că media php programator care sarcina va colecta de cluster 1C-Bitrix. înțelege Calitativ Nginx fin de echilibrare Linux admin știe csync2 ansiblu și bine versat în configurația-apache Nginx.

Cel mai probabil, el tocmai a fost ridicat cu clusterului durerea se va vedea performanța acestui eveniment și va arunca totul la ea! Din moment ce nici o documentație, la toate și nu există nici în cazul în care să sape nu este foarte clar.

Potrivit mine, acest lucru este un eșec total al ideii!

Pentru cei care nu înțeleg falsității configurația serverului, voi descrie mai detaliat.

Și astfel, să spunem că avem distanta dintre serverele 40ms, deoarece folosim diferite centre de date.

Prin urmare, cererea vom merge mai întâi la server 1, apoi 2, apoi 1, în plus, interogarilor ultima, și fiecare dintre ele se va adăuga 40ms. Motivul la prima pornire a clusterului nu arata atat de bine cunoscut pentru mine, dar nu doresc să creadă în ceva care este pur și simplu în persoana balansier Nginx care a scris Dezamăgire script-ul pentru a adăuga o linie de cod.

De fapt, adăugarea unei a doua mașină este ultimele anunțuri, și, prin urmare, toate interogările implicite (deoarece nu a fost dat nici o prioritate) va merge pentru el.

Doar schimba scaunele auto din

și repornirea Nginx,

putem obține schema inițială a serverului, cu adăugarea unui seif nu, dar trebuie să înțelegem că al doilea serverul va avea în continuare o directivă în gazdă dbcon.php: server1.ru, și, prin urmare, o scădere în baza de date se va încă nu este viabilă.

Prin urmare, pentru a finaliza site-ul de clonare, trebuie să remap baze de date ca localhost pe ambele mașini.

Da pentru a finaliza regularitatea, aș adăuga o regulă pentru a comuta între servere, deoarece nu este de fapt, cu vârful în jos un server plin de master timp de 30 de secunde.

În această configurație, cred că aș vinde clusterului.

Da funcție de al doilea server arata ca atunci când această setare, pur și simplu dispozitiv duplicarea. Deși căderea aparentă a primul! Și tot ce pot să-l fac cu căderea completă a primului (cu excepția echilibrist) se obține dinamică și statică din al doilea nod, dar de fapt este nevoie de mici afaceri!

La urma urmei, modelul de afaceri al „cluster de cutie“ și înseamnă întreprinderile mici și mijlocii hh.ru și fără ... se ridica singur cluster. Prin urmare, segmentul mic de ea doar în două cazuri.

  1. Site-ul timpului maxim disponibil, are un backup incremental, chiar și cu remaparea bază de date sclav comandantului după restaurarea nodul principal.
  2. Se specifică mai detaliat cauza de a primi date de la nodurile slave, dar este în admin nicăieri, în conformitate cu acest „server din cutie“ ar trebui să le dacă nu dau configura aceste setări la pornire, atunci cel puțin nu să se scufunde de performanță.

În continuare, aș descrie mult mai multe argumente pro și contra de punere în aplicare a clusterului Bitrix, dar nu va supraîncărca cititorul la întrebări mai detaliate încerc să răspund în comete la post.

Singurul lucru pe care aș dori să adaug este modul în care într-adevăr am vrut să văd această decizie:

  1. În mod firesc, ciorchine Bitrix ruleaza exclusiv cu masina Bitrix, acest curs promo și este norocos.
  2. Debug toate bug-uri și marea lor, deoarece nu există nici o modalitate de a selecta o configurație pentru a crea un master singur + slave echilibrist și să ia în nor Bitrix. În acest caz, clusterul ar fi vina cu adevărat tolerant, iar în caz de defecțiune a mașinii complet nodurile de bază ar putea continua să lucreze. Și un avantaj foarte important ar fi imposibil să părăsească Bitrix în continuare ca echilibrist cineva trebuie să dețină.
  3. De asemenea, a decis să aibă o problemă cu testul Bitrix site-ului pe o licență de cluster, verificați existente, astfel încât ușor de spart pur și simplu nu se poate aduce in articol, fiind Bitrix Gold Partner.
  4. Cel mai important, clusterul trebuie să fie de ridicare utilizatorilor obișnuiți, depana o schemă unică, cu o acțiune clară este mult mai ușor decât să se agațe de orice.
  5. Nimeni nu interzice forța utilizatorul să dea aceleași noduri de master slave, domenii 3 nivele de site-ul principal, și așa mai departe. E. O secvență clar de acțiuni, deși nu se potrivi cu toată lumea, dar da „soluție la cheie“, mai degrabă decât ceea ce avem acum. Să nu se va potrivi toate, dar va funcționa!

termeni TOTAL de administrator Linux:

Bitrix Virtual Machine a crescut puternic în performanța la 1 site-ul, a făcut o mulțime de util, a adăugat în cele din urmă capacitatea de a elimina un nod (în versiunea anterioară, chiar și acest lucru nu a fost). În general, există o tendință bună, dar atunci când vine vorba de umiditate, produsul în ceea ce privește găzduirea mai multor site-uri este în prezent de lucru, nu de numărare ideea mizerabilă de a pune site-ul în folderul implicit. Pentru care aș dori doar să taie mâinile.

În final, am fost în stare să rezolve problema cu performanța, corect echilibrarea sarcinii, și compila un sistem elastic, dar a petrecut mult mai mult timp decât ar putea permite să aloce, de fapt, pentru funcționarea stabilă a sistemului a trebuit să-și petreacă 3 zile pline de muncă.

Soluție Cluster este atât de umedă și atât de încet încât utilizarea cutiei este pur și simplu imposibil.

Asamblarea cluster-ul web Bitrix, chiar și într-un bun administrator ar dura mai mult timp decât a colecta arme.

Up cu php perspectiva unui programator:

Totul este simplu de cluster atinge Bitrix programator doar 1 cusatura revenind la miezul răspuns verificarea adevărat pentru cluster modulului. Dacă vorbim în termeni de aplicare, acesta este de obicei programator nu se poate aplica soluția „cluster-ul Web 1C-Bitrix.“

TOTAL în ceea ce privește gestionarea

Este simplu, solutia de clusterului 1C-Bitrix nu există!

Este posibil să intre în controverse în continuare, dar rămâne faptul că există o soluție pentru a „vinde“ este imposibil!

P.S mulțumiri speciale colegilor de la serverul .ru-VPS, care mi-a oferit voluntar vps servere pentru testele inițiale, dar în cele din urmă am fost deja de lucru pe serverele didicate, dar în orice caz, m-au ajutat bine, salvând o mulțime de timp.