hoe te opstelling software raid voor een eenvoudige bestandsserver op ubuntu

Heeft u een bestandsserver op de goedkope, dat is eenvoudig te installeren nodig, “rock solid” betrouwbaar met Email Alerting? zal laten zien hoe je Ubuntu, software RAID en Samba gebruiken om dat te bereiken.

Ondanks de recente buzz om alles te verplaatsen naar de “all machtige” cloud, soms kunt u uw gegevens niet wilt dat in andermans server of het gewoon misschien niet haalbaar om de omvang van de gegevens die u nodig heeft van het internet elke keer te downloaden (bijvoorbeeld het inzetten ). Dus voordat je duidelijk een plaats in uw budget voor een storage-oplossing, overweeg dan een configuratie die gratis wordt vergunningenstelsel met Linux.

Met dat gezegd, gaan goedkope / gratis betekent niet “gooien voorzichtigheid aan de wind”, en daartoe, zullen we merken punten bewust te zijn van, configuraties die moeten worden in plaats naast het gebruik van software RAID, naar het bereiken maximumprijs betrouwbaarheid ratio.

Afbeelding door Filomena Scalise

Zoals de naam impliceert, is een RAID (Redundant Array of Inexpensive Disks) opstelling die volledig in software wordt uitgevoerd in plaats van een speciale hardwarekaart. Het belangrijkste voordeel van zoiets kosten, omdat dit specifieke kaart een extra premie aan de basisconfiguratie van het systeem. De belangrijkste nadelen zijn in principe de prestaties en sommige betrouwbaarheid als een dergelijke kaart gewoonlijk wordt geleverd met zijn eigen RAM + CPU aan de eisen voor de redundantie wiskundige berekeningen uit te voeren, gegevens caching voor betere prestaties, en de optionele back-up batterij die ongeschreven operaties houdt in de cache totdat de macht is hersteld in het geval van een stroomstoring out.

Met een software RAID opstelling uw opofferen van een deel van de systemen CPU-prestaties met het oog op vermindering van de totale kosten van het systeem, maar met de hedendaagse CPUs de overhead is relatief verwaarloosbaar (vooral als je gaat naar vooral wijden deze server naar een “bestandsserver” zijn). Voor zover schijf prestaties gaat, is er een boete … maar ik heb nog nooit een bottleneck van de schijf subsysteem ondervonden van de server om te zien hoe diep het is. Tom’s Hardware Guide “Tom’s gaat RAID5” is een oudje, maar een goody uitputtende artikel over het onderwerp, die ik persoonlijk als referentie gebruiken, maar neem de benchmarks met een korreltje zout want het is het over windows implementatie van software RAID (zoals bij alles anders, ik weet zeker dat Linux is veel beter: P).

De eerste stap in het voorkomen van een val is te weten van te bestaan ​​(Thufir Hawat van Dune).

Het kiezen van de schijven is een belangrijke stap die niet lichtvaardig moet worden genomen, en u verstandig om te profiteren van de uwe zou zijn werkelijk is ervaring en gehoor geven aan deze waarschuwing

Gebruik GEEN “consument rang” schijven op uw array te maken, gebruik “server rang” drives !!!!!!

Nu ik weet wat je denken, niet wij zeggen dat we gaan om te gaan op de goedkoop? en ja wij, maar dit is precies een van de plaatsen waar dit te doen is roekeloos en moet worden vermeden. Ondanks hun aantrekkelijke prijs, zijn consumenten rang harde schijven niet ontworpen om te worden gebruikt in een 24/7 “op” type van een gebruik. Geloof me, ondergetekende heeft geprobeerd dit voor jou. Minstens vier van de consument rang schijven in de 3 servers Ik heb opstelling als dit (als gevolg van budgettaire beperkingen) is mislukt na ongeveer 1,5 ~ 1,8 jaar vanaf de eerste dag van de lancering van de server. Hoewel er geen gegevens verloren gaan, omdat de RAID deed het werk goed en overleefde … momenten als deze verkorting van de levensduur van de sysadmin, en niet te vergeten down time voor het bedrijf van de server onderhoud (iets dat kan uiteindelijk kost meer dan de hogere rang drives).

Sommigen zullen zeggen dat er geen verschil is in fail rate tussen de twee soorten. Dat kan waar zijn, maar ondanks deze conclusies server rang schijven nog steeds een hogere SMART beperkingen en QAing daarachter (zoals kan worden waargenomen door het feit dat zij niet als de consument drives zijn verbruik wordt), dus ik nog steeds raden u vork uit het extra $$$ voor de upgrade.

Hoewel ik ben niet van plan in te gaan op alle beschikbare opties (dit is zeer goed gedocumenteerd in de RAID wikipedia entry), heb ik het gevoel dat het is opmerkelijk om te zeggen dat je altijd moet kiezen voor minstens RAID 6 of zelfs hoger ( zullen we gebruik van Linux RAID10). Dit komt omdat wanneer een schijf uitvalt, is er een hogere kans op een naburige schijf defect en dan heb je een “twee disk” falen op je handen. Bovendien, als je gaat naar grote schijven te gebruiken, zoals grotere schijven hebben een hogere gegevensdichtheid op het oppervlak van de schijf is, de kans op mislukking is hoger. IMHO schijven van 2T en daarbuiten zullen altijd vallen in deze categorie, dus wees gewaarschuwd.

Partitioning schijven

Terwijl in Linux / GNU, we konden het gehele blok apparaat voor opslag behoeften te gebruiken, zullen we partities te gebruiken omdat het maakt het makkelijker om de schijf te redden tools te gebruiken voor het geval dat het systeem is gek gegaan. We zijn met behulp van het programma “fdisk” hier, maar als je gaat naar schijven groter dan 2T je gaat nodig hebben om een ​​partitionering programma dat GPT-partitionering ondersteunt zoals scheidden gebruiken gebruiken.

sudo fdisk / dev / sdb

Let op: Ik heb gezien dat het mogelijk is om de serie te maken zonder dat de partitie type, maar omdat dit de beschreven over het hele net Ik ga dit voorbeeld te volgen (weer bij gebruik van de gehele block device dit niet nodig) manier.

Eenmaal in fdisk de toetsaanslagen zijn

n voor een nieuwe partitie, te betreden; p voor een primaire partitie voer, 1, aantal partitie voer, accepteer de standaard voer, accepteer de standaard; t, het type veranderen, fd, stelt het type te zijn “Linux raid automatisch detecteren” (83h); w, veranderingen naar schijf schrijven en af ​​te sluiten

Spoel en herhaal voor alle schijven die deel uitmaken van de array.

Het voordeel van “Linux raid10” is die hij kan gebruik maken van een niet-even aantal schijven prestaties en veerkracht verhogen verder dan de vanille RAID10, naast het feit dat bij gebruik van de “10” matrix kunnen worden gemaakt in één enkele stap.

Maak de array van de schijven die we in de laatste stap hebt voorbereid door de uitgifte van

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

Opmerking: Dit is slechts een regel hoewel de representatie breekt in twee.

Laten we de parameters af te breken

Let op: We gebruiken de “verre” plan, omdat dit zorgt ervoor dat de fysische gegevens lay-out op de schijven om niet hetzelfde te zijn. Dit helpt om de situatie waarin de hardware van een van de schijven niet te overwinnen als gevolg van een fabricagefout (en denk niet dat “dit zal mij niet gebeuren” zoals ondergetekende deed). Vanwege het feit dat de twee schijven van hetzelfde merk en model, zijn op dezelfde wijze en van oudsher houden van de gegevens op dezelfde fysieke locatie … Het risico bestaat dat de aandrijving met de kopie van de gegevens is mislukt ook of ligt dicht bij en zal niet de vereiste veerkracht totdat er een vervangende schijf komt. De “verre” plan maakt de data distributie naar een geheel andere fysieke locatie op de kopie schijven naast het gebruiken schijven die niet dicht bij elkaar in de computerbehuizing. Meer informatie vindt u hier en in de onderstaande links te vinden.

Zodra de matrix is ​​gemaakt, zal de synchronisatie starten. Terwijl u kunt wensen om te wachten voor het belang van tradities ‘(als dit een tijdje kan duren), kunt u beginnen met behulp van de matrix onmiddellijk.

De voortgang kan worden waargenomen met behulp van

horloge -d cat / proc / mdstat

Maak de mdadm.conf configuratiebestand

Terwijl het is bewezen dat Ubuntu gewoon weet te scannen en automatisch geactiveerd de array bij het opstarten, voor de volledigheid en hoffelijkheid voor de volgende sysadmin zullen we het bestand te maken. Uw systeem niet automatisch het bestand aan te maken en proberen om alle componenten / partities van uw RAID-set te herinneren, is een taille van gezond verstand het systeem admin’s. Deze informatie kan, en moet in het mdadm.conf worden bewaard. De opmaak kan lastig zijn, maar gelukkig is de output van -Scan -verbose bevel van de mdadm -detail biedt u het.

Let op: Er is gezegd dat: “De meeste distributies verwachten dat de mdadm.conf bestand in / etc / niet / etc / mdadm. Ik denk dat dit een “ubuntu-isme” te hebben als /etc/mdadm/mdadm.conf “. Vanwege het feit dat we hier met behulp van Ubuntu, zullen we gewoon gaan met het.

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

BELANGRIJK! je nodig hebt om te verwijderen een “0” van de nieuw gecreëerde file, omdat de syntax als gevolg van het bovenstaande commando is niet helemaal correct (GNU / Linux is geen OS nog) niet.

Als u het probleem dat dit verkeerd configuratie veroorzaakt zien, kunt u geven de “scan” commando op dit punt, alvorens de aanpassing

mdadm –examine –scan

Om dit te overwinnen, bewerk het bestand /etc/mdadm/mdadm.conf en verandering

metadata = 00,90

Lezen

metadata = 0,90

Het uitvoeren van de mdadm -examine -Scan opdracht moet nu terug te keren zonder een fout.

Ik gebruikte ext4 voor dit voorbeeld want voor mij is het gewoon gebouwd op de bekendheid van het ext3 bestandssysteem dat ervoor kwam, terwijl het verstrekken beloofde betere prestaties en kenmerken;. Ik stel voor het nemen van de tijd om te onderzoeken wat bestandssysteem beter past bij uw behoeften en een goede start voor dat is onze “Welke Linux File System moet u kiezen? ” artikel.

sudo mkfs.ext4 / dev / md0

Opmerking: In dit geval heb ik niet de resulterende array partitioneren omdat, ik gewoon niet nodig op het moment, als de verzoekende partij in het bijzonder ten minste 3.5T continue ruimte gevraagd. Met dat gezegd, had ik wilde partities aan te maken, ik zou hebben gehad om een ​​GPT partitioneren staat utility als “gescheiden” te gebruiken.

Maak het koppelpunt

sudo mkdir / media / RAID10

Opmerking: Dit kan elke locatie, het bovenstaande is slechts een voorbeeld.

Omdat we te maken hebben met een “samengestelde inrichting” We zullen geen gebruik maken van het bestandssysteem van de UUID die op het apparaat voor het monteren (zoals aanbevolen voor andere soorten apparaten in onze “wat is de linux fstab en hoe werkt het” gids) als de systeem kan eigenlijk zien een deel van het bestandssysteem op een individuele schijf en proberen om ten onrechte direct monteren. deze willen we expliciet wachten tot het apparaat is “geassembleerd” voordat we het proberen montage te overwinnen, en wij zullen de samengestelde array naam ( “MD”) binnen fstab gebruiken om dit te bereiken;. de fstab bestand bewerken

sudo vim / etc / fstab

En aan te vullen deze lijn

/ Dev / md0 / media / RAID10 / ext4 defaults 1 2

Let op: Als u de mount locatie of bestandssysteem uit het voorbeeld te wijzigen, moet u de bovenstaande dienovereenkomstig aan te passen.

