ZADÁNÍ BAKALÁŘSKÉ PRÁCE

I. OSOBNÍ A STUDIJNÍ ÚDAJE

Příjmení: Skružný Jméno: Petr Osobní číslo: 457860 Fakulta/ústav: Fakulta informačních technologií Zadávající katedra/ústav: Katedra počítačových systémů Studijní program: Informatika Studijní obor: Bezpečnost a informační technologie

II. ÚDAJE K BAKALÁŘSKÉ PRÁCI

Název bakalářské práce: Automatická konfigurace serverů a instalace OS

Název bakalářské práce anglicky: Automactic server configuration and OS installation

Pokyny pro vypracování: Prozkoumejte volně dostupné systémy pro automatickou instalaci serverů, např. Foreman, Ironic, Crowbar, MaaS. Vyberte z nich jeden nejvhodnější na základě funkcionality, jednoduchosti instalace, použití a velikosti uživatelské základny a vytvořte konfiguraci pro instalaci Linuxu (ideálně s podporou více distribucí) a Windows na dvou druzích serverů (HPE, SuperMicro). Systém by měl umět mimo instalace operačního systému na servery také nastavit IP adresy rozhraní pro správu serveru a rozhraní do datové sítě a konfigurovat RAID řadiče serverů.

Seznam doporučené literatury: Dodá vedoucí práce.

Jméno a pracoviště vedoucí(ho) bakalářské práce: Ing. Tomáš Vondra, Ph.D., katedra kybernetiky FEL

Jméno a pracoviště druhé(ho) vedoucí(ho) nebo konzultanta(ky) bakalářské práce:

Datum zadání bakalářské práce: 31.12.2018 Termín odevzdání bakalářské práce: ______

Platnost zadání bakalářské práce: ______

______Ing. Tomáš Vondra, Ph.D. podpis vedoucí(ho) ústavu/katedry doc. RNDr. Ing. Marcel Jiřina, Ph.D. podpis vedoucí(ho) práce podpis děkana(ky)

III. PŘEVZETÍ ZADÁNÍ

Student bere na vědomí, že je povinen vypracovat bakalářskou práci samostatně, bez cizí pomoci, s výjimkou poskytnutých konzultací. Seznam použité literatury, jiných pramenů a jmen konzultantů je třeba uvést v bakalářské práci.

. Datum převzetí zadání Podpis studenta

CVUT-CZ-ZBP-2015.1 © ČVUT v Praze, Design: ČVUT v Praze, VIC

Bakal´aˇrsk´apr´ace

Automatick´akonfigurace server˚u a instalace OS

Petr Skruˇzn´y

Katedra poˇc´ıtaˇcov´ych syst´em˚u Vedouc´ıpr´ace:Ing. Tom´aˇsVondra, Ph.D

13. kvˇetna2019

Podˇekov´an´ı

Chtˇelbych podˇekovat panu Ing. Tom´aˇsiVondrovi, Ph.D, za trpˇelivost, ochotu a pomoc s tvorbou t´etopr´ace.

Prohl´aˇsen´ı

Prohlaˇsuji,ˇzejsem pˇredloˇzenoupr´acivypracoval samostatnˇea ˇzejsem uvedl veˇsker´epouˇzit´einformaˇcn´ızdroje v souladu s Metodick´ympokynem o etick´e pˇr´ıpravˇevysokoˇskolsk´ych z´avˇereˇcn´ych prac´ı. Beru na vˇedom´ı,ˇzese na moji pr´aci vztahuj´ıpr´ava a povinnosti vypl´yvaj´ıc´ı ze z´akona ˇc.121/2000 Sb., autorsk´ehoz´akona, ve znˇen´ıpozdˇejˇs´ıch pˇredpis˚u. V souladu s ust. § 46 odst. 6 tohoto z´akona t´ımto udˇelujinev´yhradn´ıopr´avnˇen´ı (licenci) k uˇzit´ıt´etomoj´ıpr´ace,a to vˇcetnˇevˇsech poˇc´ıtaˇcov´ych program˚u,jeˇz jsou jej´ısouˇc´ast´ıˇcipˇr´ılohou,a veˇsker´ejejich dokumentace (d´alesouhrnnˇejen D´ılo“), a to vˇsemosob´am,kter´esi pˇrej´ıD´ılouˇz´ıt.Tyto osoby jsou opr´avnˇeny ” D´ılouˇz´ıtjak´ymkoli zp˚usobem, kter´ynesniˇzujehodnotu D´ıla,a za jak´ymkoli ´uˇcelem(vˇcetnˇeuˇzit´ık v´ydˇeleˇcn´ym´uˇcel˚um).Toto opr´avnˇen´ıje ˇcasovˇe,teri- tori´alnˇei mnoˇzstevnˇeneomezen´e.Kaˇzd´aosoba, kter´avyuˇzijev´yˇseuvedenou licenci, se vˇsakzavazuje udˇelitke kaˇzd´emu d´ılu,kter´evznikne (byt’ jen zˇc´asti) na z´akladˇeD´ıla,´upravou D´ıla,spojen´ımD´ılas jin´ymd´ılem,zaˇrazen´ımD´ıla do d´ılasouborn´ehoˇcizpracov´an´ımD´ıla(vˇcetnˇepˇrekladu),licenci alespoˇnve v´yˇseuveden´emrozsahu a z´aroveˇnzpˇr´ıstupnitzdrojov´yk´odtakov´ehod´ılaale- spoˇnsrovnateln´ymzp˚usobem a ve srovnateln´emrozsahu, jako je zpˇr´ıstupnˇen zdrojov´yk´odD´ıla.

V Praze dne 13. kvˇetna2019 ...... Cesk´evysok´euˇcen´ıtechnick´evˇ Praze Fakulta informaˇcn´ıch technologi´ı c 2019 Petr Skruˇzn´y.Vˇsechna pr´ava vyhrazena. Tato pr´ace vznikla jako ˇskoln´ı d´ılo na Cesk´emvysok´emuˇcen´ıˇ technick´em v Praze, Fakultˇeinformaˇcn´ıch technologi´ı.Pr´ace je chr´anˇenapr´avn´ımipˇredpisy a mezin´arodn´ımi´umluvamio pr´avuautorsk´ema pr´avech souvisej´ıc´ıchs pr´avem autorsk´ym.K jej´ımuuˇzit´ı,s v´yjimkoubez´uplatn´ychz´akonn´ychlicenc´ıa nad r´amec opr´avnˇen´ıuveden´ychv Prohl´aˇsen´ına pˇredchoz´ıstranˇe,je nezbytn´ysou- hlas autora.

Odkaz na tuto pr´aci Skruˇzn´y,Petr. Automatick´akonfigurace server˚ua instalace OS. Bakal´aˇrsk´a pr´ace.Praha: Cesk´evysok´euˇcen´ıˇ technick´ev Praze, Fakulta informaˇcn´ıch technologi´ı,2019. Abstrakt

Tato pr´acese zab´yv´avolbou vhodn´ehosyst´emu pro konfiguraci server˚ua in- stalaci operaˇcn´ıhosyst´emu na servery v prostˇred´ıdatov´ehocentra v Jihlavˇe. Po syst´emech je poˇzadov´ano,aby byly schopny konfigurovat s´ıt’ov´arozhran´ı server˚ua jejich nap´ajec´ırozhran´ı.C´ılempr´ace je vybrat z volnˇedostupn´ych syst´em˚uumoˇzˇnuj´ıc´ıch vzd´alen´ea automatizovan´ekonfigurov´an´ıserver˚upro zjednoduˇsen´ıposkytov´an´ısluˇzebdatov´ehocentra pro z´akazn´ıky. V´ysledkem pr´acebude kromˇeporovn´an´ısyst´em˚utak´enasazen´ıjednoho z nich v prostˇred´ıdatov´ehocentra, kde pak bude d´alepouˇz´ıv´anv bˇeˇzn´em provozu.

Kl´ıˇcov´a slova konfigurace serveru, instalace OS, provision syst´em,open- source, HPE, SuperMicro, Foreman, Ironic, Cobbler, MaaS, Spacewalk

vii Abstract

This work focuses on choosing appropriate system for configuring servers and installing operation system on servers in located in Jihlava. The systems are required to be able to configure network devices of server and their power management interfaces. Goal of this work is to choose system capable of remote and automatic server configuration to allow for easier providing of customer service by the data center. The result of this work aside from comparison of said systems will also be deployment of one of the system directly in the data center where it will be used in day-to-day operations.

Keywords server configuration, OS installation, provision system, open- source, HPE, SuperMicro, Foreman, Ironic, Cobbler, MaaS, Spacewalk

viii Obsah

Literatura 1

Uvod´ 3

1 C´ıle pr´ace 5

2 Z´akladn´ı pojmy 7 2.1 Bare metal provisioning ...... 7 2.2 Pr˚ubˇehbare metal provisioning ...... 8

3 Analyza´ a porovn´an´ı 11 3.1 Dostupn´eprojekty ...... 11 3.2 Foreman ...... 11 3.3 Ironic ...... 14 3.4 Cobbler ...... 16 3.5 MaaS ...... 17 3.6 Spacewalk ...... 19 3.7 Z´avˇereˇcn´yv´ybˇer ...... 21

4 Realizace 23 4.1 Popis projektu Foreman ...... 23 4.2 Instalace Foreman serveru ...... 23 4.3 Konfigurace pro automatickou instalaci ...... 26 4.4 Automatick´ainstalace ...... 28

Z´avˇer 31

A Seznam pouˇzitych´ zkratek 33

B Obsah pˇriloˇzen´eho CD 35

ix

Seznam obr´azk˚u

2.1 Pr˚ubˇehbare metal provision ...... 9

3.1 Architektura Foreman ...... 12 3.2 Architektura Ironic ...... 14 3.3 Architektura MaaS ...... 18 3.4 Architektura Spacewalk ...... 20

4.1 Sch´emanasazen´ıprojektu Foreman ...... 24

xi

Seznam tabulek

4.1 Tabulka port˚u ...... 25

xiii

Literatura

[1] Sekera, J.: Automatick´ainstalace linuxov´ehoserveru a z´akladn´ıkonfigu- race sluˇzeb.2017, [PDF]. Dostupn´ez: http://hdl.handle.net/10467/ 69647

[2] Sokol, J.: Infrastruktura pro centralizovanou automatickou instalaci ser- ver˚u.2017, [PDF]. Dostupn´ez: http://hdl.handle.net/10467/69662

[3] Preboot Execution Environment (PXE) Specification. Intel Corporation, [online], [cit. 2019-05-02], z´aˇr´ı 1992. Dostupn´e z: https://web.archive.org/web/20131102003141/http:// download.intel.com/design/archives/wfm/downloads/pxespec.pdf

[4] Droms, R.: Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types. Network Working Group, [online], [cit. 2019- 05-02], z´aˇr´ı2000. Dostupn´ez: https://tools.ietf.org/html/rfc2939

[5] Sollins, K.: The TFTP Protocol (Revision 2). Network Working Group, [online], [cit. 2019-05-02], ˇcervenec 1992. Dostupn´ez: https: //tools.ietf.org/html/rfc1350

