Linux na katedře matematiky FEL ČVUT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Imagine that Cray computer decides to make a personal computer. It
has a 150 MHz processor, 200 megabytes of RAM, 1500 megabytes of
disk storage, a screen resolution of 4096 x 4096 pixels, relies
entirely on voice recognition for input, fits in your shirt pocket
and costs 300. What's the first question that the computer
community asks?
"Is it PC compatible?"
Petr Olšák, 11.března 1998
V tomto článku popíšu nasazení Linuxu pro server naší katedry
matematiky FEL ČVUT. Mé zkušenosti s tímto řešením jsou vesměs
pozitivní. Začnu ale popořádku.
V minulém roce jsem stál jako správce sítě math.feld.cvut.cz
před rozhodnutím, co koupit, abych dal nový život rychle stárnoucí
technice. Měli jsme zde starší přístroje SPARC ještě se SUN OS 4.1.3
a dále učebnu s čtyřiosmšestkami na 30 MHz s pěknými 17 palcovými
monitory. V jednotlivých kancelářích mých kolegů se pak nacházejí
PCčka typu "každý pes jiná ves". Lokální síť jsme do té doby měli
postavenu na exportu UNIXových disků ze SUNů, přičemž na PCčkách
běželi klienti PC NFS. Tento klient byl docela spolehlivý v DOSu,
ale jakmile chtěli někteří mí kolegové "upgradeovat" na Win95,
klient PC NFS začal dělat v tomto prostředí potíže.
Nejprve jsme zvažovali koupi nového SUNu. Přechod ze SUN OS 4.*
na Solaris 2.* by mě asi stál stejné úsilí, jako přechod na Linux
(například spustitelné programy nejsou binárně kompatibilní). Přitom
s Linuxem jsem už v učebně dost dávno začal experimentovat. Dělat
nezávazné experimenty se Solarisem dost dobře nešlo, protože bych
jej nejprve musel koupit. Dále jsem se dozvěděl, že SUN již nedodává
se svým systémem standardně překladač jazyka C. Skutečnost, že někdo
dokáže nazývat UNIX bez překladače jazyka C operačním systémem mě
docela překvapila. Je sice pravda, že mohu pro Solaris stáhnout
free překladač gcc, ale kupovat UNIX bez C mě připadalo přinejmenším
podezřelé. Je rovněž pravda, že bych mohl v novém SUNu z gruntu
vyměnit dodaný systém za Linux, ale tato cesta mě osobně připadala
poněkud méně probádaná a nejistá. Hardware stavěný kolem platformy
Intel dnes podle mého názoru dospěl k takovým parametrům, že může
být velmi dobře nasazen jako server pro organizaci rozsahu naší
katedry. Je přitom podstatně levnější. Mí nadřízení byli příjemně
překvapeni, když jsem konstatoval, že k nákupu nového serveru nebudu
potřebovat původně odhadovaných 600 tisíc, ale že bude stačit zhruba
300 tisíc.
A tak jsme koupili v květnu minulého roku dvouprocesorové PPro
(200MHz/512k) s 200 MB paměti RAM, dvoukanálové SCSI od Adapteků,
s několika disky a páskovým streamerem. Do ceny HW sestavy se
vešla ještě velká 21 palcová televize pro správce sítě, která je
přímo připojena jako konzola k serveru. To vyžadovalo osadit server
kvalitní grafickou kartou. Nezanedbatelná cena tohoto grafického
rozhraní se schovala v ceně serveru. Kdyby měl být kupován monitor
pro Olšáka samostatně, byl by tento požadavek asi méně průchodný.
Někteří lidé totiž nedovedou pochopit, proč nějaká televize může mít
víc než dvojnásobnou cenu "obyčejného" počítače.
Zaznamenal jsem technický pokrok i v této oblasti. Monitor
mi pracuje s obnovovací vertikální frekvenci 105 Hz (doladil jsem
editací tajemných čísel v XF86Config). Od té doby mi připadá,
že všechny staré SUNovské televize zcela nepřístojně pomrkávají. Jak
jsem se na ně mohl ještě nedávno tak dlouho koukat!
S nákupem hardware jsem měl u jisté nejmenované poměrně velké
firmy obrovské problémy. Především mi nebyli schopni zajistit AT
klávesnici QWERTY. Dále tvrdili, že server zahořovali na Linuxu, ale
na dodaném disku zbyla partition MS DOS. Poté co jsem se o to začal
zajímat, nikdo z firmy mi o tom zahořovacím Linuxu nebyl schopen nic
říci. Při součtu cen jednotlivých komponent podle katalogu firmy
včetně procent za skladování a zahořování jsem došel k číslu o 20
tisíc menší, než co si firma účtovala. Do serveru původně dodali
procesor PPro s 256k cache, zatímco já jsem žádal 512k. Kdo sledoval
v létě minulého roku ceny těchto procesorů, ví, že cena druhého
z nich (ačkoli na stejné frekvenci) byla asi dvojnásobná. Museli
jsme tedy žádat o výměnu procesorů.
Šéf pobočky (ne)zmíněné firmy mi nebyl ochoten říci,
o kolik jsem vlastně ušetřil, když jsem u nich koupil zařízení
bez operačního systému. Prohlásil, že jejich firma je vázána
smlouvou s firmou Microsoft. Cena, kterou musejí této firmě
za každý předinstalovaný MS systém zaplatit, je otázkou obchodního
tajemství a nesmí být zveřejněna. To je ale blbost nejrubšího zrna.
Já jako zákazník si přece mohu nechat udělat odhad ceny na zařízení
do posledního tlačítka myši stejné, ale jednou s předinstalovaným
MS systémem a jednou bez něho. Rozdíl těchto dvou cen je hledaná
částka. Nebo snad ne? Druhá možnost je, že jsem firmě Microsoft
nedobrovolně zaplatil oněch 20 tisíc, aniž bych si to přál a aniž
bych po ní cokoli chtěl!
S přístrojem jsem měl několik měsíců ještě různé hardwarové
problémy. Uvedu jen jeden příklad. Ačkoli SCSI disky byly ULTRA
a sběrnice taky, záhadně na vysoké frekvenci pracovaly jen některé
disky. Dodané výchozí nastavení počítače vůbec nebralo v úvahu
použití sběrnice v ULTRA režimu. Vyzkoušel jsem tedy záruční servis,
o kterém se zmíněný šéf pobočky zaručoval, že je kvalitní. Ti lidé
od firmy mi připadali, že s SCSI mají poměrně malé zkušenosti,
často si přístroj odnášeli do servisu a zase vraceli, sami nebyli
skoro na nic schopni fundovaně odpovědět. Nakonec také přiznali,
že se na tom teprve učí! Takže se náš server stal pokusným králíkem
pro jejich experimenty. Takto jsem si určitě servis nepředstavoval.
Po nainstalování Linuxu ze Slackware (nemám nic proti Red Hatu
ani Debianu, ale Slackware jsem měl už dávno předtím osahaný)
mě čekaly už příjemnější věci. Sotva jsem vybalil přístroj z krabice
a zavedl do něj operační systém (ze zdroje sunsite.mff.cuni.cz),
spustil jsem na něm dekryptovací program DESu. Jistě si vzpomínáte,
že v minulém roce proběhla na Síti davová mánie počítání tohoto
klíče. Dříve, než jsem měl na serveru zprovozněny jakékoli služby,
zařadil jsem se do této mánie. Bylo příjemné pozorovat, jak se
nový počítač mezi ostatními svým výkonem zviditelňuje a hájí barvy
Linuxu. Můžete namítnout, že škola jistě nekoupila tak drahý
přístroj, aby si na něm administrátor takto hrál, ale na druhé
straně se to dalo považovat jako dobrý zatěžovací test procesorů,
neboli ono firmou těžko vysvětlené "zahořování".
Hned napoprvé po kompilaci jádra 2.0.30 pro více procesorů
(odkrytím řádku SMP=1 v Makefile) systém začal využívat oba
procesory a běží stabilně dodnes. Bez problémů se mi podařilo
formátovat disky s ext2fs ve velikosti partitionů větší než 2 GB.
To u starých SUNů nebylo možné, ale v důsledku neustále rostoucích
požadavků na kapacity síťových disků to už bylo více než nutné.
Server se tedy stal diskovým serverem zvláště pro uživatelská data.
Uživatelé k nim přistupují pomocí PC NFS, nebo ze SUNů, nebo (nově)
pomocí Samby, což umožňuje dívat se do síťových UNIXových disků
i zatvrzelým Microsoftistům.
Nainstalováním IPX rozhraní do serveru a nově využitou funkcí
re-export nabízím pro PC NFS i pro SUNy disky, které jsou čteny
ze vzdáleného fakultního Novellského serveru. Do tabulky crontab
jsem přidal test startovaný každou hodinu, zda se fakultní
Novellský server neskácel a zda tedy není potřeba obnovit ncpmount.
Linux tak funguje jako filtr mezi IPX protokolem Netware a NFS
protokolem, který jsem v naší katederní síti používal už dávno
(Novella neprovozuji). Uživatelé starých PCček ocenili, že nemusejí
pokaždé znovu bootovat své stroječky, pokud střídají přístup mezi
katederními NFS disky a fakultními Novellskými disky. Nyní vidí oba
typy disků pomocí PC NFS z DOSu současně. Vidět Novellské disky
namontované pomocí NFS z Linuxového serveru i na SUNech je také
příjemné.
Do každé čtyřiosmšestce v počítačové učebně jsem instaloval
ochuzený Linux (disky jsou tam už poněkud menší), který montuje
softwarové svazky /usr/local resp. share ze serveru. Lokálně mají
instalováno především X, které se nejčastěji v učebně spouští jako
-query server. Těm kalkulačkám se 17 palcovými monitory grafické
rozhraní sluší, a přitom dostaly "druhou mízu" z výkonu nového
serveru. Ten se tedy stává především aplikačním serverem pro
dvanáct počítačů v učebně a některé další v kancelářích kolegů,
kteří již dříve používali například DOSový X-appeal na grafické
připojení k SUNům. Dnes se připojují k Linuxu. Na serveru někdy běží
přes 500 procesů a je tam přihlášeno třeba dvacet uživatelů. Jsou
k dispozici i náročné matematické programy Mathematica 3.0 a Maple V
R4. Přitom server stíhá. Jen tak bokem funguje i jako fontserver pro
X terminály. Přece nebudu po instalaci nového fontu obcházet všechny
počítače na katedře!
Již před mnoha lety jsem dělal podobný pokus se SUNem
(SPARCStation 5), kdy jsem spustil všech dvanáct počítačů učebny
jako grafické terminály proti jedinému SUNu. Jakmile jsem ale
otevřel v rámci tohoto pokusu poněkud více procesů, začal mít SUN
potíže s forkováním a nedalo se na něm nic dělat. Jsem tedy příjemně
překvapen, že dnešní linuxový server nemá tytéž problémy. Pokrok
holt nelze zastavit.
Protože naše staré SUNy svým výkonem už zdaleka nestačí,
rozhodl jsem se využít aspoň jejich velké pěkné obrazovky. Bohužel
SUNovský X server Xnews neumožňuje použít parametr -query. Musel
jsem tedy pro SUN kompilovat XFree86. Nyní SUN nabídne uživateli
buď původní grafické rozhraní v lokálním provozu zprostředkované
pomocí původního Xnews nebo grafické rozhraní linuxového serveru
pomocí XFree86 s parametrem -query server. Tím jsem vrátil život i
těmto postarším SUNům. Pro srovnání: kompilace kompletního XFree86
na našem starém (ale nejvýkonnějším) SUNu SPARCStation 5 trvala půl
dne, zatímco tatáž operace na novém linuxovém serveru trvá čtvrt
hodiny.
Uvedená centralizace softwaru a degradace klientů na pouhé
projekční plátno, na němž se promítá to, co se odehrává na serveru,
má obrovské výhody pro administrátora sítě. Prostě nainstaluji nový
software na jediném místě, vyzkouším a mohou jej okamžitě používat
všichni. Například Wolframova Mathematica je instalována jen
jednou. Uživatelská konta jsou spravována centrálně a bezpečněji.
Různé počítače kdekoli na katedře nabídnou uživateli vždy zcela
stejné uživatelské rozhraní závislé na uživatelských preferencích.
Pravidelná archivace všech uživatelských dat na pásky probíhá
lokálně. Slyšel jsem, že jiní administrátoři, kteří pro Mathematicu
zvolili platformu Windows NT, musí každou chvíli obcházet jednotlivé
počítače a pořád něco konfigurovat.
Podle mého názoru je třeba soustředit investice do disků, paměti
RAM a procesorů na straně serveru a do velkých monitorů a výkonných
grafických karet na straně klientů. Tam nejsou potřeba velké disky
a výkon procesoru. Bohužel, většina na trhu prodávaných počítačů
(platformy Intel) tuto filosofii nedodržuje. Jako první údaj
v katalogu si můžeme přečíst, jak mocný procesor sestava obsahuje,
jak veliký disk má, a někde v koutku vzadu se krčí informace o tom,
že v základní sestavě se počítá pouze s patnácti palcovým divadelním
kukátkem.
V dnešní době nabízí server již poměrně dost aplikací. Kromě
Mathematicy a Maple je veškerý software čerpán z free zdrojů (aspoň
pro akademické instituce). Uvedu neúplný seznam aplikací, které jsou
k dispozici: Netscape, Emacs, TeX, LyX, Ghostview, Acrobat reader,
Imagemagic, xv, Gnuplot, Xfig, souborové managery, e-mail managery,
...
Aby toho nebylo dost, jsou k serveru připojeny síťové tiskárny.
Klienti startují tiskové úlohy jednak z PC NFS, nebo prostřednictvím
Samby nebo standardním UNIXovým způsobem. Server "očichá" první dva
znaky tiskové úlohy a pokud zjistí, že se jedná o PostScript (%!)
a úloha je přitom zasílána na nePostScriptovou tiskárnu, automaticky
úlohu profiltruje Ghostscriptem. Klientům se tedy jeví virtuálně
všechny síťové tiskárny jako PostScriptové. Včetně například
jehličkové tiskárny.
S tiskárnami souvisí problém paralelních portů. Do serveru
jsem dokoupil jedno paralelní rozhraní navíc, takže tiskárny mohou
být dvě. Úlohy pro další tiskárny jsou posílány na původní místa
ke starým SUNům. Vzpomínám si, že paralelní rozhraní pro SUNy nebylo
vůbec ve standardní výbavě a že to taky tehdy nebyla žádná láce.
Přitom u PCčka máme paralelní port skoro vždy a druhý lze velmi
levně dokoupit.
Kromě paralelních portů je využita většina portů sériových. Náš
počítač má seriové porty čtyři. Bylo potřeba nastavit některé z nich
na nestandardní IRQ, protože od výrobce je nastavení takové, že se
IRQ vždy dvou seriových portů překrývají. To se Linuxu nelíbí. Jeden
port jsem obsadil hlodavcem, k druhému je připojen stařičký textový
terminál a po třetím portu komunikuje server s modemem. Tam kraluje
mgetty+sendfax. Konfigurace umožňuje přijímat oficiální katederní
faxy a o příjmu faxu rozeslat zprávu administrativním osobám.
To šetří naše lesy. Faxy lze také posílat přímo z UNIXu. Stačí mít
připraveno TeXovské dvi a šup s ním do faxové fronty. Software jej
automaticky konvertuje na PostScript a ten na faxový g3 a dále se
jej snaží odfaxovat v intervalech, stanovených v tabulce crontab.
Protože telefonní linka není na faxy příliš využita, je software
k modemu konfigurován též jako jednoduchý "terminálový server",
který umožňuje připojení jednoho počítače po telefonu protokolem PPP
do sítě Internet. To využijí někteří šťastnější kolegové, kteří mají
doma u počítače modem. Zatím takových "modemistů" není mnoho, takže
jedna telefonní linka je pro naši katedru dostačující.
Je tedy vidět, že linuxový server pracuje na našem pracovišti
jako "holka pro všechno". Neuvedl jsem, že na něm běží také DNS
server a možná že jsem na plno dalších funkcí zapomněl.
Kromě uvedeného serveru jsme koupili ještě jeden počítač.
Má jen jeden méně výkonný procesor, je bez monitoru, má méně
paměti a jediný SCSI disk. Operačním systémem je samozřejmě Linux
a přesunu na něj mail server (ze stávajícího SUNu) a DNS server.
Tento stroječek lze pořídit poměrně levně -- asi za třicet tisíc.
Z bezpečnostních důvodů do něj nepustím uživatele. Síť našeho
pracoviště (asi 40 zaměstnanců a 200 studentů střídajících se
v učebně) tedy bude postavena hlavně na jednom výkonném aplikačním
serveru a jednom serveru pro služby. WWW server a ftp server
http://math.feld.cvut.cz zůstane zatím na stařičkém SUN OS, ale
až tento přístroj odejde do věčných lovišť, určitě jej naprosto
bezproblémově nahradí Linux.
výheň