Cum se instalează software RAID pentru un server de fișiere simplu pe Ubuntu
Aveți nevoie de un server de fișiere la prețuri ieftine, care să fie ușor de configurat, "rock solid" fiabil cu Email Alerting? vă va arăta cum să utilizați Ubuntu, software-ul RAID și SaMBa pentru a realiza acest lucru.
Prezentare generală
În ciuda buzelor recente de a muta totul la norul "toate cele mai puternice", uneori este posibil să nu doriți informațiile dvs. pe serverul altcuiva sau poate că este imposibil să descărcați volumele de date pe care le solicitați de pe internet de fiecare dată (de exemplu, ). Deci, înainte de a vă clarifica un loc în bugetul dvs. pentru o soluție de stocare, luați în considerare o configurație care este licențiată gratuit cu Linux.
Cu aceasta a spus că a merge ieftin / gratuit nu înseamnă "a da prudență vântului" și, în acest scop, vom remarca puncte pentru a fi conștiente de configurații care ar trebui stabilite în plus față de utilizarea software-ului RAID, pentru a realiza raportul dintre prețul maxim și fiabilitatea.
Imagine de Filomena Scalise
Despre software-ul RAID
După cum sugerează și numele, acesta este un setup RAID (Redundant Array of Inexpensive Disks) care se face complet în software-ul în loc să folosească o placă hardware dedicată. Principalul avantaj al unui astfel de lucru este costul, deoarece această carte dedicată este o primă adăugată la configurația de bază a sistemului. Principalele dezavantaje sunt practic performanța și o anumită fiabilitate, deoarece o astfel de carte vine de obicei cu propriul procesor RAM + pentru a efectua calculele necesare pentru matematica de redundanță, cache-ul de date pentru o performanță sporită și bateria de rezervă opțională care păstrează operațiile nescrise în cache până puterea a fost restabilită în cazul unei ieșiri de curent.
Cu o configurație software RAID sacrificând unele performanțe ale CPU-urilor pentru a reduce costul total al sistemului, cu toate CPU-urile de astăzi, cheltuielile aeriene sunt relativ neglijabile (mai ales dacă intenționați să dedicați în mod special serverului de fișiere). În ceea ce privește performanța discului, există o penalizare ... cu toate acestea, nu am întâlnit niciodată o strangulare de pe subsistemul disc de pe server pentru a observa cât de profundă este. Ghidul lui Tom's Hardware "Tom's goes RAID5" este un articol vechi, dar un articol exhaustiv despre subiect, pe care eu îl folosesc personal ca referință, totuși iau reperele cu un bob de sare, fiind vorba de implementarea Windows a software-ului RAID orice altceva, sunt sigur că Linux este mult mai bine: P).
Cerințe preliminare
- Răbdarea tânără, aceasta este o citire lungă.
- Se presupune că știți ce este RAID și la ce se utilizează.
- Acest ghid a fost scris folosind Ubuntu server9.10 x64, prin urmare se presupune că aveți și un sistem bazat pe Debian pentru a lucra și cu.
- Mă veți vedea folosind VIM ca program de editare, doar pentru că eu sunt obișnuit cu asta ... puteți folosi orice alt editor pe care doriți.
- Sistemul Ubuntu pe care l-am folosit pentru scrierea acestui ghid a fost instalat pe un disc-on-key. Acest lucru mi-a permis să folosesc sda1 ca parte a matricei RAID, deci ajustați în mod corespunzător configurației.
- În funcție de tipul de RAID pe care doriți să îl creați, veți avea nevoie de cel puțin două discuri în sistemul dvs. și în acest ghid folosim 6 unități.
Alegerea discurilor care fac matricea
Primul pas în evitarea unei capcane este cunoașterea existenței sale (Thufir Hawat de la Dune).
Alegerea discurilor este un pas vital care nu ar trebui luat ușor și ați fi înțelept să valorificați experiența dvs. cu adevărat și să aveți în vedere acest avertisment:
Do NU utilizați unități "de gradul de consum" pentru a crea matrice, utilizați unități de tipul "server"!!!!!!
Acum știu ce gândești, nu am spus că o să mergem ieftin? și da, am făcut-o, dar, acesta este exact unul dintre locurile în care acest lucru este nedrept și ar trebui evitat. În ciuda prețului lor atrăgător, hard disk-urile pentru consumatori nu sunt concepute pentru a fi utilizate într-un mod de folosire non-stop. Crede-mă, adevăratul tău a încercat asta pentru tine. Cel puțin patru unități pentru consumatori din cele 3 servere pe care le-am instalat ca atare (din cauza constrângerilor bugetare) au eșuat după aproximativ 1,5 ~ 1,8 ani de la ziua inițială de lansare a serverului. Deși nu a existat o pierdere de date, deoarece RAID-ul a făcut treaba bine și a supraviețuit ... momente ca aceasta scurtează speranța de viață a sysadmin-ului, ca să nu mai vorbim de timp pentru companie pentru întreținerea serverului (ceva care poate ajunge să costă mai mult decât unitățile de grad superior).
Unii pot spune că nu există nici o diferență în rata de eșec între cele două tipuri. Acest lucru poate fi adevărat, cu toate acestea, în ciuda acestor afirmații, unitățile de servere de servere au încă un nivel mai ridicat de restricții SMART și QAing în spatele lor (după cum se poate observa prin faptul că nu sunt lansate pe piață imediat ce conduc consumatorii) așa că încă mai recomand foarte mult să vă dați bani în plus pentru upgrade.
Alegerea nivelului RAID.
În timp ce nu voi intra în toate opțiunile disponibile (acest lucru este foarte bine documentat în intrarea pe Wikipedia RAID), cred că trebuie remarcat că trebuie să alegeți cel puțin RAID 6 sau chiar mai mare ( vom folosi Linux RAID10). Acest lucru se datorează faptului că, atunci când un disc eșuează, există o șansă mai mare pentru un defect al discului vecin și apoi aveți un eșec "pe două discuri" pe mâini. Mai mult, dacă folosiți unități mari, deoarece discurile mai mari au o densitate mai mare a datelor pe suprafața platoului, șansa de eșec este mai mare. Discurile IMHO de la 2T și dincolo vor intra întotdeauna în această categorie, așa că fii conștient.
Hai să ne crăpat
Discuri de partiționare
În timp ce în Linux / GNU am putea folosi întregul dispozitiv bloc pentru nevoi de stocare, vom folosi partiții deoarece face mai ușoară utilizarea instrumentelor de salvare a discurilor în cazul în care sistemul a căzut. Folosim aici programul "fdisk", dar dacă vrei să folosești discuri mai mari decât 2T vei avea nevoie să folosești un program de partiționare care să susțină partiționarea GPT, cum ar fi parted.
sudo fdisk / dev / sdb
Notă: Am observat că este posibil să se facă matrice fără a schimba tipul de partiție, dar pentru că așa este descris tot pe net, o să urmez exemplul (din nou, atunci când folosesc întregul dispozitiv bloc nu este necesar).
Odată ce ați introdus fdisk, apăsările de la tastatură sunt:
n; pentru o nouă partiție
introduce
p; pentru o partiție primară
introduce
1; numărul de partiții
introduce ; accepta implicit
introduce ; accepta implicit
t; pentru a schimba tipul
fd; stabilește tipul de "Detectare auto raid Linux" (83h)
w; scrieți modificări pe disc și ieșiți
Clătiți și repetați pentru toate discurile care vor face parte din matrice.
Crearea unei matrice RAID10 Linux
Avantajul utilizării "Linux raid10 "este faptul că știe cum să profite de un număr nedisponibil de discuri pentru a spori performanțele și rezistența chiar mai departe decât vanilia RAID10, pe lângă faptul că atunci când o utilizează, matricea" 10 "poate fi creată într-o singură Etapa.
Creați matricea de pe discurile pe care le-am pregătit în ultimul pas prin emiterea:
sudo mdadm --create / dev / sdc1 / dev / sdb1 / dev / sd1 / dev / sdd1 / dev / sde1 - -verbose
Notă: Aceasta este doar o singură linie, în ciuda faptului că reprezentarea o împarte în două.
Să depășim parametrii:
- "-Chunk = 256" - Mărimea octeților dungile raidurilor este ruptă și această dimensiune este recomandată pentru discurile noi / mari (unitățile 2T utilizate pentru a face acest ghid au fost fără îndoială în acea categorie).
- "- level = 10" - Utilizează Linux raid10 (dacă este necesar un raid tradițional, pentru orice motiv ar trebui să creați două tablouri și să vă alăturați).
- "-P f2" - Utilizează planul de rotație "îndepărtat", vezi nota de mai jos pentru mai multe informații și "2" indică faptul că matricea va păstra două copii ale datelor.
Notă: Folosim planul "îndepărtat" deoarece acest lucru face ca aspectul fizic al datelor de pe disc să NU să fie același. Acest lucru ajută la depășirea situației în care hardware-ul uneia dintre unități eșuează din cauza unei defecțiuni de fabricație (și nu cred că "acest lucru nu se va întâmpla cu mine", cum a făcut cu adevărat dvs.). Datorita faptului ca cele doua discuri sunt de aceeasi marca si model, au fost folosite in acelasi mod si in mod traditional au pastrat datele pe aceeasi locatie fizica ... Riscul exista ca drive-ul care detine copia datelor nu a reusit prea sau este aproape de și nu va oferi elasticitatea necesară până când nu ajunge un disc de înlocuire. Planul "îndepărtat" face distribuirea datelor într-o locație fizică complet diferită pe unitățile de copiere, pe lângă utilizarea discurilor care nu sunt aproape una de cealaltă în cazul calculatorului. Mai multe informații găsiți aici și în legăturile de mai jos.
Odată ce matricea a fost creată, va începe procesul de sincronizare. În timp ce ați dori să așteptați pentru dragul tradițiilor (deoarece acest lucru poate dura ceva timp), puteți începe să utilizați imediat matricea.
Progresul poate fi observat folosind:
ceas -d cat / proc / mdstat
Creați fișierul de configurare mdadm.conf
Deși sa dovedit că Ubuntu știe pur și simplu să scaneze și să activeze automat matricea la pornire, pentru a fi deplin și pentru curtoazia pentru următoarea sysadmin vom crea fișierul. Sistemul dvs. nu creează automat fișierul și încearcă să-și amintească toate componentele / partițiile din setul dvs. RAID, este o talie a sănătății administratorului sistemului. Aceste informații pot fi și trebuie păstrate în fișierul mdadm.conf. Formatarea poate fi dificilă, dar din fericire ieșirea comenzii mdadm -detail -scan -verbose vă oferă.
Notă: Sa spus că: "Majoritatea distribuțiilor așteaptă fișierul mdadm.conf în / etc /, nu / etc / mdadm. Cred că acesta este un "ubuntu-ism" pentru a avea ca /etc/mdadm/mdadm.conf ". Datorită faptului că noi sunteți folosind Ubuntu aici, vom merge cu ea.
sudo mdadm --detail --scan --verbose> /etc/mdadm/mdadm.conf
IMPORTANT! trebuie să eliminați un "0" din fișierul nou creat deoarece sintaxa rezultată din comanda de mai sus nu este complet corectă (GNU / Linux nu este încă un sistem de operare).
Dacă doriți să vedeți problema care provoacă această configurație greșită, puteți emite mesajul "scanare“ comanda la acest punct, înainte de efectuarea ajustării:
mdadm --examine - scana
Pentru a depăși acest lucru, editați fișierul /etc/mdadm/mdadm.conf și schimbare:
metadate = 00.90
A citi:
metadate = 0,90
Rularea funcției mdadm -examine -scan comanda ar trebui să se întoarcă fără o eroare.
Setarea sistemului de fișiere pe matrice
Am folosit ext4 pentru acest exemplu, deoarece pentru mine sa bazat doar pe familiaritatea sistemului de fișiere ext3 care a venit înainte de el oferind în același timp performanțe și caracteristici promise mai bune.
Vă sugerăm să luați timp pentru a investiga ce sistem de fișiere se potrivește mai bine nevoilor dvs. și un bun început pentru asta este sistemul nostru de "Care fișiere Linux ar trebui să alegeți?".
sudo mkfs.ext4 / dev / md0
Notă: În acest caz, nu am împărțit matricea rezultată pentru că pur și simplu nu am nevoie de ea la acea dată, deoarece partea solicitantă a solicitat în mod special cel puțin 3,5T de spațiu continuu. Cu acest lucru am spus, dacă am vrut să creez partiții, aș fi trebuit să folosesc o utilitate de partiționare GPT cum ar fi "parted".
Montare
Creați punctul de montare:
sudo mkdir / media / raid10
Notă: Aceasta poate fi orice locație, cele de mai sus sunt doar un exemplu.
Pentru că avem de-a face cu un "dispozitiv asamblat", o vom face nu utilizați UUID-ul sistemului de fișiere aflat pe dispozitivul de montare (așa cum se recomandă pentru alte tipuri de dispozitive în ghidul nostru "ce este linux fstab și cum funcționează"), deoarece sistemul poate vedea o parte a sistemului de fișiere pe un disc individual și încercați să în mod incorect montați-l direct. pentru a depăși acest lucru, dorim să așteptăm în mod explicit ca dispozitivul să fie "asamblat" înainte de a încerca montarea acestuia și vom folosi numele matricei asamblate ("md") în cadrul fstab pentru a realiza acest lucru.
Editați fișierul fstab:
sudo vim / etc / fstab
Și adăugați la ea această linie:
/ dev / md0 / media / raid10 / ext4 implicite 1 2
Notă: Dacă schimbați locația de montare sau sistemul de fișiere din exemplul respectiv, va trebui să ajustați cele de mai sus.
Utilizați mount-ul cu parametrul automat (-a) pentru a simula o boot de sistem, deci știți că configurația funcționează corect și că dispozitivul RAID va fi montat automat când sistemul repornește:
sudo mount -a
Acum ar trebui să vedeți matricea montată cu comanda "mount" fără parametri.
Alerte de e-mail pentru array-ul RAID
Spre deosebire de matricele hardware RAID, cu o matrice de software, nu există niciun controler care să pornească pentru a vă anunța când ceva nu merge bine. Așadar, alertele de e-mail vor fi singura noastră modalitate de a ști dacă sa întâmplat ceva cu unul sau mai multe discuri în matrice, făcându-l astfel cel mai important pas.
Urmați ghidul "Cum se instalează Alerte prin e-mail pe Linux utilizând Gmail sau SMTP" și atunci când ați terminat veniți aici pentru a efectua pașii specifici RAID.
Confirmați că mdadm poate trimite prin e-mail
Comanda de mai jos va spune mdadm să declanșeze doar un e-mail și să se închidă.
sudo mdadm --monitor --scan --test - imagini
Dacă sunteți de succes, trebuie să primiți un e-mail, detaliind starea matricei.
Setați configurația mdadm pentru a trimite un e-mail la pornire
Deși nu este o necesitate absolută, este bine să obțineți din când în când o actualizare din mașină pentru a ne anunța că abilitatea de e-mail funcționează încă și despre starea matricei. probabil că nu vei fi copleșit de e-mailuri, deoarece această setare afectează doar startups (care pe servere nu ar trebui să fie multe).
Editați fișierul de configurare mdadm:
sudo vim / etc / implicit / mdadm
Adaugă -Test parametru la DAEMON_OPTIONS astfel incat sa arate ca:
DAEMON_OPTIONS = "- syslog --test"
Puteți reporni aparatul doar pentru a vă asigura că "în buclă", dar nu este o necesitate.
Configurarea Samba
Instalarea SaMBa pe un server Linux îi permite să se comporte ca un server de fișiere Windows. Deci, pentru a obține datele pe care le găzduim pe serverul Linux disponibil pentru clienții Windows, vom instala și configura SaMBa.
Este amuzant să rețineți că numele de pachet al SaMBa este un cuvânt pe protocolul Microsoft folosit pentru partajarea de fișiere numit SMB (Service Message Block).
În acest ghid, serverul este utilizat în scopuri de testare, astfel încât vom permite accesul la partea sa fără care necesită o parolă, vă recomandăm să sapa un pic mai mult în modul de configurare a permisiunilor odată ce configurarea este finalizată.
De asemenea, este recomandat să creați un utilizator care nu este privilegiat pentru a fi proprietarul fișierelor. În acest exemplu, utilizăm utilizatorul "geek" pe care l-am creat pentru această sarcină. Explicațiile privind crearea unui utilizator și gestionarea proprietății și a permisiunilor pot fi găsite în ghidurile "Creați un utilizator nou pe Ubuntu Server 9.10" și "Ghidul începătorilor pentru gestionarea utilizatorilor și grupurilor în Linux".
Instalați Samba:
aptitude install samba
Editați fișierul de configurare samba:
sudo vim /etc/samba/smb.conf
Adăugați o partajare numită "generală" care va permite accesul la punctul de montare "/ media / raid10 / general" prin adăugarea fișierului de mai jos.
[general]
cale = / media / raid10 / general
forța utilizatorului = geek
grupul de forțe = geek
read only = Nu
creați masca = 0777
director masca = 0777
numai pentru oaspeți = Da
oaspete ok = Da
Setările de mai sus fac adresarea adresabilă fără o parolă pentru oricine și face proprietarul implicit al fișierelor utilizatorul "geek".
Pentru referință, acest fișier smb.conf a fost preluat de pe un server de lucru.
Reporniți serviciul samba pentru ca setările să afecteze:
sudo /etc/init.d/samba restart
După ce ați terminat, puteți utiliza funcția testparm comanda pentru a vedea setările aplicate serverului samba.
că este, serverul ar trebui să fie acum, accesibil din orice casetă de ferestre utilizând:
\ Server namegeneral
Depanare
Când aveți nevoie să depanați o problemă sau un disc a eșuat într-o matrice, vă sugerez să vă referiți la foaia de fraudare mdadm (asta este ceea ce fac ...).
În general, trebuie să vă amintiți că atunci când un disc eșuează, trebuie să îl "eliminați" din matrice, să opriți mașina, să înlocuiți unitatea defectă cu un înlocuitor și apoi să "adăugați" noua unitate la matrice după ce ați creat discul corespunzător aspect (partiții) pe ea, dacă este necesar.
Odată ce ați făcut acest lucru, vă recomandăm să vă asigurați că matricea este reconstruită și urmăriți progresul cu:
ceas -d cat / proc / mdstat
Mult noroc! :)
Referințe:
mdadm cheat foaie
Nivelurile RAID defalcate
Linux RAID10 a explicat
mdadm comandă pagină man
mdadm fișier de configurare manual
Limitările partajării au fost explicate
Utilizarea software-ului RAID nu va costa mult ... Doar vocea ta ;-)