Arkiv för kategori » linux «

Söndag, 4 Augusti, 2013 | Författare:

Jag hade ett strömavbrott påverkar min server stora md RAID matris. Hellre än att låta servern som helhet vara nere i väntan på att slutföra en fsck, Jag hade den starta utan stort utbud så jag kunde köra fsck manuellt.

Men, när man kör den manuellt insåg jag att jag inte hade någon möjlighet att veta hur långt det var och hur lång tid det skulle ta att slutföra. Detta är särskilt problematiskt med ett så stort spektrum. Med lite sökning fann jag spetsen på lägga till-C-parametern när du ringer fsck. Jag kunde inte hitta detta i dokumentationen dock: fsck –hjälp visade ingen sådan möjlighet.

Alternativet visar sig vara ext4 specifika, och visar därmed en fullt funktionell förloppsindikator med en procentsats indikator. För att hitta den information, istället för “fsck –hjälpa” eller “man fsck”, du måste mata “fsck.ext4 –hjälpa” eller “man fsck.ext4”. 🙂

Dela med sig
Söndag, 4 Augusti, 2013 | Författare:

Historia

Mycket hade förändrats sedan jag senast nämnde mitt personlig server – det har vuxit med stormsteg (Det har nu en 7TB md RAID6) och det hade nyligen byggts om med Ubuntu Server.

Arch var aldrig ett misstag. Arch Linux har redan lärt mig så mycket om Linux (och kommer att fortsätta att göra det på min andra dator). Men Arch kräver definitivt mer tid och uppmärksamhet än jag skulle vilja spendera på en server. Helst skulle jag föredra att kunna glömma servern ett tag tills en påminnelse mail säger “um … Det finns ett par uppdateringar som du bör titta på, buddy.”

Rymden är inte gratis – och inte heller är utrymmet

Möjligheten att migrera till Ubuntu var det faktum att jag hade slut på SATA portar, portarna krävs för att ansluta hårddiskar till resten av datorn – att 7TB RAID array använder en hel del portar! Jag hade till och med gett bort min mycket gamla 200GB hårddisk som det tog upp en av dessa portar. Jag varnade också mottagaren att diskens SMART övervakning anges det var otillförlitliga. Som en tillfällig lösning på bristen på SATA-portar, Jag hade även migrerat serverns OS till en uppsättning av fyra USB-minnen i en md RAID1. Crazy. Jag vet. Jag var inte alltför glada om hastigheten. Jag bestämde mig att gå ut och köpa en ny pålitlig hårddisk och en SATA-expansionskort för att gå med det.

Serverns primära Arch partition använde omkring 7 GB hårddisk. En stor bit av det var en swap fil, cachad data och annat diverse eller onödiga filer. Övergripande den verkliga storleken av OS, inklusive /hem mapp, var endast omkring 2 GB. Detta fick mig att titta in i en supersnabb SSD köra, tänker kanske en mindre kanske inte så dyrt. Det visade sig att den billigaste icke-SSD-enhet jag kunde hitta faktiskt kosta mer än en av dessa relativt små SSD. Yay för mig. 🙂

Choice? Woah?!

Vid val av OS, Jag hade redan bestämt att det inte skulle vara Arch. Av alla de andra populära distributionerna, Jag är mest bekant med Ubuntu och CentOS. Fedora var också en möjlighet – men jag hade inte på allvar ännu ansåg det för en server. Ubuntu segrade runda.

Nästa beslut jag var tvungen att göra inte falla mig in förrän Ubiquity (Ubuntus installationsguide) frågade den av mig: Hur du ställer in partitioner.

Jag var van vid att använda SSD i Linux – Jag är väl medveten om de fallgropar av att inte använda dem på rätt sätt, främst på grund av deras risk för dålig livslängd vid felaktig.

Jag ville inte använda en dedikerad partition för växlingsutrymme. Jag planerar att uppgradera servern moderkort / CPU / minne inte alltför långt i framtiden. Baserat på att jag bestämde jag kommer att sätta swap i en växlingsfil på den befintliga md RAID. Swapen kommer inte att vara särskilt snabb men dess enda syfte kommer att vara för den sällsynta tillfällen när något har gått fel och minnet är inte tillgänglig.

Detta lämnade mig sedan för att ge rotsökvägen den fullständiga 60GB ur en Intel 330 SSD. Jag ansåg att separera / hem men det verkade bara lite meningslöst, med tanke på hur litet användes tidigare. Jag först ställa in partitionen med LVM – något jag har nyligen gjort när jag satt upp en Linux-box (verkligen, det finns ingen ursäkt att inte använda LVM). När det kom till delen där jag skulle konfigurera filsystem, Jag klickade på den nedrullningsbara och instinktivt valt ext4. Då märkte jag btrfs på samma lista. Hänga på!!

