If-Koubou

Kako postaviti softver RAID za jednostavan poslužitelj datoteka na Ubuntu

Kako postaviti softver RAID za jednostavan poslužitelj datoteka na Ubuntu (Kako da)

Trebate li datoteku poslužitelja na jeftin koji je jednostavan za postavljanje, "rock solid" pouzdani s E-mail Alerting? će vam pokazati kako koristiti Ubuntu, softver RAID i SaMBa kako biste to ostvarili.

Pregled

Unatoč nedavnom buzzu kako bi sve premjestili na "sve moćni" oblak, ponekad možda ne želite da se vaši podaci na tuđe poslužitelje ili samo možda ne može izvršiti učitavanje svezaka podataka koje vam trebaju s interneta svaki put (na primjer, postavljanje slike ). Dakle, prije nego što izbrišete mjesto u proračunu za rješenje za pohranu, razmislite o konfiguraciji koja je besplatna za licenciranje pomoću Linuxa.

S tim u vezi, ide jeftino / slobodno ne znači "bacanje opreza na vjetar", te ćemo u tom smislu primijetiti točke da budemo svjesni konfiguracija koje bi trebale biti postavljene uz korištenje softvera RAID, kako bi se postigao omjer maksimalne cijene i pouzdanosti.

Slika Filomena Scalise

O softveru RAID

Kao što naziv implicira, ovo je postavljanje RAID (redundantna raspon jeftinih diskova) koji se u potpunosti radi u softveru umjesto da koristi namjensku hardversku karticu. Glavna prednost takve stvari je cijena, jer je ova posvećena kartica dodatna premija osnovne konfiguracije sustava. Glavni nedostaci u osnovi su performanse i neka pouzdanost jer takva kartica obično dolazi s vlastitim RAM + CPU-om za izvođenje izračuna potrebnih za matem redundancije, caching podataka za povećanu učinkovitost i dodatnu rezervnu bateriju koja čuva neopisane operacije u cache do moć je vraćena u slučaju nestanka struje.

S programskim RAID postavljanjem žrtvujete neke od CPU performansi sustava kako biste smanjili ukupni trošak sustava, no s današnjim procesorima nadzemna je razina relativno zanemariva (pogotovo ako vaš ide uglavnom posvećuje poslužitelju da bude "datotečni poslužitelj"). Što se tiče performansi diska, postoji kazna ... no nikada nisam naišla na usko grlo s podsustava diska s poslužitelja kako bih zamijetio koliko je to duboko. Tom's Hardver vodič "Tom's RAID5" je oldie, ali dobitnik iscrpni članak o temi, koju ja osobno koristim kao referencu, međutim, uzimam mjerila sa zrnatom soli jer se radi o implementaciji prozora softvera RAID (kao s sve ostalo, siguran sam da je Linux puno bolji: P).

Preduvjeti

  • Strpljenje je mlada, ovo je dugo čitanje.
  • Pretpostavlja se da znate što je RAID i za što se koristi.
  • Ovaj je vodič napisan pomoću Ubuntu server9.10 x64, pa se pretpostavlja da imate i Debian sustav koji će raditi.
  • Vidjet ćete da koristim VIM kao editor program, to je samo zato što sam naviknut na to ... možete koristiti bilo koji drugi urednik koji želite.
  • Ubuntu sustav koji sam koristio za pisanje ovog vodiča instaliran je na disk-on-ključ. Tako mi je dopušteno da koristim sda1 kao dio RAID polja, tako da se prilagodite u skladu s vašim postavkama.
  • Ovisno o vrsti RAID-a koji želite stvoriti, trebat će vam najmanje dva diska na vašem sustavu iu ovom priručniku koristimo 6 pogona.

Odabir diskova koji čine polje

Prvi korak u izbjegavanju zamke je poznavanje njegova postojanja (Thufir Hawat iz Dune).

Odabir diskova je važan korak koji se ne smije uzimati lagano, a vi bi bilo pametno iskoristiti svoje istinsko iskustvo i paziti na ovo upozorenje:

Čini NE koristite "potrošačke ocjene" za stvaranje polja, koristite "server grade" pogone !!!!!!

Sada znam što misliš, zar mi ne kažemo da ćemo ići na jeftino? i da jesmo, ali ovo je upravo jedno od mjesta gdje je tako bezobzirno i treba izbjegavati. Unatoč svojoj atraktivnoj cijeni, potrošački razreda tvrde diskove nisu dizajnirani da se koriste u 24/7 "na" vrstu korištenja. Vjeruj mi, tvoja je doista pokušala ovo za tebe. Najmanje četiri pogona potrošačke razine u 3 poslužitelja kojima sam postavio ovako (zbog ograničenja proračuna) nisu uspjeli nakon otprilike 1,5 do 1,8 godina od prvog dana pokretanja poslužitelja. Iako nije bilo gubitka podataka, jer je RAID učinio posao dobro i preživjeli ... takvi trenuci skratili su životni vijek sustava, a da ne spominjemo vrijeme za tvrtku za održavanje poslužitelja (nešto što bi moglo završiti s više od viših razreda).

