Свърши не-курса по системна администрация. Ето какво горе-долу се случи в него:
(за справки, повечето неща се намират в wiki-то или в архива на maillist-а)
Всичко започна с един входен тест. Не беше нещо особено и просто идеата му беше да се изберат 10 различни човека, които да участват. Имаше няколко човека, които бяха успели да се запишат за digest на листата и не бяха успели да попълнят теста, но останалото мина сравнително добре.
Последва инсталацията на машините. Имаше няколко различни проблема, които хората пребориха и един security такъв заради моята идея със setup с xvfb, който доведе до това единия участник да може да влезе в машините на няколко от другите участници.
Първите задачи бяха да се подкара DNS за техните зони, irc и ntp. Услугите бяха просто и идеите бяха хората да си свикнат с машините и да могат да работят заедно, понеже DNS-а и IRC-то изискваха някаква координация – за първото всеки трябваше да има поне един secondary server, за второто четните и нечетните трябваше да си направят отделна мрежа.
Последва “разместване” – всеки трябваше да си предаде машината на някой и да приеме на трети неговата (без преинсталация). Предаването и приемането на нещо, което някой друг е правил по принцип на човек му се случва рядко, доста често му пада от никъде и е от типа неща, които притесняват хората и се допускат много грешки. В един момент си мислех, че трябва да си предават машините всяка седмица, че да претръпнат, но беше заместено от други неща.
След разместването беше “седмицата за почивка” – няколко задачи, които би трябвало да отнемат малко време, в продължение на седмица и малко, за да може хората да си планират сами времето и да решат кое кога да направят. В това влизаха неща като backup, restore и monitoring, както и да свържат двете irc мрежи в една.
Понеже двата екипа бяха избрали различни сървъри и под-протоколи на irc, за да си направят мрежите, свързването им се оказа интересен проблем, доста повече социален – нямаше практически начин двете мрежи да си говорят, поради огромната разлика в протоколите (TS5 и TS6, както и локалните модификации в UnrealIRCD и ircd-ratbox). Цялото нещо стана в общи линии в последния момент, но поради събрания опит при инсталацията всичко стана много бързо.
Имаше и подкарване на поща, с alias-и, прехвърлящи между машините. При тестовете даже успя да crash-не една от машините.
Последва задачата за възстановяване от backup. Беше доста забавно (за мен)…
(счупването на дисковете беше симулирано със следния скрипт:
sz=`ls -l "$1"| awk '{print $5}'` let m=$sz/1048576 n=0; while [ $n -lt $m ]; do let n=$n+1 dd if=/dev/urandom of="$1" bs=1M count=1 seek=$n >/dev/null 2>/dev/null let n=$n+1 done
пуснат в/у всеки от виртуалните дискове, без предупреждение)
Следващото задание беше да се свърши от всеки една задача върху всички машини, т.е. да се тренира работата върху много машини едновременно и да се автоматизира по някакъв начин. Задачките бяха сравнително прости и всички се справиха с тях.
(основният урок май беше нещата да са максимално еднакви навсякъде :) )
Финалната задача беше да се направи услуга, при която може да се качва на всяка машина файл и да може да се вижда от останалите. Реализацията, която направиха беше много интересна – WebDAV в/у gluster – и сработи доста добре.
Като цяло аз съм доволен от курса, мисля, че и хората бяха. Не очаквах да отпаднат толкова много хора, най-вече, но и в останалото имаше доста изненади – какво се избираше като софтуер, как се реализираха нещата и т.н. (много помогна да не давам конкретен софтуер за инсталация).
Ето няколко от интересните mail-ове в листата, вместо край:
проблемът с xvfb
мрежов проблем с две виртуални машини на един интерфейс
начало на дискусия за пакетни системи срещу локално компилиране
дискусии за двете irc мрежи
ssl проблем с ircd-ratbox
самоотрязване на достъпа
свързването на двете irc мрежи
(и не ми се рови повече)