Men ett vad?

Btrfs (“smör-eff-ess”, “bättre eff-ess”, “bee-tree-eff-ess”, eller vad du vill på dagen) är en relativt ny filsystem utvecklats för att föra Linux’ filsystem funktioner tillbaka på rätt spår med nuvarande filsystem teknik. Den nuvarande King-of-the-Hill filsystemet, “ext” (den aktuella versionen heter ext4) är ganska bra – men det är begränsat, fastnat i ett gammalt paradigm (tänka på ett helt nytt F22 Raptor vs. en F4 Phantom med en halv-Jested försök till en likvärdighet uppgradering) och det är osannolikt att kunna konkurrera för mycket länge med nyare Enterprise filsystem såsom Oracles ZFS. Btrfs har fortfarande en lång väg att gå och betraktas fortfarande experimentell (beroende på vem man frågar och vilka funktioner du behöver). Många anser att det är stabilt för grundläggande användning – men ingen kommer att göra några garantier. Och, naturligtvis, alla säger att och testa säkerhetskopior!

Mooooooo

Den mest grundläggande skillnaden mellan ext och btrfs är att btrfs är en “CoW” eller “Kopiera på Skriv” filsystem. Detta innebär att data faktiskt aldrig medvetet över av filsystemet s interna. Om du skriver en ändring till en fil, btrfs kommer att skriva dina ändringar till en ny plats på fysiska medier och kommer att uppdatera de interna pekare för att hänvisa till den nya platsen. Btrfs går ett steg längre i att de interna pekare (kallad metadata) är också CoW. Äldre versioner av ext skulle helt enkelt överskrivna data. Ext4 skulle använda en tidskrift för att säkerställa att korruption inte kommer att inträffa ska nätkontakten kan ryckte ut på de mest olämplig tidpunkt. Tidskriften resulterar i ett liknande antal steg som krävs för att uppdatera data. Med en SSD, den underliggande hårdvaran fungerar en liknande CoW process oavsett vilket filsystem du använder. Detta beror på att SSD-enheter inte kan faktiskt skriva över data – de måste kopiera data (med dina ändringar) till en ny plats och sedan radera det gamla blocket helt. En optimering inom detta område är att en SSD inte ens kan radera det gamla blocket utan helt enkelt göra en anteckning att radera blocket vid ett senare tillfälle när saker inte är så upptagen. Slutresultatet är att SSD-enheter passar mycket väl med en ko filsystem och inte prestera lika bra med icke-ko filsystem.

För att göra saken intressant, Ko i filsystemet går lätt hand i hand med en funktion som kallas deduplicering. Detta tillåter två (eller flera) identiska block av data som skall lagras med bara en enda kopia, sparar utrymme. Med ko, Om en fil deduplicated modifieras, den separata dubbla påverkas inte eftersom den modifierade filens data kommer ha skrivit till en annan fysisk kvarter.

Ko tur gör snapshotting relativt lätt att implementera. När en ögonblicksbild görs systemet registrerar endast den nya ögonblicksbilden som en dubblering av alla data och metadata inom volymen. Med ko, när ändringar görs, ögonblicksbilden data förblir intakt, och en enhetlig bild av filsystemet status vid tidpunkten för ögonblicksbilden gjordes kan upprätthållas.

En ny vän

Med ovanstående i åtanke, särskilt som Ubuntu har gjort btrfs finns som install-tid alternativet, Jag tänkte att det skulle vara en bra tid att dyka in btrfs och utforska lite. 🙂

Del 2 kommer snart …

Dela med sig
Torsdag, 12 november, 2009 | Författare:

Om du någonsin själv uppdatera en enda ansökan i Arch Linux (en mycket dålig idé, btw) och det uppgraderingar readline du kan hamna ser ett fel i stil med:
/bin/bash: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
Förhoppningsvis har du fortfarande en bash uppmanas öppen och du inte har stängt dem alla. Om du fortfarande kan, omedelbart kör följande:
pacman -S bash
annars kommer du inte att kunna köra bash något mer eftersom bash fortfarande skulle länka till den gamla versionen av readline.

Också, i framtiden, kör inte
pacman -Sy application
(python i mitt fall)
istället, run:
pacman -Syu
som kommer att se till att alla program är uppgraderade.

Själv, Jag tycker att bash borde ha haft en beroende set säger att det krävs den gamla specifik version av readline och samma för den nya bash, kräver den nya versionen av readline. Oavsett, hellre på den säkra. 😉

Dela med sig
Fredag, 11 sep, 2009 | Författare:

Fred i landet av USB

Under en *ingenting operativsystem, har flera partitioner på en USB-enhet är inte rocket science, det bara fungerar. I mitt fall, min USB-enhet har två partitioner eftersom den första partitionen är en startbar Arch Linux inrätta.

Jag har Windows på ett skrivbord hemma – mestadels för spel – och många av mina kollegor använder det för. Eftersom Windows inte gör mycket bra med icke-Windows-partitioner jag tänkte att jag skulle kunna skapa en FAT32 partitionen på USB-minnet efter den startbara Arch Linux-partition. FAT32 är nästan överallt och kan användas på alla vanliga operativsystem för persondatorer i världen.

Bleh

Tyvärr fungerar det inte rakt utanför bat. Tydligen, Microsoft i sin oändliga vishet beslutat att minnen är tänkt att ha en (och endast en) skiljevägg. I verkligheten Windows hittar den första partitionen och sedan ignorerar alla andra som råkar sättas upp:

Please Format

Err, ingen, Jag vill inte att du ska formatera min Arch Linux installation partition

Tricket att få det att fungera är att lura Windows att tro att enheten är inte ett vanligt USB-minne men kanske solid-state hårddisk som råkar vara ansluten via USB. Ja jag vet, Detta är allvarligt dum att Windows beter sig på detta sätt. En solid-state hårddisk är bara en jättestor stor (och snabb) minne trots allt!

Jag hittade några källor på hur man gör detta men jag hade fortfarande att räkna ut vissa saker på egen hand. Specifikt, guiderna jag hittade hoppade antingen några steg eller inte ge tillräckligt med information om var du kan hämta drivrutinspaketet.

Detta förfarande innebär att manuellt ändra drivrutiner och installera “ej undertecknade” drivrutiner “inte avsedd för din hårdvara”. Jag vet att någon kommer att bryta sina system och skylla på mig så säger jag nu att jag tar inget ansvar för eventuella skador som du kan göra för att ditt Windows-system på grund av detta. Läs det igen. 😛

Instruktioner

remove the highlighted text

klicka för större version

Ladda ner och packa upp drivrutinen, ursprungligen skapades av Hitachi, här. Öppna cfadisk.inf filen i Anteckningar (eller din favorit klartext editor), och reda på avsnittet [cfadisk_device]. Ta bort avsnittet markeras till höger:

Minimera (Stäng inte) editorn och gå till dina skrivbordsikoner – högerklicka på Den här datorn och välj Properties. Välj fliken Maskinvara och välj sedan [DEvice föreståndaren]:

System Properties

Hitta anordningen under “Diskenheter”, högerklicka på Memory Stick och välj Properties:

Device Manager

Klicka på fliken Information och i listrutan på den sidan, välj “Hårdvara Ids”. Klicka på den första raden i listan över Hardware-ID och tryck Ctrl C för att kopiera namnet:

USB Hardware Ids

Stäng inte den här dialogrutan, gå tillbaka till anteckningsblock (vilket minimerades) och klistra in hårdvaran ID in där det tidigare innehållet togs bort.

Changes pasted into notepad

Spara filen i Anteckningar och gå tillbaka till enhetens dialogfastighetsfönster. Klicka på “Driver” flik och klicka på [Ipdate Driver…] knapp. I de fönster som dyker upp, välj “Ingen, inte här tnamn”; [Next] -> “Installera från en lista eller en erpecifika läge (Avancerad)”; [Next] -> “Don't sökning. Jag väljer själv vilken drivrutin som ska installeras.”; [Next] -> [Have Disk…].

Unsigned Drivers - Click Continue Anyway

Bläddra till den mapp där du har sparat den modifierade cfadisk.inf filen. Klicka [OK]. Du hittar

det finns en Hitachi Microdrive drivrutin listad. Välj denna och klicka [Next]. När varnings

syn, klick [Yär]. En annan varning kommer att dyka upp om en liknande fråga (dessa är de “unsigned” och “inte avsedd för din hårdvara” varningar som jag nämnde tidigare). Klicka [Continue ändå]:

Vid denna punkt rekommenderar jag att stänga alla dialogrutor som rör installationen. Slutligen, ta bort och sätt in minnet i USB-porten och du ska finna att de extra partitioner på pinnen är tillgängliga. I det värsta scenariot, du kanske behöver fortfarande partitionera hårddisken Men det svåra är över. 🙂

Dela med sig
Onsdag, August 26th, 2009 | Författare:

If you’re using *nix and you’ve found this middle-click behaviour annoying, change firefox‘s middlemouse.contentLoadURL about:config option to false.

Big thanks to Ayman Hourieh for the tip.

Dela med sig