[6] Supermicro IPMI - What is it and what can it do for you? Boston IT Solutions, [online], [cit. 2019-05-02], 16. listopad 2016. Dostupn´ez: https://www.bostonindia.in/technical/2015/10/supermicro-ipmi- what-is-it-and-what-can-it-do-for-you.aspx

[7] Patterson, D. A.; Gibson, G. A.; Katz, R. H.: A case for redundant arrays of inexpensive disks (RAID). Computer Science Division, Univer- sity of California, [online], [cit. 2019-05-01], 1987. Dostupn´ez: https: //www2.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-391.pdf

[8] Chapter 31. Advanced Networking. [online], [cit. 2019-05-05]. Dostupn´e z: https://www.freebsd.org/doc/handbook/network-diskless.html

1 Literatura

[9] Introduction. Foreman, [online], [cit. 2019-05-02], duben 2019. Dostupn´e z: https://www.theforeman.org/introduction.html

[10] Quickstart Guide. [online], [cit. 2019-05-12], duben 2019. Dostupn´ez: https://www.theforeman.org/manuals/1.20/quickstart_guide.html

[11] Welcome to Ironic’s documentation! [online], [cit. 2019-05-05], z´aˇr´ı2017. Dostupn´ez: https://docs.openstack.org/ironic/latest/

[12] Install and configure for Ubuntu. [online], [cit. 2019-05-12], 17. le- den 2018. Dostupn´e z: https://docs.openstack.org/ironic/stein/ install/install-ubuntu.html

[13] Introduction to Cobbler. [online], [cit. 2019-05-12], 2019. Dostupn´ez: https://cobbler.github.io/manuals/2.8.0/1_-_About_Cobbler.html

[14] Cobbler Quickstart Guide. [online], [cit. 2019-05-12], 2019. Dostupn´ez: https://cobbler.github.io/manuals/quickstart/

[15] MAAS Documentation. [online], [cit. 2019-05-12], 2018. Dostupn´e z: https://docs.maas.io/2.5/en/

[16] Install MAAS. [online], [cit. 2019-05-12], 2019. Dostupn´ez: https:// maas.io/install

[17] Spacewalk - Introduction. [online], [cit. 2019-05-12], 2019. Dostupn´ez: https://spacewalkproject.github.io/

[18] Mraka, M.: HowToInstall. [online], [cit. 2019-05-12], 27. listo- padu 2018. Dostupn´e z: https://github.com/spacewalkproject/ spacewalk/wiki/HowToInstall

[19] 1. Foreman 1.21 Manual. [online], [cit. 2019-05-12], 2019. Dostupn´e z: https://www.theforeman.org/manuals/1.21/ index.html#3.InstallingForeman

2 Uvod´

Pr´acese zab´yv´at´ematemvolby vhodn´ehosyst´emu pro spr´avuneust´alenar˚ust- aj´ıc´ıhomnoˇzstv´ıserver˚u.Se zvyˇsuj´ıc´ıse popt´avkou po v´ypoˇcetn´ımv´ykonu jako odpovˇed’ vznikaj´ıa rozˇsiˇruj´ıse datov´acentra. Aby byla schopna uspokojit popt´avku,mus´ıneust´alerozˇsiˇrovat svou v´ypoˇcetn´ıkapacitu. To znamen´an´akupnov´ych stroj˚u,jejich ´udrˇzbua spr´avu.Pro sn´ıˇzen´ı v´ydaj˚uje pak tak´etˇrebaznovu vyuˇz´ıvat i starˇs´ıstroje, a ne je likvidovat. Aby byla takov´aoperace v˚ubec moˇzn´a,je zapotˇreb´ısyt´emu, kter´yumoˇzˇnuje centralizovanou spr´avu,poskytuje moˇznostikonfigurace a spr´avys´ıtˇea roz- hran´ık n´ıpˇripojen´ych, instalace operaˇcn´ıch syst´em˚una nov´ei star´estroje a monitorov´an´ıcel´einfrastruktury. Takov´ysyst´emovˇsemm˚uˇzeb´ytvelmi drah´ya pro menˇs´ıdatov´ecentrum t´ımp´ademnevhodn´y.Z toho d˚uvodu se v t´etopr´acisoustˇred´ımpouze na projekty licencovan´epod nˇekterouz open source licenc´ıa na ty, kter´ejsou zdarma k pouˇzit´ı. V´ysledkem t´etopr´ace bude nasazen´ysyst´empro konfiguraci server˚ua in- stalaci operaˇcn´ıch syst´em˚upˇr´ımov prostˇred´ıdatov´ehocentra v Jihlavˇe.Tento syst´embude pˇripraven k okamˇzit´emu pouˇz´ıv´an´ızamˇestnancidatov´ehocentra a mˇelby zjednoduˇsita zefektivnit jejich pr´aci. D˚uvodem, proˇcjsem si zvolil toto t´emabakal´aˇrsk´epr´ace,je m˚ujz´ajem o automatizaci proces˚u.Proto chci nahl´ednout za oponu datov´ehocentra, kde je automatizace nutnost´ı,abych pochopil, jak jsou pouˇz´ıvan´eprocesy auto- matizov´any. A protoˇzese zaj´ım´ami o poˇc´ıtaˇcovou bezpeˇcnost,zaj´ımaj´ımˇe i moˇznostizabezpeˇcov´an´ıtˇechto proces˚ua syst´em˚u. Pr´acese dot´yk´aobdobn´eproblematiky, kterou se zab´yvali kolegov´eJa- kub Sekera a Jan Sokol v prac´ıch Automatick´ainstalace linuxov´ehoserveru a z´akladn´ı konfigurace sluˇzeb a Infrastruktura pro centralizovanou automa- tickou instalaci server˚u [1] [2]. Avˇsakna rozd´ılod nich se zamˇeˇr´ımna jin´e parametry u zkouman´ych syst´em˚u. V kapitole 2 zavedu a vysvˇetl´ım z´akladn´ıpojmy pouˇz´ıvan´ev t´etopr´aci.

3 Uvod´

Kapitola 3 se zab´yv´anab´ıdkou volnˇedostupn´ych projekt˚uumoˇzˇnuj´ıc´ıch kon- figuraci server˚ua instalaci operaˇcn´ıch syst´em˚u.Zab´yv´amse jak splnˇen´ım z´akladn´ıch poˇzadavk˚uze zad´an´ıpr´ace,tak i pˇrednostmia nev´yhodami jed- notliv´ych projekt˚u.Z´avˇeremt´etokapitoly je v´ybˇerprojektu, u kter´ehov ka- pitole 4 provedu instalaci a konfiguraci na serveru v datov´emcentru v Jihlavˇe. N´aslednˇeudˇel´amlehk´ypr˚uvod pˇrid´an´ımnov´eho klienta a jeho instalac´ı.Z´avˇer shrnuje ´ukony proveden´ev pr´aci,hodnot´ıdosaˇzen´ıc´ıl˚ua moˇznostidalˇs´ıho rozˇs´ıˇren´ızvolen´ehoˇreˇsen´ı.

4 Kapitola 1

C´ılepr´ace

S rostouc´ımin´arokyna v´ypoˇcetn´ıv´ykon stoup´aobliba pron´ajmu virtu´aln´ıch priv´atn´ıch server˚u,virtu´aln´ıch stroj˚upˇrizp˚usoben´ych na m´ıruuˇzivateli. Pro- n´ajmemuˇzivateli odpadaj´ın´akladyna poˇr´ızen´ıa ´udrˇzbuhardware. Tyto stroje b´yvaj´ı um´ıstˇeny v datov´ych centrech a pracuj´ı se skuteˇcn´ymhardwarem, pˇriˇcemˇzna jednom fyzick´emserveru m˚uˇzefungovat v´ıcetˇechto virtu´aln´ıch server˚u. Aby datov´acentra mohla uspokojit zvyˇsuj´ıc´ı se popt´avku,mus´ı se ne- ust´alerozˇsiˇrovat. Z´aroveˇnsi ale mus´ıudrˇzetpˇrehleda kontrolu nad velk´ym mnoˇzstv´ımstroj˚u,tud´ıˇzje d˚uleˇzit´em´ıtcentralizovan´ysyst´emspr´avy. Konfigurace fyzick´ych server˚ua instalace operaˇcn´ıch syst´em˚uje ˇcasovˇe n´aroˇcn´aˇcinnostvyˇzaduj´ıc´ıbˇehemtˇechto operac´ıpˇr´ıtomnostadministr´atora. Tud´ıˇzje z´ahodno m´ıt syst´emumoˇznuj´ıc´ı jak spr´avui existuj´ıc´ıch server˚u a virtu´aln´ıch stroj˚una nich bˇeˇz´ıc´ıch, tak konfiguraci nov´ych server˚ua n´aslednou instalaci operaˇcn´ıhosyst´emu. Tyto syst´emy b´yvaj´ıoznaˇcov´any jako tzv. provision“ syst´emy. Na trhu ” existuje mnoˇzstv´ı uzavˇren´ych i open source projekt˚u,kter´etakov´ysyst´em nab´ızej´ı.

C´ılempr´aceje prozkoumat nab´ıdkuopen source projekt˚unab´ızej´ıc´ıch au- tomatickou konfiguraci a instalaci server˚ua nejvhodnˇejˇs´ız nich vybrat. Poˇzadavky jsou nastaven´ıIP adres do datov´ea management s´ıtˇe,instalace jedn´ez nˇekolika distribuc´ısyt´emu Linux nebo Windows Server a nakonfigu- rov´an´ıRAID ˇradiˇce.Tyto operace mus´ıprojekt umˇetvykonat nad servery znaˇcekHPE a SuperMicro. Dalˇs´ımkrit´eriem pro v´ybˇerje mnoˇzstv´ıdalˇs´ıch nab´ızen´ych funkcionalit a sloˇzitost´ı,potaˇzmojednoduchost, instalace projektu, d´alen´aroˇcnostobsluhy a velikost uˇzivatelsk´ez´akladny.

5

Kapitola 2

Z´akladn´ıpojmy

Tato kapitola je vˇenov´anavysvˇetlen´ıpojm˚ua zkratky d´alepouˇz´ıvan´ev t´eto pr´aci.Poˇzadavky pr´acelze shrnout jedn´ım term´ınem, a t´ım je bare metal provisioning. V dalˇs´ıch sekc´ıch vysvˇetl´ımtento term´ına k nˇemu se vztahuj´ıc´ı dalˇs´ıpojmy.

2.1 Bare metal provisioning

Bare metal provisioning je proces instalace operaˇcn´ıho syst´emu na poˇc´ıtaˇcov´y hardware. Je sloˇzenz nˇekolika na sebe navazuj´ıc´ıch krok˚ua spojuje funkce nˇekolika sluˇzeb, aby mohlo b´ytdosaˇzenoˇz´adan´ehov´ysledku.

2.1.1 PXE Preboot Execution Enviroment(PXE). PXE m´atˇriprim´arn´ıfunkce:

1. Pokytuje metody pro inicializaci firmware klientsk´ehostroje pro spuˇstˇen´ı PXE protokolu;

