Domača » kako » Kako namestiti programski RAID za preprost datotečni strežnik na Ubuntu

    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 ;-)