Archive for the Category » computing «

Sunday, August 04th, 2013 | Author:

I had a power outage affect my server’s large md RAID array. Rather than let the server as a whole be down while waiting for it to complete an fsck, I had it boot without the large array so I could run the fsck manually.

Men, when running it manually I realised I had no way of knowing how far it was and how long it would take to complete. This is especially problematic with such a large array. With a little searching I found the tip of adding the -C parameter when calling fsck. I couldn’t find this in the documentation however: fsckhelp showed no such option.

The option turns out to be ext4-specific, and thus shows a perfectly functional progress bar with a percentage indicator. To find the information, instead offsckhelp” eller “man fsck”, you have to inputfsck.ext4help” eller “man fsck.ext4”. 🙂

Dele
Sunday, August 04th, 2013 | Author:

Historikk

Mye hadde forandret seg siden sist jeg nevnte min personlige server – den har vokst i store sprang (den har nå en 7TB md RAID6) og det hadde nylig blitt ombygd med Ubuntu Server.

Arch var aldri en feil. Arch Linux hadde allerede lært meg så mye om Linux (og vil fortsette å gjøre det på min andre stasjonære). Men Arch krever definitivt mer tid og oppmerksomhet enn jeg ønsker å bruke på en server. Ideelt sett ville jeg foretrekker å være i stand til å glemme server for en stund før en påminnelse email sier “um … Det er et par oppdateringer du bør se på, buddy.”

Plass er ikke gratis – og det er heller ikke plass

Muligheten til å migrere til Ubuntu var det faktum at jeg hadde kjørt ut av SATA porter, portene som kreves for å koble harddisker til resten av maskinen – at 7TB RAID array bruker mye av porter! Jeg hadde selv gitt bort mitt svært gamle 200 GB harddisk som det tok opp en av disse portene. Jeg advarer også om mottakeren at diskens SMART overvåking indikerte at det var upålitelig. Som en midlertidig løsning på mangelen på SATA-porter, Jeg hadde selv flyttet serverens OS til et sett med fire USB-pinner i en md RAID1. Crazy. Jeg vet. Jeg var ikke så glade om hastigheten. Jeg bestemte meg for å gå ut og kjøpe en ny pålitelig harddisk og en SATA utvidelseskort å gå med det.

Serverens primære Arch partition brukte omtrent 7 GB av disken. En stor del av det var en bytte fil, bufrede data og ellers diverse og unødvendige filer. Samlet den faktiske størrelsen av OS, herunder /hjem mappe, var bare om lag 2 GB. Dette fikk meg til å se inn i en super-rask SSD kjøre, tenker kanskje en mindre en kanskje ikke så dyrt. Det viste seg at det billigste ikke-SSD-stasjon jeg kunne finne faktisk koste mer enn en av disse forholdsvis små SSD. Yay for meg. 🙂

Valg? Woah?!

I valg av OS, Jeg hadde allerede besluttet det ville ikke være Arch. Ut av alle de andre populære distribusjoner, Jeg er mest kjent med Ubuntu og CentOS. Fedora var også en mulighet – men jeg hadde ikke seriøst ennå ikke vurdert det for en server. Ubuntu vant runden.

Den neste avgjørelsen jeg måtte gjøre skjedde ikke for meg før Ubiquity (Ubuntu installasjon wizard) spurte den av meg: Hvordan sette opp partisjoner.

Jeg var ny på å bruke SSD i Linux – Jeg er fullstendig klar over fallgruvene ved ikke å bruke dem riktig, hovedsakelig på grunn av risikoen for dårlig levetid hvis det brukes feil.

Jeg ønsker ikke å bruke en dedikert swap partisjon. Jeg har tenkt på å oppgradere serveren hovedkort / CPU / minne ikke så langt i fremtiden. Basert på at jeg bestemte meg for jeg vil sette swap i en swap fil på den eksisterende md RAID. Swap vil ikke være spesielt rask, men det eneste formålet vil være for den sjeldne anledningen når noe har gått galt, og minnet er ikke tilgjengelig.

Dette deretter forlatt meg å gi rotbane den fulle 60GB ut av en Intel 330 SSD. Jeg betraktet skille / hjem, men det virket bare litt meningsløst, gitt hvor lite ble brukt i det siste. Jeg først satt opp partisjonen med LVM – noe jeg nylig har gjort når jeg satt opp en Linux boks (virkelig, det er ingen unnskyldning for ikke å bruke LVM). Når det kom til den delen hvor jeg ville konfigurere filsystemet, Jeg klikket på drop-down og instinktivt valgt ext4. Så la jeg merke btrfs i samme liste. Henge på!!

Men en hva?

Btrfs (“smør-eff-ess”, “bedre eff-ess”, “bee-tree-eff-ess”, eller hva du har lyst på dagen) er et relativt nytt filsystem utviklet for å bringe Linux’ filsystem evner tilbake på sporet med dagens filsystem tech. Den eksisterende King-of-the-Hill filsystem, “ext” (gjeldende versjon kalt ext4) er ganske bra – men det er begrenset, fast i et gammelt paradigme (tenke på en helt ny F22 Raptor vs. en F4 Phantom med en halv-Jested forsøk på en ekvivalens oppgradering) og vil neppe kunne konkurrere på veldig lenge med nyere Enterprise filsystemer som Oracles ZFS. Btrfs har fortsatt en lang vei å gå, og regnes fortsatt eksperimentell (avhengig av hvem du spør, og hvilke funksjoner du trenger). Mange anser det å være stabil i grunnleggende bruk – men ingen kommer til å gi noen garantier. Og, Selvfølgelig, alle sier å lage og teste backup!

Mooooooo

Den mest grunnleggende forskjellen mellom ext og btrfs er at btrfs er en “Ku” eller “Kopi på Skriv” filsystem. Dette betyr at data er aldri bevisst overskrevet av en såkalt innvendige. Hvis du skriver en endring i en fil, btrfs vil skrive endringene til en ny plassering på fysiske medier, og vil oppdatere interne pekere til å referere til den nye plasseringen. Btrfs går et skritt videre ved at de interne pekere (referert til som metadata) er også Ku. Eldre versjoner av ext ville ha bare overskrevet data. Ext4 ville bruke en Journal for å sikre at korrupsjon ikke vil forekomme bør støpselet bli yanked ut på det mest inopportune øyeblikk. Tidsskriftet resulterer i et tilsvarende antall skritt som kreves for å oppdatere data. Med en SSD, den underliggende maskinvaren opererer en lignende ku prosessen uansett hva filsystemet du bruker. Dette er fordi SSD-disker ikke kan faktisk overskrive data – de har til å kopiere dataene (med endringene) til et nytt sted, og deretter slette den gamle blokken helt. En optimalisering i dette området er at en SSD ikke kan selv slette den gamle blokken, men heller rett og slett lage et notat til å slette blokken på et senere tidspunkt når ting ikke er så opptatt. Sluttresultatet er at SSD-disker passer veldig godt med en ku filsystem og ikke utføre så godt med ikke-ku filsystemer.

Å lage saker interessant, Ku i filsystemet går lett hånd i hånd med en funksjon kalt deduplisering. Dette tillater to (eller mer) identiske blokker av data som skal lagres ved hjelp av bare en enkelt kopi, sparer plass. Med ku, hvis en deduplicated filen endres, den separate twin vil ikke bli påvirket som den modifiserte filens data vil ha blitt skrevet til en annen fysisk blokk.

Ku i sin tur gjør snapshotting relativt enkelt å implementere. Når et øyeblikksbilde er gjort i systemet registrerer bare den nye snapshot som en duplisering av alle data og metadata i volum. Med ku, når det gjøres endringer, øyeblikksbildet data forblir intakt, og en konsekvent visning av filsystemet status på det tidspunkt øyeblikksbildet ble gjort kan opprettholdes.

En ny venn

Med ovenstående i tankene, særlig ettersom Ubuntu har gjort btrfs tilgjengelig som install-tid alternativet, Jeg skjønte det ville være et godt tidspunkt å dykke inn btrfs og utforske litt. 🙂

Part 2 kommer snart …

Dele
Monday, October 29th, 2012 | Author:

Det ser ut til at, i det uendelige visdom, Google har en sikkerhetsfunksjon som kan blokkere et program fra tilgang til eller bruk Google-kontoen din. Jeg kan se hvordan dette kan være et problem for Googles brukere, spesielt deres GTalk og Gmail brukere. I mitt tilfelle var det Pidgin har et problem med Jabber tjeneste (som er teknisk del av GTalk). Jeg fant løsningen etter en liten graving. Jeg ble overrasket over hvor gamle problemet var, og hvor lenge denne funksjonen har eksistert!

Å låse opp kontoen og få din søknad online, bruke Googles Captcha side her.

Dele
Thursday, June 03rd, 2010 | Author:

Why I’ve left MTN

So I’ve been shopping around in a non-serious fashion in the last few months trying to figure out how best to leave MTN and how get the best deal for me. I don’t like MTN since I became anirate“, as I might call such a customer in the ISP industry. MTN’s Customer-Service Call Centre had rarely been helpful or knowledgeable on their own systems. The final straw however was when their systems let me screw myself over and Customer Service was as helpful as a dead redshirt:

I had a billing issue where, admittedly, it started of my own fault. MTN has a feature where you can call in to find out the amount owing on your account. Only, as Murphy would have it, this amount was ikke the amount owing on the account but the last amount that was billed.

