blog-vitalika.ru

  

Bästa artiklarna:

  
Main / Centos 7 1 bcache howto

Centos 7 1 bcache howto

GitHub är hem för över 36 miljoner utvecklare som arbetar tillsammans för att vara värd och granska kod, hantera projekt och bygga programvara tillsammans. Hoppa till innehåll. Permalink Avvisa Gå med i GitHub idag GitHub är hem för över 36 miljoner utvecklare som arbetar tillsammans för att vara värd och granska kod, hantera projekt och bygga programvara tillsammans. Bli Medlem. Hitta fil Kopiera sökväg. Råskuldshistoria. Anta att du har en stor långsam raid 6 och en X-25E eller tre.

Skulle det inte vara trevligt om du kunde använda dem som cache ... Därav bcache. Wiki och git-arkiv är på: Det är utformat för att undvika slumpmässiga skrivningar till varje pris; det fyller i ett raderingsblock sekventiellt och utfärdar sedan en kassering innan den återanvänds. Både genomskrivning och återlagringscaching stöds. Writeback är som standard av, men kan slås på och av godtyckligt vid körning. Bcache sträcker sig mycket för att skydda dina data - det hanterar pålitligt avstängning.

Det har inte ens en uppfattning om en ren avstängning; bcache returnerar helt enkelt inte skrivningar som slutförda förrän de har stabil lagring. Writeback-cachning kan använda det mesta av cacheminnet för att buffra skrivningar - att skriva smutsiga data till backenheten görs alltid sekventiellt och skannas från början till slutet av indexet.

Bcache upptäcker sekventiell IO och hoppar över den; det håller också ett rullande medelvärde av IO-storlekarna per uppgift, och så länge genomsnittet är över gränsen kommer det att hoppa över alla IO från den uppgiften - istället för att cacha de första 512k efter varje sökning. Säkerhetskopior och stora filkopior bör alltså helt kringgå cachen.

I händelse av ett data-IO-fel på blixten kommer det att försöka återställa genom att läsa från disken eller ogiltigförklara cacheposter. För oåterhämtningsbara fel metadata eller smutsiga data inaktiveras cachning automatiskt. om smutsiga data fanns i cachen, inaktiverar den först återskrivningscaching och väntar på att alla smutsiga data ska spolas.

Komma igång: Du behöver make-bcache från bcache-tools-arkivet. Både cache-enheten och backenheten måste formateras före användning. Men första gången du använder en ny bcache-enhet kommer den att köras i genomströmningsläge tills du kopplar den till en cache.

Se avsnittet om bifogning. Efter att din cache-enhet och backenhet har registrerats måste backenheten vara ansluten till din cache-uppsättning för att aktivera cachning. Nästa gång du startar om, registrera bara om alla dina bcache-enheter. Om du startar upp och din cache-enhet är borta och aldrig kommer tillbaka kan du tvinga att köra säkerhetskopieringsenheten: Om det fanns smutsiga data i cachen, förvänta dig inte att filsystemet skulle kunna återställas - du kommer att ha massiv filsystemskada , även om ext4s fsck gör mirakel.

Detta kan förbättras - vi kan försöka igen som en skrivning som hoppar över cachen så att vi inte behöver göra fel på skrivningen. Det gör för närvarande inte något intelligent om det inte går att läsa några av de smutsiga uppgifterna. Bcache har en massa konfigurationsalternativ och tunables.

Standardinställningarna är tänkta att vara rimliga för typiska arbetsbelastningar på skrivbordet och servern, men de är inte vad du vill för att få bästa möjliga siffror vid benchmarking.

Det försöker hoppa över sekventiell IO - för att du verkligen vill cacha den slumpmässiga IO, och om du kopierar en 10 gigabyte-fil vill du förmodligen inte att trycka 10 gigabyte slumpmässigt åtkomstdata ur din cache. Men om du vill jämföra läsningar från cache och börja med att fio skriver en 8 gigabyte testfil - så du vill inaktivera det.

Så du vill undvika att bli flaskhalsad av SSD och att det saktar ner allt. För att undvika att bcache spårar latens till cache-enheten och gradvis stryker trafiken om latensen överskrider ett tröskelvärde gör det genom att dra ner den sekventiella förbikopplingen. Du kan inaktivera detta om du behöver genom att ställa in tröskelvärdena på 0: Om en btree-nod är full kan en cache-miss inte infoga en nyckel för de nya uppgifterna och data kommer inte att skrivas till cachen.

