Slik installerer du programvare RAID for en enkel filserver på Ubuntu

Innholdsfortegnelse:

Slik installerer du programvare RAID for en enkel filserver på Ubuntu
Slik installerer du programvare RAID for en enkel filserver på Ubuntu

Video: Slik installerer du programvare RAID for en enkel filserver på Ubuntu

Video: Slik installerer du programvare RAID for en enkel filserver på Ubuntu
Video: iOS Sandboxing and What it Means for Your App - YouTube 2024, April
Anonim
Trenger du en filserver på det billige som er enkelt å installere, er "solid" pålitelig med e-postvarsling? vil vise deg hvordan du bruker Ubuntu, software RAID og SaMBa for å oppnå akkurat det.
Trenger du en filserver på det billige som er enkelt å installere, er "solid" pålitelig med e-postvarsling? vil vise deg hvordan du bruker Ubuntu, software RAID og SaMBa for å oppnå akkurat det.

Oversikt

Til tross for den siste buzzen for å flytte alt til "all mektig" skyen, kan du noen ganger ikke ha informasjonen din på en annen servers server, eller det er kanskje ikke mulig å laste ned volumene data du trenger fra Internett hver gang (for eksempel bildeutplassering ). Så før du fjerner et sted i budsjettet ditt for en lagringsløsning, bør du vurdere en konfigurasjon som er lisensiert gratis med Linux.

Med det sagt, å gå billig / gratis betyr ikke "å gi forsiktighet til vinden", og i den sammenheng vil vi legge merke til punkter for å være klar over, konfigurasjoner som bør settes på plass i tillegg til å bruke programvare RAID for å oppnå maksimal pris til pålitelighetsgrad.

Bilde av Filomena Scalise

Om programvare RAID

Som navnet antyder, er dette en RAID (Redundant Array of Cheap Disks) oppsett som er ferdig fullstendig i programvare i stedet for å bruke et dedikert maskinvarekort. Den største fordelen med en slik ting er kostnad, da dette dedikerte kortet er en ekstra premie til systemets grunnkonfigurasjon. De viktigste ulempene er i utgangspunktet ytelse og noe pålitelighet, da et slikt kort vanligvis leveres med sin egen RAM + CPU for å utføre beregningene som kreves for redundansmatematikken, datakuffering for økt ytelse og det valgfrie backup-batteriet som holder ukjente operasjoner i hurtigbufferen til Strømmen er gjenopprettet i tilfelle strømmen er ute.

Med et programvare RAID-oppsett, avleder du noen av systemens CPU-ytelse for å redusere total systemkostnad, men med dagens CPUer er overhead relativt ubetydelig (spesielt hvis du først og fremst vil dedikere denne serveren til å være en "filserver"). Så langt som diskopptreden går, er det en straff … men jeg har aldri opplevd en flaskehals fra diskdelsystemet fra serveren for å merke hvor dyp det er. Tom's Hardware Guide "Tom er RAID5" er en gammel, men en god uttømmende artikkel om emnet, som jeg personlig bruker som referanse, men ta målene med et saltkorn som det snakker om Windows-implementering av programvare RAID (som med Alt annet, jeg er sikker på at Linux er mye bedre: P).

Forutsetninger

  • Tålmodighet ung, dette er en lang lesning.
  • Det antas at du vet hva RAID er og hva det brukes til.
  • Denne veiledningen ble skrevet ved hjelp av Ubuntu server9.10 x64, derfor antas det at du har et Debian-basert system for å jobbe med også.
  • Du vil se meg bruke VIM som redigeringsprogrammet, dette er bare fordi jeg er vant til det … du kan bruke hvilken som helst annen rediger du vil ha.
  • Ubuntu-systemet jeg brukte til å skrive denne håndboken, ble installert på en disk-on-key. Å gjøre det tillot meg å bruke sda1 som en del av RAID-arrayet, så juster deretter til oppsettet ditt.
  • Avhengig av hvilken type RAID du vil opprette, trenger du minst to disker på systemet ditt og i denne veiledningen bruker vi 6 stasjoner.

Velge diskene som lager oppstillingen

Det første trinnet i å unngå en felle er å vite om dens eksistens (Thufir Hawat from Dune).

Å velge diskene er et viktig skritt som ikke bør tas lett, og du vil være klokt å kapitalisere på din virkelig erfaring og ivareta denne advarselen:

Gjøre IKKE bruk "forbruker grade" -stasjoner for å lage ditt array, bruk "server grade" -stasjoner !!!!!!

