/boot on Compact Flash

Let’s assume that you need a server alive and kicking ASAP (and there is no time to start a recommend-approve-purchase process). So what do you do? You build the server from spare parts found here and there. After one or two hours you come up with a server that has two SATA disks setup as a RAID-1 array on a PCI controller.

Only there is a problem: You cannot boot from the PCI SATA RAID controller. And there is no real need to sacrifice an IDE disk just to boot the server. Now what can one do?

One simple solution is to use an IDE to Compact Flash adapter:

cf1eh2.jpg

That way a compact flash card can be used as a /boot filesystem. With only a minimal cost (~11 Euro in my case) and a (spare) 128MB CF card you can have a /boot on the (on-board) IDE controller.

Note that CFs are not optimized for multiple writes. In fact, after multiple writes they get …destroyed. So when you are happy with your /boot, back it up on an image file (via dd for example) because one day you may find your server unable to boot. Simply dd the image to a new CF card, replace the old one and boot again.

(The above information is more or less Linux and PC-centric but hey, you get the picture)

Μαθήματα αναβαθμίσεων

Θυμάμαι είχα διαβάσει στη sage-members έναν κανόνα που έλεγε:

“Όταν σας ρωτάνε για το πόσο θα κρατήσει το downtime, θα υπολογίζετε το χρόνο που χρειάζεστε κανονικά, θα τον διπλασσιάζετε και θα προσθέτετε και λίγο ακόμα.”

Ο κανόνας αυτός είναι εξαιρετικός γιατί:

  1. Αν όλα πάνε καλά, τότε θα έχετε το σύστημα up-and-running πολύ πριν από τον προϋπολογισμένο χρόνο. Οι χρήστες θα είναι χαρούμενοι.
  2. Αν τα πράγματα δεν πάνε καλά, θα έχετε ένα σημαντικό περιθώριο χρόνου για να τα βγάλετε πέρα, χωρίς να έχετε τους χρήστες να έρχονται συνέχεια (και τη στιγμή που χρειάζεστε τη μεγαλύτερη συγκέντρωση) να σας λένε:

    – Αργείς; Γιατί έχω να κάνω μια δουλειά και βιάζομαι. Είπες θα είναι έτοιμο, έχει περάσει τόση ώρα και δεν έχω σύστημα!

    Λες κι εσείς επίτηδες καθυστερείτε να το φτιάξετε. @^%Ε$@#!(#?!

Διαβάστε τώρα το “A Humbling Upgrade” γιατί ποτέ δεν έχει σημασία πόσο καλός ή προσεκτικός είσαι. Ο Murphy σε κερδίζει με κλειστά μάτια.

OpenDNS for your network

OpenDNS is an effort that aims to help users avoid phising attempts. It is a free to use service and extremely helpful for the home user. It is very easy to use. If you know how to configure your settings, you simply use the following two DNS servers (instead of the normal ones that your ISP tells you to use):

208.67.222.222
208.67.220.220

Alternatively you can go to their Get Started page and continue from there. But what if you want to offer OpenDNS as a service for your users? Their FAQ has a simple answer: You can use the forwarders option in the named.conf* of your DNS servers:

options {
:
  forward first;
  forwarders {
    208.67.222.222;
    208.67.222.220;
  };
:
};

This is fine if you want to switch everybody to use OpenDNS. However if you want to offer the service as an alternative for your users, you need to have a separate instanse of named running (maybe on a different machine), because simply using the above forwarding technique will result in having your cache server ask OpenDNS‘ servers even for your own domains. To avoid this traffic, you must include in its named.conf a forwarding+ clause for each of your local domains.

OpenDNS is not a panacea, nor a DNS replacement. IMHO, it is an excellent tool to use when web browsing. Should you decide to implement it, it is best that you offer it to your users via a (separate) caching server. But at the same time it is vital that you remember that there are valid reasons not to use it. However, as Paul Vixie writes:

“that having been said, if typosquatting is going to be done, opendns is the best way to do it among the ways i’ve seen. kudos to davidu and his team for the quality of their implementation and the openness of their launch.”

Further reading: Wikipedia article on OpenDNS.

[*] – I have a strong preference for BIND. However if you study the OpenDNS FAQ you will see that it works well with other DNS software too.
[+] – Some may opt to keep secondaries instead of forwarding.

re: Halt-less Linux

Το tip που δίνει ο thatha στο post Halt-less Linux, μου θύμισε το παλιό τρικ του Marcus J. Ranum σχετικά με το πως μπορεί κανείς να καταλάβει εάν ο firewall του είναι owned:

Με την υπόθεση πως μια από τις πρώτες εντολές που εκτελεί κάποιος που παίρνει shell access σε μια μηχανή είναι η ls, τότε κάνοντας ένα hardlink το /bin/ls στο /sbin/halt, με το που θα εκτελεστεί η εντολή ο firewall θα κάνει halt. Επειδή αυτό είναι ένα μη προγραμματισμένο γεγονός, όταν βρεις τον firewall κλειστό χωρίς προφανή λόγο, καλό είναι να αρχίσεις να σκέφτεσαι μήπως έχει γίνει κάτι πονηρό…

– ΟΚ, και τότε πως θα κάνω ls στον firewall από το shell;

Απάντηση: Σε ένα shell prompt δοκιμάστε την εντολή:

user@host > echo *

– Και τα κρυφά αρχεία;

Απάντηση:

user@host > echo ./.?*

(ref)

Incident Command System

Χτες βράδυ στο γυρισμό για το σπίτι μελετούσα την παρουσίαση του Brent Chapman με τίτλο “Incident Command for IT: What We Can Learn from the Fire Department“. Τα βήματα που πρέπει να ακολουθήσει κανείς για να ανταποκριθεί σε μια καταστροφή (φυσική ή κυβερνοκαταστροφή) είναι πάνω-κάτω τα ίδια. Ο Chapman κατασκευάζει ένα ρεαλιστικό σενάριο που αφορά ένα IT-catastrophe. Περιγράφει διαδικασίες που τώρα (μετά από τόσα χρόνια έχω πάθει και έχω μάθει…) μου φαίνονται προφανείς. Ακόμα και το γεγονός πως σε οποιοδήποτε σχέδιο ICS κάποιος πρέπει να ρυθμίσει το φαγητό. Θα ήθελα όμως να τα ήξερα όταν ξεκινούσα. Θα είχα γλιτώσει πολύ χρόνο από τη ζωή μου και κάποια βράδια μου θα ήταν πιο ήρεμα.

Το επόμενο πράγμα που σκέφτηκα είναι πως με όλα τα μειονεκτήματα που έχει το γεγονός πως είμαστε ένα ολιγομελές NOC με ιεραρχία flat αποτελούμενο από system administrators που είναι generalists, έχει το πλεονέκτημα να μπορούμε να ανταποκριθούμε ταχύτερα σε επείγουσες καταστάσεις. Οποιοσδήποτε από εμάς άνετα μπορεί να είναι ο Incident Commander. Σε αυτό βέβαια βοηθάει και ο τρόπος εργασίας που έχουμε αναπτύξει όταν δουλεύουμε σε κατάσταση ηρεμίας.

Δεν μου πέρασε καν από το μυαλό πως λίγες μόνο ώρες μετά, αυτά που διάβαζα -και αυτά που υπέθετα για την ομάδα μας- θα τα έβλεπα στην πράξη.

Όχι δεν ήμουν εγώ ο Incident Commander. Έφτασα τρίτος.

(Wikipedia: Incident Command System)

The 2005–2006 SAGE Salary Survey results

