stocare nor privat, cu propriile lor mâini - canalie - s

Servicii de stocare în cloud astăzi sunt la apogeul popularității sale. Într-adevăr, pentru a putea accesa datele din orice locație în care există o conexiune la internet - este foarte convenabil. Cu toate acestea, tot mai mulți oameni încep să se gândească la securitatea datelor în nor publice. combustibil adăugat la programul PRISM, pe care le-a spus Ed Garda Albă și focul.

stocare nor privat, cu propriile lor mâini - canalie - s
OwnCloud - un produs open-source, care este proiectat pentru a recupera datele aflate sub controlul proprietarilor respectivi. El este o alternativă la astfel de monștri, cum ar fi Dropbox, icloud, SkyDrive și altele de care ilk. OwnCloud are o interfață web ușor de utilizat, built-in clienții WebDAV și desktop pentru sincronizarea fișierelor.

Din păcate, OwnCloud înseamnă instalarea doar un singur server. Ca atare, în opinia mea, norul privat este mai mult ca un mic nor de furtună. În acest post voi vorbi despre modul în care puteți utiliza pentru instalare OwnCloud trei servere, obținându-se astfel o copie de rezervă de încredere la nivel de server.

în loc de introducere

OwnCloud umneet lucra cu SQLite bază de date integrată și MySQL. Apoi va merge numai pe lucrul cu baza de date MySQL. Configurarea unui server web și instalarea OwnCloud în această înregistrare nu este, de asemenea, luate în considerare.

Sarcina de a organiza un fișier de stocare cloud-based OwnCloud redundanță la nivel de server într-un mod redus la două subactivități:

  1. Personalizați sincronizarea fișierelor
  2. Configurarea MySQL replicare a bazei de date

Personalizați sincronizarea fișierelor

Există două soluții posibile în acest domeniu. Primul - un sistem de fișiere distribuit. În acest caz, datele vor fi stocate pe fiecare server cu un anumit nivel de redundanță, elementul «RAID» nu va fi roti in interiorul server, iar serverul împreună. În prezent, ea a dezvoltat o mulțime de software pentru punerea în aplicare a unui depozit distribuit, printre care: luciu, cef, glusterfs, openAFS și lista poate continua. Din păcate, aceste decizii destul de solicitante și au performanțe mai puțin decât cu ajutorul unui sistem de fișiere tradițional. Prin urmare, să le trateze, nu vom. Acest articol va lua în considerare a doua modalitate - sincronizarea de fișiere.

În acest fel, de asemenea, există o mulțime de a alege. De exemplu, despre csync2 pentru sincronizarea fișierelor de configurare menționate anterior. Dar, în ceea ce privește sarcina curentă, în csync2 au mai multe dezavantaje. În primul rând, se folosește SQLite pentru stocarea informațiilor despre fișierele că, atunci când un număr mare de fișiere este o problemă semnificativă. În al doilea rând, sincronizarea începe pe un program, mai degrabă decât un eveniment, cum ar fi descărcarea unui fișier nou.

Începând cu versiunea 2.6.13 subsistemul de nucleu Linux este inclus, care vă permite să primiți notificări de modificări ale sistemului de fișiere - Inotify. Pe baza Inotify lucrări lsyncd - daemon care monitorizează schimbările în directorul local și un interval de timp predeterminat începe un mijloc de sincronizare, cum ar fi rsync.

În Debian / Ubuntu lsyncd poate fi instalat din depozit standard de:

Pentru fișier de configurare lsyncd folosește Lua limbaj de scripting. În cazul nostru /etc/lsyncd/lsyncd.conf.lua fișier ar trebui să arate astfel:

  • rsyncOps - opțiune, ceea ce conduce rsync,
  • întârziere - timpul în secunde, în care schimbarea acumulate pentru sincronizare.

Detalii și alte metode posibile de sincronizare sunt disponibile în documentația oficială.

Acest fișier de configurare trebuie să fie extinsă la nivelul serverelor, înlocuind «gazdă» valoarea parametrului pentru sincronizare reciprocă.

În plus, observăm că Inotify are mai mulți parametri de kernel Linux. Poate că trebuie să fie ajustate pentru instalațiile mari:

  • fs.inotify.max_queued_events - numărul maxim de evenimente din coadă,
  • fs.inotify.max_user_instances - modul în care instanțele Inotify pot rula un singur utilizator,
  • fs.inotify.max_user_watches - cât de multe articole pot urmări un singur utilizator.

Configurarea MySQL replicare a bazei de date

In acest blog am descris-o deja de master-maestru de configurare replicare MySQL la două servere. În acest moment, trei servere și o sarcină puțin complicat, replicarea va fi organizată în jurul inelului.

Trebuie să descărcați groapa de gunoi a bazei de date de pe serverul principal la două configurația MySQL suplimentare și să conducă la următoarea formă:

  • server id - ID-ul unic al serverului ar trebui să fie diferit de toate serverele care uchatsvuyut replicare.
  • replica-același-server-id - previne bucla de replicare, procesele de server doar bușteni binare, care ID-ul serverului este diferit de cel curent.
  • auto-increment-increment - AUTO_INCREMENT etapa de schimbare, trebuie să fie egal cu numărul n de noduri.
  • compensat auto-increment-- AUTO_INCREMENT valoarea inițială, de la 1 la n, pentru fiecare nod.
  • log-slave-update - cauze MySQL pentru a scrie modificările din jurnalele binare sunt replicate în jurnalul său binar, esențiale pentru inelul de replicare.
  • replica-do-tabel sălbatic - în cazul meu, serverele sunt utilizate pentru diferite sarcini și doriți să reproducă doar o bază de date OwnCloud.

Apoi, puteți configura replicarea schemei:

stocare nor privat, cu propriile lor mâini - canalie - s

Pentru a face acest lucru, executați pe serverul în succesiune:
server id = 1

După aceea, verifica starea de replicare: