degraded performance

Ένα σχόλιο του Βαγγέλη με ώθησε να γράψω δύο ακόμα αξιώματα:

Ποτέ μα ποτέ δεν εργαζόμαστε στο 100% της δυνατότητάς μας χειρισμού αιτημάτων.

Κάτι τέτοιο δεν μας δίνει περιθώρια. Όλοι έχουν καλές και κακές μέρες στη δουλειά. Λιγότερη ή περισσότερη δουλειά. Ανάγκη χρόνου για μελέτη. Pet projects. Επίσης, πάντα θα υπάρξει μία μέρα στην οποία θα πρέπει να αντιμετωπιστεί κάτι έκτακτο. Το τελευταίο πράγμα που χρειάζεται κανείς είναι εκείνη τη στιγμή να έχει χρήστες από πάνω του να ρωτάνε: “Επειδή βιάζομαι, σε πόση ώρα θα είναι έτοιμο;”

Για αυτό:

Ποτέ δεν εξυπηρετούμε ένα αίτημα πριν περάσει ένα τέταρτο (15min).

  • 15 λεπτά είναι ικανό χρονικό διάστημα για να επιλυθεί ένα μικροπρόβλημα από το χρήστη (με εξαιρετικά υψηλές πιθανότητες να μη μας ξαναενοχλήσει για αυτό, εάν επανεμφανιστεί).
  • Είναι επίσης αρκετό διάστημα για να μην υποχρεωθούμε σε context switching χωρίς τελικά να υπάρχει λόγος. Αυτός ο χρόνος δεν αναπληρώνεται.
  • Δίνει επίσης το χρόνο να ηρεμήσουμε από το έλα μωρέ, για ‘σένα είναι 5 λεπτάκια effect.

Μετά τα 15 λεπτά ρωτάμε τον χρήστη εάν συνεχίζει να υπάρχει το πρόβλημα. Εάν ναι, αναλαμβάνουμε δράση. Προσοχή! Εάν απαντήσει: “Αυτό το έλυσα, αλλά τώρα έχω ένα άλλο πρόβλημα και δεν μπορώ να …”, απαντάμε “ναι θα το κοιτάξω” και τον ξαναβάζουμε σε 15λεπτη αναμονή.

Χρειάζεται μεγάλη προσοχή η απάντηση που θα δώσουμε όταν το πρόβλημα(;) του χρήστη λυθεί automagically (δηλ. χωρίς τη συνειδητή παρέμβαση του χρήστη ή τη δικιά μας): “Λύθηκε το πρόβλημα, ευχαριστώ”. Ποτέ μα ποτέ δεν αποδεχόμαστε την πατρότητα της λύσης, όσο κι αν είναι καλό για την εικόνα μας. Γιατί κάτι που δεν ξέρουμε πως λύθηκε θα επανεμφανιστεί. Και τότε ο χρήστης θα έρθει και θα πει: “Θυμάσαι που είχα το Χ πρόβλημα; Το ξαναέχω. Τι είχες κάνει τότε και λύθηκε;”. Έλα ντε.

Βασική σημείωση: Ο χρήστης αυτά τα θυμάται πάντα.

Είναι καλό να χαίρει ο system administrator εκτίμησης και wizard status από τους χρήστες του. Η εμπιστοσύνη των χρηστών είναι μία από τις ανταμοιβές της δουλειάς. Για να την κερδίσεις όμως δε χρειάζεται να κινείσαι σε warp 9. Οι χρήστες συμπεριφέρονται όπως τους μαθαίνεις και ελάχιστη κατανόηση δείχνουν όταν δεν υπάρχει ο συνήθης χρόνος απόκρισης.

Αυτό που χάνει κανείς επειδή δεν ανταποκρίνεται στο πρώτο τέταρτο, το κερδίζει κάνοντας μια βόλτα στα γραφεία των χρηστών του μία φορά τη μέρα και ρωτώντας τους εάν όλα πάνε καλά (κατά προτίμηση γύρω στις 12:15).

