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.

However, 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” Aŭ “man fsck”, you have to inputfsck.ext4help” Aŭ “man fsck.ext4”. 🙂

Sunday, August 04th, 2013 | Author:


Much had changed since I last mentioned my personal server – Ĝi kreskis de saltegoj kaj saltegoj (it now has a 7TB md RAID6) and it had recently been rebuilt with Ubuntu Server.

Arch was never a mistake. Arch Linux had already taught me so much about Linux (Kaj daŭros tiel fari sur mia alia surtabla). But Arch definitely requires more time and attention than I would like to spend on a server. Ideally I’d prefer to be able to forget about the server for a while until a reminder email saysumthere’s a couple updates you should look at, buddy.

Space isn’t freeand neither is space

The opportunity to migrate to Ubuntu was the fact that I had run out of SATA ports, the ports required to connect hard drives to the rest of the computerthat 7TB RAID array uses a lot of ports! I had even given away my very old 200GB hard disk as it took up one of those ports. I also warned the recipient that the disk’s SMART monitoring indicated it was unreliable. Kiel intertempa workaround al la manko de SATAaj havenoj, I had even migrated the server’s OS to a set of four USB sticks in an md RAID1. Freneza. Mi scias. Mi wasn’t tro feliĉa pri la rapido. I decided to go out and buy a new reliable hard drive and a SATA expansion card to go with it.

The server’s primary Arch partition was using about 7GB of disk. A big chunk of that was a swap file, Cached datumo and otherwise miscellaneous or unnecessary files. Entute la reala grandeco de la OS, including the /home folder, Estis nur pri 2GB. This prompted me to look into a super-fast SSD drive, thinking perhaps a smaller one might not be so expensive. It turned out that the cheapest non-SSD drive I could find actually cost Pli Ol unu el ĉi tiuj relative malgranda SSDs. Yay for me. 🙂

Choice? Woah?!

En elektanta la OS, I’d jam decidis ĝin wouldn’t esti Arkaĵo. Ekstere de ĉiuj la aliaj popularaj disdonadoj, I’m most familiar with Ubuntu and CentOS. Fedora was also a possibilitybut I hadn’t seriously yet considered it for a server. Ubuntu won the round.

The next decision I had to make didn’t occur to me until Ubiquity (Ubuntu’s instalaĵa sorĉisto) Demandis ĝin de mi: How to set up the partitions.

I was new to using SSDs in Linux – I’m bone konscia de la enfaliloj de ne uzanta ilin ĝuste, Plejparte pro ilia risko de malriĉa longevity se misuzita.

Mi didn’t deziras uzi diligentan interŝanĝan septon. Mi planas sur altgradiganta la servilon’s motherboard/CPUa/memoro ne tro ege en la estonteco. Bazita sur kiu mi decidis min metos interŝanĝon en interŝanĝa dosiero sur la ekzistanta md TRUDENIRO. The swap won’t be particularly fast but its only purpose will be for that rare occasion when something’s gone wrong and the memory isn’t available.

This then left me to give the root path the full 60GB out of an Intel 330 SSD. Mi konsideris apartiganta /hejmon sed ĝi nur ŝajnita malgranda sencela, Donita kiom malmulte estis uzita en la pasinteco. I first set up the partition with LVMsomething I’ve recently been doing whenever I set up a Linux box (really, there’s no excuse not to use LVM). Kiam ĝi akiris al la parto kie mi formus la filesystem, Mi klakis la falon-malsupren kaj instinkte elektita ext4. Tiam mi rimarkis btrfs en la sama listo. Pendi sur!!

But a what?