2. poskytuje sadu API ve firmware stroje, poskytuj´ıc´ıch sadu sluˇzebvyu- ˇziteln´ych NBP nebo BIOS;

3. je protokolem umoˇzˇnuj´ıc´ımklientovi vyˇz´adatsi s´ıt’ovou adresu a st´ahnout NBP soubor z pˇr´ısluˇsn´ehoserveru.

Schopnost zav´adˇen´ıpˇress´ıt’ zjednoduˇsujenasazen´ıa spr´avuserver˚upro ad- ministr´atora[3].

2.1.2 DHCP Dynamic Host Configuration Protocol. Protokol poskytuj´ıc´ır´amecpro pˇred´av´an´ı konfiguraˇcn´ıch parametr˚u,jako jsou IP adresy pro zaˇr´ızen´ıa sluˇzby na TCP/IP

7 2. Zakladn´ ´ı pojmy s´ıti[4]. Pomoc´ıPXE a DHCP z´ısk´aBIOS IP adresu pro s´ıt’ov´erozhran´ıa ad- resu serveru, na kter´emje uloˇzenNBP.

2.1.3 NBP Network Bootstrap Program. Zavadˇeˇcj´adraoperaˇcn´ıhosyst´emu obdobnˇejako GRUB ˇciLILO, kter´ejsou bˇeˇznˇepouˇz´ıv´any pro lok´aln´ızav´adˇen´ı.Stejnˇejako zavadˇeˇcna pevn´emdisku NBP je zodpovˇedn´yza naˇcten´ıoperaˇcn´ıhosyst´emu do operaˇcn´ıpamˇeti,aby mohl b´ytoperaˇcn´ısyst´emzaveden pˇress´ıt’.

2.1.4 TFTP Trivial File Transfer Protocol. Jednoduch´yprotokol pro pˇrenossoubor˚ubˇeˇznˇe pouˇz´ıvan´ypro automatick´ypˇrenoskonfiguraˇcn´ıch soubor˚unebo zav´adˇec´ıch soubor˚uv m´ıstn´ımprostˇred´ı.V prostˇred´ıPXE je TFTP pouˇz´ıv´anopro sta- hov´an´ıNBP pˇress´ıt’ s pomoc´ıinformac´ız´ıskan´ych od DHCP serveru [5].

2.1.5 IPMI Intelligent Platform Management Interface. IPMI je standardizovan´esyst´emov´e rozhran´ıpro syst´emov´eadministr´atoryslouˇz´ıc´ıpro out-of-band spr´avua mo- nitorov´an´ıpoˇc´ıtaˇcov´ych syst´em˚u.D´ıkyIPMI je moˇzn´espravovat syst´em,kter´y nemus´ıodpov´ıdatnebo m˚uˇzeb´ytvypnut´ys pomoc´ıpouze s´ıt’ov´ehopˇripojen´ı pˇr´ımok hardware nam´ıstooperaˇcn´ıhosyst´emu [6].

2.1.6 RAID Redundant Array of Inexpensive Disks. Technologie vyvinut´ajako odpovˇed’ na probl´em spolehlivosti samostatn´ych pevn´ych disk˚u.Jedn´ase o uspoˇr´adan´e pole pevn´ych disk˚u.C´ılem tohoto uspoˇr´ad´an´ı je prim´arn´ı nav´yˇsen´ı spoleh- livosti a z´ısk´an´ıredundance. V z´avislostina uspoˇr´ad´an´ılze pak doc´ılitt´eˇz nav´yˇsen´ıcelkov´ekapacity ˇcizv´yˇsen´ırychlosti ˇcten´ı. RAID ˇradiˇcje zaˇr´ızen´ı spravuj´ıc´ı obsluhu a chod diskov´ehopole. D´ıky tomu doch´az´ıke sn´ıˇzen´ızat´ıˇzen´ıprocesoru [7].

2.2 Pr˚ubˇehbare metal provisioning

Bare metal provisioning prob´ıh´av nˇekolika na sobˇez´avisl´ych kroc´ıch. Tyto kroky vyuˇz´ıvaj´ıdˇr´ıve zm´ınˇen´etechnologie.

1. Host vyˇsleDHCPDISCOVER zpr´avu.

2. DHCP server odpov´ıIP adresou, adresou next-server, jm´enemsouboru a cestou ke koˇrenov´esloˇzce.

8 2.2. Pr˚ubˇehbare metal provisioning

Obr´azek2.1: Pr˚ubˇehbare metal provision

3. Host vyˇsleTFTP poˇzadavek na next-server, ze kter´ehochce z´ıskatsou- bor, jehoˇzjm´enopˇredt´ımobdrˇzel.

4. TFTP server odpov´ıa poˇslesoubor hostovi.

5. Host soubor spust´ı,soubor naˇctej´adro.Po spuˇstˇen´ıj´adraje pˇresNFS pˇripojena koˇrenov´asloˇzka,k n´ıˇzhost obdrˇzelcestu od DHCP serveru [8].

9

Kapitola 3

Anal´yzaa porovn´an´ı

Tato kapitola je vˇenov´anaporovn´an´ıvybran´ych projekt˚ua zda splˇnuj´ıpoˇzada- vky, vypl´yvaj´ıc´ıch ze zad´an´ıpr´ace,kter´ejsou na nˇekladeny. V sekci 3.1 pop´ıˇsu jednotliv´eprojekty. Pot´ev sekci 3.7 provedu porovn´an´ı dan´ych projekt˚ua zvol´ımv´ysledn´yprojekt pro nasazen´ıv datov´emcentru.

3.1 Dostupn´eprojekty

V t´etokapitole pop´ıˇsijednotliv´eprojekty, zda splˇnuj´ıpoˇzadavky pr´acea jejich nejvˇetˇs´ıv´yhody, popˇr´ıpadˇenev´yhody. Vˇsechny zmiˇnovan´eprojekty jsou licencov´any pod nˇekterouz open source licenc´ıa jsou dostupn´ek pouˇzit´ıbez poplatku. Mezi takov´eprojekty, kter´ymse budu d´alevˇenovat patˇr´ı:

• Foreman;

• Ironic;

• Cobbler;

• MaaS;

• Spacewalk.

V dalˇs´ıch sekc´ıch uvedu ˇcesk´ypˇrekladpˇredstaven´ıjednotliv´ych projekt˚u. D´alese pak budu vˇenovat jejich instalaci, zp˚usobu pouˇz´ıv´an´ı,na to se v´aˇze uˇzivatelsk´apˇr´ıvˇetivost, a zda a kter´ez poˇzadavk˚upr´aceprojekt splˇnuje.

3.2 Foreman

Foreman je open source projekt pom´ahaj´ıc´ı syst´emov´ymadministr´ator˚um spravovat servery bˇehemjejich ˇzivotn´ıhocyklu od instalace a konfigurace po orchestraci a monitorov´an´ı.D´ıkypodpoˇreprovision je snadn´enastavovat nov´e

11 3. Analyza´ a porovnan´ ´ı servery a pomoc´ıspr´avc˚unastaven´ı(Puppet, , Chef a Salt jsou pod- porov´any) lze snadno zautomatizovat opakuj´ıc´ıse ´ulohy [9]. Foreman poskytuje webov´erozhran´ı,CLI a RESTful API, umoˇzˇnuj´ıc´ıvy- tvoˇren´ıbusiness logiky na vyˇsˇs´ı´urovni.

Obr´azek3.1: Architektura Foreman https://www.theforeman.org/static/images/foreman_architecture.png

3.2.1 Instalace Instalace Foreman je vcelku jednoduch´a.Na webov´ych str´ank´ach v sekci Quick- start je k dispozici n´avod pro staˇzen´ıa instalaci instal´atoruvˇcetnˇesyst´emov´ych poˇzadavk˚u[10]. Jeden probl´em,kter´ynen´ıv n´avodu pops´an,je nutnost m´ıtvytvoˇrenou dom´enu. Foreman vyˇzadujeexistenci dom´eny pro spuˇstˇen´ıinstal´atoru.Ovˇsem tato dom´enanemus´ıb´ytnikde zaregistrov´ana. N´asledn´ainstalace pomoc´ıinstal´atoru je pak pˇr´ımoˇcar´aa jednoznaˇcn´a. Instal´atorpouˇz´ıv´apˇrehledn´edˇelen´ıpro jednotliv´efunkce Foreman. D´ıkytomu je cel´yproces instalace i konfigurace nen´aroˇcn´y.

3.2.2 Pouˇzit´ı Foreman je moˇzn´epouˇz´ıvat bud’ pˇreswebov´erozhran´ı,ˇciCLI. Zmˇeny nˇekter´ych nastaven´ı se daj´ı dˇelatpˇr´ımo v obou rozhran´ıch. Vˇetˇsina zmˇen se ovˇsem prov´ad´ıpˇres foreman-installer. V nˇemje moˇzn´epˇrid´avat a odeb´ıratsluˇzby ˇcimˇenitjejich nastaven´ı.Instal´atorje dostupn´ypouze pˇrestermin´al.

12 3.2. Foreman

Pouˇz´ıv´an´ıwebov´ehorozhran´ıhodnot´ımvelmi kladnˇe.Je pˇrehledn´ea dobˇre strukturovan´e.Lze pˇr´ımoz nˇejzjistit stav sluˇzebbˇeˇz´ıc´ıch na vˇsech foreman- proxy, vˇcetnˇejejich verz´ı,a u nˇekter´ych sluˇzeb,napˇr´ıkladDHCP nebo DNS i s´ıtˇea dom´eny jimi spravovan´e.D´aleje moˇzn´ezjistit stav klient˚upˇridan´ych pod Foreman. U klient˚uje pak moˇzn´enahl´ednoutjejich konfiguraci, aktu´aln´ı stav a r˚uzn´edalˇs´ımetriky. Tvorba a editace klient˚uje jednoduch´a,po troˇse pˇr´ıpravy i z velk´eˇc´astiautomatick´a.Pˇripouˇzit´ıskupin Host Groups se velk´a ˇc´ast´udaj˚upˇritvorbˇeklienta vypln´ıautomaticky. Pr´aces CLI je obdobn´apr´acis webov´ymrozhran´ım.K dispozici jsou dobˇre napsan´emanu´alov´estr´anky. Samotn´epˇr´ıkazyjsou udˇelan´etak, ˇzeuˇzivatel jiˇz z n´azvupˇr´ıkazuv´ı,co pˇresnˇedˇel´a. Pouˇz´ıv´an´ıCLI je rychlejˇs´ıneˇzpouˇz´ıv´an´ıwebov´ehorozhran´ı,ale vyˇzaduje jiˇzznalost potˇrebn´ych pˇr´ıkaz˚u. Avˇsakuˇzivatele nerozptyluje grafika a soustˇred´ı se pouze na to, co p´ıˇse.V´yhodou webov´ehorozhran´ıje naopak dostupnost. Pro pouˇz´ıv´an´ıCLI mus´ıb´ytuˇzivatel pˇripojen pˇr´ımok serveru, kdeˇztok webov´emu rozhran´ım˚uˇzepˇristupovat i z venkovn´ıs´ıtˇe.Nav´ıczobrazen´ıstatistik do graf˚u je pˇrehlednˇejˇs´ıneˇzpouze jejich v´ypis. Celkovˇejsou obˇemetody pouˇz´ıv´an´ıForeman velice dobr´e.Osobnˇeprefe- ruji webov´erozhran´ı,protoˇzesi nemus´ımpamatovat potˇrebn´epˇr´ıkazy. Jeˇstˇe jednou moˇznost´ıpouˇz´ıv´an´ı,kterou jsem zde nezmiˇnoval, je integrace Foreman do jin´esluˇzby. Toho lze dos´ahnoutd´ıkyposkytovan´emu API, kter´ejednotliv´e komponenty Foreman maj´ıa vyuˇz´ıvaj´ı.

