Kako namestiti programski RAID za preprost datotečni strežnik na Ubuntu
Ali potrebujete datotečni strežnik po ugodnih cenah, ki je enostaven za nastavitev, zanesljiv »rock solid« z opozorilom po e-pošti? vam bo pokazal, kako uporabiti Ubuntu, programski RAID in SaMBa, da dosežete prav to.
Pregled
Kljub nedavnemu buzzu, da bi vse premaknili v »vse mogočen« oblak, včasih morda ne želite, da bi bili vaši podatki v nekem drugem strežniku ali morda le neizvedljivi, da bi vsakič prenesli količine podatkov, ki jih potrebujete iz interneta (na primer razmestitev slik ). Torej, preden počistite prostor v svojem proračunu za rešitev za shranjevanje, razmislite o konfiguraciji, ki je brezplačna za Linux.
S tem je dejstvo, da gre poceni / brezplačno, ne pomeni »previdnost proti vetru« in v ta namen bomo opozorili na točke, ki jih je treba zavedati, konfiguracije, ki jih je treba namestiti poleg uporabe programske opreme RAID, da bi dosegli največje razmerje med ceno in zanesljivostjo.
Slika: Filomena Scalise
O programskem RAID-u
Kot že ime pove, je to nastavitev RAID (Redundant Array of Inexpensive Disks), ki je v celoti narejena v programski opremi, namesto da bi uporabili namensko strojno kartico. Glavna prednost takšne stvari je strošek, saj je ta namenska kartica dodatna premija osnovni konfiguraciji sistema. Glavne pomanjkljivosti so v bistvu zmogljivost in nekaj zanesljivosti, saj taka kartica običajno prihaja z lastno RAM + CPU za izvajanje izračunov, potrebnih za redundančno matematiko, predpomnjenje podatkov za večjo zmogljivost in dodatno baterijo, ki ohranja nepisane operacije v predpomnilniku do v primeru izpada električne energije.
Z nastavitvijo programske opreme RAID, ki žrtvuje nekatere zmogljivosti sistemskega CPU-ja, da bi zmanjšali skupne stroške sistema, vendar z današnjimi CPU-ji, so režijski stroški relativno zanemarljivi (še posebej, če boste ta strežnik v glavnem namenili »datotečnemu strežniku«). Kar zadeva zmogljivost diska, obstaja kazen ... vendar nisem nikoli naletel na ozko grlo iz diskovnega podsistema s strežnika, da bi ugotovil, kako globoko je. Tomov priročnik za strojno opremo »Tom's goes RAID5« je oldie, vendar dober izčrpen članek o tej temi, ki ga osebno uporabljam kot referenco, vendar vzamem merila z zrnom soli, saj govorimo o implementaciji programske opreme RAID (kot pri vse ostalo, prepričan sem, da je Linux veliko boljši: P).
Predpogoji
- Potrpežljivost mlada, to je dolgo prebrano.
- Predvideva se, da veste, kaj je RAID in za kaj se uporablja.
- Ta priročnik je bil napisan z uporabo Ubuntu server9.10 x64, zato se predpostavlja, da imate sistem, ki temelji na Debianu, za delo tudi z.
- Videli boste, da uporabljam VIM kot urejevalni program, to je samo zato, ker sem navajen… lahko uporabite kateri koli drug urejevalnik, ki ga želite.
- Ubuntu sistem, ki sem ga uporabil za pisanje tega priročnika, je bil nameščen na disku na ključ. To mi je omogočilo, da uporabim sda1 kot del polja RAID, zato prilagodite nastavitve.
- Glede na vrsto RAID-a, ki ga želite ustvariti, potrebujete vsaj dva diska v sistemu in v tem priročniku uporabljamo 6 pogonov..
Izbira diskov, ki izdelujejo matriko
Prvi korak v izogibanju pasti je poznavanje njegovega obstoja (Thufir Hawat iz Dune).
Izbira diskov je pomemben korak, ki ga ne smemo sprejeti rahlo, zato bi bilo pametno izkoristiti svoje izkušnje in upoštevati to opozorilo:
Ali NE uporabite pogone za potrošniške razrede, da ustvarite svoj niz, uporabite pogone strežniškega razreda!!!!!!
Zdaj vem, kaj misliš, ali nismo rekli, da bomo šli poceni? in da, smo to storili, toda to je točno eno od mest, kjer je to nepremišljeno in se mu je treba izogibati. Kljub svoji privlačni ceni trdi diski za potrošniške razrede niso zasnovani za uporabo v 24/7 “on” vrsti uporabe. Verjemi mi, tvoja resnično je to poskusila za vas. Vsaj štirje potrošniški pogoni v treh strežnikih, ki jih imam, kot je ta (zaradi proračunskih omejitev), niso uspeli po približno 1,5 ~ 1,8 letih od začetnega dne strežnika. Čeprav ni bilo izgube podatkov, ker je RAID naredil svoje delo dobro in preživeli… trenutki, kot je ta, skrajšajo življenjsko dobo sysadmina, da ne omenjam časa za vzdrževanje strežnika (nekaj, kar lahko na koncu stane več kot pogoni višjega razreda)..
Nekateri lahko rečejo, da ni razlike v stopnji odpovedi med obema vrstama. To je lahko res, kljub temu pa imajo pogoni za strežniške razrede še vedno višjo raven SMART omejitev in QAing za njimi (kot je razvidno iz dejstva, da na trg ne pridejo takoj, ko so potrošniški pogoni), zato še vedno zelo priporočam, da razveljavite dodatno $$$ za nadgradnjo.
Izbira ravni RAID.
Medtem ko se ne bom spuščal v vse razpoložljive možnosti (to je zelo dobro dokumentirano v vnosu z wikipedijo RAID), menim, da je treba omeniti, da morate vedno izbrati vsaj RAID 6 ali celo višje ( uporabljali bomo Linux RAID10). To je zato, ker ko disk ne uspe, obstaja večja verjetnost okvare sosednjega diska in potem imate okvaro »dveh diskov« na vaših rokah. Še več, če boste uporabljali velike pogone, saj imajo večji diski večjo gostoto podatkov na površini krožnika, je večja možnost za napako. IMHO diski iz 2T in kasneje bodo vedno spadali v to kategorijo, zato se zavedajte.
Pojdimo pokanje
Pregradni diski
Medtem ko smo v Linuxu / GNU, lahko uporabimo celotno blok napravo za potrebe shranjevanja, uporabili bomo particije, ker olajša uporabo orodij za reševanje diskov v primeru, da je sistem preživel. Tukaj uporabljamo program “fdisk”, če pa boste uporabili diske večje od 2T, boste morali uporabiti program za particioniranje, ki podpira particioniranje GPT, kot je razdeljen..
sudo fdisk / dev / sdb
Opomba: Opazil sem, da je možno narediti matriko, ne da bi spremenili tip particije, ampak zato, ker je to način, ki je opisan po vsej mreži, bom sledil temu (spet ko uporabljam celotno blok napravo to ni potrebno).
Ko v fdisk pritisnete tipke, so:
n; za novo particijo
vnesite
p; za primarno particijo
vnesite
1; število particij
enter; sprejmete privzeto
enter; sprejmete privzeto
t; , da spremenite vrsto
fd; nastavi vrsto, ki naj bo “Linux raid auto detect” (83 ur)
w; zapisovanje sprememb na disk in izhod
Izperite in ponovite za vse diske, ki bodo del polja.
Ustvarjanje niza RAID10 v Linuxu
Prednost uporabe »Linux raid10 "je, da ve, kako izkoristiti ne-celo število diskov za povečanje zmogljivosti in odpornosti še bolj kot vanilijskega RAID10, poleg tega, da je pri uporabi lahko" 10 "polje ustvarjeno v enem samem. korak.
Izdelajte matriko iz diskov, ki smo jih pripravili v zadnjem koraku z izdajo:
sudo mdadm --create / dev / md0 --chunk = 256 - nivo = 10 -p f2 - pojdite - naprave = 5 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - -vredna
Opomba: To je vse samo ena vrstica, kljub temu, da jo predstavitev razdeli na dva dela.
Premaknimo parametre navzdol:
- “-Chunk = 256” - Velikost bajtov, na katere so prelomljeni trakovi, in ta velikost je priporočljiva za nove / velike diske (2T pogoni, ki so bili uporabljeni za izdelavo tega vodnika brez dvoma v tej kategoriji).
- “-Razina = 10” - Uporablja Linux raid10 (če je potreben tradicionalni napad, kdajkoli boste morali ustvariti dva niza in se jim pridružiti).
- “-P f2” - Za podrobnejše informacije uporablja načrt za obračanje “daleč”. Opomba: “2” pove, da bo matrika obdržala dve kopiji podatkov..
Opomba: Uporabljamo načrt "daleč", ker to povzroči, da fizična postavitev podatkov na diskih NE bo enaka. To pomaga premagati situacijo, v kateri strojna oprema enega od pogonov odpove zaradi proizvodne napake (in ne mislite, da se “to ne bo zgodilo meni”, kot je bila vaša resnično). Ker sta oba diska iste znamke in modela, sta bila uporabljena na enak način in tradicionalno uporabljata podatke na isti fizični lokaciji… Obstaja nevarnost, da pogon, ki ima kopijo podatkov, ni uspel. ali je blizu ali ne bo zagotovil zahtevane prožnosti, dokler ne pride do nadomestnega diska. Načrt „daleč“ omogoča distribucijo podatkov na popolnoma drugačno fizično lokacijo na kopijah diskov, poleg uporabe diskov, ki niso v bližini računalnika. Več informacij najdete tukaj in na spodnjih povezavah.
Ko je matrika ustvarjena, bo začela proces sinhronizacije. Medtem ko boste morda želeli počakati na tradicije (saj lahko to traja nekaj časa), lahko začnete takoj uporabiti polje.
Napredek je mogoče opaziti z uporabo:
watch -d cat / proc / mdstat
Ustvarite konfiguracijsko datoteko mdadm.conf
Medtem ko je bilo dokazano, da Ubuntu preprosto ve, da skenira in aktivira matriko samodejno ob zagonu, za popolnost in vljudnost za naslednji sysadmin bomo ustvarili datoteko. Vaš sistem ne ustvarja samodejno datoteke in poskuša zapomniti vse komponente / particije vašega nabora RAID, je pas upravnega sistema. Te informacije je mogoče in jih je treba hraniti v datoteki mdadm.conf. Oblikovanje je lahko zapleteno, vendar pa je na srečo rezultat ukaza mdadm -detail -scan -verbose.
Opomba: Rečeno je bilo, da: “Večina distribucij pričakuje datoteko mdadm.conf v datoteki / etc /, ne / etc / mdadm. Menim, da je to »ubuntu-ism«, da ga imamo kot /etc/mdadm/mdadm.conf ». Zaradi dejstva, da smo so z uporabo Ubuntu tukaj, bomo šli z njim.
sudo mdadm --detail --scan --verbose> /etc/mdadm/mdadm.conf
POMEMBNO! iz novo ustvarjene datoteke morate odstraniti »0«, ker sintaksa, ki izhaja iz zgornjega ukaza, ni povsem pravilna (GNU / Linux še ni operacijski sistem).
Če želite videti težavo, ki jo povzroči ta napačna konfiguracija, lahko izdate »skeniranje na tej točki, preden izvedete prilagoditev:
mdadm - razčlenitev - sken
Če želite to odpraviti, uredite datoteko /etc/mdadm/mdadm.conf in spremeni:
metapodatki = 00,90
Brati:
metapodatki = 0,90
Teče mdadm -raziskava -scan ukaz bi se moral vrniti brez napake.
Nastavitev datotečnega sistema na matriki
Za ta primer sem uporabil ext4, ker je bil zame zgrajen na poznavanju datotečnega sistema ext3, ki je bil pred njim, medtem ko je zagotavljal obljubljeno boljšo zmogljivost in funkcije.
Predlagam, da si vzamete čas, da raziščete, kateri datotečni sistem bolje ustreza vašim potrebam, in dober začetek za to, kateri članek bi izbral?.
sudo mkfs.ext4 / dev / md0
Opomba: V tem primeru nisem razdelil nastalega niza, ker ga v tistem času preprosto nisem potreboval, ker je prosilec posebej zahteval vsaj 3.5T neprekinjenega prostora. S tem je dejal, če bi hotel ustvariti particije, bi moral uporabiti uporaben pripomoček za particioniranje GPT, kot je »razdeljen«.
Montaža
Ustvarite točko priklopa:
sudo mkdir / media / raid10
Opomba: To je lahko katera koli lokacija, zgornje je le primer.
Ker se ukvarjamo z "sestavljeno napravo", jo bomo ne uporabite UUID datotečnega sistema, ki je na napravi za nameščanje (kot je priporočeno za druge vrste naprav v našem "kaj je linux fstab in kako deluje" vodnik), saj lahko sistem dejansko vidi del datotečnega sistema na posameznem disku in poskusi napačno namestite ga neposredno. da bi to odpravili, želimo izrecno počakati, da se naprava »sestavi«, preden jo poskusimo namestiti, in uporabili bomo ime sestavljenega niza (»md«) znotraj fstab da bi to dosegli.
Uredite datoteko fstab:
sudo vim / etc / fstab
Dodajte še to vrstico:
/ dev / md0 / media / raid10 / ext4 privzete vrednosti 1 2
Opomba: Če iz primera spremenite mesto namestitve ali datotečni sistem, boste morali zgoraj ustrezno prilagoditi zgornje nastavitve.
Za simulacijo zagona sistema uporabite mount s samodejnim parametrom (-a), tako da boste vedeli, da konfiguracija deluje pravilno in da bo naprava RAID samodejno nameščena, ko se sistem znova zažene:
sudo mount -a
Zdaj bi lahko videli, da je polje nameščeno z ukazom »mount« brez parametrov.
E-poštna opozorila za polje RAID
Za razliko od strojnih RAID polj, s programsko opremo ni krmilnika, ki bi začel piskati, da bi vas obvestil, ko se je nekaj zgodilo. Zato bodo e-poštna opozorila edini način, da ugotovimo, ali se je nekaj zgodilo z enim ali več diski v matriki in s tem naredili najpomembnejši korak.
Sledite navodilom »Kako nastaviti e-poštna opozorila v Linuxu z uporabo Gmaila ali SMTP« in ko končate, se vrnite sem in izvedite določene korake RAID.
Potrdite, da mdadm lahko pošilja e-pošto
Spodnji ukaz vam bo mdadmu povedal, da bo sprožil samo eno e-pošto in zaprl.
sudo mdadm --monitor --scan - test --oneshot
Če ste uspešni, bi morali dobiti e-pošto, ki podrobno opisuje stanje polja.
Nastavite konfiguracijo mdadm za pošiljanje e-pošte ob zagonu
Čeprav ni absolutno nujno, je lepo, da občasno dobite posodobitev iz naprave, da nam sporočite, da je sposobnost elektronske pošte še vedno delovala in stanje matrike. e-poštna sporočila verjetno ne bodo preobremenjena, ker ta nastavitev vpliva le na zagonska podjetja (kar na strežnikih ne bi smelo biti veliko).
Uredite konfiguracijsko datoteko mdadm:
sudo vim / etc / default / mdadm
Dodajte -test parametra DAEMON_OPTIONS tako, da bo izgledal tako:
DAEMON_OPTIONS = "- syslog --test"
Stroj lahko znova zaženete samo zato, da se prepričate, ali je "v zanki", vendar to ni nujno.
Samba Konfiguracija
Namestitev SaMBa na Linux strežniku omogoča, da deluje kot datotečni strežnik Windows. Da bi dobili podatke, ki jih gostimo na strežniku Linux, ki so na voljo odjemalcem Windows, bomo namestili in konfigurirali SaMBa.
Smešno je omeniti, da je ime paketa SaMBa pesem na Microsoftovem protokolu, ki se uporablja za izmenjavo datotek, imenovano SMB (Service Message Block)..
V tem priročniku se strežnik uporablja za namene testiranja, zato bomo omogočili dostop do njegovega deleža brez Če potrebujete geslo, boste morda želeli malo poglobiti nastavitve dovoljenj, ko bo namestitev končana.
Prav tako je priporočljivo, da ustvarite ne-privilegiranega uporabnika, ki bo lastnik datotek. V tem primeru uporabljamo uporabnika »geek«, ki smo ga ustvarili za to nalogo. Pojasnila o tem, kako ustvariti uporabnika in upravljati lastništvo in dovoljenja, lahko najdete v naših navodilih »Ustvarite novega uporabnika na strežniku Ubuntu 9.10« in »Navodila za začetnike za upravljanje uporabnikov in skupin v Linuxu«..
Namesti Sambo:
aptitude namesti sambo
Uredite konfiguracijsko datoteko sambe:
sudo vim /etc/samba/smb.conf
Dodajte del, imenovan »splošni«, ki bo omogočil dostop do točke »/ media / raid10 / general« tako, da dodate datoteko spodaj datoteki.
[splošno]
pot = / mediji / raid10 / splošno
sila uporabnik = geek
force group = geek
samo za branje = Ne
create mask = 0777
directory maska = 0777
samo gost = Da
guest ok = Da
Zgornje nastavitve omogočajo naslovljiv dostop brez geslo za vsakogar in privzeti lastnik datotek uporabnik »geek«.
Za vašo referenco je ta datoteka smb.conf vzeta iz delovnega strežnika.
Ponovno zaženite storitev sambe, da bodo nastavitve sprejete:
sudo /etc/init.d/samba restart
Ko končate, lahko uporabite testparm , da vidite nastavitve, ki se uporabljajo za strežnik sambe.
to je to, strežnik bi moral biti zdaj dostopen iz katerega koli okenskega okna z uporabo:
ime-strežnika-splošno
Odpravljanje težav
Če morate odpraviti težavo ali disk ni uspel v nizu, predlagam, da se sklicujete na mdadm list za goljufije (to počnem…).
Na splošno se morate zavedati, da ko disk ne uspe, ga morate »odstraniti« iz matrike, zaustaviti stroj, zamenjati okvarjeni pogon z zamenjavo in nato »dodati« nov pogon v polje, potem ko ste ustvarili ustrezen disk. postavitev (particije) na njej, če je to potrebno.
Ko boste to naredili, boste morda želeli, da se matrika ponovno zgradi in si ogledate napredek z:
watch -d cat / proc / mdstat
Vso srečo! :)
Reference:
mdadm goljufija stanja
RAID ravni se pokvarijo
Razložil je Linux RAID10
mdadm ukazna stran man
mdadm konfiguracijska datoteka man stran
Razložene so omejitve particij
Uporaba programske opreme RAID ne bo stala veliko… Samo vaš glas ;-)