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ň