3.2.3 Splnˇen´ıpoˇzadavk˚u

Foreman podporuje velk´emnoˇzstv´ılinuxov´ych distribuc´ı.Instalaci Windows podporuje pouze z image. V ofici´aln´ıdokumentaci je k dispozici podrobn´y n´avod, jak pˇripravit konfiguraci operaˇcn´ıhosyst´emu jak s pomoc´ıs´ıt’ov´eho instal´atoru,tak s pomoc´ıimage.

Kromˇenastaven´ıs´ıt’ov´ych rozhran´ıpodporuje Foreman i moˇznost spravovat pods´ıtˇe.Lze tak nakonfigurovat pods´ıt’ pˇr´ımov CLI nebo webov´emrozhran´ı a rovnou j´ıpˇriˇraditDHCP, DNS a TFTP server. Pomoc´ıdoplˇnku dhcp infob- lox pak lze nahl´ıˇzeti na to, kter´ymMAC adres´amje pˇridˇelenajak´aIP adresa.

Foreman nepodporuje ovl´ad´an´ıRAID ˇradiˇce.

Repozit´aˇrna serveru github.com m´a81 ˇclen˚u.Samotn´yForeman m´a286 pˇrispˇevatel˚u,Smart Proxy m´a89 pˇrispˇevatel˚u,instal´ator28, webov´estr´anky 166 a komunitn´ıˇsablony jich maj´ı88. Celkovˇeje komunita kolem projektu Foreman velmi aktivn´ı.V repozit´aˇr´ıch na github doch´az´ıv pr˚umˇeruk 10 zmˇen´amza den a nahl´aˇsen´eprobl´emy jsou rychle ˇreˇseny.

13 3. Analyza´ a porovnan´ ´ı

Foreman je sponzorov´anspoleˇcnostmia komunitami Rackspace, Red Hat, oVirt, Scaleway, Netways, JetBrains, ATIX a dm.

3.3 Ironic

Ironic je projekt ze skupiny OpenStack umoˇzˇnuj´ıc´ıprovision fyzick´ych stroj˚u. Lze ho pouˇz´ıtsamostatnˇe,nebo jako souˇc´astOpenStack Cloud. Je moˇzn´eho integrovat s OpenStack Identity, Compute, Network, Image a Object sluˇzbami. Pˇripatˇriˇcn´emnastaven´ıBare Metal sluˇzby s Compute a Network sluˇzbami je moˇzn´eposkytovat jak fyzick´e,tak virtu´aln´ıstroje pomoc´ıAPI sluˇzby Com- pute. Moˇznostinab´ızen´ych akc´ıu jednotliv´ych instanc´ıjsou omezen´ekv˚uli r˚uzn´ymcharakteristik´amfyzick´ych server˚ua pˇrep´ınac´ıhohardware. Ironic vyuˇz´ıv´aopen source technologie, pˇredevˇs´ımPXE a IPMI, pro po- kryt´ıvelk´ehomnoˇzstv´ıhardware [11].

Obr´azek3.2: Architektura Ironic https://docs.openstack.org/ironic/pike/_images/deployment_ architecture_2.png

3.3.1 Instalace Instalace Ironic je n´aroˇcn´ana instaluj´ıc´ıuˇzivatele v tom smyslu, ˇzeuˇzivatel instaluje jednotliv´esluˇzby, z nichˇzIronic sest´av´a.To je v celkem ostr´emkon-

14 3.3. Ironic trastu s ostatn´ımiprojekty, kter´etoto dˇelaj´ıza uˇzivatele. Na jednu stranu nejde o ˇspatnouvˇec.Uˇzivatel m´ad´ıkytomu absolutn´ıkontrolu nad t´ım,co, jak a kam se instaluje. Tomu velmi napom´ah´apodrobn´yinstalaˇcn´ı n´avod v dokumentaci OpenStack. Na druhou stranu by se niˇzˇs´ım´ıraautomatizace instalace dala povaˇzovat za zbyteˇcnouz´atˇeˇzuˇzivatele, kter´ychce projekt co nejrychleji nainstalovat a nakonfigurovat, ide´alnˇes co nejmenˇs´ımz´asahemod nˇej,aby jej mohl co nejdˇr´ıve pouˇz´ıvat ke svoj´ıˇcinnosti. Dalˇs´ız´aleˇzitost´ı,kter´aby se dala oznaˇcitjako v´yhoda i nev´yhoda, je konfi- gurace sluˇzby. V´yhodou je um´ıstˇen´ıcel´ekonfigurace do jednoho souboru, tud´ıˇz veˇsker´eeditace staˇc´ıprov´adˇetnad t´ımto souborem a nen´ıtˇrebapˇreskakovat mezi soubory pˇrirozs´ahlejˇs´ıch ´uprav´ach. Nev´yhodou toho je, ˇzesoubor m´av´ıce neˇz4000 ˇr´adk˚u,coˇzˇcin´ıjak´ekoliv vyhled´av´an´ısloˇzit´yma zdlouhav´ym.Z toho z´aroveˇnvypl´yv´ai urˇcit´anepˇrehlednost,protoˇzekonfigurace vˇsech komponent je na jednom m´ıstˇe[12]. Z m´ehoosobn´ıhopohledu by bylo lepˇs´ım´ıtkonfiguraˇcn´ısoubor logicky rozdˇelenna v´ıce soubor˚u.Sice by pak n´asledn´e´upravy konfigurace mohly vyˇzadovat editace v´ıcesoubor˚u,ale zv´yˇsilaby se t´ımcelkov´apˇrehlednost.

3.3.2 Pouˇzit´ı Samotn´yIronic nab´ız´ıpouze CLI. Pˇr´ıkazyjsou srozumiteln´ea dobˇrestruktu- rovan´e.V´ypisys pˇr´ıkazyjsou takt´eˇzdobˇrestrukturovan´ea t´ımp´ademvelmi dobˇreˇciteln´e.Nev´yhodou pˇr´ıkaz˚uje ovˇsemjejich d´elka.To sice umoˇzˇnuje dobrou m´ıru srozumitelnosti a jednoznaˇcnosti,ale na druhou stranu vn´aˇs´ı vˇetˇs´ımoˇznostuˇcinitchybu, kterou je potom nutn´eodhalit a pˇr´ıkazpˇrepsat. Tuto nev´yhodu lze eliminovat pouˇzit´ım openstack baremetal klienta. Ten umoˇzˇnujetvorbu ˇsablon,kter´elze pak d´alepouˇz´ıvat. Pˇritvorbˇeˇsablony mus´ı b´ytspecifikov´anparametr –steps“, kter´ym´ajednu z n´asleduj´ıc´ıch tˇr´ıhodnot: ” • ˇretˇezecve form´atuJSON,

• cesta k souboru ve form´atuJSON nebo

• -“, pro ˇcetn´ıze standardn´ıhovstupu. ” Pˇriintegraci s dalˇs´ımisluˇzbamiOpenStack lze pak rozˇs´ıˇritcelkovou funk- cionalitu a nav´ıczpˇr´ıstupnitwebov´egrafick´erozhran´ıpro pˇrehlednˇejˇs´ıspr´avu.

3.3.3 Splnˇen´ıpoˇzadavk˚u V syst´emu Ironic je pouˇzit´ıimage preferovanou metodou instalace. D´ıkytomu lze instalovat t´emˇeˇrlibovoln´ysyst´em,at’ uˇzLinux ˇciWindows, ovˇsemza pˇredpokladu, ˇzeimage obsahuje i potˇrebn´eovladaˇcepro hardware, na kter´y bude operaˇcn´ısyst´eminstalov´an.

D´ıkyintegraci sluˇzebDNS a DHCP lze spravovat jednotliv´as´ıt’ov´arozhran´ı

15 3. Analyza´ a porovnan´ ´ı klienta.

Konfiguraci RAID ˇradiˇceje moˇzn´aza pomoci Ironic CLI nebo REST API. Pro reprezentaci aktu´aln´ıkonfigurace je pouˇz´ıv´anform´atJSON. D´ıkytomu je konfigurace snadn´aa pˇrehledn´a.

Dle repozit´aˇrena github m´aprojekt Ironic samotn´y366 pˇrispˇevatel˚u,a to je pouze jeden z projekt˚upod z´aˇstitouOpenStack. Co se t´yˇcenevyˇreˇsen´ych probl´em˚u,zde se poˇcetpohybuje v ˇr´adech stovek, ale ze z´aznam˚ulze vyˇc´ıst,ˇzena probl´emech se intenzivnˇepracuje. V dobˇe psan´ıtohoto odstavce bylo otevˇreno335 z´avad a 1570 bylo vyˇreˇseno. OpenStack je spozorov´anAT&T, Ericsson, Huawei, Intel, Rackspace, Red Hat, SUSE, Tencent Cloud, 99Cloud, Canonical, China Mobile, Cisco a mnoha dalˇs´ımi.

3.4 Cobbler

Cobbler je linuxov´yinstalaˇcn´ı server, umoˇzˇnuj´ıc´ı rychl´enastaven´ı s´ıt’ov´eho instalaˇcn´ıhoprostˇred´ı.Spojuje a automatizuje mnoho navazuj´ıc´ıch ´ulohpro eliminaci potˇreby pˇrep´ın´an´ınˇekolika r˚uzn´ych pˇr´ıkaz˚ua aplikac´ıpˇrinasazov´an´ı nov´ych syst´em˚unebo zmˇenˇejiˇzexistuj´ıc´ıch. Cobbler m˚uˇzepomoci s provision, spr´avou DNS a DHCP, aktualizac´ıbal´ıˇck˚u,spr´avou nap´ajen´ıa dalˇs´ımi[13].

3.4.1 Instalace Instalace Cobbler je snadn´aa je dobˇrepops´anav n´avodu v dokumentaci. Chtˇelbych pouk´azatna velmi zaj´ımavou a uˇziteˇcnoufunkcionalitu Cobbler. Jedn´ase o pˇr´ıkaz cobbler check. Tento pˇr´ıkazprovede kontrolu aktu´aln´ıkon- figurace Cobbler a pouk´aˇzena pˇr´ıpadn´echyby. Nav´ıctak´epˇredstav´ın´avrhy a doporuˇcen´ı,co zmˇenitv konfiguraˇcn´ımsouboru a na co. Ve vˇetˇsinˇepˇr´ıpad˚u se jedn´ao doporuˇcen´ı,kter´anejsou nutn´apro z´akladn´ıfunkci Cobbler [14].