So one month my account was about R900. I called the number, mis-heard R500, paid the amount I thought I should: R500. 15 days later MTN suspended my account. No wrong done, right? Wrong.

First off, I received no notification of any kind. An sms would make the most sense, especially since it would cost MTN almost no resources: “Your account xyz is in arrears by R400. Please contact blah blah blah”. They could phone me, they could email me, something, but nothing of the sort happened. Suspend without Prejudice. Thats the best way to get the customer’s attention!

Now, not only could I not make calls and sms’s, I could not receive calls or sms’s. Further, I could not even call MTN’s toll free phone number. I had to use someone else’s phone to get to the bottom of the problem. After two days of haggling I finally found a lady kind enough to re-enable the account. Ten days later my salary goes in, I call the same number and hear a number close toR900”. I think to myself maybe I should double-check juuuust in case I mis-heard. I call again, I hear the same number again. Right. Pay the R900. Fifteen days later, my phone is suspended AGAIN. WTH?

Remember what I mentioned earlier?: “this amount was ikke the amount owing on the account but the last amount that was billed.” So, in spite of the fact that the voice prompt specifically saysPress 3 for Balance Due; [Presses 3] ; The Total Outstanding Balance is; Nine; hundred; og; #whatever ; Rands; og; #whatever; cents”, I actually owed them R900 plus the R400 that I’d paid short the previous month. No, I do not know if MTN has fixed this. I no longer care. Since I figured this out I started waiting for paper statements to see how much was actually due. Interestingly, their paper statements were also wrong. Only they had the opposite problem: “This invoice: R1300in spite of the fact that on the next page it says opening balanceR400”, closing balanceR1300”. Pah! Is it fixed? Again, I don’t care.

I let them know I wasn’t renewing the contract and I’ve now already ported my number away to Virgin Mobile. Because I want to keep my number and port it elsewhere, the store said I could not putunsatisfactory serviceas the reason for ending the contract but that it should simply sayporting”. Apparently by putting anything else there they might notnoticethat I want it ported. WTF.

What next? (without MTN)

In my research I’ve found that contractdealsare most popular. Typically, you can get a R8000 phone for R800 per month over 24 months with R500-odd worth of airtime per month. This amounts to you paying R19 200 over a 24-month period for a phone worth R8000 which will be obsolete within 12 måneder. You will get some airtime every month so you might feel its not a complete loss. However you should also remember that it costs the cellular companies nothing when you make those phone calls. Profit.

There’s a better way

There are much cheaper contracts, contracts for between R50 and R200 which include cheapish phonesphones that work damned well as a phone but won’t let you play games on the train. Most of these contracts actually give you the same airtime value (sometimes more!) as what you are paying. So for R100 you might get R100 worth of airtime plus some free sms’s, and a cheapish phone. The best deals I’ve seen recently have all been for the Samsung STAR, an understated but good cell phone, available from a number of retailers for between R100 and R200 per month. In most cases the deals have included the full amount of airtime. Virgin Mobile has probably the best example here: The cost is R199 per month which includes R200 in airtime and 1000 sms’s (ja, you read that rightone thousand!).

Virginal Service All the Way!

Another reason I’ve gone with Virgin Mobile is a little something no other service provider does: AmixedContract/Prepaid facility. I get R200 in airtime however, if I go over that, the extra just gets added to my invoice. With MTN this could go sky high without the option of a limit! With Virgin, because I asked, it has a limit of R300. Men, I can still add prepaid airtime (with cellphone banking, nogal). No other service provider lets you do this!

Remember that R8000 cell phone I mentioned earlier? My plan is to get the Samsung STAR and spend less than R300 per month. I’ll have saved enough money to actually go and buy a more expensive phone (or laptop) with the cash I’ll have saved! Selvfølgelig, if you actually use that R800-worth of phone calls, I guess the best available deal is where you spend the R19200 anyway. Maybe at least with a more critical view on your choices you’ll save yourself a good amount of money in future. Good luck in your search for your best deal!

Dele
Thursday, November 12th, 2009 | Author:

If you ever find yourself updating a single application in Arch Linux (a very bad idea, btw) and it upgrades readline you might end up seeing an error along the lines of:
/bin/bash: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory
Hopefully you still have a bash prompt open and you haven’t closed them all. If you still can, immediately run the following:
pacman -S bash
else you won’t be able to run bash any more because bash would still be linking to the old version of readline.

Også, in future, don’t run
pacman -Sy application
(python in my case)
instead, run:
pacman -Syu
which will ensure that all applications are upgraded.

Personally, I think that bash should have had a dependency set saying that it required the old specific version of readline and the same for the new bash, requiring the new version of readline. Regardless, rather play it safe. 😉

Dele