Nå vet jeg hva du tenker, sa vi ikke vi skal gå på den billige? og ja det gjorde vi, men dette er akkurat et av stedene der det gjøres, er hensynsløs og bør unngås. Til tross for deres attraktive pris, er ikke harddisker av forbrukerklasse designet for å brukes i en 24/7 "på" type bruk. Stol på meg, din har virkelig prøvd dette for deg. Minst fire forbrukerkvalitetsdrifter i de 3 serverne jeg har installert på denne måten (på grunn av begrensede begrensninger) mislyktes etter ca. 1,5 ~ 1,8 år fra serverens første lanseringsdag. Mens det ikke var noe datatap, fordi RAID gjorde det jobb vi vil og overlevde … øyeblikk som dette forkorte sysadminens forventede levetid, for ikke å nevne nedetid for selskapet for servervedlikehold (noe som kan ende opp med å koste mer enn høyere klasse-stasjoner).

Noen kan si at det ikke er noen forskjell i sviktfrekvensen mellom de to typene. Det kan være sant, men til tross for disse påstandene har serverkvalitetsstasjoner fortsatt et høyere nivå av SMART-restriksjoner og QAing bak dem (som kan observeres av det faktum at de ikke slippes ut på markedet så snart forbrukerstasjonen er). så jeg anbefaler fortsatt at du gaffel ut ekstra $$$ for oppgraderingen.

Velger RAID-nivået.

Selv om jeg ikke skal gå inn i alle tilgjengelige alternativer (dette er veldig godt dokumentert i RAID wikipedia-oppføringen), føler jeg at det er bemerkelsesverdig å si at du alltid bør velge minst RAID 6 eller enda høyere ( vi skal bruke Linux RAID10). Dette skyldes at når en disk svikter, er det en høyere sjanse for en nærliggende diskfeil, og da har du en "to disk" -feil på hendene.Videre, hvis du skal bruke store stasjoner, da større disker har høyere datatetthet på platens overflate, er sjansen for feil, høyere. IMHO-disker fra 2T og utover vil alltid falle inn i denne kategorien, så vær oppmerksom på.

La oss få sprekker

Partisjoneringsdisker

Mens i Linux / GNU, kan vi bruke hele blokkeringsenheten til lagringsbehov, vi vil bruke partisjoner fordi det gjør det enklere å bruke redningsverktøy i tilfelle systemet har gått bonkers. Vi bruker "fdisk" -programmet her, men hvis du skal bruke disker som er større enn 2T, må du bruke et partisjoneringsprogram som støtter GPT-partisjonering som parted.

sudo fdisk /dev/sdb

Merk: Jeg har observert at det er mulig å lage arrayet uten å endre partisjonstypen, men fordi dette er måten som beskrives over nettet, skal jeg følge med (igjen når du bruker hele blokkeringsenheten er dette unødvendig).

En gang i fdisk er tastetrykkene:

n; for en ny partisjon Tast inn p; for en primær partisjon Tast inn 1; antall partisjoner Tast inn; godta standard Tast inn; godta standard t; å endre typen fd; setter typen for å være "Linux raid auto detect" (83h) w; skriv endringer til disk og avslutte

Skyll og gjenta for alle diskene som vil være en del av arrayet.

Opprette en Linux RAID10-array

Fordelen med å bruke "Linux raid10 "er at den vet hvordan man kan dra nytte av et ujevnt antall disker for å øke ytelsen og fleksibiliteten enda lenger enn vanilje RAID10, i tillegg til at når man bruker den, kan" 10 "-oppsettet opprettes i en enkelt skritt.

Opprett matrisen fra diskene vi har utarbeidet i siste trinn ved å utstede:

sudo mdadm --create /dev/md0 --chunk=256 --level=10 -p f2 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --verbose

Merk: Dette er alt bare en linje til tross for at representasjonen bryter den inn i to.

La oss bryte parametrene ned:

  • "-Chunk = 256" - Størrelsen på bytes raid stripes er ødelagt, og denne størrelsen anbefales for nye / store disker (2T-stasjonene som brukes til å lage denne guiden var uten tvil i den kategorien).
  • "-Level = 10" - Bruker den Linux raid10 (hvis en tradisjonell raid kreves, for noen grunn, må du lage to arrays og bli med dem).
  • "-P f2" - Bruker "langt" rotasjonsplanen se notat under for mer info og "2" forteller at arrayet vil beholde to kopier av dataene.