3.4.2 Pouˇzit´ı Obsluha Cobbler prob´ıh´av´yhradnˇepˇresCLI. To by se dalo oznaˇcitza lehkou nev´yhodu. Uˇzivatel si mus´ıpamatovat pˇr´ıkazynutn´epro ovl´ad´an´ı.Naˇstˇest´ı jsou pˇr´ıkazyintuitivn´ıa jejich v´ypisyjsou dobˇrestrukturovan´ea pˇrehledn´e. Nav´ıcjsou v instalaci obsaˇzeny i rozs´ahl´ea pˇrehledn´emanu´alov´estr´anky, kde nen´ıprobl´emnaj´ıtstrukturu pˇr´ıkazu,vˇcetnˇevysvˇetlen´ıjednotliv´ych ˇcast´ı. Tato lehk´anev´yhoda se tedy m˚uˇzevelmi brzy zmˇenitna v´yhodu. Jakmile se uˇzivatel nauˇc´ıˇc´astpˇr´ıkaz˚u,m˚uˇzevelmi rychle pracovat. To vede k zefek- tivnˇen´ıpr´ace,protoˇzevelmi ˇcastom˚uˇzeuˇzivatele grafick´erozhran´ırozptylovat nebo nemus´ıb´ytdobˇrenavrˇzen´e.

16 3.5. MaaS

3.4.3 Splnˇen´ıpoˇzadavk˚u Cobbler je schopen spravovat sluˇzby jako DHCP, DNS a TFTP. D´ıkynim je moˇzn´evytvoˇritprofily operaˇcn´ıch syst´em˚u,kter´epak mohou b´ytautoma- ticky nainstalov´any. Moˇzn´eje tedy vytvoˇritprofily pro mnoho distribuc´ıLinux a z´aroveˇnlze vytvoˇriti profil pro Windows, kter´ybude instalov´anz image.

Spr´avus´ıt’ov´ych rozhran´ım˚uˇzezajiˇst’ovat sluˇzbaDHCP. Editac´ıkonfiguraˇcn´ıho souboru je pak moˇzn´ealokovat nastaven´ıpro specifick´arozhran´ıruˇcnˇe.

Cobbler neumoˇzˇnujekonfiguraci RAID ˇradiˇce.

Cobbler m´adle github 190 aktivn´ıch pˇrisp´ıvaj´ıc´ıch uˇzivatel˚u,ale aktivita re- pozit´aˇreje oproti ostatn´ımprojekt˚umvelmi mal´a. Co se t´yˇcepoˇctu otevˇren´ych a vyˇreˇsen´ych z´avad, zde Cobbler tak´enen´ı pˇr´ıliˇs´uspˇeˇsn´y.V dobˇepsan´ıbylo otevˇreno 220 a uzavˇreno629 z´avad. Projekt Cobbler je nejv´ıcepodporov´anskupinami , The Fedora Project, Spil Games, Puzzle ITC a Quancast. Kromˇenich projekt sponzoruje i ˇradafyzick´ych osob a spoleˇcnost´ı.

3.5 MaaS

MaaS umoˇzˇnujeadministr´atorovi chovat se k fyzick´ymserver˚umjako k vir- tu´aln´ımstroj˚um.MaaS pˇretv´aˇr´ıskupinu server˚uv pˇrizp˚usobiv´ycloud. Stroje mohou rychle proj´ıtprovision procesem a opˇetb´ytrychle zniˇceny podobnˇejako u veˇrejn´ych cloud˚ujako Amaznon AWS, GCE a Micro- soft Azure. MaaS m˚uˇzeslouˇzitjako samostatn´asluˇzbavyuˇz´ıvaj´ıc´ıPXE a IPMI nebo m˚uˇzeb´ytintegrov´ans jin´ymitechnologiemi. MaaS je navrˇzen,aby velice dobˇre spolupracoval se sluˇzbou Juju. Juju zajiˇst’uje bˇeˇz´ıc´ısluˇzby na stroj´ıch a MaaS spravuje stroje samotn´e[15].

3.5.1 Instalace Instalace MaaS je extr´emnˇejednoduch´a,staˇc´ıpomoc´ıspr´avce bal´ıˇckuoperaˇc- n´ıhosyst´emu MaaS nainstalovat, pot´espustit inicializaci, bˇehemn´ıˇzse vytvoˇr´ı prvn´ıuˇzivatel. Pot´euˇzje MaaS k dispozici pˇreswebov´erozhran´ına adrese serveru. Cel´ypr˚ubˇehinstalace je pops´anv dobˇrestrukturovan´emn´avodu. V r´amciinstalace jsou pˇripraveny sluˇzby DNS, DHCP a BMC, kter´elze d´ale konfigurovat ve webov´emrozhran´ı. MaaS je hned po spuˇstˇen´ıv discovery m´odu,kdy pˇrispuˇstˇen´ıserveru, kter´y je tˇrebainstalovat a m´apovolen´yPXE boot, nahraje na server doˇcasn´yimage, kter´yserver zaregistruje v MaaSu a n´aslednˇese restartuje. Dalˇs´ıkonfigurace

17 3. Analyza´ a porovnan´ ´ı

Obr´azek3.3: Architektura MaaS https://docs.maas.io/media/intro-arch-overview.png pak prob´ıh´ave webov´emrozhran´ı.D´ıkytomu a jednoduchosti a pˇrehlednosti rozhran´ıje pr´aces MaaS jednoduch´aa uˇzivatelsky pˇr´ıvˇetiv´a. Konfigurace DHCP u s´ıt´ı pˇr´ımo pˇripojen´ych k serveru, je velmi jedno- duch´a.MaaS bˇeheminstalace naˇctekonfiguraci pˇripojen´ych s´ıt´ıa automaticky je pˇrid´ado sv´espr´avy. D´ıkytomu jsou s´ıtˇevidˇetve webov´emrozhran´ıa lze u nich povolit protokol DHCP. N´aslednˇelze pˇrestoto webov´erozhran´ıpˇrid´avat statick´eIP adresy, rezervovat rozsah adres, kter´enemaj´ıb´ytpˇridˇelov´any i sle- dovat aktu´alnˇepˇridˇelen´eadresy [16].

3.5.2 Pouˇzit´ı

MaaS nab´ız´ıˇcist´e,pˇrehledn´ea dobˇreorganizovan´ewebov´egrafick´erozhran´ı. Hled´an´ıa pohyb v nˇem je tedy nevyˇzaduje zbyteˇcn´ehled´an´ıa je rychl´e. Instalace nov´ych stroj˚uje znaˇcnˇeminimalistick´a.Poˇzadujepouze vyplnˇen´ı jm´ena,v´ybˇerdom´eny, architektury, minim´aln´ıhoj´adra,z´onu, skupinu zaˇr´ızen´ı, do n´ıˇzbude patˇrit,MAC adresy sv´ych s´ıt’ov´ych rozhran´ıa typ spr´avynap´ajen´ı. U spr´avynap´ajen´ı pak vyˇzadujedalˇs´ı ´udaje jako IP adresu, MAC adresu a uˇzivatelsk´ejm´enoa heslo. D´ıkyvysok´em´ıˇreautomatizace a velk´emu mnoˇzstv´ıpodporovan´ehohard- ware je spr´ava pomoc´ıtohoto syst´emu snadn´aa uˇzivatelsky pˇr´ıvˇetiv´a.

18 3.6. Spacewalk

3.5.3 Splnˇen´ıpoˇzadavk˚u MaaS nab´ız´ı ve v´ychoz´ı instalaci vlastn´ı servery jako instalaˇcn´ı zdroje pro operaˇcn´ısyst´emUbuntu. KromˇeUbuntu tak´enab´ız´ımoˇznostst´ahnoutimage syst´emu CentOS. Pro instalaci a pouˇzit´ıjin´ych operaˇcn´ıch syst´em˚uneˇzUbuntu a CentOS je nutn´eplatit alespoˇnbaliˇcekStandard, kter´yje nacenˇenna 5 ame- rick´ych dolar˚umˇes´ıˇcnˇeza kaˇzd´ystroj registrovan´yv MaaS. Dalˇs´ımoˇznost´ıinstalace je pouˇzit´ıvlastn´ıch zdroj˚u.Zde je potˇrebaspeci- fikovat URL k instalaˇcn´ımu image. Pro zajiˇstˇen´ıvyˇsˇs´ıbezpeˇcnostilze pouˇz´ıt GPG kl´ıˇculoˇzen´yna serveru pro ovˇeˇren´ıst´ahnut´ehoimage.

Ve v´ychoz´ıkonfiguraci pouˇz´ıv´aMaaS DHCP pro vˇsechna zaˇr´ızen´ı,kter´ajiˇz nemaj´ıruˇcnˇepˇridˇelenouIP adresu. Pˇridˇelov´an´ıIP adres zaˇr´ızen´ımnen´ıpˇr´ıliˇs pˇrehledn´ea m˚uˇzeb´ytobt´ıˇzn´ena pochopen´ı.

MaaS neumoˇzˇnuje nastaven´ıhardware RAID ˇradiˇce.

Verzovac´ısyst´emgit a server github ukazuj´ıpro MaaS 46 aktivn´ıch uˇzivatel˚u. To je ponˇekudm´alov porovn´an´ıs dalˇs´ımiporovn´avan´ymiprojekty. Pˇrestoje repozit´aˇrcelkem aktivn´ı. Stav nahl´aˇsen´ych z´avad a jejich poˇcetse mi nepodaˇrilonaj´ıt. Kromˇetoho, ˇzeMaaS je produktem spoleˇcnostiCanonical, m´atak´evelk´e mnoˇzstv´ısponzor˚ua partner˚u.Mezi nejzn´amˇejˇs´ıbych uvedl Quanta Cloud Technology, , IBM, Cisco, Emulex, Dell a .

3.6 Spacewalk

Spacewalk je open source ˇr´ıd´ıc´ıˇreˇsen´ıpro linuxov´esyst´emy. Umoˇzˇnuje spr´avu server˚ubˇehemjejich ˇzivotn´ıho cyklu, provision a nasazen´ıkonfiguraˇcn´ıch sou- bor˚u.Tak´eobsahuje podporu virtualizace, podporuj´ıc´ıKVM a Xen. Spacewalk server lze pouˇz´ıtjako spr´avce software obsahu syst´em˚uvych´a- zej´ıc´ıch ze syst´emu Red Hat, jako jsou Fedora, CentOS a Scientific Linux. D´ıky tomu lze ˇr´ıditnasazen´ıaktualizac´ıˇcinov´ehosoftwaru skrze ˇr´ızen´esyst´emy. Souˇc´ast´ıprojektu Spacewalk je Spacewalk Proxy. Nˇekolik tˇechto proxy se m˚uˇzepˇripojit k centr´aln´ımu Spacewalk serveru a distribuovat obsah ze serveru do r˚uzn´ych geografick´ych oblast´ısniˇzuj´ıc´ıch z´atˇeˇzna centr´aln´ıserver [17].