What you know about computing other people will learn

Κάποιες μέρες πριν ξεφύλλιζα την πρώτη έκδοση του “Structure and Interpretation of Computer Programs“, όπου ο Alan J. Perlis, πρώτος αποδέκτης του βραβείου Turing, πριν και από τον πρόλογο γράφει:

“I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don’t become missionaries. Don’t feel as if you’re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.”

Δεν νομίζω πως έχω δει ποτέ μου καλύτερες συμβουλές για ένα System Administrator (μαθητευόμενο ή μη). Παρόλο που ο Perlis τις γράφει γενικά, είναι κάτι που ο τοπικός σας BOFH οφείλει να διαβάσει οπωσδήποτε*.

Πρέπει να σταματήσω να φωνάζω


[*] – Όπως και το SICP, αλλά αυτό είναι άλλο θέμα.

@!#$^*!

Έχω κάνει αμέτρητα installs και upgrades σε servers. Μπορεί να πει κανείς πως μου έχουν τύχει όλα.

Όλα; Όχι φυσικά. Σήμερα έγινε το καλύτερο:

Έκανα ένα remote upgrade και τη στιγμή που το apt-get dist-upgrade έφτιαχνε το initrd.img έκανε expire το lease του DHCP…

@!#$^*!

8th annual System Administrator Appreciation Day

sysadminday-cyan-468×60.gif

“Friday, July 27th, 2007, is the 8th annual System Administrator Appreciation Day. On this special international day, give your System Administrator something that shows that you truly appreciate their hard work and dedication.

Let’s face it, System Administrators get no respect 364 days a year. This is the day that all fellow System Administrators across the globe, will be showered with expensive sports cars and large piles of cash in appreciation of their diligent work. But seriously, we are asking for a nice token gift and some public acknowledgement. It’s the least you could do.”

[via]

War stories

Κάθε system administrator έχει ιστορίες να λέει για χρήστες, “απέναντι” δίκτυα, προμηθευτές, contractors ή/και consultants που τον έβγαλαν από τα ρούχα του.

Έτσι όταν διάβασα το ξέσπασμα του φίλου μου του DBA, κατάλαβα τον εκνευρισμό του.

Εκείνο όμως που δεν περίμενα, ήταν να διαβάσω τον εκνευρισμό ενός γιατρού και να διαπιστώσω πόσο ίδια είναι η συμπεριφορά των χρηστών, ανεξάρτητα από το είδος των υπηρεσιών που ζητούν. Ειδικά τα 5 πρώτα του γιατρού χτυπήσανε νεύρο!

Αλλά και πάλι, system debuggers δεν είναι και οι γιατροί;

Context switching

Δεν υπάρχει κάτι που να καταπονεί τον system administrator περισσότερο από το συνεχές context switching:

“A context switch is the computing process of storing and restoring the state (context) of a CPU such that multiple processes can share a single CPU resource”.

Όπου “multiple processes” οι χρήστες και “single CPU resource” ο system administrator, ο οποίος εκτός από μαντικές ικανότητες πρέπει να έχει τουλάχιστον μία υποψηφιότητα για το βραβείο Turing.

RAID scare

Από τα Musings* του Rik Farrow στο ;login: διαβάζω:

“The standard (and vendor) view of this process is based on the Unrecoverable Error Rate (UER), something that Anderson and Whittington discussed in their tutorial. Enterprise drives have a lower UER, 10-16, compared to SATA drives, 10-14. To rebuild one disk in a RAID 5 array composed of 5 500-GB SATA drives, 213 bits must be read successfully, one-fifth the value of the UER for SATA drives. In other words, the odds of encountering a second error while rebuilding this RAID 5 array are 1 in 5. For people who are counting on RAID for reliable access to data, a 20% chance of failure is much too high.”

Όμως ο Rik Farrow δεν σταματάει εκεί. Φέρνει στην προσοχή μας το καταπληκτικό paper της Bianca Schroeder με τίτλο Disk failures in the real world: What does an MTTF of 1,000,000 hours mean too you?*:

“The failure probability of disks depends for example on many factors, such as environmental factors, like temperature, that are shared by all disks in the system. When the temperature in a machine room is far outside nominal values, all disks in the room experience a higher than normal probability of failure.
:
Observation 11: The distribution of time between disk replacements exhibits decreasing hazard rates, that is, the expected remaining time until the next disk was replaced grows with the time it has been since the last disk replacement”

Κοινώς εάν στο RAID σας “σκάσει” δίσκος, η πιθανότητα να σκάσει κολλητά και δεύτερος είναι μεγάλη. Και φυσικά πότε θα σκάσει; Στο rebuild

Backup! Backup! Backup!


[*] – PDF document

a laptop comes back from the dead

Κατά τη διάρκεια ενός format/reinstall του laptop μου, το DVD-ROM …αποσύρθηκε. Και τώρα τι βάζουμε; Οι επιλογές περιορίζονταν από το ότι η εγκατάσταση έπρεπε να είναι δυνατή από USB floppy (το Debian π.χ. δεν εγκαθίσταται από USB floppy).

Η πρώτη επιλογή μου ήταν να εγκαταστήσω FreeBSD. Είχα να χρησιμοποιήσω FreeBSD σαν desktop από τις εποχές του 3.x. Εγκαταστάθηκε μια χαρά (4 δισκέτες). Ένα make buildworld και 4 ώρες μετά η επιλογή αυτή εγκαταλείφθηκε (ποιο το νόημα και η χαρά του FreeBSD αν δεν μπορείς να κάνεις compile το σύμπαν σε ένα λογικό χρόνο;).

Μια δισκέτα και 40 λεπτά μετά είχα έτοιμο ένα σύστημα με OpenBSD. Ο default window manager είναι ο fvwm που δεν με ενοχλεί ιδιαίτερα (άλλωστε για χρόνια η μόνη παραχώρηση που είχα κάνει στον εαυτό μου ήταν να τρέχω τον ctwm αντί για τον twm). Αυτή τη στιγμή ένα df -h δίνει:

$ df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/wd0a     16.7G    901M   15.0G     6%    /

και έχω ένα πλήρες σύστημα που έχει ότι χρειάζομαι (servers, development tools, λοιπό software από τα ports) σε ένα μηχάνημα που είναι στα 700MHz και που πηγαίνει πιο γρήγορα από τα Windows ME που είχε (κάποτε) από τη μάνα του.

Η εγκατάσταση ήταν απλή, γρήγορη και εύκολη (για όποιον δεν τρομάζει από ένα μη γραφικό installer) αλλά το αποτέλεσμα δεν είναι για τον απλό χρήστη:

  • Έπρεπε να πειράξω το xorg.conf που παράγεται από το X -configure για να έχει τη σωστή ανάλυση. Τις συχνότητες τις βρήκα από το linux-laptop.net.
  • Έπρεπε να κάνω:
    # ln /etc/X11/xkb/symbols/el /etc/X11/xkb/symbols/gr
    # ln /etc/X11/xkb/symbols/pc/gr /etc/X11/xkb/symbols/pc/el
    

    και μετά να προσθέσω στο keyboard section του xorg.conf:

    Option "XkbLayout" "us,gr"
    Option "XkbOptions" "grp:ctrl_shift_toggle"
    

    για να μπορώ να έχω μετά Ελληνικό πληκτρολόγιο από τo ΧΚΒ.

  • και έπρεπε να βρω το .Xdefaults από το 1999 για να έχω το xterm που είχα συνηθίσει.

Με παλιομοδίτικο look, αλλά και μικρό footprint που δίνει άλλον αέρα σε ένα laptop του 2001, το (default) OpenBSD desktop δεν είναι για τον απλό χρήστη, αλλά περισσότερο για τον retro system administrator.

Να έπαιζε και το gnash λίγο καλύτερα…