sql >> Database teknologi >  >> RDS >> PostgreSQL

Tilbagekomsten af ​​XFS på Linux

Hvis du kører Linux, og især hvis du kører en database på Linux, har det været svært at anbefale noget andet filsystem end almindeligt gammelt ext3 i de seneste år. Nogle af de alternativer, der så interessante ud på et tidspunkt – jfs, ReiserFS – er fuldstændig forladt på dette tidspunkt. Den, der har været næsten levedygtig i nogen tid nu, er XFS, oprindeligt et SGI-projekt. Og det er tilbage til at være i rampelyset igen i denne uge.

XFS havde tidligere lidt af en række problemer. Da det var designet til stabil hardware, var det ikke så robust på standard billig pc-hardware i starten; en del af det blev lige ryddet op for to år siden. Det havde dette mærkelige problem med nulstillede filer, der skræmte nogle mennesker væk. Det blev behandlet som en andenrangsborger i forretningsorienterede Linux-distributioner som RedHat, hvilket kræver, at du kompilerer din egen kerne; selv på det mindre restriktive CentOS, skulle du udføre nogle underligt udseende opsætningstrin for at tilføje XFS-understøttelse, og resultatet var helt åbenlyst ikke understøttet. Og som et af de første filsystemer, der tændte og aggressivt brugte skrivebarrierer, var implementeringer sårbare over for drev og controllere, der ikke tømmede deres cache, når de blev bedt om det, et problem, du ikke længere finder så ofte på moderne hardware, hvis du konfigurerer det er rigtigt (undtagen SSD'er, men det er en anden historie).

Så hvorfor gider det? Nå, præstation er en væsentlig årsag. Jeg fandt mig selv i at arbejde med XFS igen, da jeg arbejdede med Greenplums gratis Single Node Edition-software for nylig. Greenplum fortalte mig direkte, at de ikke anbefalede andet end XFS til højtydende installationer, og i betragtning af de underliggende ligheder med fællesskabet PostgreSQL følte jeg, at det var værd at undersøge, hvorfor det var noget mere.

Timingen på det viste sig at være perfekt. En af de andre begrænsninger ved ext3 er, at den på almindelig hardware kun understøtter 16 TB lagerplads. Da du kan lægge så meget lagerplads i et mellemstort diskrack nu, er det tydeligvis ikke nok til avancerede systemer i dag, meget mindre om et par år. Da RedHat indså det, har RedHat for alvor genoplivet deres støtte til XFS i deres distribution af Linux. RHEL 5.4, udgivet for et par måneder siden, tilføjede det igen som et valgfrit modul for nogle kunder. Du kunne stadig ikke installere på XFS, og selv CentOS-versionen understøttede ikke 32-bit installationer, men den tog tydeligt skridt mod mainstream igen.

I går blev den første offentlige beta af RHEL6 udgivet, og XFS er tilbage til at være lige i det store funktionssæt. Den sidder ved siden af ​​ext4 på den understøttede filsystemliste og påpeger dens egnethed til især store installationer. Så jeg kan nu fortælle folk, at de har XFS-understøttelse tilgængelig i noget grov form i RHEL/CentOS 5.4, med forventning om, at det er et førsteklasses understøttet filsystem, da systemer opgraderes til RHEL6 og dets derivater i fremtiden, og har et vist håb om, at vil være pålidelige.

Med Enterprise Linux-understøttelsen og dermed den opfattede stabilitetsside af XFS-koden endelig under kontrol igen, hvad med ydeevnen? Nå, det viser sig, at Greenplum havde ret i, at XFS var besværet værd at komme i gang. Jeg tog min testserver og omformaterede et af dets moderat hurtige drev med tre forskellige filsystem/mount-kombinationer: ext3 ordered, ext3 journal og xfs. Efter tre bonnie++ 1.96-kørsler med hvert filsystem, blev de resultater, jeg så, opdelt således:

  • ext3 bestilt:  39-58MB/s skrive, 44-72MB/s læse
  • ext3 journal:  25-30MB/s skrive, 49-67MB/s læst
  • xfs:  68-72 MB/s skrive, 72-77 MB/s læse

Mens de bedste af ext3-læseresultaterne nærmede sig lignende niveauer, som xfs var i stand til, klarede det sig i gennemsnit meget bedre. Og skriveresultaterne var mindst 25 % bedre i alle tilfælde. Jeg kunne også godt lide den strammere, mere forudsigelige gennemstrømning; inkonsistent ydeevne er noget, jeg ofte kæmper med på ext3.

Jeg er normalt ikke en til at være en tidlig adopter af nye Linux-udgivelser, men RHEL6-betaen med fuld XFS-understøttelse har erstattet den helt igennem undervældende nye Ubuntu-udgivelse øverst på min liste over operativsystemer, der skal installeres næste gang. Det er ikke ofte, du ser filsystemteknologi få en ny chance for at imponere, men XFS ser ud til at have foretaget en uventet overgang tilbage til fuldstændig relevant igen, indtil videre. Jeg er ikke sikker på, hvor længe det vil være sandt, da både ext4 allerede er tilgængelig og btrfs, der kommer tættere på produktionskvalitet ved for nylig at nå et stabilt diskformat. Det bliver interessant at se, hvordan dette genoplivede sæt af filsystemvalg på Linux udspiller sig.


  1. Eksempel på hvordan man bruger bind_result vs get_result

  2. Formatering af tal ved at udfylde med indledende nuller i SQL Server

  3. beregne timer baseret på arbejdstimer i Oracle SQL

  4. Krydstabeller med et stort eller udefineret antal kategorier