Skip to content

AppleLab na FIT ČVUT

Od roku 2014 mám u nás ve škole na starosti správu nové Apple učebny. Kromě programování pro iOS se v ní učí spousta dalších předmětů. Starat se o učebnu znamená dostat na všechny počítače OS X a hromadu software, které je občas potřeba aktualizovat. Konfiguraci musíme uzpůsobit prostředí učebny a zabránit uživatelům dělat nepěkné věci. Ideálně vše řešit centrálně a silně automatizovat. A co takhle další operační systémy? Není problém. Při startu Mac mini si vybíráte mezi OS X, Linux a Windows. Jak jsem to vyřešil?

AppleLab FIT ČVUT

Správa OS X

Xcode v AppleLab

Jednou za rok na podzim vyjde nová verze OS X. Nedlouho na to ji nasazuji v Apple učebně. Z instalátoru OS X pomocí AutoDMG vytvořím image s nikdy nenastartovaným systémem a rovnou k němu přibalím objemný software typu Mathematica nebo MATLAB. Všechny počítače v učebně nastartují OS X přes síť pomocí NetBoot. Automatizovanými akcemi nástroje DeployStudio proběhne nasazení. Obraz s OS X všichni klienti obdrží z ASR multicast přenosu.

Manuální správa 40ti kousků software je děsná otrava. K záchraně spěchá AutoPkg schopný stahovat nově vyšlé verze z webů vývojářů a importovat je do systému hromadné instalace. Systémem není nic jiného než Munki. Klient na každém Macu si stáhne a nainstaluje všechny potřebné programy. Rovněž umí instalovat aktualizace systému. Abych nad nimi měl kontrolu, přijde vhod schopnější variace na téma Apple Software Update Server – Reposado. Vedle klasického software instalujeme mnoho vlastních balíčků vytvořených skrz luggage. Nelze opomenou ani řadu dalších shell a Ruby skriptů společně s dokumentací verzovaných gitem.

OS X je propojený s několika fakultními službami. Uživatelé se na libovolném Macu přihlásí svým školním účtem získaným z LDAP serveru. Domovskou složku jim připojí automount přes síť protokolem NFSv3. K datům mají přístup z jakékoliv učebny a libovolného operačního systému. Pokud by na některém z počítačů padal systém, příliš topil nebo docházelo místo na disku, dozvíme se to v systému Nagios, kam Macy posílají informace o aktuálním stavu.

Server pro učebnu

V serverovně sedí jeden Mac mini, na kterém provozujeme VMware ESXi. Toto řešení umožňuje běh více instancí OS X zároveň bez příliš velké režie. Vedle produkční virtuálky můžeme zapnout několik dalších testovacích. Jednou denně automaticky probíhá záloha skriptem ghettoVCB.

Hlavní virtuální stroj obsahuje OS X s nainstalovaným modulem Server. Pod ním běží již zmíněný NetBoot a Profile Manager určený ke konfiguraci klientů. Administrátorovi jsou po ruce nástroje pro správu služeb jako DeployStudio Admin, MunkAdmin, AutoPkgr nebo Margarita.

Podpora více operačních systémů

První, co uvidí uživatel po startu Macu v učebně, je EFI boot manager rEFInd. Vedle OS X, Gentoo Linux nebo Windows 7 lze nastartovat i do systému pro instalaci učeben běžně používaném na školních PC. To zajišťuje program iPXE suplující chybějící PXE podporu ve firmware Macu. Přes síť proto může nastartovat diskless Linux a nasadit Windows a Gentoo na druhý disk počítače.

Závěrem

O projektu Apple učebny na FIT ČVUT jsem napsal bakalářku Případová studie Apple učebny na ČVUT FIT a diplomku Provoz Apple laboratoře pro FIT ČVUT (ještě není odevzdána).

Chtěl bych poděkovat ICT oddělení za spolupráci při realizaci učebny. Zejména Tomáši Kadlecovi, Marinu Bílému, Milanu Václavíkovi a Lukáši Kudrnovi. Rovněž děkuji doktorům Rudolfu Blažkovi a Tomáši Zahradnickému, bez nichž by učebna nevznikla.