I praktiken är detta inte ett problem, för så snart en skrivning kommer kommer det att leda till att btree-noden delas upp, och du behöver nästan ingen skrivtrafik för att detta inte ska visas tillräckligt för att märkas särskilt eftersom bcaches btree-noder är stora och indexera stora delar av enheten. Men när du benchmarkar, om du försöker värma cachen genom att läsa en massa data och det inte finns någon annan trafik - kan det vara ett problem. Om det finns smutsiga data i cachen kommer den att spolas först.

Kontinuerligt uppdaterad till skillnad från cache-uppsättningens version, men kan vara lite avstängd. Standardvärden är 0. Om den är inställd på e. Detta är nödvändigt om det sekventiella gränsvärdet är större än den maximalt acceptabla sekventiella storleken för en enskild begäran. Har aldrig kopplats till en cache-uppsättning.

En del av en cache-uppsättning och det finns inga cachade smutsiga data. Del av en cache-uppsättning och det finns cachade smutsiga data. Säkerhetsenheten kördes våldsamt av användaren när det fanns smutsiga data cachade men cache-uppsättningen var inte tillgänglig. oavsett vilken data som fanns på stödanordningen har troligen skadats. Standardvärden är 30. Justeras kontinuerligt med bcache men kan också ställas in av användaren.

Smutsiga data kommer fortfarande att läggas till cachen tills den mestadels är full; endast avsedd för benchmarking. Standard är på. Det finns kataloger med dessa siffror för en löpande summa, samt versioner som förfaller under den senaste dagen, timmen och 5 minuter; de är också aggregerade i cache-uppsättningskatalogen också. Varje fel förfaller av halveringstiden i ios. Standardvärde är 100. Om detta blir för högt delas noden, vilket ökar trädjupet.

Den här katalogen exponerar också tidpunkter för ett antal interna operationer, med separata filer för genomsnittlig varaktighet, genomsnittlig frekvens, senast förekommande och max varaktighet: När detta inträffar läses data igen från stödanordningen. Kan skrivas för att öka antalet skopor som hålls på frilistan, vilket gör att du artificiellt kan minska storleken på cachen vid körning. Mestadels för teständamål i.

Detta kan avslöja din arbetsuppsättningsstorlek. Oanvänd är procentandelen av cachen som inte innehåller någon data. Metadata är bcache's metadata overhead. Genomsnitt är den genomsnittliga prioriteten för cache-hinkar. Nästa är en lista över kvantiler med prioritetströskeln för varje. Kopiera rader Kopiera permalänk Visa git blame Referens i ny utgåva. Du loggade in med en annan flik eller ett annat fönster. Ladda om för att uppdatera din session.

Du loggade ut på en annan flik eller ett annat fönster. Skulle det inte vara. Den är designad kring SSD-egenskaperna - den tilldelar bara.

Återskrivning är som standard. Bcache går till. Writeback-cachning kan använda det mesta av cacheminnet för buffring av skriv - skrivning. Bcache upptäcker sekventiell IO och hoppar över den ;. Säkerhetskopior och kopior av stora filer bör. I händelse av ett data-IO-fel på blixten kommer det att försöka återhämta sig genom att läsa.

För oåterkalleliga fel metadata. Både cache-enheten. För att registrera dina bcache-enheter automatiskt kan du lägga till något liknande. Det kommer att leta efter bcache-superblock och ignorera allt som inte har en.

Men första gången du använder en ny bcache-enhet ,. Se. Cache-enheter hanteras som uppsättningar; flera cachar per uppsättning stöds inte ännu. Din nya. Efter att din cache-enhet och backenhet har registrerats, backar enheten. Att bifoga ett stöd. Detta behöver bara göras en gång. Nästa gång du startar om, registrera bara om allt. Om en backenhet har data i en cache någonstans, kommer. Om du startar upp och din cache-enhet är borta och aldrig kommer tillbaka, du. Om du använder en. Backenheten kommer fortfarande att använda den cache-uppsättningen om den dyker upp i framtiden.

Om det fanns smutsiga uppgifter i. Detta kan förbättras - vi kan försöka igen som en skrivning. Det gör för närvarande inget intelligent om det misslyckas.

Standardinställningarna är avsedda att.

(с) 2019 blog-vitalika.ru