Tento článek si klade za cíl seznámit čtenáře s počítačovou učebnou založenou na PC-based UNIXu.
Na konci loňského léta vznikl problém vytvořit počítačovou učebnu pro potřeby výuky na Přírodovědecké fakultě Masarykovy univerzity. Učebna měla sloužit k výuce programování a výuce užívání osobních počítačů v nejrůznějších oborech (biologie, chemie, geologie apod.). Měla být realizována v podmínkách školy, tj. s velmi omezeným rozpočtem. Účelem tedy bylo navrhnout a realizovat levné, ale spolehlivé řešení.
V první fázi byly stanoveny alespoň rámcové požadavky, které musí učebna vzhledem k charakteru svého budoucího využití splňovat:
Požadavkům vyhovovala koncepce serveru a stanic v síti. Otázkou zůstávalo, jaký software použít. V podstatě přicházel do úvahy buď server s Novell NetWare a odpovídající novellovští klienti nebo server s UNIXem a vhodná implementace NFS na straně DOSovských klientů. O konečném řešení rozhodla cena: Novell pro 20 uživatelů stál v té době okolo 30.000 Kč, na univerzitě byla zakoupena multilicence BSDI UNIXu1 a shareware NFS klient pro DOS stal okolo deseti dolarů za kus. Ukázalo se, že vzhledem k možnostem, které takovéto řešení nabízí, byla tato volba správná.
Zvolené řešení bylo motivováno ještě požadavkem na možnost výuky UNIXu. Pořízení Novellovské sítě by znamenalo zpřístupnit UNIXovský server po síti, v případě Přírodovědecké fakulty pak dodatečné investice na povýšení stávajícího fakultního serveru nebo na nákup nového UNIXového počítače pro účely výuky. Volba druhého řešení znamenala implicitní použití serveru i pro výuku2.
Jednou z vlastností, které nabízí novellovská síť a která nemůže být zcela snadno zajištěna public-domain softwarem nebo sharewarem, jsou bezdiskové stanice. Protože se ale má v podstatě jednat o dataless stanice, stačí poměrně malé pevné disky v každé z nich. I přes nutnost dodatečných investic do hardwaru bylo finančně zajímavější orientovat se směrem na UNIXový server a shareware NFS klienty.
Přítomnost lokálních disků vyvolává řadu otázek. Prvním problémem je, jaký software na lokálních discích uložit. Přirozeně se jednalo o vše, co je nutné k zavedení systému, ovladače síťové karty a NFS klienta. Vše ostatní by mohlo být na sdílených discích. Na druhé straně je škoda nevyužít poměrně rychlých disků na často přenášené soubory a snížit tak zatížení serveru i sítě. Proto byl na lokální disk umístěn kromě celého operačního systému i odkládací prostor pro MS Windows. Zkušenosti s provozem ukazují, že bude nejlepší uložit celé Windows na lokálním disku.
Protože zbylý software bude na sdíleném disku, zůstalo na lokálním disku ještě dost místa na instalaci UNIXového systému souborů, který umožňuje počítačům v učebně přímo zavést operační systém UNIX. Na jednotlivých stanicích není pochopitelně kompletní instalace UNIXu. Na discích je jen systémová oblast (root filesystem) a odkládací oblast (swap space). Svazek /usr se připojuje po síti ze serveru. Student, který chce pracovat v UNIXu, se tedy nemusí přihlásit na server v učebně, ale přímo zavede UNIX na stanici, u níž sedí. Tato koncepce šla ještě dále - je zcela zakázáno přihlašování studentů na server. Ten se tak stává dedikovaným diskovým serverem, což značně snižuje nároky na jeho hardware.
Bolestí počítačových učeben s MS DOSem jsou viry. Nepředpokládali jsme, že by naše učebna byla výjimkou. Opatření, které jsme proto učinili, bylo jediné schůdné - odpojili jsme disketové mechaniky a práce s disketami se děje na určeném počítači pod dozorem vyučujícího. Pokud je některý stroj zavirován, nezbývá než jej přeinstalovat. Řešení DOS/UNIX umožňuje ještě jeden poměrně elegantní způsob řešení - každý den zavést UNIX na všech stanicích a "přelít" obsah DOSovské oblasti disku ze zaručeně čisté kopie. Toto opatření však zatím nebylo nutné zavést.
Přítomnost lokálních disků s sebou přináší ještě jiný problém. Tím je instalace nového počítače a instalace nového softwaru na lokální disk. Nutno uznat, že u sítí s bezdiskovými stanicemi je situace jednodušší. U zde zvolené koncepce lze ale elegantně využít přítomnosti UNIXu na jednotlivých stanicích. Použitý UNIX umožňuje namontovat DOSovskou partition disku jako UNIXový svazek a pracovat s ní odpovídajícím způsobem. Instalace nové stanice pak obnáší jen:
Potřebuje-li správce provést globálně nějakou změnu na všech lokálních discích, může tak učinit po síti, je-li na všech stanicích zaveden UNIX (pod UNIXem je přístupná jak DOSovská, tak i UNIXovská oblast disku).
Uveďme ještě, jak jsou splněny jednotlivé požadavky, které byly na učebnu kladeny.
Každý uživatel (student, vyučující) má účet na serveru. Přitom vyučující jsou v jiné skupině než studenti - mají například právo zřizovat nové účty studentů. Právo zřídit účet pro vyučujícího má pouze superuživatel. Každé studijní skupině je přidělen čtyřpísmenný kód (např. učitelství matematika-biologie je mabi). Uživatelské jméno studenta se pak skládá z názvu studijní skupiny, čísla ročníku a z pořadového čísla ve skupině, které je automaticky generováno dávkou pro zřizování uživatelů. Tak například pátý student v pořadí studující třetí ročník učitelské kombinace matematika-biologie bude mít login mabi305. Povinností vyučujícího je zřídit v prvním cvičení účty všem studentům dané studijní skupiny. Každý účet je chráněn heslem a student se před započetím práce musí přihlásit příkazem login. Na konci práce se odhlásí příkazem logout3. Chce-li pracovat v prostředí UNIXu, zavede si na své stanici UNIX a přihlásí se standardním způsobem na konzole. V učebně je tedy použit systém ochran implementovaný v UNIXu, naprosto postačující pro účely výuky. Vyučující navíc mají možnost připojit si svůj domovský adresář na svůj počítač a připravit si vše, co potřebují přímo z něj.
Přístup do sítě Internet je naprosto přirozený vzhledem k tomu, že se v celé učebně používá ke komunikaci protokol TPC/IP. Jediné, co je třeba udělat, je správně nakonfigurovat odpovídající klienty pod DOSem.
Zbývalo ještě vyřešit poslední požadavek - oddělení provozu v učebně od ostatní sítě. Rozvody v učebně měly být realizovány tenkým ethernetem a požadavek zněl, že rozpojení ethernetu v učebně nesmí ohrozit provoz zbytku sítě v budově. Namísto původně uvažovaného repeateru bylo zvoleno levnější a v jistém smyslu i dokonalejší řešení: do serveru byla vložena ještě další ethernetová karta a byl nakonfigurován jako router. Takovéto řešení sice poněkud zvyšuje celkovou zátěž serveru, ale je pravdou, že provoz mezi učebnou a okolní sítí je podstatně nižší než provoz v učebně i provoz na druhé straně serveru. Navíc takto došlo k velmi dobrému oddělení provozu v obou sítích.
Softwarem, který byl v učebně použit, je v prvé řadě BSDI UNIX pro server (jak už bylo zmíněno, mohl by být stejně dobře použit jiný "levný" UNIX). Jeho konfigurace se mírně liší od standardní: především je v jádře zapnut IP forwarding4 a jádro obsahuje ovladače pro dva ethernetové adaptéry, s čímž souvisí přítomnost vhodného routovacího démona5. Z ostatních změn stojí za zmínku, že mountd musí být spouštěn s volbou -n, aby se DOSovským počítačům umožnilo připojování disků. Aby se zabránilo přihlašování studentů na server, je pro uživatele vypnuta autentifikace pomocí .rhosts (tj. rshd a rlogind se spouštějí s volbou -n). Navíc je v /etc/profile a v /etc/cshrc test, zda je uživatel v seznamu privilegovaných, kteří se smějí přihlásit. Do tohoto seznamu jsou zařazeni při zřízení účtu pouze vyučující. Později byl ještě použit protokol BOOTP (démon bootpd), jímž DOSovské počítače zjistí svou IP adresu, gateway a nameserver6.
V konfiguraci UNIXu na jednotlivých stanicích byly provedeny dvě změny, které stojí za zmínku. Soubor s uživatelskými účty se kopíruje ze serveru při každém zavedení systému, čímž se obchází nutnost použít NIS. Navíc je na stanicích účet shutdown bez hesla, který, přihlásí-li se na konzole, spustí program shutdown. Tím je zajištěno, že student může korektně ukončit UNIX na počítači, u něhož sedí (je-li přihlášen po síti, nemá shutdown žádný účinek), bez toho, aby měl operátorská privilegia.
Protože je v DOSu požadováno, aby se kromě NFS dali používat i jiní TCP/IP klienti, je nad ovladačem ethernetové karty (tj. packet driverem) nainstalován "multiplexor", který umožňuje několika aplikacím používat týž ovladač. Jeden ze vstupů je pevně přiřazen NFS klientovi. Má-li se spustit další TCP/IP aplikace, je jí přiřazen další vstup. Toto řešení má drobnou nevýhodu - je nutné instalovat dva ovladače - pro kartu a pro multiplexor. Proto je v nové verzi NFS klienta takovýto multiplexor zabudován.
Public-domain TPC/IP klienti, kteří jsou použiti, vesměs umožňují nastavení parametrů pomocí protokolu BOOTP. Software lze tak kopírovat mezi počítači i s konfiguračními soubory, nebo jej dokonce nechat na sdíleném disku, bez nebezpečí duplicity adres. Konfigurace se pak stává stejně jednoduchou jako u bezdiskových stanic.
Snaha vytvořit s omezeným rozpočtem učebnu vyhovujících parametrů se promítla i do volby hardwaru. Jak již bylo řečeno, bylo propojení počítačů realizováno tenkým ethernetem, který je jistě finančně nejpříznivější alternativou. Ukazuje se, že pro účely základní výuky je médiem naprosto postačujícím. V učebně byly použity ethernetové karty, o nichž dodavatel prohlašoval, že jsou "WD-compatible". Po testech se ukázalo, že jsou svou kompatibilitou opravdu postačující a dokonce jsou o něco rychlejší než originální karty SMC Elite. I jejich cena byla více než příznivá7. Stanice v učebně byly vybaveny osmibitovými kartami. Většina dodavatelů přesvědčuje své zákazníky, že jsou již zastaralé, a vnucuje jim něco lepšího. Je ale nutné si uvědomit, že všechny stanice přistupují k síti přibližně stejně intenzivně a naprostá většina komunikací probíhá mezi stanicí a serverem. Nemá tedy smysl vybavit stanice drahými velmi rychlými adaptéry, které budou stejně zahálet a čekat, až se dostanou k serveru. Server je naopak výhodné vybavit (alespoň na straně učebny) co nejrychlejší kartou8.
V učebně PřF MU byl jako server použit počítač s 80486 DX/2 na 50MHz a s 8 MB RAM. Je vybaven Fast SCSI-2 řadičem. V současné době je osazen jen jedním diskem o kapacitě 0,5 GB. Počítač byl pořizován před necelým rokem. Od té doby získalo na trhu poměrně dobré postavení rozhraní Enhanced IDE jako konkurent SCSI. I dnes bych ale pro server preferoval SCSI. U serveru se dá předpokládat rozšiřování periferií o další disky, CD-ROM mechaniky nebo vhodná zálohovací zařízení (např. DAT pásky nebo streamery). Na SCSI lze připojit osm zařízení (zatímco na EIDE jen čtyři) a většina UNIXů obsahuje drivery pro běžné periferie na SCSI. Horší bývá situace s (někdy dost exotickými) non-SCSI periferiemi.
O volbě vlastního hardwaru stanic v učebně samozřejmě rozhoduje především peněženka. Rozumné využití MS Windows i X-Window systému vyžaduje alespoň 8 MB paměti. Stanice v učebně jsou většinou vybaveny jen 4 MB, což se ukazuje jako žalostně málo.
Učebna vznikla z potřeby vyřešit rychle a levně tíživou situaci na Přírodovědecké fakultě Masarykovy univerzity. Realizace a téměř rok intenzivního provozu (učebna je opravdu vytížena) potvrzují, že se jedná o levné a přitom spolehlivé řešení. Podobné řešení by mohlo pomoci i středním školám získat bez velkých finančních nároků učebnu, která svými parametry vyhovuje požadavkům výuky.
Všichni, kteří mají o problematiku zájem, se mohou obrátit na autora článku. Software použitý pro NFS klienty je přístupný na ftp://ftp.muni.cz/pub/nfs-klient/.
1 | Volba BSDI UNIXu byla motivována právě existencí multilicence
a tím, že Ústav výpočetní techniky Masarykovy univerzity
zajišťuje podporu pro BSDI UNIX; kdyby tomu tak nebylo, uvažovali
bychom pravděpodobě o některém z dostupných freeware UNIXů
- o Linuxu nebo NetBSD.
... zpět do textu |
2 | Uvidíme, že i toto bylo nakonec realizováno jinak - bez
nutnosti zpřístupnění serveru studentům.
... zpět do textu |
3 | Jsou to jen dávky v DOSu, které připojují resp. odpojují
sdílený disk.
... zpět do textu |
4 | Server je tedy schopen pracovat jako router.
... zpět do textu |
5 | V našem případě to byl gateD, vzhledem
ke konfiguraci univerzitní sítě.
... zpět do textu |
6 | I ten je vhodné spustit na serveru - omezí se tak jednak
provoz mezi učebnou a okolním světem a navíc se učebna
stane nezávislou na výpadku nameserveru.
... zpět do textu |
7 | Příjemná byla navíc i skutečnost, že parametry těchto karet
není možné nastavit pomocí software. Pro velké množství
stejných konfigurací, které nebudou měněny, se ukázalo hardwarové
nastavení jako rychlejší a navíc bez rizika, že karta
"zapomene" svou konfiguraci.
... zpět do textu |
8 | Nejde zde o obhajování osmibitových karet - jen naznačení, že
má smysl vybavit server lepším adaptérem než ostatní počítače.
... zpět do textu |