Merk: Vi bruker "langt" planen fordi dette fører til at det fysiske datalayoutet på diskene IKKE er det samme. Dette bidrar til å overvinne situasjonen der maskinvaren til en av stasjonene mislykkes på grunn av en produksjonsfeil (og ikke tenk "dette kommer ikke til å skje" som det egentlig gjorde). På grunn av det faktum at de to diskene er av samme fabrikat og modell, har de blitt brukt på samme måte og har tradisjonelt lagret dataene på samme fysiske plassering … Risikoen er at disken som holder kopien av dataene har feilet for eller er nær og vil ikke gi den nødvendige fleksibiliteten til en erstatningsdisk kommer. Den "langt" planen gjør datafildelingen til en helt annen fysisk plassering på kopieringsstasjonene i tillegg til å bruke disker som ikke er nær hverandre i datasettet. Mer informasjon finner du her og i linkene under.

Når matrisen er opprettet, starter den sin synkroniseringsprosess. Mens du kanskje ønsker å vente på tradisjonens skyld (dette kan ta en stund), kan du begynne å bruke arrayet umiddelbart.

Fremdriften kan observeres ved å bruke:

watch -d cat /proc/mdstat

Opprett mdadm.conf konfigurasjonsfilen

Selv om det har blitt bevist at Ubuntu bare vet å skanne og aktivere arrayet automatisk ved oppstart, for fullstendig skyld og høflighet for neste sysadmin, vil vi opprette filen. Systemet lager ikke automatisk filen og prøver å huske alle komponentene / partisjonene til RAID-settet, er en midje av systemadministratorens sanselighet. Denne informasjonen kan og bør lagres i mdadm.conf filen. Formateringen kan være vanskelig, men heldigvis gir utdataene fra mdadm -detail -scan -verbose-kommandoen deg det.

Merk: Det har blitt sagt at: "De fleste distribusjoner forventer mdadm.conf filen i / etc /, not / etc / mdadm. Jeg tror dette er en "ubuntu-ism" for å ha det som /etc/mdadm/mdadm.conf ". På grunn av det faktum at vi er bruker Ubuntu her, vi vil bare gå med det.

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

VIKTIG! Du må fjerne en "0" fra den nylig opprettede filen fordi syntaksen som følger med kommandoen ovenfor, ikke er helt riktig (GNU / Linux er ikke et OS ennå).

Hvis du vil se problemet som denne feil konfigurasjonen forårsaker, kan du utstede skanne” kommandoen på dette punktet, før du foretar justeringen:

mdadm --examine --scan

For å overvinne dette, rediger filen /etc/mdadm/mdadm.conf og endre:

metadata=00.90

Å lese:

metadata=0.90

Kjører mdadm -examine -scan Kommandoen skal nå returnere uten en feil.

Oppsett av filsystem på arrayen

Jeg brukte ext4 for dette eksempelet fordi for meg det bare bygget på kjennskap til ext3 filsystemet som kom før det, samtidig som det ga lovet bedre ytelse og funksjoner. Jeg foreslår at du tar deg tid til å undersøke hvilket filsystem bedre passer dine behov, og en god start for det er vår "Hvilket Linux-filsystem bør du velge?" Artikkelen.

sudo mkfs.ext4 /dev/md0

Merk: I dette tilfellet delte jeg ikke den resulterende oppstillingen fordi jeg ganske enkelt ikke trengte det på det tidspunktet, da den anmodende partiet spesielt ba om minst 3,5 T kontinuerlig plass. Med det sagt, hadde jeg ønsket å lage partisjoner, ville jeg hatt å bruke en GPT-partisjonering-funksjon som "parted".

monterings~~POS=TRUNC

Opprett festepunktet:

sudo mkdir /media/raid10

Merk: Dette kan være noe sted, det ovenfor er bare et eksempel.

Fordi vi har å gjøre med en "samlet enhet" vil vi ikke bruk filsystemets UUID som er på enheten for montering (som anbefalt for andre typer enheter i vår "Hva er Linux fstab og hvordan fungerer det"), da systemet faktisk kan se en del av filsystemet på en individuell disk og Prøv å feil Monter den direkte. for å overvinne dette vil vi eksplisitt vente på at enheten skal "settes sammen" før vi prøver å montere den, og vi vil bruke det sammensatte arrayets navn ("md") innenfor fstab for å oppnå dette. Rediger fstab-filen:

sudo vim /etc/fstab

Og legg til denne linjen:

/dev/md0 /media/raid10/ ext4 defaults 1 2

Merk: Hvis du endrer monteringsstedet eller filsystemet fra eksemplet, må du justere ovenstående tilsvarende.

Bruk monteringen med den automatiske parameteren (-a) for å simulere en systemstart, slik at du vet at konfigurasjonen fungerer som den skal, og at RAID-enheten vil bli automatisk montert når systemet starter på nytt:

sudo mount -a