3.6.1 Instalace Instalace Spacewalk je relativnˇejednoduch´a,je ovˇsemsloˇzitˇejˇs´ı,potaˇzmoob- sahuje v´ıce krok˚u,neˇz napˇr´ıklad instalace MaaS nebo Foreman. I tak je vcelku pˇr´ımoˇcar´aa jednoduch´a.V pr˚ubˇehu instalace je vytvoˇrenprvn´ıuˇzivatel a lok´aln´ıcertifikaˇcn´ıautorita, vˇcetnˇecertifik´atu.Opˇetje po instalaci k dispo- zici webov´erozhran´ı[18].

19 3. Analyza´ a porovnan´ ´ı

Obr´azek3.4: Architektura Spacewalk https: //docs.oracle.com/cd/E92593_01/E85211/html/images/swk_arch.png

3.6.2 Pouˇzit´ı Rozhran´ı Spacewalk je velmi ˇclenit´e,ale neintuitivn´ı pro nov´ehouˇzivatele. Nav´ıcpo instalaci je prostˇred´ı´uplnˇe pr´azdn´e“. Veˇskerou konfiguraci je tˇreba ” ruˇcnˇeudˇelata vzhledem k velk´emu mnoˇzstv´ıpoloˇzek,kter´eje tˇrebavyplnit, se jedn´ao pomˇernˇezdlouhav´yproces. V´yhodou tohoto pˇr´ıstupu je ovˇsem absolutn´ıkontrola nad vˇsemiaspekty spr´avy. Pro konfiguraci a instalaci server˚uje pak tˇrebapouˇz´ıtextern´ın´astroj. Spa- cewalk samotn´ytoto neumoˇzˇnuje.Pro nov´esyst´emy je tˇrebapouˇz´ıtsyst´em Cobbler. Pro virtu´aln´ıstroje ˇcipro pˇreinstalaciexistuj´ıc´ıhostroje je nutn´e spoleˇcnˇes Cobbler pouˇz´ıt n´astroj Koan. Jak Cobbler, tak Koan je tˇreba ovl´adatpˇresCLI, a to bez moˇznostiintegrace do webov´ehorozhran´ı Spa- cewalk. Silnou str´ankou Spacewalk je pak pomˇernˇevelmi dobr´aa pˇrehledn´adoku- mentace.

3.6.3 Splnˇen´ıpoˇzadavk˚u Syst´emSpacewalk je schopen splnit poˇzadavky t´etopr´ace,pouze pokud je zkombinov´anse syst´emem Cobbler. T´ımp´ademse d´apovaˇzovat za jakousi nadstavbu Cobbler. Lze tady in-

20 3.7. Z´avˇereˇcn´yv´ybˇer stalovat mnoho distribuc´ıLinux i Windows pomoc´ıpˇredpˇripraven´ehoimage.

Spacewalk je tedy schopen spravovat s´ıt’ov´arozhran´ı pˇressyst´emCobbler. Nav´ıcpˇres nˇejm˚uˇzespravovat sluˇzby jako DHCP, DNS ˇciTFTP.

T´ım,ˇzeCobbler neumoˇzˇnujespr´avuRAID ˇradiˇce,ani Spacewalk j´ınen´ıscho- pen.

Spacewalk m´ana github uvedeno 149 pˇrispˇevatel˚ua ze z´aznam˚ulze vidˇet i jejich celkem sluˇsnouaktivitu. Seznam z´avad a stav ˇreˇsen´ıjsou k dispozici pouze po registraci.

3.7 Z´avˇereˇcn´yv´ybˇer

Ze vˇsech zkouman´ych syst´em˚uvyˇseljako nejhorˇs´ıSpacewalk. Vyˇseltak proto, ˇzepo nˇempoˇzadovan´efunkce je schopen poskytovat pouze pˇrisoubˇeˇzn´em pouˇzit´ıse syst´emem Cobbler. Samotn´yCobbler je tak d´ıky nab´ızen´ymfunkc´ım zcela dostaˇcuj´ıc´ı, ale bohuˇzelnepodporuje spr´avuRAID ˇradiˇce.Nav´ıcje ponˇekudlimitov´ankv˚uli tomu, ˇzenenab´ız´ıgrafick´erozhran´ıpro snadn´emonitorov´an´ı. Syst´emIronic pak na rozd´ılod Cobbler nab´ız´ıi moˇznostkonfigurace RAID ˇradiˇcea pˇriintegraci s dalˇs´ımi n´astroji OpenStack pak i grafick´erozhran´ı s pˇrehledn´ymmonitorov´an´ım.Jeho velkou nev´yhodou pak je n´aroˇcn´ainsta- lace. Sice je k dispozici velmi dobr´adokumentace, ale i pˇrestose jedn´ao velmi n´aroˇcn´yproces. MaaS nenab´ız´ı konfiguraci RAID ˇradiˇce,ovˇsemje zase podstatnˇejed- noduˇsˇs´ıa rychlejˇs´ına instalaci a i samotn´epouˇzit´ıje velmi jednoduch´e.Zde je nejvˇetˇs´ınev´yhodou obt´ıˇzn´aobsluha nastavov´an´ıs´ıt’ov´ych rozhran´ı. Nakonec je zde syst´emForeman. Ten opˇetneumoˇzˇnujeobsluhu RAID ˇradiˇce.Co se t´yˇcesloˇzitostiinstalace, je u nˇejtento proces o nˇecosloˇzitˇejˇs´ıneˇz u MaaS a Cobbler, ale z´aroveˇnje daleko snadnˇejˇs´ıneˇzu Ironic a Spacewalk. Ve v´ysledkujsem pak na z´akladˇetohoto srovn´an´ızvolil syst´emForeman, i pˇrestoˇzenesplˇnujepoˇzadavek na ovl´ad´an´ıRAID ˇradiˇce.M´erozhodnut´ıbylo po konzultaci schv´alenovedouc´ımpr´ace. Pro ovl´ad´an´ıRAID ˇradiˇceje moˇzn´e pouˇz´ıtsadu skript˚uod spoleˇcnostiHP, v´yrobce uvaˇzovan´eho RAID ˇradiˇce. D˚uvody pro tuto volbou jsou n´asleduj´ıc´ı:Pomˇernˇesnadn´ainstalace a velmi snadn´yzp˚usobprov´adˇen´ızmˇenv konfiguraci. Jednoduch´aspr´ava sluˇzebjako DHCP ˇciBMC. Snadn´epˇrid´av´an´ınov´ych i existuj´ıc´ıch stroj˚u.Velmi snadn´a spr´ava s´ıt’ov´ych rozhran´ıtˇechto stroj˚u.Z´akladn´ımoˇznostimonitorov´an´ıjiˇzve v´ychoz´ıinstalaci. Pˇrehledn´ewebov´egrafick´erozhran´ıi CLI. Snadn´aˇsk´alova- telnost i pˇresnˇekolik r˚uzn´ych s´ıt´ı.A na z´avˇervelk´emnoˇzstv´ıpˇredpˇripraven´ych ˇsablonpro rychl´enasazen´ıa rozs´ahl´emoˇznostimodifikac´ı.

21 3. Analyza´ a porovnan´ ´ı

V dalˇs´ıkapitole se budu vˇenovat instalaci a konfiguraci Foreman v prostˇred´ı datov´ehocentra.

22 Kapitola 4

Realizace

Tato kapitola se bude zab´yvat instalac´ızvolen´ehoprojektu Foreman a kon- figurac´ıjednotliv´ych sluˇzebvyˇzadovan´ych pro splnˇen´ıkladen´ych poˇzadavk˚u. D´alebude v t´etokapitole probr´anapˇr´ıprava nastaven´ıoperaˇcn´ıhosyst´emu, k nˇemu potˇrebn´ych instalaˇcn´ıch ˇsablona instalaˇcn´ıch zdroj˚u. V sekci 4.4 uk´aˇzistandardn´ıpostup pˇrid´an´ıdvou nov´ych klient˚udo syst´emu. Na nich pak provedu instalaci jedn´edistribuce Linux a Windows.

4.1 Popis projektu Foreman

Instalace Foremana vˇzdyobsahuje centr´aln´ıinstanci, kter´aje zodpovˇedn´aza poskytov´an´ı webov´ehografick´ehorozhran´ı, konfigurace uzl˚u,prvotn´ı konfi- guraˇcn´ısoubory klient˚uatd. . . Pokud m´aovˇsemForeman zajiˇst’ovat automatickou instalaci, je tˇreba pro- v´estdalˇs´ıoperace pro ´upln´ezautomatizov´an´ıprocesu. K tˇemto ´uˇcel˚umslouˇz´ı Smart Proxy, kter´aspravuje vzd´alen´esluˇzby a bˇeˇznˇeje instalov´anas Fore- manem pro spr´avuTFTP, DHCP, DNS, Puppet, Puppet CA, Ansible, Salt, Chef a dalˇs´ıch. Sch´emanasazen´ıprojektu Foreman je vyobrazeno na obr´azku4.1.

4.2 Instalace Foreman serveru

Tato sekce bude vcelku vˇernˇekop´ırovat n´avod k instalaci dostupn´yv do- kumentaci projektu Foreman. Hlavn´ımrozd´ılembude pouˇzit´ıinteraktivn´ıho instal´atoru,narozd´ılod pouˇzit´ıv´ychoz´ıinstalace uv´adˇen´ev n´avodu. Zaˇcnu popisem poˇzadavk˚upro instalaci v sekci 4.2.1, v sekci 4.2.2 provedu z´akladn´ı nastaven´ıpouˇz´ıvan´ych sluˇzebjako DHCP, DNS a TFTP pˇr´ımov instal´atoru. N´asledovat bude konfigurace pods´ıt´ıa dom´en. V sekci 4.3 se budu zab´yvat pˇr´ıpravou instalaˇcn´ıch m´edi´ı pro operaˇcn´ı syst´emy, ˇsablonamia tabulkami pro rozdˇelen´ıdisk˚u.

23 4. Realizace

Obr´azek4.1: Sch´emanasazen´ıprojektu Foreman

Na z´avˇerkapitoly uk´aˇzipostup pˇrid´an´ınov´ehoklienta a pr˚ubˇeh jeho in- stalace v sekci 4.4

4.2.1 Poˇzadavky na instalaci Foreman podporuje n´asleduj´ıc´ıdistribuce Linux pro svou instalaci:

• Red Hat Enterprise Linux 7;

• CentOS, Scientific Linux nebo Oracle Linux 7;

• Ubuntu 16.04 (Xenial);

• Ubuntu 18.04 (Bionic);

• Debian 9 (Stretch).

Foreman je moˇzn´enainstalovat i na jin´ych operaˇcn´ıch syst´emech, neˇzkter´e jsou uvedeny, ale je tˇreba pak pouˇz´ıtjin´emetody instalace. D´aleje potˇrebaPuppet verze 4 nebo vyˇsˇs´ı.Puppet je moˇznonainstalovat z repozit´aˇr˚uoperaˇcn´ıhosyst´emu nebo repozit´aˇrePuppetLabs. V´ychoz´ıinstalace Foreman vˇcetnˇePuppet Server vyˇzadujealespoˇn4 GB operaˇcn´ıpamˇetia minim´alnˇe2 GB prostoru na disku. Webov´erozhran´ıForeman podporuje vˇsechny hlavn´ıprohl´ıˇzeˇce.Konkr´etnˇe se jedn´ao verze:

• Google Chrome 54 nebo vyˇsˇs´ı,

24 4.2. Instalace Foreman serveru

• Microsoft Edge,

• Microsoft Explorer 10 nebo vyˇsˇs´ı,

• Mozilla Fifefox 49 nebo vyˇsˇs´ı. K dispozici je virtu´aln´ıstroj VMware se 4 GB operaˇcn´ıpamˇeti,disk o ka- pacitˇe7 GB a nainstalovan´yoperaˇcn´ısyst´emUbuntu 16.04. Kromˇenenain- stalovan´ehoPuppetu jsou splnˇeny vˇsechny poˇzadavky pro instalaci. Instalaci Foreman zah´aj´ıminstalac´ıPuppet a vˇsech nutn´ych z´avislost´ıpro Foreman installer. Pˇredspuˇstˇen´ıminstalleru je ale tˇrebaudˇelatnˇekolik ´uprav na stroji. Je potˇrebaupravit z´aznamv /etc/hosts pro tento server aby pˇri pouˇzit´ıpˇr´ıkazuping hostname vr´atilIP adresu serveru, nikoliv 127.0.0.1. Pot´e je nutn´ezkontrolovat nastaven´ıfirewallu. V tomto pˇr´ıpadˇeje potˇrebapovolit porty zm´ınˇen´ev tabulce 4.1.

Tabulka 4.1: Tabulka port˚upouˇz´ıvan´ych Foremanem Port Protokol Vyˇzadov´an pro 53 TCP a UDP DNS server 67, 68 UDP DHCP server 69 UDP TFTP server 80, 443 TCP HTTP a HTTPS 8140 TCP Puppet Master 8443 TCP Smart Proxy

4.2.2 Konfigurace sluˇzeb Server je pˇripojen do s´ıt´ı10.1.82.0/24 a 10.1.104.0/24. S´ıt’ 10.1.82.0 slouˇz´ıjako management s´ıt’ a adresy na n´ıjsou pˇridˇelov´any manu´alnˇe.Prim´arn´ıfunkc´ı t´etos´ıtˇeje komunikace pomoc´ıIPMI se z´akladov´ymideskami server˚u.V s´ıti 10.1.104.0 jsou pˇripojen´es´ıt’ov´ekarty server˚u.Ty slouˇz´ık pˇr´ıstupuna . Tato s´ıt’ je oznaˇcenajako datov´aa spr´avuadres bude zajiˇst’ovat sluˇzbaDHCP. Ve Foreman installeru proto vyberu foreman–proxy. D´alevyberu bod dhcp, kter´ynastav´ımna true pro povolen´ısluˇzby DHCP. DHCP bude naslouchat ˇz´adostemna zaˇr´ızen´ı ens192, kter´eje pˇripojeno do datov´es´ıtˇe.Proto nastav´ım na toto zaˇr´ızen´ımoˇznost dhcp–listen–on. Adresu DHCP serveru ponech´amna m´ıstn´ımserveru, jelikoˇzsluˇzbaDHCP bude fungovat na stejn´emserveru jako Foreman. Dalˇs´ısluˇzbou, kterou budu konfigurovat, je sluˇzbaDNS. Opˇettato sluˇzba nen´ınutn´av management s´ıti, tud´ıˇzznovu staˇc´ınastavit DNS pouze na jedno zaˇr´ızen´ı,na kter´embude naslouchat. St´alejsem v sekci foreman–proxy Fo- reman installeru. Zde nastav´ımhodnotu dns na true a hodnotu dns–listens– on na ens192. Adresu DNS serveru opˇetponech´av´amna m´ıstn´ımserveru ze stejn´ehod˚uvodu jako u DHCP. Installer si naˇcetln´azevdom´eny z /etc/hosts,

25 4. Realizace tud´ıˇznen´ıtˇreba vyplˇnovat poloˇzku dns–lookup–domain. Mus´ıse ale vyplnit poloˇzka dns–reverse–zones. Zde nastav´ımhodnotu 104.1.10.in–addr.arpa. Ta zajist´ızpˇetn´evyhled´av´an´ıjmen server˚upomoc´ıjejich IP adresy. Nyn´ınastav´ımsluˇzbuTFTP. Opˇetji zapnu pˇreps´an´ımhodnoty tftp na true. Velmi d˚uleˇzit´eje nyn´ınastaven´ı tftp–listens–on, protoˇzevelk´aˇc´astau- tomatick´ych instalaˇcn´ıch n´astroj˚unepouˇz´ıv´aprotokol https, ale pouze http. Proto tuto moˇznostnastav´ımna both, aby vˇsechny instal´atorymohly vyuˇz´ıvat TFTP. Posledn´ıhodnotou, kterou mus´ımnastavit, je tftp–servername. Tu na- stav´ımna 10.1.104.207 neboli adresu Foreman serveru v datov´es´ıti. Posledn´ıd˚uleˇzitousluˇzbou, kterou budu konfigurovat v installeru, je sluˇzba BMC, kter´apomoc´ıIPMI bude obsluhovat z´akladov´edesky server˚uv manage- ment s´ıti.Tuto sluˇzbustaˇc´ıpouze aktivovat nastaven´ım bmc na true. Nyn´ıjiˇzstaˇc´ıcelou tuto konfiguraci uloˇzita spustit [19].

4.3 Konfigurace pro automatickou instalaci

V t´etosekci pop´ıˇsia uk´aˇzupostup pˇr´ıpravy podklad˚upro automatickou in- stalaci klienta. Zaˇcnu pˇr´ıpravou instalaˇcn´ıhom´edia,n´asledovan´eho tvorbou operaˇcn´ıhosyst´emu ve webov´emrozhran´ıForeman. N´aslednˇese budu vˇenovat partition tabulk´ampro vytv´aˇren´yoperaˇcn´ısyst´ema tomu, jak je upravovat. Sekci zavrˇs´ımkr´atk´ympopisem provisioning ˇsablon.

4.3.1 Instalaˇcn´ım´edium

Prvn´ım krokem pro pˇr´ıpravu operaˇcn´ıho syst´emu ve Foremanu je pˇr´ıprava m´edia,z nˇehoˇzbude instalov´an.Tud´ıˇzv z´aloˇzce Hosts – Installation Media kliknu na tlaˇc´ıtko Create Medium. Otevˇren´akarta obsahuje 2 povinn´apole. Prvn´ıje pole Name, jm´eno.Zde je dobr´ezadat jm´eno,ze kter´ehobude zˇrejm´eo jak´yzdroj instalaˇcn´ıch dat se jedn´a.Napˇr´ıkladzda se jedn´ao data uloˇzen´ana serveru v lok´aln´ıs´ıti,image operaˇcn´ıhosyst´emu nebo soubory na serveru tv˚urceoperaˇcn´ıhosyst´emu. Druhou poloˇzkou je Path, cesta. Touto poloˇzkou nastav´ımecestu k dat˚um. Je zde moˇzn´ezadat URL nebo funkˇcn´ıNFS server. Nav´ıcmohou b´ytv cestˇe pouˇzititakzvan´eplaceholders, promˇenn´ehodnoty, kter´ese nahrad´ıhodnotami obsaˇzen´ymiu operaˇcn´ıhosyst´emu. Takto lze snadno pouˇz´ıtjedno instalaˇcn´ı m´ediumk poskytov´an´ıv´ıceverz´ıt´ehoˇzoperaˇcn´ıhosyst´emu. Posledn´ıa jedinou nepovinnou poloˇzkou tvorby m´ediaje v´ybˇer Operating System Family, rodiny operaˇcn´ıhosyst´emu. D´ıkytomu je moˇzn´ev pozdˇejˇs´ıch kroc´ıch filtrovat poloˇzkya usnadnit tak nastaven´ıoperaˇcn´ıhosyst´emu. Klik- nut´ımna tlaˇc´ıtko Submit dojde k vytvoˇren´ıinstalaˇcn´ıhom´edia.

26 4.3. Konfigurace pro automatickou instalaci

4.3.2 Operaˇcn´ısyst´em Tvorba operaˇcn´ıhosyst´emu je rozdˇelenana 2 kroky. Prvn´ımkrokem je po- jmenov´an´ıoperaˇcn´ıhosyst´emu a zad´an´ımajor verze. V tomto kroku je t´eˇz moˇzn´enastavit minor verzi operaˇcn´ıhosyst´emu, jeho popis, pˇriˇrazen´ıdo ro- diny, volbu pouˇz´ıvan´efunkce pro hash hesla uˇzivatele root a pˇriˇrazen´ıarchi- tektury. Jeˇstˇeje moˇzn´ev tomto kroku pˇriˇraditpartition tabulky a instalaˇcn´ı m´edia.Po dokonˇcen´ıtohoto kroku je tˇrebavˇseuloˇzitkliknut´ımna tlaˇc´ıtko Submit a n´asleduje krok druh´y. V druh´emkroku je tˇrebapˇriˇraditprovisioning ˇsablony k operaˇcn´ımu sys- t´emu. To provedu klepnut´ımna jm´enoprovisioning ˇsablony v Hosts – Provisi- oning Templates. Po otevˇren´ıˇsablony vyberu z´aloˇzku Association. Zde m˚uˇzu ˇsablonu pˇriˇraditk novˇevytvoˇren´ymˇcijiˇzexistuj´ıc´ımoperaˇcn´ımsyst´em˚um. Pro uloˇzen´ıklepnu na tlaˇc´ıtko Submit. Nyn´ıpokraˇcujizpˇetv Host – Operating Systems v nastavov´an´ıoperaˇcn´ıho syt´emu z kroku 1. V z´aloˇzce Templates se nyn´ı objevilo nˇekolik pol´ı. Ani jedno nen´ıpovinn´e,ale bez dod´an´ıˇsablonneprobˇehnen´asledn´ainstalace, jak je potˇreba.V tˇechto pol´ıch nastav´ımˇsablony pro jednotliv´eˇc´astiprocesu automatick´einstalace. Po zvolen´ıˇsablonopˇetuloˇz´ımkliknut´ımna tlaˇc´ıtko Submit. T´ımto je dokonˇcenatvorba operaˇcn´ıhosyst´emu pro automatickou instalaci ve webov´emrozhran´ıForeman.

4.3.3 Partition tabulky Dalˇs´ıkonfigurovatelnou poloˇzkou jsou partition tabulky. Ty urˇcuj´ı,jak bude rozdˇelendisk pˇriinstalaci operaˇcn´ıhosyst´emu na server. Pro potˇreby pr´ace staˇc´ıv´ychoz´ıˇsablony poskytnut´epˇriinstalaci Foreman, proto se jimi nebudu d´alezab´yvat.