Neki mogu reći da nema razlike u stopi neuspjeha između dvije vrste. To može biti istina, ali unatoč tim tvrdnjama, poslužiteljski pogoni još uvijek imaju višu razinu SMART ograničenja i QAing iza njih (što se može zamijetiti činjenicom da se oni ne puštaju na tržište čim su potrošački pogoni), pa i dalje visoko preporučujem da odvojite dodatnu $ $ $ za nadogradnju.

Odabir razine RAID.

Iako neću ulaziti u sve dostupne opcije (to je vrlo dobro dokumentirano u RAID wikipedia unosu), smatram da je vrijedno reći da se uvijek morate odlučiti za najmanje RAID 6 ili čak i veći ( mi ćemo koristiti Linux RAID10). To je zato što kada disk ne uspije, ima veće šanse za susjedni kvara diska, a zatim imate "dva diska" neuspjeh na vašim rukama. Štoviše, ako vaša upotreba velikih diskova, budući da veće diskove imaju veću gustoću podataka na površini ploče, šansa za neuspjehom je veća. IMHO diskovi od 2T i više uvijek će biti u ovoj kategoriji, stoga budite svjesni.

Pucajmo

Diskovi za particioniranje

Dok smo u Linuxu / GNU-u mogli koristiti cijeli blok uređaj za potrebe pohrane, koristit ćemo particije jer olakšava upotrebu alata za spašavanje diskova u slučaju da sustav propadne. Ovdje koristimo program "fdisk", ali ako ćete koristiti diskove veći od 2T, trebat ćete upotrijebiti program particioniranja koji podržava particioniranje GPT-a kao razdijeljen.

sudo fdisk / dev / sdb

Bilješka: Primijetio sam da je moguće napraviti niz bez mijenjanja vrste particije, ali zato što je to način opisan po cijeloj mreži idem za slijediti odijelo (opet kada koristite cijeli blok uređaj to je nepotrebno).

Jednom u fdisku tipke su:

n; za novu particiju
Unesi
p; za primarnu particiju
Unesi
1; broj particija
Unesi ; prihvatite zadano
Unesi ; prihvatite zadano
t; za promjenu vrste
F D ; postavlja vrstu da bude "Linux raid auto detect" (83h)
w; pisati promjene na disku i izaći

Isperite i ponovite za sve diskove koji će biti dio polja.

Izrada Linux RAID10 polja

Prednost korištenja "Linux raid10 "znaci kako iskoristiti neparan broj diskova kako bi poboljšao performanse i elastičnost čak i dalje od vanilije RAID10, uz činjenicu da se prilikom korištenja polja" 10 "može stvoriti u jednom korak.

Izradite niz s diskova koje smo pripremili u zadnjem koraku izdavanjem:

sudo mdadm - kreiraj / dev / md0 - chunk = 256 - razina = 10 -p f2 - uređaji su smješteni = 5 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - -verbose

Bilješka: Ovo je sve samo jedna linija unatoč činjenici da je reprezentacija u dva.

Prekinimo parametre prema dolje:

  • "-Chunk = 256" - Veličinu bajtova prekinuta su pruga, a ta se veličina preporučuje za nove / velike diskove (2T pogoni koji su koristili za izradu ovog vodiča bili su bez sumnje u toj kategoriji).
  • "- razina = 10" - koristi Linux raid10 (ako je potreban tradicionalni napad, iz bilo kojeg razloga, trebali biste stvoriti dva polja i pridružiti im se).
  • "-P f2" - Koristi "daleko" rotacijski plan vidi bilješku ispod za više informacija i "2" kaže da će polje zadržati dvije kopije podataka.

Bilješka: Koristimo "daleko" plan jer to uzrokuje da fizički raspored podataka na disku NEM bude isti. To pomaže da se prevlada situacija u kojoj hardver jednog pogona ne uspije zbog pogreške u proizvodnji (i ne mislite "to se neće dogoditi s meni" kao što je vaša doista učinila). Zbog činjenice da su dva diska istog modela i marke, korišteni su na isti način i tradicionalno su čuvali podatke na istoj fizičkoj lokaciji ... Postoji rizik da pogon s kopijom podataka nije uspio previše ili je blizu i neće pružiti potrebnu otpornost sve dok ne stigne zamjenski disk. "Daleko" plan čini distribuciju podataka na sasvim drugačijoj fizičkoj lokaciji na pogonima za kopiranje, uz upotrebu diskova koji nisu bliski jedan s drugim unutar kućišta računala. Više informacija možete pronaći ovdje i na niže navedenim linkovima.

