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ň