Du bør nå kunne se arrayet montert med "mount" kommandoen uten parametere.

E-postvarsler for RAID-arrayet

I motsetning til hardware RAID-arrayer, med en programvaregruppe, er det ingen kontroller som ville begynne å pipe for å fortelle deg når noe gikk galt. Derfor vil e-postvarslene være vår eneste måte å vite om noe skjedde med en eller flere disker i arrayet, og dermed gjør det til viktigste trinnet.

Følg instruksjonene "Hvordan oppsett e-postvarsler på Linux ved hjelp av Gmail eller SMTP" og når du er ferdig, kom tilbake hit for å utføre RAID-spesifikke trinn.

Bekreft at mdadm kan e-post Kommandoen under, vil fortelle mdadm å brenne av bare en e-post og lukke.

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

Hvis du lykkes, skal du få en e-post, og angi arrayets tilstand.

Angi mdadm-konfigurasjonen for å sende en e-post ved oppstart Selv om det ikke er et absolutt must, er det fint å få en oppdatering fra tid til annen fra maskinen for å gi oss beskjed om at e-postfunksjonen fortsatt fungerer og i tilstanden til arraysystemet. Du vil sannsynligvis ikke bli overveldet av e-postmeldinger, da denne innstillingen bare påvirker oppstart (som på servere bør ikke være mange). Rediger mdadm konfigurasjonsfilen:

sudo vim /etc/default/mdadm

Legg til -test parameter til DAEMON_OPTIONS seksjon slik at det vil se ut som:

DAEMON_OPTIONS='--syslog --test'

Du kan starte maskinen på nytt for å sørge for at du er "i loop", men det er ikke et must.

Samba Konfigurasjon

Installering av SaMBa på en Linux-server gjør det mulig å opptre som en Windows-filserver. Så for å få de dataene vi er vert for på Linux-serveren tilgjengelig for Windows-klienter, vil vi installere og konfigurere SaMBa. Det er morsomt å merke seg at pakkenavnet SaMBa er et ordspill på Microsofts protokoll som brukes til fildeling, kalt SMB (Service Message Block).

I denne veiledningen brukes serveren til testformål, slik at vi får tilgang til sin del uten krever et passord, kan det være lurt å grave litt mer på hvordan du konfigurerer tillatelser når oppsettet er fullført.

Det anbefales også at du oppretter en ikke-privilegert bruker som eier av filene. I dette eksemplet bruker vi den "geek" brukeren vi har opprettet for denne oppgaven. Forklaringer på hvordan du oppretter en bruker og administrerer eierskap og tillatelser, finner du i guiden "Opprett en ny bruker på Ubuntu Server 9.10" og "Begynnerhåndboken for å administrere brukere og grupper i Linux".

Installer Samba:

aptitude install samba

Rediger samba konfigurasjonsfilen:

sudo vim /etc/samba/smb.conf

Legg til en del kalt "generell" som vil gi tilgang til monteringspunktet "/ media / raid10 / general" ved å legge til undernavnet til filen.

[general] path = /media/raid10/general force user = geek force group = geek read only = No create mask = 0777 directory mask = 0777 guest only = Yes guest ok = Yes

Innstillingene ovenfor gjør at aksjen kan adresseres uten et passord til noen og gjør standard eieren av filene brukerens "geek".

Som referanse ble denne smb.conf filen hentet fra en arbeidsserver.

Start samba-tjenesten på nytt for at innstillingene skal påvirke:

sudo /etc/init.d/samba restart

Når du er ferdig kan du bruke testparm kommando for å se innstillingene som er brukt på samba-serveren. det er det, serveren skal nå være tilgjengelig fra alle Windows-bokser ved å bruke:

server-namegeneral

Feilsøking

Når du trenger å feilsøke et problem eller en disk har mislyktes i en matrise, foreslår jeg å referere til mdadm-fusenarket (det er det jeg gjør …).

Generelt bør du huske at når en disk mislykkes, må du "fjerne" den fra matrisen, slå av maskinen, bytte ut den sviktende stasjonen med en erstatning og deretter "legge til" den nye stasjonen til matrisen etter at du har opprettet riktig disk layout (partisjoner) på den om nødvendig.

Når det er gjort, kan det være lurt å sørge for at arrayet gjenoppbygges og se fremdriften med:

watch -d cat /proc/mdstat

Lykke til!:)

referanser: mdadm lureri ark RAID-nivåer brytes ned Linux RAID10 forklart mdadm kommandobokkside mdadm konfigurasjonsfil man side Partisjon begrensninger forklart

Bruke programvare RAID vil ikke koste mye … Bare din stemme;-)

Anbefalt: