Zondag, 4 augustus, 2013 | Auteur:

Geschiedenis

Veel veranderd sinds ik laatst genoemde mijn persoonlijke server – het is gegroeid door sprongen en grenzen (het heeft nu een 7TB md RAID6) en het was onlangs herbouwd met Ubuntu Server.

Boog was nooit een fout. Arch Linux had al me zoveel geleerd over Linux (en zal dat blijven doen op mijn andere desktop). Maar Arch meer tijd en aandacht dan ik zou willen besteden op een server vereist zeker. Idealiter zou ik liever in staat zijn om te vergeten over de server voor een tijdje totdat een herinnering e-mail zegt “um … er zijn een paar updates die je moet kijken, maatje.”

Ruimte is niet gratis – en geen van beide is ruimte

De mogelijkheid om te migreren naar Ubuntu was het feit dat ik uit was weggelopen SATA havens, de poorten moeten hardeschijfstations met de rest van de computer – dat 7TB RAID-array gebruikt veel havens! Ik had zelfs weggegeven mijn zeer oude 200GB harde schijf als het duurde tot een van deze havens. Ik waarschuwde ook de ontvanger dat de schijf SMART controle aangegeven het was onbetrouwbaar. Als een tijdelijke oplossing om het gebrek aan SATA-poorten, Ik had zelfs gemigreerd OS van de server naar een set van vier USB-sticks in een md RAID1. Gek. Ik weet. Ik was niet al te blij met de snelheid. Ik besloot te gaan en koop een nieuwe betrouwbare harde schijf en een SATA uitbreidingskaart te gaan met het.

De server heeft als primaire Arch partitie werd met ongeveer 7 GB schijfruimte. Een grote brok van dat was een ruilen bestand, gegevens in de cache en anderszins diverse of onnodige bestanden. Het algemeen is de werkelijke omvang van de OS, waaronder de /huis map, was slechts ongeveer 2 GB. Dit zette me om te kijken naar een super-fast SSD drijven, denken misschien zou een kleinere niet zo duur te zijn. Het bleek dat de goedkoopste niet-SSD schijf die ik eigenlijk kon vinden kost meer dan een van deze relatief kleine SSD. Yay voor mij. 🙂

Keuze? Woah?!

Bij de keuze van het besturingssysteem, Ik had al besloten dat het niet Arch. Van alle andere populaire distributies, Ik ben het meest vertrouwd met Ubuntu en CentOS. Fedora ook mogelijk – maar ik had nog niet serieus overwogen het voor een server. Ubuntu won de ronde.

De volgende beslissing die ik moest maken kwam niet bij me tot Alomtegenwoordigheid (Ubuntu's installatie wizard) vroeg het van mij: Hoe het opzetten van de partities.

Ik ben nieuw in het gebruik SSD's in Linux was – Ik ben me goed bewust van de valkuilen van het niet gebruiken ze correct, vooral te wijten aan het risico van een slechte levensduur bij verkeerd gebruik.

Ik wilde niet een speciale swap partitie te gebruiken. Ik ben van plan over het upgraden van de server moederbord / CPU / geheugen niet te ver in de toekomst. Op basis van dat ik besloot dat ik zal swap gezet in een swap-bestand op de bestaande md RAID. De swap zal niet bijzonder snel, maar het enige doel zal zijn voor die zeldzame keer dat er iets mis is gegaan en het geheugen is niet beschikbaar.

Deze vervolgens liet me aan het geven wortelweg de volledige 60GB uit een Intel 330 SSD. Ik vond het scheiden / huis, maar het leek me gewoon een beetje zinloos, gegeven hoe weinig werd in het verleden. Ik voor het eerst het opzetten van de partitie met LVM – iets wat ik heb onlangs het doen wanneer ik het opzetten van een Linux doos (echt, er is geen excuus om niet te LVM gebruiken). Toen het aan het deel waar ik zou het bestandssysteem configureren, Ik klikte op de drop-down en instinctief gekozen ext4. Toen zag ik btrfs in dezelfde lijst. Wacht!!

Maar een wat?

Btrfs (“boter-eff-ess”, “beter eff-ess”, “bee-tree-eff-ess”, of wat je wilt op de dag) is een relatief nieuw bestandssysteem ontwikkeld om Linux te brengen’ bestandssysteem mogelijkheden weer op de rails met de huidige bestandssysteem tech. De bestaande King-of-the-Hill bestandssysteem, “ext” (de huidige versie, genaamd ext4) is vrij goed – maar het beperkt, vast te zitten in een oude paradigma (denken aan een gloednieuwe F22 Raptor vs. een F4 Phantom met een halve jested poging tot een equivalentie upgrade) en waarschijnlijk niet kunnen concurreren om zeer lang met nieuwere Enterprise bestandssystemen zoals Oracle's ZFS. Btrfs heeft nog een lange weg te gaan en wordt nog steeds beschouwd als experimenteel (afhankelijk van wie je het vraagt ​​en wat heeft u nodig). Velen beschouwen het als stabiel te zijn voor basis gebruik – maar niemand gaat om garanties te maken. En, natuurlijk, iedereen zegt te maken en te testen back-ups!

Mooooooo

Het meest fundamentele verschil tussen ext en btrfs is dat btrfs is een “CoW” of “Kopiëren op Schrijf” bestandssysteem. Dit betekent dat de gegevens nooit is eigenlijk bewust overschreven door internals van het bestandssysteem van de. Als u een wijziging in een bestand, btrfs zal uw wijzigingen schrijven naar een nieuwe locatie op fysieke media en zal het actualiseren van de interne pointers om te verwijzen naar de nieuwe locatie. Btrfs gaat een stap verder in dat de interne verwijzingen (aangeduid als metadata) zijn ook CoW. Oudere versies van ext zou gewoon overschreven gegevens. Ext4 zou gebruik maken van een Journal om ervoor te zorgen dat corruptie niet zal optreden moet de stekker worden rukte uit op het meest ongelegen moment. Het tijdschrift wordt een vergelijkbaar aantal stappen vereist om gegevens te wijzigen. Met een SSD, de onderliggende hardware werkt een vergelijkbaar CoW proces ongeacht wat bestandssysteem je gebruikt. Dit komt omdat SSD-schijven kunnen niet echt overschrijven van gegevens – ze moeten de gegevens te kopiëren (met uw wijzigingen) naar een nieuwe locatie en vervolgens helemaal wilt wissen het oude blok. Een optimalisatie op dit gebied is dat een SSD misschien niet eens wist het oude blok, maar gewoon een notitie maken om het blok op een later tijdstip te wissen wanneer de dingen niet zo druk. Het eindresultaat is dat SSD-schijven past heel goed bij een CoW bestandssysteem en niet zo goed presteren met niet-CoW bestandssystemen.

Tot overmaat van interessante, Koe in het bestandssysteem gaat gemakkelijk hand in hand met een functie genaamd deduplicatie. Hierdoor kunnen twee (of meer) identieke blokken gegevens worden opgeslagen met een enkele kopie, ruimtebesparing. Met koe, als een gededupliceerde bestand is gewijzigd, de aparte tweeling wordt niet beïnvloed als het gewijzigde bestand gegevens zullen zijn geschreven naar een andere fysieke blok.

CoW op zijn beurt maakt snapshotting relatief eenvoudig te implementeren. Als een snapshot gemaakt van het systeem registreert alleen de nieuwe snapshot als een verdubbeling van alle gegevens en metadata binnen het volume. Met koe, wanneer wijzigingen worden aangebracht, de momentopname van de gegevens blijft intact, en een consistent beeld van de status van het bestandssysteem op het moment van de snapshot werd gemaakt kan worden gehandhaafd.

Een nieuwe vriend

Met het bovenstaande in gedachten, vooral omdat Ubuntu heeft btrfs beschikbaar als een installatie-optie, Ik dacht dat het zou een goed moment om te duiken in btrfs en verken een beetje te zijn. 🙂

Deel 2 binnenkort …

Delen
U kunt alle reacties op dit bericht volgen via de RSS 2.0 voeden. U kunt een reactie achterlaten, of trackback vanaf je eigen site.
Laat een reactie achter » Log in