Gebruik koppel met de automatische parameter (-a) een systeem boot te simuleren, zodat u weet dat de configuratie correct werkt en dat de RAID-apparaat automatisch worden gemonteerd wanneer het systeem opnieuw wordt opgestart

sudo mount -a

Je moet nu in staat zijn om de array gemonteerd met de commando ‘mount’ zonder parameters te zien.

In tegenstelling met hardware RAID arrays, met een software-serie is er geen controller die zou beginnen te piepen om u te laten weten wanneer er iets mis ging. Derhalve de E alerts gaat onze enige manier om te weten of er iets gebeurd met één of meer schijven in de array en waardoor het de belangrijkste stap.

Volg de “How To Setup E-mail Alerts op Linux gebruik van Gmail of SMTP” gids en als je klaar bent hier terug te komen naar de RAID specifieke stappen uit te voeren.

Bevestigen dat mdadm kan E-mail; Het commando hieronder zal mdadm vertellen om het vuur af slechts een e-mail en in de buurt.

sudo mdadm –monitor –scan –test –oneshot

Als succesvol je moet krijgen een e-mail, detaillering conditie van de array.

Stel de mdadm configuratie naar een e-mail bij het opstarten te zenden; Hoewel het niet een absolute must, het is leuk om een ​​update van tijd tot tijd te krijgen van de machine om ons te laten weten dat de e-mail mogelijkheid werkt nog steeds en de toestand van de array. je waarschijnlijk niet zal worden overweldigd door e-mails van deze instelling heeft alleen invloed startups (die op servers er niet veel zou moeten zijn) .; Bewerk het mdadm configuratiebestand

sudo vim / etc / default / mdadm

Voeg de -test parameter naar de sectie DAEMON_OPTIONS zodat het eruit zou zien

DAEMON_OPTIONS = “- syslog –test”

U mag de machine alleen opnieuw op te starten om ervoor te zorgen dat uw “in de loop”, maar het is geen must.

SAMBA installeren op een Linux-server maakt het mogelijk om op te treden als een Windows-bestandsserver. Dus om de gegevens die we zijn hosting op de Linux-server beschikbaar voor Windows-clients te krijgen, zullen we installeren en configureren Samba;. Het is grappig om te merken dat de naam van het pakket van de samba is een woordspeling op de Microsoft’s protocol dat wordt gebruikt voor het delen van bestanden genoemd SMB (service Message Block).

In deze gids de server wordt gebruikt voor testdoeleinden, dus we zullen de toegang tot haar aandeel in te schakelen zonder dat er een wachtwoord, wilt u misschien een beetje meer graven in hoe u machtigingen zodra de installatie is voltooid.

Ook is het raadzaam dat u een niet-bevoorrechte gebruiker aan te maken aan de eigenaar van de bestanden zijn. In dit voorbeeld gebruiken we de ‘geek’ gebruiker die we hebben gecreëerd voor deze taak. Uitleg over hoe je een gebruiker aanmaken en beheren eigendom en machtigingen kunt u vinden in onze “Maak een nieuwe gebruiker op Ubuntu Server 9.10” en “The Beginner’s Guide to Managing Gebruikers en groepen in Linux” gidsen.

Installeer Samba

aptitude install samba

Bewerk het Samba configuratiebestand

sudo vim /etc/samba/smb.conf

Voeg een aandeel genoemd “algemene” dat de toegang tot het koppelpunt zal verlenen “/ media / RAID10 / algemeen” door het toevoegen van de onderstaande naar het bestand.

[Algemene]; path = / media / RAID10 / algemeen; force user = geek; force groep = geek; read only = Nee, maak masker = 0777; folder masker = 0777; gasten alleen = Ja, ok gast = ja

De bovenstaande instellingen maken het aandeel adresseerbare zonder wachtwoord voor iedereen en maakt de default eigenaar van de bestanden van de gebruiker “geek”.

Voor uw referentie, werd deze smb.conf bestand afkomstig van een werkende server.

Start de samba dienst voor de instellingen over te nemen van invloed

sudo /etc/init.d/samba restart

