Bruke Bcache å Soup Up Your SATA Drives

De fleste Linux-brukere som benytter Solid State Drives (SSD) bygger sine systemer med mindre SSD holder operativsystemet og de større, tregere, mye billigere HDD disker holder sine data. Når du prøver å lage den raskeste systemet mulig, men ønsker du å få disse dataene kjøre opp til hastigheter på din langt raskere SSD. Problemet er at svært store SSD kan være kostnads ​​uoverkommelige. Så, hva kan du gjøre? Med hjelp av bcache, kan du bruke en mindre SSD som en caching kjøretur for de større, tregere HDD. Med dette satt opp, har du det beste fra begge verdener.

  • En lynrask SSD boliger operativsystemet.
  • En bcache-aktivert SSD som bufrer for din store HDD data kjøretur .

    Per kernel 3,10, er bcache tilgjengelig med minimal installasjon og arbeid. Jeg vil lede deg gjennom prosessen med å få den bcache data "drive" oppe og går (forutsatt at du allerede har en fungerende Linux-system som kjører på raskere SSD-stasjon).

    Selv om du kan sette dette opp på en eksisterende system (med eksisterende data), jeg anbefaler deg å ikke gjøre det. Sjansen for å miste data er høy, så la oss starte med en frisk SSD (for caching) og en frisk harddisk (for lagring - eller "backing").

    Jeg skal illustrere denne prosessen ved hjelp av en arbeidsgruppe installasjon av Ubuntu 13.10, med en mindre SSD-stasjon (en billig 60 GB-stasjon vil fungere fint) og en mye større HDD-stasjon (like stor som nødvendig) for backing. La oss begynne.

    Installer verktøy

    Det første du må gjøre er å installere bcache-verktøy. Dette er verktøyet som vil opprette og registrere blokkere enheter å jobbe med bcache. For å installere bcache-verktøy må du først legge til depotet. Dette gjøres med følgende kommandoer:

     sudo add-apt-repository ppa: G2P /oppbevarings 

     sudo apt-get update 

     sudo apt-get install bcache-verktøy 

    Lag og registrere enhetene

    Før du sett om å skape dine bcache enheter, formatere begge stasjonene til ext4 filsystem ( Jeg foretrekker å bruke Gparted for dette). Når enhetene er formatert, kan du opprette og registrere enheter med hjelp av bcache-verktøy. La oss si at caching enhet (SSD) ligger på /dev /SDC og kompet enheten (HDD) er plassert på /dev /sdb. Først oppretter kompet enhet med følgende kommando:

     sudo make-bcache -B /dev /sdb1 

    Nå opprette caching enhet med følgende kommando:

     sudo make-bcache - C /dev /sdc1 

    Hvis du får en feilmelding om at det allerede er non-bcache super på enheten (e), må du fjerne disse feilene med wipefs kommandoen, som for eksempel:

     sudo wipefs -a /dev /sdb1 

    Du må kanskje gjøre det for både caching og backing enheter.

    Med distribusjoner som bruker udev (slik som Ubuntu), kan du hoppe over de neste to trinnene. Hvis fordelingen ikke bruker udev, må du registrere enhetene med kjernen. Vi vil gjøre dem en om gangen med kommandoene:

     sudo echo /dev /sdb1 > /sys /fs /bcache /register 
     sudo echo /dev /sdc1 > /sys /fs /bcache /register 

    Når backing enheten er registrert, vil det dukke opp i /dev i form av /dev /bcacheX (Der X er et tall - for eksempel /dev /bcache0). Registreringen kan enten gjøres manuelt (du må registrere deg på nytt hver gang du starter), eller du kan sette den til auto-register med en init script. Innholdet i at init script må være:

     echo /dev /sd * > /sys /fs /bcache /register_quiet 

    Dette vil lete etter og registrere bcache super og ignorere alt annet.

    Nå er det på tide å montere den nyopprettede filsystem. Dette gjøres med mount kommandoen:

     sudo mount /dev /bcacheX /sti /til /mount /point 

    Hvor X er enheten skal monteres (mest sannsynlig bcache0) og /sti /til /mount /point er den faktiske banen du vil montere enheten til. For eksempel kan du opprette en DATA mappe på /og deretter montere bcache0 det:

     mount /dev /bcache0 /DATA 

    MERK: Sørg for brukeren som vil ønske å skrive data til caching enheten har tillatelse til å skrive til datakatalogen.

    På dette punktet, vil cache sett dukke opp i /sys /fs /bcache /som en UUID (en UUID vil være en lang streng med tegn). Du trenger at UUID for neste kommando.

    Fest enhetene

    Enhetene er nå opprettet og registrert. Du har nå til å feste caching og backing enheter for å aktivere funksjonen som lagrer. Her trenger du UUID (en lang rekke tegn) funnet i /sys /fs /bcache /(skriv kommandoen: ls /sys /fs /bcache og du vil se den UUID). For å feste enhetene, du bare bruke echo-kommandoen for å legge til UUID til ved fil i /sys /block /bcache0 /bcache /. Kommandoen er:

     echo UUID > /sys /block /bcache0 /bcache /fest 

    Hvor UUID er selve UUID i /sys /fs /bcache.

    Din bcache systemet er nå klar til bruk. Bare skriv dine data til /DATA katalogen (se bildet nedenfor), og du bør nyte mye raskere data skriver.


    For å sjekke for å se om caching fungerer, åpne opp en terminal vindu og gi kommandoen:

     hale /sys /block /bcache0 /bcache /stats_total /* 
    Aktiver writeback caching

    Som standard bruker bcache writethrough caching. Med writethrough, bare leser bufres og skriver er skrevet direkte til backing stasjonen. Du kan få noen alvorlige fart ved at writeback caching. Vær advart, men dette er ikke på langt nær så pålitelig som writethrough modus. Du kan miste data bør det være en makt outtage eller hvis SSD svikter. Men hvis du lengter etter den ekstra bump av fart, kan du aktivere writeback caching av følgende kommando:

     echo writeback > /sys /block /bcache0 /bcache /cache_mode 

    Igjen vil jeg advare deg om at du bruker writeback-modus er ikke like pålitelig som writethrough.

    Hvis du leter etter en måte å presse så mye fart fra maskinene som mulig, kanskje bcache være akkurat det du trenger. Med riktig maskinvare, og bare litt tid, kan du få de eldre, tregere HDD stasjoner skrive data som om de var solid state-stasjoner. Men husk, alltid sikkerhetskopiere data før du prøver noe arbeid av denne art

    Red.anm:. For mer om bcache, lese Linux.com nylige artikkelen Alt om Linux Kernel: Bcache, eller se bcache dokumentasjon og en fullstendig liste over bcache og ytelse notater.