Kada je polje stvoreno, pokrenut će proces sinkronizacije. Iako biste mogli pričekati zbog tradicija (jer to može potrajati neko vrijeme), odmah možete početi s upotrebom polja.

Napredak se može promatrati pomoću:

gledati -d cat / proc / mdstat

Izradite konfiguracijsku datoteku mdadm.conf

Dok je dokazano da Ubuntu jednostavno zna skenirati i aktivirati polje automatski pri pokretanju, radi potpunosti i pristojnosti za sljedeći sustav, stvorit ćemo datoteku. Vaš sustav ne stvara automatski datoteku i pokušava zapamtiti sve komponente / particije vašeg RAID seta, što je struka administracije sustava administracije. Te se informacije mogu i trebaju čuvati u mdadm.conf datoteci. Oblikovanje može biti lukav, ali na sreću izlaz mdadm -detail -scan -verbose naredba pruža vam to.

Bilješka: Rečeno je da: "Većina distribucija očekuje datoteku mdadm.conf u / etc /, a ne / etc / mdadm. Vjerujem da je ovo "ubuntu-ism" kako bi ga dobili kao /etc/mdadm/mdadm.conf ". Zbog činjenice da mi su koristeći Ubuntu ovdje, samo ćemo ići s njom.

sudo mdadm --detail --scan --verbose> /etc/mdadm/mdadm.conf

VAŽNO! morate ukloniti jedan "0" iz novo stvorene datoteke jer sintaksa koja proizlazi iz gore navedene naredbe nije potpuno ispravna (GNU / Linux još nije OS).

Ako želite vidjeti problem koji uzrokuje pogrešna konfiguracija, možete izdati "skenirati" naredbu u ovom trenutku prije podešavanja:

mdadm - examine - scan

Da biste to riješili, uredite datoteku /etc/mdadm/mdadm.conf i promijenite:

metapodataka = 00,90

Čitati:

metapodataka = 0.90

Trčanje mdadm-examin-scan naredba sada treba vratiti bez pogreške.

Postavljanje datotečnog sustava na polju

Koristio sam ext4 za ovaj primjer, jer mi je upravo izgrađen na poznavanju ext3 datotečnog sustava koji je došao prije nego što je obećao bolje performanse i značajke.
Predlažem da uzmete vremena da istražite koji datotečni sustav bolje odgovara vašim potrebama i dobar početak za to je naš "Koji Linux datotečni sustav trebate odabrati?" Članak.

sudo mkfs.ext4 / dev / md0

Bilješka: U ovom slučaju nisam podijelio rezultirajući niz jer, jednostavno nisam to trebao u to vrijeme, budući da je stranka koja je tražila posebno zatražila najmanje 3,5 t kontinuiranog prostora. S tim je rekao, da sam htio stvoriti particije, ja bih morao koristiti GPT particiju sposoban alat kao što su "rastali".

montiranje

Izrađujte točku montiranja:

sudo mkdir / media / raid10

Bilješka: Ovo može biti bilo koje mjesto, gore je samo primjer.

Jer imamo posla s "sklopljenim uređajem" ne koristite UUID datotečnog sustava koji se nalazi na uređaju za ugradnju (kao što je preporučeno za druge vrste uređaja u našem "što je linux fstab i kako funkcionira") jer sustav zapravo može vidjeti dio datotečnog sustava na pojedinom disku i pokušati nepravilno montirati ga izravno. da bismo ovo nadvladali, želimo izričito pričekati da se uređaj "montira" prije no što ga pokušamo ugraditi, a mi ćemo upotrijebiti ime sastavljenog polja ("md") unutar fstab da to postignemo.
Uredite fstab datoteku:

sudo vim / etc / fstab

I dodajte u ovu liniju:

/ dev / md0 / media / raid10 / ext4 zadane postavke 1 2

Bilješka: Ako promijenite lokaciju za montiranje ili datotečni sustav iz primjera, morat ćete podesiti gore navedeno.

Pomoću automatskog parametra (-a) simulirajte podizanje sustava tako da znate da konfiguracija radi ispravno i da će se RAID uređaj automatski montirati kada se sustav ponovo pokrene:

sudo mount -a

Sada biste trebali vidjeti polje montirano pomoću naredbe "mount" bez parametara.

Obavijesti e-pošte za RAID Array

Za razliku od hardverskih RAID polja, s softverskim nizom nema kontrolera koji bi započeo beeping da bi vas obavijestio kada je nešto pošlo po zlu. Stoga upozorenja e-poštom bit će naš jedini način da saznamo je li se nešto dogodilo s jednim ili više diskova u polju, a time je to učinilo najvažniji korak.