Eenmaal gedaan kunt u de testparm commando gebruiken om de op de samba server instellingen zien;. Dat is het, zou de server nu, toegankelijk vanaf elke Windows-box met behulp van

\ Server-namegeneral

Wanneer je nodig hebt om een ​​probleem op te lossen of een schijf is mislukt in een array, stel ik verwijzen naar de mdadm spiekbriefje (dat is wat ik doe …).

In het algemeen moet u niet vergeten dat wanneer een schijf defect raakt je nodig hebt om het uit de array, shutdown de machine “verwijderen”, vervangt de falende schijf met een vervanging en vervolgens “add” het nieuwe station aan de array nadat u de juiste schijf hebt gemaakt layout (partities) op indien nodig.

Zodra dat is gebeurd kunt u ervoor zorgen dat de array is de wederopbouw van en kijken naar de voortgang van

horloge -d cat / proc / mdstat

Succes!:)

Referenties; mdadm cheat sheet; RAID-niveaus af te breken; Linux RAID10 uitgelegd; mdadm commando man-pagina; mdadm configuratiebestand man-pagina; Partition beperkingen verklaard

geweldig schrijf up man. bedankt!

Dit is precies wat ik nodig had. Bedankt

Misschien het vermelden waard dat de RAID-config is opgeslagen op de schijven, dus als je verloor de ubuntu installeren of ik werd corrupt zou je niet de array te verliezen, en als je eenmaal hebt opgebouwd uw installatie kunt u opnieuw scannen voor uw array en monteer deze

Kimbie

Hartelijk dank voor deze leuke en makkelijk te volgen artikel. Het is handig als ik net een doos met Ubuntu 10.10 server thuis, dat moet fungeren als een file server 🙂

Dit artikel is zeer goed geschreven. Ik beschouw mezelf nieuw voor Linux en raids en nog wat vragen. Met een software-raid als dit, ik neem aan dat alle stations worden weergegeven als slechts één grote schijf naar de os. In dit specifieke raid configuratie doen het alle stations moeten dezelfde grootte hebben? En kan grotere schijven / meer schijven van de weg worden toegevoegd omlaag zonder dat het volledig revisie van de overval? Ik wil graag om dit te implementeren in mijn huis server met de aandrijving heb ik door de jaren heen verzameld voor mijn onbelangrijke gegevens.

@spencer, terwijl het is niet een must dat de schijven van dezelfde grootte voor alle RAID-configuraties zullen zijn die er zijn, in dit artikel gebruikten we RAID10 en zoals in de meeste redundantie verstrekken van RAID, in dit type van een RAID de grootte van de kleinste schijf die de grootte van de matrix te stellen. Ik adviseer sterk NIET het gebruik van RAID met oude en ongelijke schijven en nog sterker tegen het gebruik van JOBD type van een raid (Just a Bunch Of Drives) als slechts een enkele schijf defect zal de gegevens van de hele array verloren gaan.

mijn aanbeveling is om een ​​grote schijf te kopen om uw oude te vervangen, zoals andere dan het feit dat het zal uw gegevens betrouwbaarder te houden dan een Frankenstein RAID, kan het energieverbruik zelfs lager dan een enkele oude drive … laat een eenzame meerdere degenen .

hoop dat uw vragen beantwoordt en blijf op de zoektocht naar kennis 🙂

Groot artikel, dankzij een molen! Net als de grafische, wat app heb je gebruikt?

@Gee, Je zeer welkom …, als voor de grafische, zou je Filomena Scalise vragen toen ze de afbeelding gemaakt … Ik heb net de bijschriften toegevoegd (met verf).

dankzij how-to-geek … helpen immensly

Wat gebeurt er als je de schijf te verliezen waar je boot partitie bestaat?

Ik krijg een foutmelding wanneer partitionering dat er staat is niet goed uitgelijnd door 512 bytes …. Gaat dat een probleem zijn?

Samuel Seymour was getuige van de moord op Lincoln op de leeftijd van vijf, was hij niet alleen de langst overlevende getuige van het evenement, maar hij leefde zo lang hij in staat om het incident live op televisie vertellen in 1956 was.