Administruję serwerami linuxowymi od paru lat (prawie 3,5), zacząłem właściwie 3 miesiące po skończeniu liceum ;) i od tego czasu zdążyłem się nauczyć sporo o tym co należy i czego nie należy robić zarządzając serwerami, nieważne czy jednym czy paroma. Niestety nauka na własnych błędach jest czasami bolesna więc w miarę możliwości starajcie się robić to na cudzych ;). Mam nadzieję że po tym artykule przynajmniej ktoś nauczy się czegoś z moich :).

Backupy

Zawsze! Staraj się mieć backup ważnych plików (dane aplikacji, pliki użytkowników), oraz plików konfiguracyjnych aplikacji, bazy SQL itd. robiony codziennie. Backup inkrementacyjny nie zajmuje tak dużo (zwłaszcza że dyski sa teraz tanie) a strata danych może być bardzo bolesna. Oprócz tego gdy coś zmienisz w configach i nie masz działającej wersji tego configa backup może oszczedzić Ci od 10min do 2-3h poświęconych na przywracanie configa do “używalności”.

Pamiętaj też, że jeżeli czyścisz dysk/serwer i znajdujesz coś do czego nikt się nie przyznaje i nikt nie wiem po co to komu, jest spora szansa że jak to usuniesz to po tygodniu, miesiącu lub trzech komus się o tym przypomni więc nie zaszkodzi nagrać to na DVD (no chyba że to kolekcja filmów które Cię akurat nie interesują, wtedy można usunąć ;])

Dobrym pomysłem jest też używanie CVSa do wersjonowania configów, jeżeli robisz dużo zmian (hmm musze kiedyś to zastosować.. może nawet skrobnę coś o tym).

Monitoring i statystyki

Zainstaluj oprogramowanie typu Nagios i monitoruj nim wszystkie (lub chociaż wszystkie ważne) usługi. Konfiguracja trochę zajmie ale możliwość szybkiego sprwadzenia aktualnego i poprzedniego stanu usług, oraz alerty są bardzo przydatne. Wystarczy jakiś dowolny złom, najlepiej oddzielna maszyna, lub maszyna z niewielką ilościa krytycznych usług, ponieważ gdyby padła całkowicie to nie dostaniesz emaila o tym jeżeli na niej chodził też nagios. Potem odpal go w tabie Firefoxa i zerknij od czasu do czasu, chyba że masz tyle szczęścia że w robocie masz 2 monitory :D.

Monitoring obciążenia, zajętości dysków itp. też się przydaje, można zobaczyć np. trendy zajętości dysku i przewidzieć mniej.więcej kiedy skończy się miejsce na dysku, lub kiedy serwer bazy danych przestanie wyrabiać się z ruchem. Oprócz tego daje to informacje nt. poprawy/pogorszenia wydajności systemu po zmianach/tuningu.

Polecam Collectd, mało konfigurowania, robi pliki rrd które można łatwo przetwarzać na wykresy (za pomocą dołączonych skryptów w /usr/doc/collectd albo za pomocą np Drraw), oprócz tego pozwala na łatwe dodawanie nowych źródeł np. chciałem dodać liczbę alertów ze snorta, skrypt wygląda tak:

#!/bin/sh
A=`echo "select count(*) from acid_event;" \
|mysql -N -B -u snort --password=haslo_bazy snort`
echo "PUTVAL bhaal/snort/ipt_bytes-alerts N:$A"

i tyle, można tez dodawac na raz parę wartości więc możliwości rozbudowy sa duże.

To tyle na razie, wszelkie uwagi/porady w commentach mile widziane ;]