Btrfs (“Butero-eff-ess”, “Pli bona-eff-ess”, “Abelo-arbo-eff-ess”, Aŭ kio ajn vi fantazias sur la tago) Estas relative nova filesystem evoluigita por alporti Linukson’ Filesystem kapabloj reen sur vojeto kun fluo filesystem tech. La ekzistanta King-de-la-Monteto filesystem, “Ext” (La nuna versio vokis ext4) Estas sufiĉe bona – but it is limited, stuck in an old paradigm (think of a brand new F22 Raptor vs. an F4 Phantom with a half-jested attempt at an equivalency upgrade) and is unlikely to be able to compete for very long with newer Enterprise filesystems such as Oracle’s ZFS. Btrfs ankoraŭ havas longan vojon iri kaj estas ankoraŭ konsiderita eksperimentan (Dependanta sur kiu vi demandas kaj kio prezentas vin bezono). Multaj konsideri ĝin esti stabila por baza uzo – Sed neniu estas iranta fari ajnajn garantiojn. Kaj, Nature, Ĉiu estas diranta fari kaj testaj rezervoj!


La plej fundamenta diferenco inter ext kaj btrfs estas ke btrfs estas “BOVINO” Aŭ “Kopii sur Skribi” Filesystem. Tio ĉi signifas ke datumo estas neniam efektive intence anstataŭigita de la filesystem’s internals. Se vi skribas ŝanĝon al dosiero, btrfs will write your changes to a new location on physical media and will update the internal pointers to refer to the new location. Btrfs iras paŝon cetere en kiu tiuj internaj sugestoj (Plu-gvidita al kiel metadata) Estas Ankaŭ BOVINO. Pli malnovaj versioj de ext havus simple anstataŭigitan la datumo. Ext4 uzus Revuon certigi tiun korupton gajnis’t okazas devus la AC ŝtopas esti elretirita ĉe la plej inopportune momento. La revuaj rezultoj en simila nombro de paŝoj postulita ĝisdatigi datumon. With an SSD, the underlying hardware operates a similar CoW process no matter what filesystem you’re using. Tio ĉi estas ĉar SSDaj stiradoj povas ne efektive anstataŭigi datumon – Ili devi kopii la datumon (with your changes) to a new location and then erase the old block entirely. An optimisation in this area is that an SSD might not even erase the old block but rather simply make a note to erase the block at a later time when things aren’t so busy. The end result is that SSD drives fit very well with a CoW filesystem and don’t perform as well with non-CoW filesystems.

Fari aferojn interesanta, BOVINO en la filesystem facile iras manon mane kun ĉefaĵo vokis deduplication. Tio ĉi permesas du (Aŭ pli) Identaj blokoj de datumo esti entenita uzanta nur ununuran kopion, Savanta spacon. Kun BOVINO, Se deduplicated dosiero estas modifita, La aparta ĝemelo gajnis’t esti influita kiel la modifita dosieron’s datumoj estos estinta skribita al malsama fizika bloko.

BOVINO en ĝiradaj faroj Snapshotting Relative facile efektivigi. Kiam momentfoto estas farita la sistemon simple registras la novan momentfoton kiel estanta duplikatado de ĉiuj datumoj kaj metadata ene de la volumo. Kun BOVINO, Kiam ŝanĝoj estas farita, La momentfoto’s datumoj restas sendifektan, Kaj konsekvenca vido de la filesystem’s statuso ĉe la tempo la momentfoto estis farita povas esti daŭrigita.

A new friend

Kun la supra en menso, Precipe kiel Ubuntu faris btrfs havebla kiel instali-tempa elekto, Mi kalkulis ĝin estus bona tempo plonĝi en btrfs kaj esplori malgrandan. 🙂

Part 2 coming soon

Monday, October 29th, 2012 | Author:

It appears that, in infinite wisdom, Google have a security feature that can block an application from accessing or using your google account. I can see how this might be a problem for Google’s users, in particular their GTalk and Gmail users. In my case it was Pidgin having an issue with the Jabber service (which is technically part of GTalk). I found the solution after a little digging. I was surprised at how old the issue was and how long this feature has existed!

To unlock the account and get your application online, use Google’s Captcha page here.

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 not 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 not 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; and; #whatever ; Rands; and; #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 months. 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 (yes, 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. However, 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! Of course, 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!

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: 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.

ankaŭ, 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. 😉