SAGEΔιάβαζα αυτές τις μέρες το Salary Survey του SAGE για το 2005-2006. Δυστυχώς για να το διαβάσει κανείς πρέπει να είναι μέλος του SAGE (άρα και του USENIX – οι αυτονομιστές πήγαν στο LOPSA). Υπάρχουν μερικές λεπτομέρειες που μου έκαναν εντύπωση και θέλω να τις γράψω:

  1. Από την Ελλάδα συμπλήρωσαν το survey μόνο δύο άτομα. Ο άλλος να σηκώσει το χέρι του!
  2. “It has been said that system administration is a young person’s game”. Αυτό φαίνεται πως αλλάζει. Περίπου 28% των ερωτηθέντων (από 15% το 2004-2005) είναι στα 40+.
  3. Το SAGE έχει ορίσει 4 levels τα SAGE Sysadmin Classifications. Ο αριθμός των SAGE Level I που απάντησαν το survey είναι πολύ μικρός. Λογικό, ο “νέος” δεν έχει προλάβει να μάθει ακόμα για το USENIX/SAGE.
  4. Πιστοποιήσεις (certifications): Όπως λέει και το survey: “the most vocal opinion is ‘they are worthless’ “. Αλλά στην πραγματικότητα το 52.6% απάντησε πως “Sometimes, it depends on the certification”. 33.8% δεν είχαν κανένα certification και 15.9% είχαν σχετικό Bachelor’s Degree (και έχει την πρωτιά σαν πιστοποίηση κάποιου είδους). Από τα “βιομηχανικά” certifications αυτά της Red Hat (αθροιστικά) φτάνουν το 10%. Δεν θεωρώ το μέτρημα δίκαιο όμως, γιατί για τη cisco, τη Sun και τη Microsoft οι μετρήσεις που δίνονται είναι ανά certificate.
  5. “How do people really learn system administration?” Πάνω από το 85% απαντησαν είτε on-the-job-training (85.5%), είτε self-instruction (86.2%). 36.9% δεν έχει παρακολουθήσει ποτέ κάποιο vendor specific training course.
  6. “In the world of computer administration, learning and growing are absolute requirements. Admins must keep up to date on a host of new technical and legal developments in their focus area and in ‘soft’ areas, as well”. 8.7 ώρες την εβδομάδα είναι ο μέσος όρος του χρόνου που αφιερώνεται just to keep up-to-date!
  7. Για το 64.6% οι εργοδότες πλήρωσαν για συνεχιζόμενη εκπαίδευση.
  8. Ο μέσος χρόνος εργασίας ήταν 44.7 ώρες την εβδομάδα αλλά το 22.5% δούλευε 50+ ώρες την εβδομάδα.
  9. 32.3% των εργοδοτών συνεισφέρουν ή πληρώνουν πλήρως την οικιακή σύνδεση στο Internet.
  10. Μετά το dot-boom φαίνεται πως δεν υπάρχει τόσο job hopping. Ο μέσος χρόνος παραμονής σε ένα οργανισμό είναι 5.46 χρόνια.
  11. “Για ποιό λόγο θα αλλάζατε δουλειά;” Για τα χρήματα το 59.3% και για το challenge το 34.2%.
  12. 48.7% των ερωτηθέντων περιμένουν να προσληφθεί τουλάχιστον ένας ακόμα system administrator. Υπάρχει πολλή δουλειά και είμαστε λίγοι, ακούτε;
  13. Περίπου το 40% των sites αφιερώνουν έναν administrator ανά 32 – 127 χρήστες. Βέβαια αυτό είναι ένα στατιστικό που χωράει πολύ “νερό”. Διαφορετικές είναι οι ανάγκες ενός οργανισμού με 300 άτομα υπαλλήλους / χρήστες και διαφορετικές ενός ISP.
  14. 77.7% χρειάζεται να έχει κατά περιόδους κινητό τηλέφωνο ή pager για να είναι on-call.
  15. “Those with less than three years of experience report incomes that average $40000 less than those with more than ten years of experience – but the next ten years brings only a $3000 average gain”. Τα δικά μου years of experience αμοίβονται κατά μέσο όρο στα $89730. Η αμοιβή μου ρίχνει το μέσο όρο.
  16. Εντύπωση μου έκανε η χαμηλή τιμή με την οποία αμοίβονται ($76899) οι DBAs που απάντησαν (παρόλο που το ίδιο το survey δεν χαρακτηρίζει το νούμερο στατιστικά ασφαλές). Από την άλλη, οι DBAs γενικά δεν έχουν λόγο να απαντάνε στα ερωτηματολόγια του SAGE.
  17. Οι μεγάλες εταιρίες πληρώνουν καλύτερα.
  18. “What do Admins like about their jobs?” 31.3% το casual dress (+ atmospere, envrionment). 25% το challenge.
  19. “What do Admins dislike about their jobs?” 20.6% τη γραφειοκρατία. 16.7% το ότι δεν υπάρχει αρκετό προσωπικό. 16.2% την ανικανότητα των μανατζαραίων.