4.3.4 Provisioning ˇsablony Provisioning ˇsablony jsou ˇsablony v jazyce EBR, ze kter´ych je pˇri pˇrechodu hosta do build reˇzimu vygenerov´anav´ysledn´aˇsablonaobsahuj´ıc´ı vyplnˇen´e promˇenn´epodle parametr˚uvyplnˇen´ych v konfiguraci hosta. Sablonyˇ lze libovolnˇeupravovat, a pokud je ˇsablonapˇriˇrazenak nˇekter´emu z host˚u,lze zobrazit jej´ın´ahled.D´ıkytomu je moˇzn´enaj´ıtpˇr´ıpadn´echyby v konfiguraci jeˇstˇepˇredspuˇstˇen´ımcel´ehoprovision procesu.

4.3.5 Host groups Host groups slouˇz´ık seskupov´an´ıhost˚udo skupin na z´akladˇestejn´ych para- metr˚u.V Host group lze nastavit prostˇred´ı,v jak´embudou hosti nasazeni, kter´yserver bude slouˇzitjako Puppet Master a Puppet CA. D´alelze nastavit,

27 4. Realizace jak´ePuppet tˇr´ıdybudou hosti vyuˇz´ıvat, v jak´es´ıtia dom´enˇebudou pˇripojeni a jak´yoperaˇcn´ısyst´embudou vyuˇz´ıvat. D´ıkyrozdˇelen´ıdo tˇechto skupin je pak snadnˇejˇs´ıpˇr´ıprava nov´ych host˚u i jejich spr´ava, protoˇzevelkou ˇc´astparametr˚ulze spravovat centr´alnˇez jednoho m´ısta. Pro ´uˇcelytestov´an´ıjsem vytvoˇrildvˇeskupiny. Prvn´ıskupinou je provision- test-centos. Tu pouˇz´ıv´ampro testov´an´ıinstalace operaˇcn´ıhosyst´emu CentOS 7 na servery. Druhou skupinou pak je provision-test-windows. Jak z n´azvu vypl´yv´a,tato skupina je urˇcena pro testov´an´ıinstalace Windows. Obˇeskupiny maj´ıkromˇeoperaˇcn´ıhosyst´emu stejn´anastaven´ı.Vyuˇz´ıvaj´ı Puppet tˇr´ıduNTP pro synchronizaci ˇcasu,jsou zapojen´edo stejn´es´ıtˇea do- m´eny a vyuˇz´ıvaj´ıserver ubuntu.provision.local jako Puppet Master a Puppet CA.

4.4 Automatick´ainstalace

V sekci projdu postup pˇr´ıpravy nov´ehoklienta pro automatickou instalaci. Zaˇcnu pojmenov´an´ımklienta a pravidly ˇr´ıd´ıc´ımipojmenov´av´an´ı,volbu Host Group, Enviroment, Puppet Master a Puppet CA. Pot´ese pˇresunu k v´ybˇeruarchitektury, operaˇcn´ıhosyst´emu, zdroje insta- lace, partition tabulce, nastaven´ıhesla pro uˇzivatele root a pˇriˇrazen´ıprovisi- oning ˇsablon. D´alepak pop´ıˇsia projdu postup pˇrid´av´an´ıa nastaven´ıs´ıt’ov´ych rozhran´ı pro nov´ehoklienta. Nakonec vˇsezavrˇs´ımpopisem pˇrid´av´an´ıPuppet tˇr´ıd. Pˇrid´an´ı nov´ehoklienta provedu stiskem odkazu Create Host v z´aloˇzce Hosts. Prvn´ımparametrem k vyplnˇen´ıje Name, jm´eno.Jm´enom˚uˇzeobsahovat pouze mal´ap´ısmena,ˇc´ısla,pomlˇckya teˇcky. Dalˇs´ıje v´ybˇerskupiny do jak´em´aklient patˇrit,pole Host Group. Zde je moˇzn´evybrat jiˇzexistuj´ıc´ıa nastavenou klientskou skupinu pro zjednoduˇsen´ı procesu. Ostatn´ıpoloˇzkyna t´etokartˇejsem popsal v sekci 4.3. D´ıkypouˇzit´ı Host Group zb´yv´av druh´ekartˇe,kartˇe Operating System, zaˇskrtnoupoloˇzku Build Mode. Ta urˇcujezda, klient po vytvoˇren´ım´arovnou pˇrej´ıtk instalaci, ˇcivyˇckatna manu´aln´ıpokyn. D´aleje nevyplnˇen´etextov´epole Custom Partition Table. Toto pole se vyplˇnujepouze tehdy, pokud je potˇrebapouˇz´ıtrozd´ılnoupartition tabulku, neˇzjak´aje nastavena v Partition Table. D´aleje potˇrebavyplnit heslo pro uˇzivatele root. Heslo mus´ıb´ytalespoˇn8 znak˚udlouh´e.Posledn´ızb´yv´atlaˇc´ıtko Resolve u Provisioning Templates. Po stisknut´ıtlaˇc´ıtkaForeman dod´aprovi- sioning ˇsablony podle zvolen´ehooperaˇcn´ıhosyst´emu. Posledn´ıkartou vyˇzaduj´ıc´ızv´yˇsenoupozornost je karta Interfaces. Zde se nastavuj´ıjednotliv´as´ıt’ov´arozhran´ıklienta a opˇetd´ıkypouˇzit´ı Host Group je

28 4.4. Automatick´ainstalace velk´aˇc´ast´udaj˚upˇredvyplnˇena.Konkr´etnˇese jedn´ao poloˇzky Domain, Subnet, a pokud m´as´ıt’ nakonfigurovan´eDHCP, pak i adresu. Nastavov´an´ıBMC rozhran´ıje velmi podobn´enastavov´an´ıklasick´ehos´ıt’o- v´ehorozhran´ı.Jedin´erozd´ılypˇredstavuj´ıjin´ytyp rozhran´ı,poloˇzka Provider, kter´aje povinn´aa urˇcuje,jak´ymzp˚usobem bude Foreman server komunikovat s BMC zaˇr´ızen´ım,a uˇzivatelsk´ejm´enoa heslo pro zaˇr´ızen´ı. Kartu Puppet Classes nen´ıtˇrebaznovu popisovat, byla jiˇzpops´anav sekci 4.3. V kartˇe Parameters je moˇzn´edoplnit specifick´eparametry, jak pro Puppet tˇr´ıdy, tak i pro klienta, nebo nahradit hodnotu nˇejak´ehoglob´aln´ıhoparametru. Jelikoˇzv pr´acinen´ıtˇrebatuto z´aloˇzkupouˇz´ıvat nebudu se j´ıv´ıcevˇenovat. Posledn´ı kartou je karta Additional Information. Tato karta slouˇz´ı, jak z n´azvuplyne, k doplnˇen´ıinformac´ıo klientovy. Lze zde pˇriˇraditvlastn´ıkakli- enta. To je uˇziteˇcn´epˇripropojen´ıForeman se sluˇzbamiLDAP nebo Windows Active Directory. D´aleje zde moˇznostvyˇraditˇcipˇridatklienta do reportingu. Tato moˇznost je ve v´ychoz´ım stavu zaˇskrtnuta a umoˇzˇnuje tak sb´ırat ´udaje ze stroje po dokonˇcen´ıinstalace. Poloˇzka Hardware Model slouˇz´ık identifikaci stroje. Posledn´ıpoloˇzka Comment jak z n´azvyvypl´yv´aje prostor pro koment´aˇre ke klientovy. T´ımto jsem popsal, jak vypad´aproces pˇrid´av´an´ıklienta a jeho konfigurace do spr´avyForeman. Pro dokonˇcen´ıprocesu staˇc´ıstisknout tlaˇc´ıtko Submit.

29

Z´avˇer

V pr´acijsem se vˇenoval problematice bare metal provisioning a sluˇzb´am pouˇz´ıvan´ympˇritomto procesu a jeho pr˚ubˇehu. D´alejsem analyzoval volnˇedostupn´eopen source projekty poskytuj´ıc´ı pr´avˇesluˇzbubare metal provisioning. Po projektech bylo poˇzadov´ano,aby dok´azalynakonfigurovat s´ıt’ov´arozhran´ıserveru HPE a SuperMicro, k serveru pˇridˇelen´yRAID ˇradiˇca nainstalovat alespoˇnjednu distribuci Linux a jednu distribuci Windows. Popisoval jsem, jak snadno se projekty instaluj´ı,konfiguruj´ıa pouˇz´ıvaj´ı, jak´emaj´ımoˇznostiobsluhy a zda splˇnuj´ı,ˇcinesplˇnuj´ıpoˇzadavky na nˇekla- den´e. Po popisu vˇsech vybran´ych projekt˚ujsem v z´avˇerukapitoly 3 v sekci 3.7 zvolil v´ysledn´yprojekt, t´ımse stal projekt Foreman, a zd˚uvodnil jsem jeho volbu. Pot´ejsem v kapitole 4 popsal projekt Foreman a v dalˇs´ıch sekc´ıch kapi- toly jsem provedl jeho instalaci a konfiguraci v datov´em centru v Jihlavˇe.Po dokonˇcen´ıinstalace a konfigurace sluˇzebjsem popsal proces konfigurace in- stalaˇcn´ıhom´ediaa proces automatick´einstalace za pouˇzit´ıwebov´ehografick´e rozhran´ıForeman. Na pr´aciby ˇslonav´azatrozˇs´ıˇren´ımfunkcionality Foreman pˇrid´an´ımpod- pory konfigurace RAID ˇradiˇce.

31

Prˇ´ıloha A

Seznam pouˇzit´ychzkratek

OS Operaˇcn´ısyst´em

RAID Redundant array of independent disks

HPE Hewlett Packard Enterprise

PXE Pre execution enviroment

DHCP Dynamic host configuration protocol

BIOS Basic input-output system

IP Internet protocol

NBP Network bootstrap program

TFTP Trivial file transfer protocol

IPMI Intelligent platform management interface

NFS Network file system

CLI Command line interface

REST Representional state transfer

API Application programming interface

MAC Media access control

JSON JavaScript object notation

BMC Baseboard management controller

URL Uniform resource locator

KVM Kernel-based virtual machine

33 A. Seznam pouˇzitych´ zkratek

HP Hewlett Packard

TCP Transmission control protocol

UDP User datagram protocol

HTTP Hypertext transfer protocol

HTTPS Hypertext transfer protocol secure

EBR Embedded Ruby

NTP Network time protocol

CA Certification authority

34 Prˇ´ıloha B

Obsah pˇriloˇzen´ehoCD

readme.txt ...... struˇcn´ypopis obsahu CD src...... adres´aˇrse zdroji pr´ace images...... adres´aˇrs obr´azky BP-Skruzny-Petr-B182.tex..zdrojov´aforma pr´aceve form´atuLATEX bibliography.bib...... zdrojov´aforma citac´ı FITthesis.cls...... zdroj ˇsablonpro soubor thesis.tex csn690.bst ...... zdroj form´atov´an´ıcitac´ı text ...... text pr´ace BP-Skruzny-Petr-B182.pdf ...... text pr´aceve form´atuPDF

35