Slijedite vodič "Kako postaviti e-poštu upozorenja o Linuxu koristeći Gmail ili SMTP" i kada se dovršite, vratite se ovdje kako biste izvršili RAID specifične korake.

Potvrdite da mdadm može poslati e-poštu
Naredba u nastavku, kazat će mdadm da isključi samo jednu e-poštu i zatvori.

sudo mdadm --monitor --scan --test --oneshot

Ako ste uspješni, trebate dobiti e-poštu, s pojedinostima o stanju polja.

Postavite mdadm konfiguraciju za slanje e-pošte pri pokretanju
Iako ne mora biti apsolutno, lijepo je dobiti s vremena na vrijeme ažuriranje s uređaja da biste nas obavijestili da e-pošta još uvijek funkcionira i da je stanje polja. vaše e-pošte vjerojatno neće biti preplavljene jer ova postavka utječe samo na startove (na serverima ne bi trebalo biti mnogo).
Uredite konfiguracijsku datoteku mdadm:

sudo vim / etc / default / mdadm

Dodaj -test parametar na DAEMON_OPTIONS tako da izgleda kao:

DAEMON_OPTIONS = "- syslog - test"

Možete ponovno pokrenuti uređaj samo kako biste bili sigurni da ste "u petlji", ali to nije nužno.

Samba konfiguracija

Instaliranje SaMBa na Linux poslužitelj omogućuje joj da djeluje kao Windows poslužitelj datoteka. Dakle, kako bismo dobili podatke koje smo na Linux poslužitelju koji su dostupni klijentima s Windowsima, instalirat ćemo i konfigurirati SaMBa.
Smiješno je napomenuti da je naziv paketa SaMBa pun inačice Microsoftovog protokola koji se koristi za dijeljenje datoteka pod nazivom SMB (Message Message Block).

U ovom vodiču poslužitelj se koristi za potrebe testiranja, pa ćemo omogućiti pristup njegovom udjelu bez zahtijevajući lozinku, možda ćete poželjeti malo više kopati kako postaviti dopuštenja nakon dovršetka postavljanja.

Također se preporučuje da stvorite neprihvatljivog korisnika koji će biti vlasnik datoteka. U ovom primjeru koristimo "geek" korisnika koji smo stvorili za ovaj zadatak. Objašnjenja o tome kako stvoriti korisnika i upravljati imovinom i dopuštenjima možete naći u našem "Napravite novog korisnika na Ubuntu Server 9.10" i "Vodič za početnike za upravljanje korisnicima i grupama u Linuxu".

Instalirajte Sambu:

aptitude instalirajte sambu

Uređivanje sambe konfiguracijske datoteke:

sudo vim /etc/samba/smb.conf

Dodajte udio pod nazivom "opći" koji će omogućiti pristup točki za montiranje "/ media / raid10 / general" dodavanjem dolje u datoteku.

[general]
put = / media / raid10 / općenito
snagu korisnik = geek
sila skupina = geek
samo za čitanje = Ne
stvoriti masku = 0777
maska ​​direktorija = 0777
samo gost = Da
gost ok = Da

Postavke koje se gore postavljaju čine se dijelom adresiranim bez lozinku za bilo koga i čini zadani vlasnik datoteka korisnik "geek".

Za vašu referencu, ova smb.conf datoteka preuzeta je s radnog poslužitelja.

Ponovno pokrenite samba uslugu za postavke koje će utjecati:

sudo /etc/init.d/samba restart

Jednom učinjeno možete koristiti testparm naredbu da biste vidjeli postavke primijenjene na samba poslužitelj.
to je to, poslužitelj bi trebao biti dostupan iz bilo kojeg okvira prozora pomoću:

\ Poslužitelja namegeneral

Rješavanje problema

Kada trebate otkloniti poteškoće ili ako disk nije uspio u polju, predlažem da se upućujem na tablicu za mazati (to je ono što radim ...).

Općenito trebate zapamtiti da kada disk ne uspije, morate ga "ukloniti" iz polja, isključiti uređaj, zamijeniti pogon koji nije uspio zamijeniti, a zatim "dodati" novi pogon na polje nakon što stvorite odgovarajući disk raspored (particija) na njemu, ako je potrebno.

Jednom kada to učinite, možda biste željeli osigurati da se niz obnavlja i promatra napredak:

gledati -d cat / proc / mdstat

Sretno! :)

Reference:
mdadm cheat sheet
Razine RAID-a se raspadaju
Objasnio je Linux RAID10
mdadm naredbene stranice
mdadm konfiguracijska datoteka
Objašnjena su ograničenja particije

Korištenje softvera RAID neće koštati mnogo ... Samo vaš VOICE ;-)