Όλο το survey είναι 51 σελίδες. Εγώ έγραψα τις λεπτομέρειες που μου έκαναν εντύπωση. Του χρόνου ελπίζω να το συμπληρώσουν αρκετοί Έλληνες. Έτσι κι αλλιώς ασφαλή ποσοστά για χώρες από το survey μπορούν να βγουν μόνο για τις ΗΠΑ και τον Καναδά.

alt.sysadmin.recovery

Διαβάζοντας τις “Περιπέτειες ενός dba – part II” θυμήθηκα το alt.sysadmin.recovery USENET group. Από το FAQ του:

1.1) What is alt.sysadmin.recovery?

Alt.sysadmin.recovery is for discussion by recovered and recovering sysadmins.
It is a forum for mutual support and griping over phenomenally stupid users,
mind-bogglingly unhelpful tech support, surprisingly lousy software,
astonishingly deficient hardware, and generally how idiotic this job is.
Think of it as a virtual pub where we can all go after hours to gripe about
our job.  Since the concept of "after hours" is unknown to your average
sysadmin, we have this instead.

Warning: If you are a user, you may well see your sysadmin posting messages
about how stupid YOU are.  (But none of us will be surprised when you fail
to take heed of this warning.)

Πως το λέει ο Μοναρχίξ; “Ώρες-ώρες είμαι πολύ κουρασμένος…

abraracourcix.gif

Network troubleshooting

Φίλε απέναντι Network Manager. Όταν κάποιος σε παίρνει και σου λέει πως:

– Υπάρχει πρόβλημα στη μεταξύ μας διασύνδεση.

Δεν του απαντάς:

– Το πρόβλημα είναι δικό σας, αφού όλος ο άλλος κόσμος “μπαίνει”.

Ακόμα κι όταν όλος ο άλλος κόσμος “μπαίνει”. Γιατί ο άλλος κόσμος μπορεί και να μη “μπαίνει” και να μη μπαίνει στον κόπο να σε ενημερώσει για αυτό. Ειδικά όταν τελικά το πρόβλημα είναι από τη δική σου μεριά.

Βασικά οι περισσότεροι ξεχνούν δε γνωρίζουν πως το Internet δούλεψε ακριβώς γιατί όταν κάποιος είχε ένα πρόβλημα, ο απέναντι αντί να πει “είναι δικό σου θέμα, όχι δικό μου” ασχολιόταν με το πως θα διορθωθεί το πρόβλημα (γιατί υπάρχει πάντα αυτή η απίθανη ρημάδα περίπτωση να έχει δίκιο αυτός που σου τηλεφωνεί).

Το post αυτό έγινε γιατί σήμερα αντιμετωπίσαμε ένα σοβαρότατο πρόβλημα διασύνδεσης το οποίο λύθηκε ακριβώς γιατί υπήρχε αυτό το πνεύμα συνεργασίας- κάτι που συναντάω όλο και σπανιότερα.