M ASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Testov´an´ı distribuovanych ´ souborovych ´ syst´emu˚ pro Cloud ˇ A´ PR ACE ´ B AKAL A´ RSK
Adam Tomek
Brno, jaro 2015
Prohl´asˇ en´ı ˚ Prohlaˇsuji, zˇ e tato pr´ace je mym ım autorskym ´ puvodn´ ´ d´ılem, kter´e jsem vypracoval samostatnˇe. Vˇsechny zdroje, prameny a literaturu, kter´e jsem pˇri vypracov´an´ı pouˇz´ıval nebo z nich cˇ erpal, v pr´aci rˇ a´ dnˇe ´ cituji s uveden´ım upln´ eho odkazu na pˇr´ısluˇsny´ zdroj.
Adam Tomek
Vedouc´ı pr´ace: RNDr. Luk´asˇ Hejtm´anek, Ph.D.
ii
Podˇekov´an´ı Touto cestou bych r´ad podˇekoval sv´emu vedouc´ımu bakal´arˇ sk´e pr´ace RNDr. Luk´asˇ i Hejtm´ankovi, Ph.D. za jeho rady a odborn´e veden´ı. D´ale tak´e dˇekuji za odborn´e konzultace ohlednˇe dan´e oblasti Ing. Filipu Hub´ıkovi a Mgr. Borisi Par´akovi. A na z´avˇer bych podˇekoval sv´e rodinˇe za projevenou podporu.
iii
Shrnut´ı C´ılem t´eto pr´ace je otestov´an´ı tˇrech distribuovanych ´ souborovych ´ syst´emu˚ Ceph, GlusterFS a XtreemFS. A na z´akladˇe vysledk u˚ testov´an´ı ´ shrnout vhodnost jednotlivych ´ syst´emu˚ pro pouˇzit´ı v cloudov´em proˇ stˇred´ı Cesk´e n´arodn´ı gridov´e infrastruktury – MetaCentru. Pr´ace pˇri˚ jejich odliˇsnosti, postup instalace, bliˇzuje vlastnosti danych ´ syst´emu, vysledky namˇerˇ enych testu˚ v blokov´em rozhran´ı (m´a-li souborovy´ ´ ´ syst´em tuto moˇznost) a zhodnocen´ı namˇerˇ enych u˚ vzhledem ´ vysledk ´ k dan´emu pouˇzit´ı v cloudov´em prostˇred´ı.
iv
Kl´ıcˇ ov´a slova testov´an´ı, klastr, distribuovany´ souborovy´ syst´em, cloudov´e prostˇred´ı Ceph, GlusterFS, XtreemFS, MetaCentrum
v
Obsah ´ 1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2 Distribuovan´e syst´emy . . . . . . . 2.1 Ceph . . . . . . . . . . . . . . . 2.1.1 Struktura . . . . . . . . . 2.1.2 Historie vzniku a vyvoje ´ 2.1.3 Typy d´emonu˚ . . . . . . 2.1.4 Vlastnosti . . . . . . . . 2.1.5 Reˇzimy . . . . . . . . . . 2.2 GlusterFS . . . . . . . . . . . . . 2.2.1 Struktura . . . . . . . . . 2.2.2 Historie vzniku a vyvoje ´ 2.2.3 Typy d´emonu˚ . . . . . . 2.2.4 Vlastnosti . . . . . . . . 2.2.5 Typy rozloˇzen´ı dat . . . 2.3 XtreemFS . . . . . . . . . . . . . 2.3.1 Struktura . . . . . . . . . 2.3.2 Historie vzniku a vyvoje ´ 2.3.3 Typy d´emonu˚ . . . . . . 2.3.4 Vlastnosti . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
2 2 2 2 2 3 3 4 4 5 5 5 6 10 10 10 10 11
3 Popis testov´an´ı . . . . . . . . . . . 3.1 Struktura testovanych ´ klastru˚ 3.2 IOzone . . . . . . . . . . . . . 3.3 Specifikace testovanych ´ stroju˚ 3.3.1 Nympha klastr . . . . 3.3.2 Hador klastr . . . . . . 3.4 Probl´emy . . . . . . . . . . . . 3.5 Doba trv´an´ı . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
12 12 13 15 16 16 16 17
4 Instalace . . . 4.1 Ceph . . 4.2 GlusterFS 4.3 XtreemFS
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
18 18 19 20
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . vi
. . . .
. . . .
5 Nastaven´ı . . . . . . . . . . . . . . . . . . . . . . 5.1 Ceph . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Nastaven´ı monitoru˚ . . . . . . . . . 5.1.2 Nastaven´ı OSD d´emona . . . . . . . 5.1.3 Nastaven´ı klientskych ´ uzlu˚ . . . . . 5.1.4 Nastaven´ı blokovych ´ zaˇr´ızen´ı . . . . 5.2 GlusterFS . . . . . . . . . . . . . . . . . . . . 5.2.1 Nastaven´ı serverovych ´ uzlu˚ . . . . . 5.2.2 Nastaven´ı klientskych ´ uzlu˚ . . . . . 5.2.3 Nastaven´ı blokovych ´ zaˇr´ızen´ı . . . . 5.3 XtreemFS . . . . . . . . . . . . . . . . . . . . 5.3.1 Nastaven´ı metadata serveru (MRC) 5.3.2 Nastaven´ı adres´arˇ ov´e sluˇzby (DIR) . ´ zn´eho serveru (OSD) . 5.3.3 Nastaven´ı uloˇ 5.3.4 Nastaven´ı blokovych ´ zaˇr´ızen´ı . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
21 22 22 23 24 24 25 25 26 27 27 28 28 29 30
6 Vysledky testov´an´ı . . . . . . . . . . . . . . . . . . . . . . . . ´ 6.1 Ceph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Nympha klastr . . . . . . . . . . . . . . . . . . . 6.1.2 Hador klastr . . . . . . . . . . . . . . . . . . . . . 6.2 GlusterFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Distribuovan´e replikovan´e rozloˇzen´ı dat . . . . . 6.2.2 Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 XtreemFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Zhodnocen´ı . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
32 32 32 34 35 36
. 38 . 39 . 41
7 Z´avˇer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
vii
´ VOD 1. U
´ 1 Uvod V souˇcasn´e dobˇe se velmi dost´av´a do popˇred´ı poskytov´an´ı sluˇzeb, platforem nebo i celych infrastruktur pomoc´ı cloudov´eho prostˇred´ı. ´ Jiˇz dˇr´ıve pouˇz´ıvan´e gridov´e infrastruktury neposkytuj´ı dostatek flexibility a postupnˇe se pˇrech´az´ı sp´ısˇ e na cloudovou infrastrukturu. Poˇ dobnˇe tomu je i u Cesk´ e n´arodn´ı gridov´e infrastruktury – MetaCentra, kter´e teprve pˇred nˇekolika lety zaˇcalo s vyvojem cloudov´e infrastruk´ ˇ tury a nyn´ı je jiˇz v´ıce jak 200 fyzickych e republice ´ stroju˚ po cel´e Cesk´ zapojenych ´ do tohoto projektu. Avˇsak neust´al´e rozˇsiˇrov´an´ı cel´e cloudov´e infrastruktury si vyˇza˚ kter´e by duje technick´e rˇ eˇsen´ı pro ukl´ad´an´ı obrazu˚ virtu´aln´ıch stroju, mˇelo byt ´ dostateˇcnˇe flexibiln´ı a poskytovat dostatek prostoru pro veˇs˚ Technick´e rˇ eˇsen´ı spoˇc´ıv´a ve formˇe disker´e obrazy virtu´aln´ıch stroju. tribuovan´eho souborov´eho syst´emu. C´ılem t´eto bakal´arˇ sk´e pr´ace je otestov´an´ı tˇrech distribuovanych ´ syst´emu˚ Ceph, GlusterFS a XtreemFS pro cloudov´e prostˇred´ı, pˇribl´ızˇ en´ı jejich vlastnost´ı a struktury, popis instalace a nastaven´ı pro testov´an´ı a v z´avˇeru shrnut´ı vysledk u˚ s vyhodnocen´ım vhodnosti danych ´ ´ syst´emu˚ s pˇrihl´ednut´ım na vˇsechny okolnosti. ´ ´ Pr´ace je rozdˇelen´a na sedm kapitol, vˇcetnˇe uvodu a z´avˇeru. Uvod poskytuje z´akladn´ı pˇrehled o t´eto pr´aci a uv´ad´ı cˇ ten´arˇ e do dan´e problematiky. N´asleduje druh´a kapitola, kter´a pˇredstavuje testovan´e syst´emy. Tˇret´ı kapitola popisuje detailnˇeji testov´an´ı, pouˇzity´ software ˚ N´asleduj´ıc´ı cˇ tvrt´a kapitola umoˇzn´ ˇı a specifikace testovanych stroju. ´ ˚ V p´at´e kapitole jiˇz nainstalopohled na instalaci samotnych ´ syst´emu. ˚ je moˇzn´e nastavit dan´e vlastnosti potˇrebn´e k testov´an´ı. vanym ´ strojum ˇ a kapitola uv´ad´ı grafick´e i tabulkov´e pˇredstaven´ı namˇerˇ enych Sest´ ´ dat ˚ V z´avˇereˇcn´e kapitole a zhodnocen´ı vhodnosti testovanych syst´emu. ´ n´asleduje kr´atky´ souhrn cel´e pr´ace a pˇr´ıpadn´e n´avrhy moˇznost´ı dalˇs´ıho testov´an´ı pˇred moˇznym ´ nasazen´ım do produkˇcn´ı verze cloudov´eho prostˇred´ı.
1
2. D ISTRIBUOVAN E´ SYST E´ MY
2
Distribuovan´e syst´emy
2.1
Ceph
2.1.1
Struktura
Distribuovany´ souborovy´ syst´em Ceph se skl´ad´a z klientskych ´ a ser˚ Klientsk´e uzly pouze vyuˇz´ıvaj´ı jednotlivych verovych ´ uzlu. ´ sluˇzeb syst´emu Ceph. Serverov´e uzly poskytuj´ı ve vychoz´ ım stavu objektovy´ ´ reˇzim, d´ale tak´e mohou poskytovat blokovy´ reˇzim nebo souborovy´ reˇzim. Pˇriˇcemˇz blokovy´ i souborovy´ reˇzim vyuˇz´ıvaj´ı k ukl´ad´an´ı svych ´ dat jako spodn´ı vrstvu objektovy´ reˇzim. Data i metadata v r´amci vˇsech reˇzimu˚ jsou uskladnˇena v seskupen´ıch zvanych ´ anglicky pools. Jednotliv´a seskupen´ı pak d´ale udrˇzuj´ı dan´e objekty. 2.1.2
Historie vzniku a vyvoje ´
˚ Ceph1 je volnˇe dostupny´ distribuovany´ souborovy´ syst´em, ktery´ puvodnˇe vytvoˇril Sage A. Weil jako svoji disertaˇcn´ı pr´aci na Kalifornsk´e univerzitˇe v Santa Cruz [3]. Po ukonˇcen´ı studia na podzim roku 2007 Weil d´ale pokraˇcoval ve vyvoji Cephu a n´aslednˇe zahrnul do tvorby ´ i dalˇs´ı vyvoj´ ´ arˇ e. V roce 2012 Weil zakl´ad´a spoleˇcnost Inktank Storage, kter´a se specializuje vyhradnˇ e na Ceph [2]. N´aslednˇe tˇret´ıho cˇ ervence roku 2012 vy´ d´av´a spoleˇcnost Inktank Storage prvn´ı plnohodnotnou verzi s n´azvem ˚ Argonaut. Dalˇs´ı kl´ıcˇ ov´e verze jsou vyd´av´any zhruba kaˇzd´eho pulroku a nesou n´asleduj´ıc´ı n´azvy: Bobtail, Cuttlefish, Dumpling, Emperor, Firefly, Giant a Hammer. Za zm´ınku jeˇstˇe stoj´ı, zˇ e v dubnu roku 2014 spoleˇcnost Red Hat koupila Inktank Storage [1]. 2.1.3
Typy d´emonu˚
˚ e druhy d´emonu˚ [10]. D´emonem se rozum´ı st´ale Ceph vyuˇz´ıv´a tˇri ruzn´ bˇezˇ ´ıc´ı program v pozad´ı, ktery´ vyˇck´av´a v neˇcinnosti na nˇejakou cˇ in˚ ze obsahovat nost, kterou posl´eze obslouˇz´ı. Jeden serverovy´ uzel muˇ maxim´alnˇe jeden Ceph Monitor a jeden Ceph Metadata Server. Mnoˇz1
Ceph,
2
2. D ISTRIBUOVAN E´ SYST E´ MY stv´ı Ceph OSD d´emonu˚ na jeden serverovy´ uzel nen´ı nijak d´ale omezeno. Ceph Monitor – sleduje a udrˇzuje informace o vˇsech uzlech v klastru (aktivn´ıch i neaktivn´ıch). D´ale tak´e koordinuje veˇsker´e rozloˇzen´ı dat v klastru a pˇresuny dat mezi uzly. Ceph OSD D´emon – shromaˇzd’uje data, zpracov´av´a jejich replikace a poskytuje nˇekter´e monitorovac´ı informace pro Ceph Monitor. Ceph Metadata Server – uchov´av´a metadata pro souborovy´ syst´em Ceph (CephFS). Z toho vyplyv´ ´ a, zˇ e pro chod objektov´eho a blokov´eho reˇzimu nen´ı potˇreba. 2.1.4
Vlastnosti
Mezi hlavn´ı vlastnosti patˇr´ı pˇredevˇs´ım: CRUSH algoritmus – zajiˇst’uje, zˇ e data jsou rovnomˇernˇe distribuov´ana pˇres cely´ klastr a vˇsechny uzly klastru maj´ı data rychle dostupn´a. ˚ uzlu, ˚ kter´e Moˇznost oddˇelen´ı spr´avy metadat a dat – d´ıky typum Ceph poskytuje, lze jednoduˇse oddˇelit spr´avu metadat a dat. Jedn´a se o vyborn´ e rˇ eˇsen´ı, jak pˇredej´ıt vˇetˇs´ım sˇ kod´am pˇri selh´an´ı ´ hardwaru. Lze toho dos´ahnout napˇr´ıklad nasazen´ım Ceph OSD d´emonu˚ na jin´e serverov´e uzly neˇz se nach´az´ı jakykoliv Ceph Me´ tadata Server. V´ıce reˇzimu˚ pouˇzit´ı – nab´ız´ı tˇri odliˇsn´e moˇznosti pouˇzit´ı (objektovy, ´ blokovy´ a CephFS reˇzim). Vysok´a sˇ k´alovatelnost – moˇznosti sˇ k´alov´an´ı sahaj´ı aˇz do rˇ a´ du˚ tis´ıcu˚ pˇripojenych ´ uzlu˚ v r´amci jednoho distribuovan´eho syst´emu. 2.1.5
Reˇzimy
Objektovy´ reˇzim – poskytuje klientskym ´ aplikac´ım pˇr´ımy´ pˇr´ıstup pomoc´ı RADOS2 (z angl. Reliable Autonomic Distributed Object Sto2
RADOS,
3
2. D ISTRIBUOVAN E´ SYST E´ MY re). D´ale tak´e poskytuje z´aklad pro nˇekter´e z dalˇs´ıch funkc´ı, vˇcetnˇe blokov´eho reˇzimu a CephFS [11]. Blokovy´ reˇzim – poskytuje moˇznost vytvoˇrit virtu´aln´ı blokov´e zaˇr´ızen´ı, kter´e se nazyv´ ´ a RBD3 (z angl. RADOS Block Device). RBD pot´e komunikuje s jednotlivymi OSD pomoc´ı modulu˚ j´adra nebo ´ librbd knihovny [12].
Obr. 1: Sch´ema vrstev blokov´eho reˇzimu [14]. CephFS – (z angl. Ceph Filesystem) je POSIX kompatibiln´ı souborovy´ syst´em, ktery´ je postaven nad objektovym ´ reˇzimem. Zat´ım je st´ale ve vyvoji a nen´ı urˇcen pro produkˇcn´ı nasazen´ı. Pouˇzit´ı CephFS ´ vyˇzaduje nejm´enˇe jeden Ceph Metadata Server [13].
2.2
GlusterFS
2.2.1
Struktura
Distribuovany´ souborovy´ syst´em GlusterFS je sloˇzen z serverovych ´ ˚ Klientsk´e uzly pouze pˇristupuj´ı do datovych a klientskych ´ uzlu. ´ prostoru˚ pˇres pˇr´ıpojny´ bod. Serverov´e uzly spravuj´ı dan´e datov´e prostory (anglicky volumes), kter´e se skl´adaj´ı z menˇs´ıch cˇ a´ st´ı (anglicky ˚ ze nach´azet i nˇekolik tˇechto bricks). Na jednom serverov´em uzlu se muˇ menˇs´ıch cˇ a´ st´ı. GlusterFS poskytuje tˇri z´akladn´ı moˇznosti rozloˇzen´ı ukl´adanych ´ ˚ Jedn´a se o distribuovan´e, prokl´adan´e nebo dat do datovych ´ prostoru. ˚ e kombinace tˇechto tˇr´ı rozreplikovan´e rozloˇzen´ı dat a pˇr´ıpadnˇe i ruzn´ ˇ loˇzen´ı. GlusterFS d´ale umoˇznuje i jedno typovˇe odliˇsn´e rozloˇzen´ı dat s n´azvem georeplikace. 3
RBD,
4
2. D ISTRIBUOVAN E´ SYST E´ MY 2.2.2
Historie vzniku a vyvoje ´
GlusterFS4 lze zjednoduˇsenˇe charakterizovat jako volnˇe dostupny´ distribuovany´ souborovy´ syst´em. Ktery´ se zaˇcal vyv´ıjet spoleˇcnost´ı Glus´ ter v cˇ ervenci roku 2005. Prvn´ı stabiln´ı verze 1.2.3 vyˇsla v unoru roku 2007 [7]. Od verze 1.3, kter´a byla velice inovativn´ı, vych´az´ı st´ale dalˇs´ı nov´e verze. V srpnu roku 2011 spoleˇcnost Red Hat koupila firmu Gluster, coˇz jeˇstˇe v´ıce podpoˇrilo vyvoj tohoto syst´emu [8]. ´ 2.2.3
Typy d´emonu˚
GlusterFS rozdˇeluje role pouze mezi tyto dva d´emony [16, s. 60]: GlusterFS Server – (d´emon glusterfsd) uchov´av´a data v datovych ´ pro˚ ze zpˇr´ıstupnit prostˇrednicstorech (z angl. volumes), kter´e pak muˇ tv´ım poˇc´ıtaˇcov´e s´ıtˇe na z´akladˇe pˇr´ıstupovych ´ pr´av k jednotlivym ´ ˚ datovym ´ prostorum. ˚ GlusterFS Client – (d´emon glusterfs) pˇristupuje k datovym ´ prostorum pˇres pˇr´ıpojny´ bod, vyuˇz´ıv´a k tomu vlastn´ı protokol postaveny´ nad protokoly pro komunikaci v poˇc´ıtaˇcov´e s´ıti TCP/IP5 , SDP6 nebo InfiniBand7 . 2.2.4
Vlastnosti
GlusterFS se vyznaˇcuje pˇredevˇs´ım tˇemito vlastnostmi [19]: Typy rozloˇzen´ı dat – GlusterFS poskytuje georeplikaci a tˇri hlavn´ı typy rozloˇzen´ı dat (distribuovan´e, replikovan´e a prokl´adan´e rozloˇzen´ı dat) vˇcetnˇe jejich kombinac´ı. ˚ poskytuje velice Jednoduch´e nastaven´ı – oproti ostatn´ım syst´emum jednoduch´e nastaven´ı cel´eho syst´emu. N´azvy pˇr´ıkazu˚ jsou intuitivn´ı a nen´ı potˇreba dlouh´e studov´an´ı dokumentace. ˇ Vysok´a sˇ k´alovatelnost – umoˇznuje lehce pˇrid´avat i odeb´ırat serverov´e uzly. Moˇznosti sˇ k´alov´an´ı jsou aˇz v r´amci petabajtu˚ (1 PB = 1015 B), 4
GlusterFS, TCP/IP, 6 SDP, 7 IB, 5
5
2. D ISTRIBUOVAN E´ SYST E´ MY teoreticky aˇz v r´amci brontobajtu˚ (1 BB = 1027 B). Poˇcet klientskych ´ ˚ ze narustat ˚ ˚ uzlu˚ muˇ aˇz do rˇ a´ du˚ tis´ıcu. 2.2.5
Typy rozloˇzen´ı dat
ˇ ˚ e GlusterFS umoˇznuje vytv´arˇ et datov´e prostory rozprostˇren´e pˇres ruzn´ fyzick´e stroje. Datov´e prostory se skl´adaj´ı z menˇs´ıch cˇ a´ st´ı (angl. bricks). ˚ ze obsahovat i v´ıce tˇechto menˇs´ıch cˇ a´ st´ı. Nav´ıc, jeden fyzicky´ stroj muˇ Zde je seznam moˇznych ´ typu˚ rozloˇzen´ı dat [15]: ´ ˚ Distribuovan´e rozloˇzen´ı – data jsou distribuov´ana na urovni souboru, 8 bez redundance. Jedn´a se o obdobu RAID 0 . Pˇri selh´an´ı pˇrich´az´ıme o data. Tato varianta se pouˇz´ıv´a vyhradnˇ e pro rychl´e dosaˇzen´ı ´ ´ zn´eho prostoru. velk´eho uloˇ
Obr. 2: Distribuovan´e rozloˇzen´ı dat. [17]
8
RAID 0,
6
2. D ISTRIBUOVAN E´ SYST E´ MY ´ Replikovan´e rozloˇzen´ı – data jsou opˇet distribuov´ana na urovni sou˚ ale jiˇz s redundanc´ı. To znamen´a, zˇ e do jist´e m´ıry selh´an´ı boru, jsou data st´ale dostupn´a. Replikovan´e rozloˇzen´ı se nejˇcastˇeji pouzˇ ´ıv´a pro vysokou dostupnost dat.
Obr. 3: Replikovan´e rozloˇzen´ı dat. [17] Prokl´adan´e rozloˇzen´ı – jednotliv´e soubory mohou byt ´ distribuov´any ˇ po cˇ a´ stech, neuplatnuje se redundance. Tato varianta je vhodn´a pro velmi velk´e soubory.
Obr. 4: Prokl´adan´e rozloˇzen´ı dat. [17]
7
2. D ISTRIBUOVAN E´ SYST E´ MY Distribuovan´e prokl´adan´e rozloˇzen´ı – jedn´a se o kombinaci, kter´a se zamˇerˇ uje na sˇ k´alovatelnost a velmi velk´e soubory.
Obr. 5: Distribuovan´e prokl´adan´e rozloˇzen´ı dat. [17] Distribuovan´e replikovan´e rozloˇzen´ı – tato kombinace se zamˇerˇ uje na sˇ k´alovatelnost a vysokou dostupnost dat. Jedn´a se o obdobu RAID 109 .
Obr. 6: Distribuovan´e replikovan´e rozloˇzen´ı dat. [17]
9
RAID 10,
8
2. D ISTRIBUOVAN E´ SYST E´ MY Prokl´adan´e replikovan´e rozloˇzen´ı – toto rozloˇzen´ı d´ıky kombinaci ˇ prokl´ad´an´ı a replikov´an´ı dat umoˇznuje s vysokou dostupnost´ı pracovat s velmi velkymi soubory. ´
Obr. 7: Prokl´adan´e replikovan´e rozloˇzen´ı dat. [17] Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı – tato kombinace rozloˇzen´ı poskytuje maxim´aln´ı sˇ k´alovatelnost s vysokou dostupnostn´ı pro velmi velk´e soubory.
Obr. 8: Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat. [17] 9
2. D ISTRIBUOVAN E´ SYST E´ MY ˇ Georeplikace – umoˇznuje asynchronnˇe, inkrement´alnˇe a nepˇreruˇso´ zny´ syst´em mezi rozd´ılnymi vanˇe replikovat cely´ uloˇ datovymi ´ ´ centry (LAN) nebo geografickymi lokacemi (WAN). Vyuˇz´ıv´a se k ´ 10 tomu tzv. model master/slave . Georeplikace se pouˇz´ıv´a napˇr´ıklad pro z´alohov´an´ı veˇskerych ´ dat.
2.3
XtreemFS
2.3.1
Struktura
Distribuovany´ souborovy´ syst´em XtreemFS se skl´ad´a z klientskych ´ ˚ Klientsk´e uzly pouze vyuˇz´ıvaj´ı pˇr´ıstupu do daa serverovych uzlu. ´ tovych ´ prostoru˚ pˇres pˇr´ıpojny´ bod. Serverov´e uzly poskytuj´ı spr´avu ˚ Oproti ostatn´ım distribuovanym datovych ´ prostoru. ´ souborovym ´ sys˚ muˇ ˚ ze byt t´emum ´ replikace nastavov´ana pro jednotliv´e soubory, nejen pro cel´e datov´e prostory. 2.3.2
Historie vzniku a vyvoje ´
XtreemFS11 se zaˇcal vyv´ıjet v roce 2006 [6]. Prvn´ı veˇrejn´a verze byla vyd´ana v srpnu roku 2008, avˇsak verze 1.0 s n´azvem Jelly Donuts se objevila aˇz v srpnu roku 2009 [5]. Od t´e doby jsou pravidelnˇe vyd´av´any nov´e verze. Za zm´ınku stoj´ı verze 1.4, kter´a proˇsla rozs´ahlym ´ testov´an´ım a je povaˇzov´ana za velmi stabiln´ı. ˚ V roce 2013 puvodn´ ı tym, ktery´ se pod´ılel na vyvoji XtreemFS, ´ ´ zakl´ad´a spoleˇcnost s n´azvem Quobyte, kter´a stav´ı pˇredevˇs´ım na poznatc´ıch z XtreemFS. A vytv´arˇ´ı tak podobny´ produkt pro produkˇcn´ı pouˇzit´ı. Narozd´ıl od XtreemFS se jedn´a o placenou variantu [4]. 2.3.3
Typy d´emonu˚
Rozdˇelen´ı rol´ı je vyhodn´ e hlavnˇe z hlediska lepˇs´ı stability syst´emu, ´ ˚ e druhy d´emonu˚ [9]. Jeden serverovy´ proto XtreemFS pouˇz´ıv´a tˇri ruzn´ ˚ ze obsahovat maxim´alnˇe od kaˇzd´eho typu jednoho d´emona. uzel muˇ ˚ Metadata server (MRC) – uchov´av´a metadata datovych ´ prostoru. 10 11
Master/slave, XtreemFS,
10
2. D ISTRIBUOVAN E´ SYST E´ MY Adres´arˇov´a sluˇzba (DIR) – pomoc´ı adres´arˇ ov´e sluˇzby metadata ser´ zny´ server a klient hledaj´ı ostatn´ı servery. D´ale adres´arˇ ov´a ver, uloˇ sluˇzba obsluhuje UUID (univerz´aln´ı unik´atn´ı identifik´ator, z angl. universally unique identifier) mapov´an´ı a shromaˇzd’uje informace o datovych ´ prostorech. ´ zny´ server (OSD) – jedn´a se o klasicky´ server, kde jsou uloˇzen´a Uloˇ data a jejich replikace. 2.3.4
Vlastnosti
Hlavn´ımi vlastnostmi XtreemFS jsou [18]: ˇ Asynchronn´ı z´alohov´an´ı MRC – umoˇznuje vytv´arˇ et konzistentn´ı z´alohu metadat bez pˇreruˇsen´ı vstupn´ıch nebo vystupn´ ıch operac´ı. ´ Asynchronn´ı z´alohov´an´ı souborov´eho syst´emu – jelikoˇz XtreemFS podporuje uchov´av´an´ı jednotlivych ´ verz´ı souboru˚ a asynchronn´ı ˇ ı vytv´az´alohov´an´ı MRC, dohromady tyto dvˇe techniky umoˇznuj´ rˇ et z´alohu cel´eho souborov´eho syst´emu. Prokl´ad´an´ı dat – XtreemFS implementuje prokl´ad´an´ı dat pˇres nˇekolik serverovych ´ uzlu˚ pro lepˇs´ı vyuˇzit´ı sˇ´ırˇ ky p´asma kapacity, vstupn´ıch a vystupn ych ´ ´ operac´ı. Zaruˇcuje to rychlejˇs´ı cˇ ten´ı i z´apis dat, protoˇze jsou operace prov´adˇeny paralelnˇe na nˇekolika serverovych ´ uzlech najednou. Replikace jednotlivych ´ souboru˚ – v r´amci jednoho datov´eho prostoru ˚ lze nastavit odliˇsny´ poˇcet replikac´ı jednotlivym ´ souborum. Moˇznost cˇ a´ steˇcn´eho replikov´an´ı – repliky jsou doplnˇeny na kompletn´ı aˇz v momentu, kdy je nˇekdo vyˇzaduje. Vysok´a sˇ k´alovatelnost – moˇznost snadn´eho a rychl´eho pˇrid´av´an´ı cˇ i ˚ ub´ır´an´ı novych ´ serverovych ´ uzlu. Zabezpeˇcen´ı – d´ıky sˇ iforv´an´ı pomoc´ı SSL12 a X.50913 certifik´atu˚ nemus´ı klienti pouˇz´ıvat virtu´aln´ı priv´atn´ı s´ıtˇe. 12 13
SSL, X.509,
11
´ ´I 3. P OPIS TESTOV AN
3
Popis testov´an´ı
3.1
Struktura testovanych ´ klastru˚
Testov´an´ı bylo urˇceno pro shrnut´ı vhodnosti distribuovanych ´ souborovych ´ syst´emu˚ Ceph, GlusterFS a XtreemFS pro pouˇzit´ı v cloudov´em ˇ prostˇred´ı Cesk´ e n´arodn´ı gridov´e infrastruktury – MetaCentru. Pˇri testov´an´ı bylo potˇreba zachovat prostˇred´ı takov´e, aby svoj´ı strukturou odpov´ıdalo cloudov´emu prostˇred´ı v MetaCentru. Avˇsak na druhou stranu, aby tak´e bylo pˇrijateln´e pro poˇzadavky na hardware. N´avrh struktury byl do velk´e m´ıry ovlivnˇen pouˇzitym ´ hardwarem. Na dlouhodob´e testov´an´ı byl prim´arnˇe pouˇzit klastr 14 stroju˚ s n´azvem Nympha. Z nichˇz 4 stroje slouˇzili jako serverov´a cˇ a´ st a zbylych ´ 10 stroju˚ slouˇzilo jako cˇ a´ st pro klienty. D´ıky podobn´e struktuˇre vˇsech testovanych ´ syst´emu˚ mohlo byt ´ toto rozloˇzen´ı pouˇzito po celou dobu testov´an´ı. Pouze v opakovan´em testov´an´ı syst´emu Ceph byl pouˇzit jiny´ klastr 20 vykonnˇ ejˇs´ıch stroju˚ s n´azvem Hador. Z nichˇz opˇet 4 stroje ´ slouˇzili jako serverov´a cˇ a´ st a 16 stroju˚ jako cˇ a´ st klientsk´a. Hlavn´ım bodem z´ajmu byla pˇredevˇs´ım propustnost cel´eho distribuovan´eho syst´emu jako celku. Dany´ syst´em by mˇel pˇredevˇs´ım poskytovat podporu pro blokov´e zaˇr´ızen´ı, se kterym ´ se v cloudov´em prostˇred´ı nejˇcastˇeji pracuje, reprezentuje tak obraz virtu´aln´ıho stroje. Pokud distribuovany´ syst´em neposkytuje nativn´ı podporu pro blokov´e zaˇr´ızen´ı, vytvoˇr´ı se v datov´em prostoru soubory pevn´e velikosti, kter´e se pak d´ale naform´atuj´ı a pˇripoj´ı se k dan´emu stroji jako pˇr´ıpojny´ bod. Model testov´an´ı pˇredstavuje v cloudov´em prostˇred´ı uloˇziˇstˇe obrazu˚ a dat (z angl. Image Storage) u cloudu s architekturou IaaS14 (z angl. Infrastructure as a Service). V naˇsem pˇr´ıpadˇe architektura IaaS poskytuje pomoc´ı middleware OpenNebula15 virtualizaci hardwaru. ´ Dany´ distribuovany´ souborovy´ syst´em by v tomto pˇr´ıpadˇe mˇel za ukol distribuci obrazu˚ napˇr´ıcˇ cloudovym ´ prostˇred´ım. Tud´ızˇ je pˇredevˇs´ım ˚ zit´e testov´an´ı rychlosti z´apisu dat. duleˇ Velkou roli pak zde hraje to, jak rychle dany´ syst´em dok´azˇ e zapiso14 15
IaaS, OpenNebula,
12
´ ´I 3. P OPIS TESTOV AN vat cˇ i pˇrepisovat data od nˇekolika klientu˚ najednou. A to i v pˇr´ıpadˇe, zˇ e od jednoho klienta mohou byt ´ pˇr´ıjm´ana data do nˇekolika odliˇsnych ´ blokovych ´ zaˇr´ızen´ı najednou. Zvolen´a velikost testovanych ´ souboru˚ (1 – 4 GB) reprezentuje velikost obrazu virtu´aln´ıho stroje, ktery´ je distribuov´an napˇr´ıcˇ cloudovym ´ prostˇred´ım pomoc´ı dan´eho distribuovan´eho syst´emu, proto byly tyto hodnoty zvoleny i pˇri testov´an´ı. Kaˇzdy´ klientsky´ uzel mˇel pˇripojenych ´ deset blokovych ´ zaˇr´ızen´ı do dan´eho distrubuovan´eho syst´emu. Pˇri deseti klientskych ´ uzlech bylo moˇzn´e zpracov´avat aˇz sto blokovych zaˇr´ızen´ı a pˇri sˇ estn´acti klient´ skych ´ uzlech aˇz sto sˇ edes´at blokovych ´ zaˇr´ızen´ı najednou. D´ale budu nazyvat zpracov´av´an´ı dat jednoho blokov´eho zaˇr´ızen´ı na jednom uzlu ´ ˚ jako jeden proces. Blokov´e zaˇr´ızen´ı vˇzdy mˇelo kapacitu pˇet gigabajtu, ˚ N´asleduj´ıc´ı avˇsak pˇri testov´an´ı se pouˇz´ıvali menˇs´ı velikosti souboru. tabulka vyjadˇruje velikosti testovac´ıch souboru˚ v z´avislosti na poˇctu procesu˚ na dan´em stroji: poˇcet procesu˚
velikost testovac´ıho souboru
1 proces
4 096 MB
2 procesy
2 048 MB
3 procesy
1 365 MB
4 procesy a v´ıce
1 024 MB
˚ Tab. 1: Velikosti testovac´ıch souboru.
3.2
IOzone
Testov´an´ı prob´ıhalo za pomoci programu IOzone16 , ktery´ je vhodny´ pˇredevˇs´ım pro mˇerˇ en´ı vykonu pevn´eho disku, ale v distribuovan´em ´ reˇzimu lze pouˇz´ıt pr´avˇe pro mˇerˇ en´ı propustnosti cel´eho distribuovan´eho souborov´eho syst´emu. Program IOzone v distribuovan´em reˇzimu se spouˇst´ı pouze na jednom klientsk´em stroji. Dany´ stroj mus´ı m´ıt pˇr´ıstup na vˇsechny ostatn´ı klientsk´e stroje pomoc´ı ssh bez hesla. A samozˇrejmˇe na vˇsech ostatn´ıch klientskych ´ stroj´ıch mus´ı byt ´ tak´e program IOzone nainstalov´an, nej˚ l´epe ve stejn´e verzi. IOzone m´a ve sv´e nab´ıdce celou sˇ k´alu pˇrep´ınaˇcu, 16
IOzone,
13
´ ´I 3. P OPIS TESTOV AN ˇ ı nastavovat moˇznosti testov´an´ı podle ruzn ˚ ych ˚ kter´e umoˇznuj´ ´ pˇr´ıpadu. V m´em pˇr´ıpadˇe byla pouˇzita tato syntaxe (mˇen´ı se pouze velikost testovac´ıho souboru, poˇcet procesu˚ a n´azev souboru do kter´eho se ukl´ad´a vystup): ´ $ iozone -Mce -s 4g -r 256k -i 0 -+m nodes01.list -t 1 > test_01n-01p.txt
Vysvˇetlen´ı pˇrep´ınaˇcu˚ je dostupn´e v anglick´em jazyce pomoc´ı pˇr´ıkazu man iozone, pokud je IOzone v dan´em syst´emu nainstalov´an. Pˇrep´ınaˇce pouˇz´ıt´e pˇri testov´an´ı jsou vysvˇetleny n´ızˇ e: -c
˚ zahrne funkci close() do cˇ asovych ´ vypoˇ ´ ctu.
-e
ˇ ı vyzahrne funkce typu flush, jedn´a se o funkce, kter´e umoˇznuj´ pr´azdnˇen´ı vyrovn´avac´ı pamˇeti (napˇr. fsync, fflush).
-i # specifikuje testy, kter´e se maj´ı vykonat. Vˇzdy je nutn´e zadat test cˇ ´ıslo 0. Ostatn´ı testy jsou voliteln´e. Form´at pro zad´an´ı v´ıce testu˚ ˚ ze byt najednou muˇ ´ napˇr´ıklad: -i 0 -i 2 -i 9. Zde je jejich kompletn´ı seznam: 0 = z´apis / pˇrepis 1 = cˇ ten´ı / opˇetovn´e cˇ ten´ı 2 = n´ahodn´e cˇ ten´ı / n´ahodny´ z´apis 3 = cˇ ten´ı pozp´atku 4 = z´apis a pˇrepis pouze vybran´eho m´ısta v souboru 5 = krokovan´e cˇ ten´ı 6 = z´apis funkc´ı fwrite() / pˇrepis funkc´ı fwrite() 7 = cˇ ten´ı funkc´ı fread() / opˇetovn´e cˇ ten´ı funkc´ı fread() 8 = n´ahodny´ stˇr´ıdavy´ z´apis a cˇ ten´ı 9 = z´apis funkc´ı pwrite() / pˇrepis funkc´ı pwrite() 10 = cˇ ten´ı funkc´ı pread() / opˇetovn´e cˇ ten´ı funkc´ı pread() 11 = z´apis funkc´ı pwritev() / pˇrepis funkc´ı pwritev() 12 = cˇ ten´ı funkc´ı preadv() / opˇetovn´e cˇ ten´ı funkc´ı preadv()) -+m # z tohoto souboru se z´ısk´avaj´ı informace o konfiguraci klienta pro klastrov´e testov´an´ı. Soubor vˇzdy obsahuje jeden rˇ a´ dek pro jednoho klienta, pˇr´ıpadnˇe pro jeden proces. Kaˇzdy´ rˇ a´ dek m´a ´ ´ tˇri udaje oddˇelen´e mezerou. Prvn´ı udaj je jm´eno klienta. Druhy´ 14
´ ´I 3. P OPIS TESTOV AN ´ ˇ udaj zn´azornuje cestu do pracovn´ıho adres´arˇ e, kde bude IO´ zone testovat. A tˇret´ı udaj je cesta, kde se nach´az´ı na klientovi ˚ ze tento soubor vypaprogram IOzone. Zde je uk´azka, jak muˇ dat: nympha4ib /mnt/gbd/01 /usr/bin/iozone nympha5ib /mnt/gbd/02 /usr/bin/iozone nympha6ib /mnt/gbd/03 /usr/bin/iozone
-M
IOzone bude volat funkci uname() a vystup vloˇz´ı jako rˇ etˇezec ´ do vystupn´ ıho souboru. ´
-r # pouˇz´ıv´a se k urˇcen´ı velikosti zapisovanych ´ bloku˚ do testovac´ıho souboru v kilobajtech. Velikost lze tak´e urˇcit jako -r #k (pro velikost v kilobajtech), -r #m (pro velikost v megabajtech) nebo -r #g (pro velikost v gigabajtech). -s # pouˇz´ıv´a se k urˇcen´ı velikosti testovac´ıho souboru v kilobajtech. Velikost lze tak´e specifikovat jako -s #k (pro velikost v kilobajtech), -s #m (pro velikost v megabajtech) nebo -s #g (pro velikost v gigabajtech). -t # urˇcuje kolik procesu˚ najednou pˇri testov´an´ı pobˇezˇ ´ı, cˇ ´ıslo znaˇc´ı poˇcet rˇ a´ dku˚ v souboru u pˇrep´ınaˇce -+m #.
3.3
Specifikace testovanych ´ stroju˚
Testov´an´ı prob´ıhalo na jiˇz dvou zm´ınˇenych ´ klastrech. Vˇsechny stroje ˇ ˚ ceny od Cesk´e n´arodn´ı infrastruktury – Metacentra, aktivity byly zapujˇ sdruˇzen´ı CESNET, z. s. p. o. Na klastru Nympha prob´ıhalo testov´an´ı ˚ klastr Hador byl zapujˇ ˚ cen pouze na dobu v r´amci nˇekolika mˇes´ıcu, ˚ N´asleduj´ıc´ı tabulky poskytuj´ı z´akladn´ı pˇrehled pouˇzit´eho dvou tydn ´ u. hardwaru a softwaru:
15
´ ´I 3. P OPIS TESTOV AN 3.3.1
Nympha klastr poˇcet stroju˚
14
um´ıstˇen´ı
ˇ ˇ Cesk´ Plzen, a republika
procesor
2x quad-core Intel Xeon E5472 (3 GHz, 12 MB cache)
operaˇcn´ı pamˇet’ RAM
16 GB
pevny´ disk s´ıt’
1x 300 GB (syst´em i data)
operaˇcn´ı syst´em
Debian 7.6 Wheezy
verze j´adra operaˇcn´ıho syst´emu
3.14.0
pouˇzit´a operaˇcn´ı pamˇet’ RAM pouˇzit´a s´ıt’
2 GB
1x InfiniBand (40 Gb/s), 1x Ethernet (1 Gb/s)
1x Infiniband (40 Gb/s)
Tab. 2: Specifikace Nympha klastru. 3.3.2
Hador klastr
poˇcet stroju˚
20
um´ıstˇen´ı
ˇ Brno, Cesk´ a republika
procesor
2x octa-core Intel Xeon E5-2630 v3 (2,4 GHz, 20 MB cache)
operaˇcn´ı pamˇet’ RAM
128 GB
pevny´ disk s´ıt’
2x 1 TB (syst´em), 12x 4 TB (data)
operaˇcn´ı syst´em
Debian 7.7 Wheezy
verze j´adra operaˇcn´ıho syst´emu
3.14.0
pouˇzit´a operaˇcn´ı pamˇet’ RAM pouˇzit´a s´ıt’
2 GB
1x InfiniBand (40 Gb/s), 2x Ethernet (1 Gb/s)
1x Infiniband (40 Gb/s)
Tab. 3: Specifikace Hador klastru.
3.4
Probl´emy
Bohuˇzel i pˇri tomto testov´an´ı se objevily probl´emy. Nejvˇetˇs´ım probl´emem bylo chybn´e mˇerˇ en´ı cel´eho syst´emu GlusterFS. Pˇri prvn´ım pokusu mˇerˇ en´ı syst´emu GlusterFS se nejsp´ısˇ e dany´ syst´em sˇ patnˇe nainstaloval. Pˇresny´ probl´em se ovˇsem nepodaˇrilo odhalit. Avˇsak vysledky ´ ˚ byly zkreslen´e a nevych´azely vubec dle oˇcek´av´an´ı. Nekorektnost vy´ sledku˚ byla pˇredevˇs´ım odhalena d´ıky vyˇssˇ´ım namˇerˇ enym ´ hodnot´am pro distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat neˇz pro pouze distribuovan´e replikovan´e rozloˇzen´ı dat. Proto na vˇsechny stroje byl znova nainstalov´an neupraveny´ operaˇcn´ı syst´em Debian 7.6 s oznaˇcen´ım Wheezy. A dle stejn´eho postupu 16
´ ´I 3. P OPIS TESTOV AN jako pˇri prvn´ı instalaci, byl nainstalov´an a nastaven syst´em GlusterFS. Po opˇetovn´em otestov´an´ı, vysledky jiˇz vych´azely dle oˇcek´av´an´ı. ´ Druhym ´ probl´emem pˇri testov´an´ı bylo selh´an´ı hardwaru na dvou ˚ boklientskych uzlech. Pˇri neust´al´em zat´ızˇ en´ı vˇetˇs´ıho poˇctu stroju, ´ huˇzel doch´az´ı i k selh´an´ı hardwaru. Pˇresnˇeji na jednom klientsk´em uzlu byl detekov´an vadny´ pevny´ disk a na druh´em klientsk´em uzlu po pl´anovan´em restartu byla detekov´ana vadn´a operaˇcn´ı pamˇet’. Oba klientsk´e uzly byly opraveny a nasazeny zpˇet k testov´an´ı.
3.5
Doba trv´an´ı
Jelikoˇz se pˇri testov´an´ı jednalo o velk´e pˇrenosy dat, samotn´e testov´an´ı zabralo spoustu cˇ asu. V n´asleduj´ıc´ı tabulce naleznete pˇribliˇzn´e cˇ asov´e ´ udaje doby trv´an´ı samotn´eho testov´an´ı, kter´e zahrnovalo i opakovan´e pˇremˇerˇ en´ı nˇekterych ´ hodnot. Avˇsak v tabulce nen´ı zahrnuto prvotn´ı mˇerˇ en´ı GlusterFS s nekorektn´ımi vysledky. ´ z´apis
pˇrepis
24 h
22 h
Ceph (Hador klastr)
8h
7h
GlusterFS (dist. repl. rozloˇzen´ı dat)
9h
8h
12 h
10 h
Ceph (Nympha klastr)
GlusterFS (dist. pro. repl. rozloˇzen´ı dat) XtreemFS celkem
72 h
76 h
125 h
123 h
Tab. 4: Pˇribliˇzn´a doba trv´an´ı testov´an´ı.
17
4. I NSTALACE
4
Instalace
Tato kapitola poskytuje instalaˇcn´ı postup jednotlivych ´ syst´emu˚ na serverov´e nebo klientsk´e uzly, pˇriˇcemˇz vˇsechny pˇr´ıkazy jsou naps´any tak, aby je vykon´aval pouze uˇzivatel root. Pokud se budou tyto pˇr´ıkazy vykon´avat pod jinym ´ uˇzivatelem, je potˇreba se pˇri instalaci za uˇzivatele root vyd´avat, napˇr´ıklad pomoc´ı pˇr´ıkazu sudo17 .
4.1
Ceph
˚ tento postup se provede pouze na poˇca´ teˇcOproti ostatn´ım syst´emum, n´ım serverov´em uzlu. Instalace na ostatn´ı serverov´e cˇ i klientsk´e uzly prob´ıh´a pomoc´ı pˇr´ıkazu ceph-deploy z poˇca´ teˇcn´ıho serverov´eho uzlu ˚ a prol´ın´a se tak s postupnym ´ nastavov´an´ım syst´emu. Z tohoto duvodu jsem instalaci na ostatn´ı serverov´e cˇ i klientsk´e uzly zaˇradil aˇz do kapitoly nastaven´ı. N´asleduj´ıc´ı instalaˇcn´ı postup pro poˇca´ teˇcn´ı serverovy´ uzel je rozdˇelen do tˇrech po sobˇe jdouc´ıch kroku˚ [20]: 1) V tomto postupu je popisov´ana instalace syst´emu Ceph verze 0.80 Firefly na operaˇcn´ı syst´em Debian 7 s oznaˇcen´ım Wheezy, pˇriˇcemˇz postup pˇri instalaci jinych ´ verz´ı na jin´e operaˇcn´ı syst´emy je velmi podobny. ´ Nejprve je potˇreba pˇridat Ceph zdroj do naˇseho syst´emu n´asleduj´ıc´ım pˇr´ıkazem: $ echo deb http://ceph.com/debian-firefly/ wheezy main | tee /etc/apt/sources.list.d/ceph.list
2) Pro vˇetˇs´ı bezpeˇcnost je zdroj zabezpeˇcen kl´ıcˇ em, bez nˇehoˇz nen´ı moˇzn´e tento zdroj pouˇz´ıvat. Nahr´an´ı kl´ıcˇ e do syst´emu provedeme pˇr´ıkazem: $ wget -q -O- ’https://ceph.com/git/?p=ceph.git;a=blob_plain; f=keys/release.asc’ | apt-key add -
3) Nyn´ı je nutn´e naˇc´ıst nov´e bal´ıky ze zdroju˚ do naˇseho syst´emu. $ apt-get update
4) Z´avˇerem nainstalujeme potˇrebny´ bal´ık ceph-deploy. $ apt-get install ceph-deploy 17
sudo,
18
4. I NSTALACE
4.2
GlusterFS
˚ Instalace GlusterFS je rozdˇelena do tˇrech po sobˇe jdouc´ıch kroku: 1) V n´asleduj´ıc´ım postupu je vybrany´ jako operaˇcn´ı syst´em Debian 7 s oznaˇcen´ım Wheezy. Avˇsak postup pro ostatn´ı podporovan´e syst´emy je velice podobny. ´ Jelikoˇz ve zdroj´ıch pro Debian je dostupn´a ˚ verze GlusterFS nejvyˇ st´ahnout ´ se ve verzi 3.2, je lepˇs´ım zpusobem si pˇr´ımo aktu´aln´ı deb bal´ıky. Souˇcasnou nejnovˇejˇs´ı verz´ı ze dne 28. 4. 2015 je verze cˇ ´ıslo 3.6.3-1. N´asleduj´ıc´ı tˇri pˇr´ıkazy provedou staˇzen´ı deb bal´ıku˚ t´eto verze: $ wget http://download.gluster.org/pub/gluster/glusterfs/ LATEST/Debian/wheezy/apt/pool/main/g/glusterfs/glusterfscommon_3.6.3-1_amd64.deb $ wget http://download.gluster.org/pub/gluster/glusterfs/ LATEST/Debian/wheezy/apt/pool/main/g/glusterfs/glusterfsclient_3.6.3-1_amd64.deb $ wget http://download.gluster.org/pub/gluster/glusterfs/ LATEST/Debian/wheezy/apt/pool/main/g/glusterfs/glusterfsserver_3.6.3-1_amd64.deb
2) Dalˇs´ı tˇri pˇr´ıkazy n´am nainstaluj´ı potˇrebn´e bal´ıky. Pokud instalujeme bal´ıky na klientsky´ uzel, vynech´ame posledn´ı rˇ a´ dek. dpkg -i glusterfs-common_3.6.3-1_amd64.deb dpkg -i glusterfs-client_3.6.3-1_amd64.deb dpkg -i glusterfs-server_3.6.3-1_amd64.deb
3) V posledn´ım kroku je uˇz jen potˇreba odstranit pˇrebyteˇcn´e deb bal´ıky, kter´e jsme v prvn´ım kroku stahovali. rm glusterfs-common_3.6.3-1_amd64.deb rm glusterfs-client_3.6.3-1_amd64.deb rm glusterfs-server_3.6.3-1_amd64.deb
19
4. I NSTALACE
4.3
XtreemFS
Instalace XtreemFS je rozdˇelena do pˇeti po sobˇe jdouc´ıch kroku˚ [21]: 1) V n´asleduj´ıc´ım postupu se bude jednat opˇet o operaˇcn´ı syst´em Debian 7 s oznaˇcn´ım Wheezy. Avˇsak podobny´ postup je i pro ostatn´ı podporovan´e syst´emy. V prvn´ı rˇ adˇe je potˇreba pˇridat XtreemFS zdroj do naˇseho syst´emu. Pˇrid´an´ı zdroje do syst´emu provedeme t´ımto pˇr´ıkazem: $ echo "deb http://download.opensuse.org/repositories/home:/ xtreemfs/Debian_7.0/ ./"\ > /etc/apt/sources.list.d/xtfs.list
2) Pro vˇetˇs´ı bezpeˇcnost je zdroj zabezpeˇcen kl´ıcˇ em, bez nˇehoˇz nen´ı moˇzn´e tento zdroj pouˇz´ıvat. Dalˇs´ım pˇr´ıkazem kl´ıcˇ st´ahneme a nahrajeme do syst´emu. $ wget -q http://download.opensuse.org/repositories/home:/ xtreemfs/Debian_7.0/Release.key -O - | apt-key add -
3) Nyn´ı je potˇreba naˇc´ıst nov´e bal´ıky ze zdroju˚ do naˇseho syst´emu. $ apt-get update
4) V posledn´ı f´azi nainstalujeme potˇrebn´e bal´ıky. Pokud poˇzadujeme ˚ zeme pˇreskoinstalaci bal´ıku˚ na klientsky´ uzel, krok cˇ ´ıslo cˇ tyˇri muˇ ˚ av´ame u bodu cˇ ´ıslo cˇ it. Pro instalaci bal´ıku˚ na serverovy´ uzel zust´ cˇ tyˇri, ktery´ je pro n´as bodem posledn´ım. $ apt-get install xtreemfs-server
5) T´ımto pˇr´ıkazem nainstalujeme potˇrebn´e bal´ıky na klientsky´ uzel vˇcetnˇe n´astroju˚ pro spr´avu. $ apt-get install xtreemfs-client xtreemfs-tools
20
5. N ASTAVEN´I
5
Nastaven´ı
Kapitola nastaven´ı zahrnuje cˇ a´ st pˇr´ıprav, kdy je dany´ syst´em jiˇz nainstalovany´ na vˇsechny uzly (toto neplat´ı pro syst´em Ceph, ktery´ je nainstalovany´ pouze na poˇca´ teˇcn´ı serverovy´ uzel). D´ale je potˇreba dany´ syst´em spr´avnˇe nakonfigurovat, aby byl pˇripraven na testov´an´ı. Pˇred zaˇca´ tkem nastavov´an´ı mus´ı byt ´ splnˇeny tyto podm´ınky: ˚ zit´e spr´avnˇe nastavit nasmˇerov´an´ı dom´en na 1) V prvn´ı rˇ adˇe je duleˇ IP adresy pomoc´ı souboru /etc/hosts. Pokud pouˇz´ıv´ame propojen´ı pˇres InfiniBand, doporuˇcuji k jeho adres´am pˇriˇradit jin´e n´azvy dom´en neˇz u propojen´ı pˇres Ethernet. Upravit soubor je potˇreba na vˇsech serverovych ´ uzlech a prvn´ım klientsk´em uzlu. Mˇel by obsa´ hovat udaje o vˇsech uzlech, kter´e spolupracuj´ı s danym ´ distribuovanym ´ syst´emem. Zde je pˇr´ıklad, jak by mohl soubor /etc/hosts vypadat: 127.0.0.1
localhost
147.240.12.1 147.240.12.2
server1 server2
10.50.100.1 10.50.100.2
server1ib server2ib
149.240.15.1 10.60.100.1
klient1 klient1ib
2) Z prvn´ıho serverov´eho uzlu mus´ı byt ´ dostupn´e vˇsechny uzly pˇres ssh spojen´ı bez hesla. V m´em pˇr´ıpadˇe se jedn´a o cˇ tyˇri uzly serverov´e a deset (ˇsestn´act) uzlu˚ klientskych. Jelikoˇz nˇekter´e syst´emy ´ pouˇz´ıvaj´ı ssh spojen´ı v instalaˇcn´ıch skriptech i na ten samy´ uzel na kter´em se zrovna nach´az´ı, je nutn´e aby toto ssh spojen´ı fungovalo tak´e. Pro vygenerov´an´ı nov´eho kl´ıcˇ e a jeho distribuci na ostat˚ n´ı serverov´e uzly doporuˇcuji pouˇzit´ı n´asleduj´ıc´ıch pˇr´ıkazu: $ ssh-keygen $ ssh-copy-id uˇ zivatel@uzel
21
5. N ASTAVEN´I 3) Z prvn´ıho klientsk´eho uzlu mus´ı byt ´ dostupn´e vˇsechny klientsk´e uzly pˇres ssh spojen´ı bez hesla. V m´em pˇr´ıpadˇe se jedn´a o deset ˚ Takov´eto nastaven´ı je nutn´e kvuli ˚ moˇznosti spuˇs(ˇsestn´act) uzlu. tˇen´ı programu IOzone v distribuovan´em reˇzimu. Opˇet doporuˇcuji pouˇzit´ı pˇr´ıkazu˚ ssh-keygen a ssh-copy-id z bodu cˇ ´ıslo dva.
5.1
Ceph
U syst´emu Ceph se jedn´a o cˇ a´ steˇcn´e doinstalov´an´ı syst´emu s nastaven´ım. Narozd´ıl od poˇca´ teˇcn´ıho serverov´eho uzlu se ostatn´ı uzly in˚ ˚ staluj´ı jinym Z tohoto duvodu jsem instalaci ostatn´ıch ser´ zpusobem. verovych ´ uzlu˚ zaˇradil aˇz do t´eto kapitoly. Postup nastaven´ı syst´emu Ceph cˇ a´ steˇcnˇe vych´az´ı z Ceph dokumentace [22]. 5.1.1
Nastaven´ı monitoru˚
˚ zi1) Nejdˇr´ıve vytvoˇr´ıme adres´arˇ na prvn´ım serverov´em uzlu. Je duleˇ t´e vykon´avat vˇsechny dalˇs´ı pˇr´ıkazy z tohoto adres´arˇ e, protoˇze na ´ toto m´ısto se budou ukl´adat vˇsechny logovac´ı udaje pˇri vytv´arˇ en´ı ˚ zeme d´at syst´emu Ceph, pˇr´ıpadnˇe i doˇcasn´e soubory. Adres´arˇ i muˇ jak´ekoliv jm´eno, j´a jsem v tomto pˇr´ıpadˇe zvolil n´azev cluster. $ mkdir ˜/cluster $ cd ˜/cluster
2) Nyn´ı deklarujeme inici´aln´ı monitory. $ ceph-deploy new nympha2ib nympha3ib nympha4ib nympha5ib
3) Ve sloˇzce kde se pr´avˇe nach´az´ıme se n´am automaticky vytvoˇrilo ˚ n´as zaj´ım´a pˇredevˇs´ım soubor ceph.conf, do ktenˇekolik souboru, r´eho nyn´ı dopln´ıme naˇsi konfiguraci. Poruˇsenym ´ klastrem je v n´a´ sleduj´ıc´ım kodu oznaˇcen klastr, kde byl zaznamen´an vypadek nˇe´ ˚ ze byt kter´eho z uzlu˚ a replikace muˇ ´ doˇcasnˇe sn´ızˇ ena aˇz na hodnotu min size. Pod rˇ a´ dek [global] dopln´ıme n´asleduj´ıc´ı informace: # inici´ aln´ ı poˇ cet replikac´ ı osd_pool_default_size = 2
22
5. N ASTAVEN´I # inici´ aln´ ı minim´ aln´ ı poˇ cet replikac´ ı v poruˇ sen´ em klastru osd_pool_default_min_size = 1 # inici´ aln´ ı poˇ cet um´ ıst’uj´ ıc´ ıch skupin osd_pool_default_pg_num = 256 # inici´ aln´ ı poˇ cet um´ ıst’uj´ ıc´ ıch skupin pro um´ ıstˇ en´ ı dat osd_pool_default_pgp_num = 256
4) Dalˇs´ım krokem je instalace syst´emu Ceph na ostatn´ı serverov´e uzly. $ ceph-deploy install create nympha2ib nympha3ib nympha4ib nympha5ib
˚ N´asleduj´ıc´ım pˇr´ı5) Krokem cˇ ´ıslo pˇet zakonˇc´ıme nastaven´ı monitoru. kazem vytvoˇr´ıme monitory, kter´e jsme v bodˇe cˇ ´ıslo dva deklarovali. Souˇca´ st´ı toho je i shrom´azˇ dˇen´ı kl´ıcˇ u˚ na jednotlivych ´ monitorech, tyto kl´ıcˇ e budou pouˇz´ıv´any vˇsemi uzly pro autentizaci vˇsech sluˇzeb syst´emu Ceph. $ ceph-deploy mon create-initial
5.1.2
Nastaven´ı OSD d´emona
1) K vytvoˇren´ı OSD potˇrebujeme nejdˇr´ıve na danych ´ serverovych ´ uzlech vytvoˇrit pˇr´ıslouˇsnou sloˇzku, ve kter´e bude OSD d´emon ucho˚ v´avat data. Nejlepˇs´ım zpusobem je pˇripojen´ı cel´eho pevn´eho disku jako pˇr´ıpojny´ bod. V m´em pˇr´ıpadˇe jsem pro klastr Nympha pouˇzil pouze cˇ a´ st disku (jeden odd´ıl), ktery´ byl pˇripojeny´ na um´ıstˇen´ı /data. A pro klastr Hador jsem pouˇzil osm disku˚ na kaˇzdy´ uzel, ´ ıstˇen´ı /data0 aˇz /data7. kter´e byly pˇripojeny na um´ 2) V dalˇs´ım kroku pˇriprav´ıme vytvoˇren´ı cˇ tyˇr OSD d´emonu˚ n´asleduj´ı˚ c´ım zpusobem: $ ceph-deploy osd prepare nympha2ib:/data nympha3ib:/data nympha4ib:/data nympha5ib:/data
3) Nyn´ı n´am jiˇz nic nebr´an´ı k aktivaci cˇ tyˇr pˇredpˇripravenych OSD ´ d´emonu˚ t´ımto pˇr´ıkazem: $ ceph-deploy osd activate nympha2ib:/data nympha3ib:/data nympha4ib:/data nympha5ib:/data
23
5. N ASTAVEN´I 5.1.3
Nastaven´ı klientskych ´ uzlu˚
1) Poˇzadavky na verzi j´adra operaˇcn´ıho syst´emu u klietskych uzlu˚ ´ jsou pomˇernˇe vysok´e. Aktu´aln´ı poˇzadavky naleznete v dokumentaci syst´emu Ceph18 . V m´em pˇr´ıpadˇe bylo pouˇzito na vˇsech uzlech j´adro operaˇcn´ıho syst´emu verze 3.14.0. 2) Dalˇs´ım krokem je jiˇz samotn´a instalace syst´emu Ceph na klientsk´e uzly z poˇca´ teˇcn´ıho serverov´eho uzlu. V klastru Hador jsem instalo˚ v klastru Nympha na deset uzlu. ˚ Zde val syst´em na sˇ estn´act uzlu, vid´ıte uk´azku instalace z klastru Nympha: $ ceph-deploy install nympha6ib nympha7ib nympha8ib nympha9ib nympha10ib nympha11ib nympha12ib nympha13ib nympha14ib nympha15ib
3) Na z´avˇer uˇz jen rozˇs´ırˇ´ıme na novˇe nainstalovan´e klientsk´e uzly kl´ıcˇ s n´azvem ceph.client.admin.keyring a konfiguraˇcn´ı soubor ceph.conf. Prov´ad´ıme tak opˇet z poˇca´ teˇcn´ıho serverov´eho uzlu. $ ceph-deploy admin nympha6ib nympha7ib nympha8ib nympha9ib nympha10ib nympha11ib nympha12ib nympha13ib nympha14ib nympha15ib
5.1.4
Nastaven´ı blokovych ´ zaˇr´ızen´ı
N´asleduj´ıc´ı cˇ tyˇri kroky prov´ad´ıme jiˇz na klientskych ´ uzlech. 1) Blokov´a zaˇr´ızen´ı ve vychoz´ ım nastaven´ı ukl´adaj´ı data do sesku´ pen´ı s n´azvem rbd. Avˇsak nic n´am nebr´an´ı si vytvoˇrit pro testov´an´ı vlastn´ı seskupen´ı. Toto seskupen´ı staˇc´ı vytvoˇrit pouze na jednom klientsk´em uzlu, seskupen´ı je pak viditeln´e pro cely´ klastr. V m´em pˇr´ıpadˇe jsem vytvoˇril seskupen´ı s n´azvem testing n´asleduj´ıc´ım ˚ zpusobem: $ ceph osd pool create testing 256 256
Prvn´ı hodnota za n´azvem seskupen´ı urˇcuje poˇcet um´ıst’uj´ıc´ıch skupin (pg num) a druh´a hodnota urˇcuje poˇcet um´ıst’uj´ıc´ıch skupin pro um´ıstˇen´ı dat (pgp num). 18
Poˇzadavky na j´adro operaˇcn´ıho syst´emu,
24
5. N ASTAVEN´I 2) Dalˇs´ım krokem je vytvoˇren´ı blokov´eho zaˇr´ızen´ı pomoc´ı pˇr´ıkazu rbd. Parametry urˇcuj´ı n´azev blokov´eho zaˇr´ızen´ı, velikost v megabajtech a seskupen´ı, ve kter´em se budou data blokov´eho zaˇr´ızen´ı nach´azet. V pˇr´ıpadˇe klastru Nympha i Hador jsem vytv´arˇ el na kaˇzd´em klientsk´em uzlu deset blokovych ´ zaˇr´ızen´ı, v seskupen´ı testing ˚ a s velikost´ı 5120 megabajtu. $ rbd create nympha6_0 --size 5120 --pool testing
´ esˇ n´em vytvoˇren´ı blokovych 3) Po uspˇ ´ zaˇr´ızen´ı je potˇreba na vˇsech zarˇ´ızen´ı vytvoˇrit souborovy´ syst´em. V tomto pˇr´ıkazu se jedn´a o souborovy´ syst´em ext419 s pˇrep´ınaˇcem, ktery´ nastavuje nula procent rezervovanych ´ bloku˚ pro super-uˇzivatele. $ mkfs.ext4 -m0 /dev/rbd/testing/nympha6_0
4) V z´avˇeru jiˇz staˇc´ı vytvoˇrit sloˇzky pro pˇripojen´ı blokovych ´ zaˇr´ızen´ı. A n´aslednˇe zaˇr´ızen´ı pˇripojit. $ mkdir /mnt/rbd_0 $ mount /dev/rbd/testing/nympha6_0 /mnt/rbd_0
Po pˇripojen´ı by mˇela byt ´ vˇsechna blokov´a zaˇr´ızen´ı na dan´em uzlu viditeln´a pomoc´ı pˇr´ıkazu df nebo mount.
5.2
GlusterFS
5.2.1
Nastaven´ı serverovych ´ uzlu˚
˚ kter´e se kromˇe Nastaven´ı serverovych uzlu˚ se skl´ad´a z pˇeti kroku, ´ tˇret´ıho kroku vykon´avaj´ı pouze na poˇca´ teˇcn´ım serverov´em uzlu. Postup nastaven´ı syst´emu GlusterFS cˇ a´ steˇcnˇe vych´az´ı z dokumentace GlusterFS [23]. 1) Z poˇca´ teˇcn´ıho serverov´eho uzlu pˇrid´ame ostatn´ı serverov´e uzly, poˇca´ teˇcn´ı uzel nen´ı nutn´e pˇrid´avat. N´ızˇ e je uk´azka z klastru Nympha: 19
ext4,
25
5. N ASTAVEN´I $ gluster peer probe nympha3ib
2) Po pˇrid´an´ı vˇsech ostatn´ıch serverovych ´ uzlu˚ pouze zkontrolujeme stav t´ımto pˇr´ıkazem: $ gluster peer status
3) V tomto kroku pˇriprav´ıme adres´arˇ e pro ukl´ad´an´ı dat na serverov´e ˚ uzly definovan´e v prvn´ım kroku. Nejlepˇs´ım zpusobem je pˇripojen´ı cel´eho pevn´eho disku nebo odd´ılu jako pˇr´ıpojny´ bod. V m´em pˇr´ıpadˇe jsem pouˇzil pouze jeden odd´ıl, ktery´ byl pˇripojen na adres´arˇ /data. Tento krok je potˇreba vykonat na vˇsech serverovych ´ uzlech, vˇcetnˇe poˇca´ teˇcn´ıho. 4) Pokraˇcujeme vytvoˇren´ım datov´eho prostoru s danym ´ typem rozlozˇ en´ı dat. V m´em pˇr´ıpadˇe jsem pouˇzil dva typy rozloˇzen´ı dat. Jedn´a se o distribuovan´e replikovan´e a distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat. Prvn´ı pˇr´ıkaz z n´asleduj´ıc´ıch je pouˇzit´ı s distribuovanym ´ replikovanym ´ typem rozloˇzen´ı dat. Druhy´ pˇr´ıkaz je pouˇzit´ı s distribuovanym ´ prokl´adanym ´ replikovanym ´ typem rozloˇzen´ı dat. $ gluster volume create test-volume replica 2 transport tcp nympha2ib:/data nympha3ib:/data nympha4ib:/data nympha5ib:/data $ gluster volume create test-volume stripe 2 replica 2 transport tcp nympha2ib:/data nympha3ib:/data nympha4ib:/data nympha5ib:/data
´ esˇ n´em vytvoˇren´ı datov´eho prostoru, muˇ ˚ zeme da5) V z´avˇeru po uspˇ tovy´ prostor spustit. $ gluster volume test-volume
5.2.2
Nastaven´ı klientskych ´ uzlu˚
N´asleduj´ıc´ı postup je potˇreba prov´est na vˇsech klientskych ´ uzlech. 1) Nejdˇr´ıve vytvoˇr´ıme sloˇzku pro pˇripojen´ı datov´eho prostoru. 26
5. N ASTAVEN´I $ mkdir /mnt/glusterfs
´ esˇ n´e vytvoˇren´ı sloˇzky, pˇripoj´ıme datovy´ prostor. Zde je uve1) Po uspˇ den pˇr´ıklad z klastru Nympha: $ mount.gluster nympha2ib:/test-volume /mnt/glusterfs
5.2.3
Nastaven´ı blokovych ´ zaˇr´ızen´ı
Syst´em GlusterFS ve vychoz´ ım stavu blokov´a zaˇr´ızen´ı nepodporuje. ´ Proto je nutn´e vytvoˇrit v datov´em prostoru soubory o pevn´e velikosti, kter´e budou zastupovat blokov´a zaˇr´ızen´ı. A d´ale je pˇres smyˇcku loop pˇripojit ke klientsk´emu uzlu. N´asleduj´ıc´ı kroky provedeme na vˇsech klientskych ´ uzlech. 1) Nejdˇr´ıve vytvoˇr´ıme ve sloˇzce /mnt/glusterfs deset souboru˚ o ve˚ Pouˇzijeme vhodny´ pˇr´ıkaz, napˇr´ıklad tento: likosti 5120 megabajtu. $ dd if=/dev/zero of=/mnt/glusterfs/nympha6_0 bs=1 count=0 seek=5120M
2) D´ale ve stejnych souborech jako z pˇredchoz´ıho kroku vytvoˇr´ıme ´ souborovy´ syst´em ext4 bez rezervovanych ´ bloku˚ pro superuˇzivatele. $ mkfs.ext4 -m0 -F /mnt/glusterfs/nympha6_0
3) V z´avˇeru jiˇz staˇc´ı vytvoˇrit sloˇzky pro pˇripojen´ı blokovych ´ zaˇr´ızen´ı. A n´aslednˇe zaˇr´ızen´ı pˇripojit do syst´emu. $ mkdir /mnt/gbd_0 $ mount /mnt/glusterfs/nympha6_0 /mnt/gbd_0
5.3
XtreemFS
V r´amci nastaven´ı syst´emu XtreemFS bylo cˇ a´ steˇcnˇe vych´azeno z dokumentace XtreemFS [9].
27
5. N ASTAVEN´I 5.3.1
Nastaven´ı metadata serveru (MRC)
Nastaven´ı metadata serveru obsahuje pouze spuˇstˇen´ı dan´eho d´emona na poˇca´ teˇcn´ım serverov´em uzlu. 1) Spuˇstˇen´ı metadata serveru provedeme t´ımto pˇr´ıkazem: $ /etc/init.d/xtreemfs-mrc start
5.3.2
Nastaven´ı adres´arˇov´e sluˇzby (DIR)
Kaˇzdy´ bod tohoto postupu je potˇreba prov´est na vˇsech cˇ tyˇrech serverovych ´ uzlech. 1) Adres´arˇ ovou sluˇzbu nastav´ıme tak, aby byla replikovan´a na vˇsech cˇ tyˇrech serverovych uzlech. Proto mus´ıme v tomto bodˇe upravit ´ n´asleduj´ıc´ı soubory: /etc/xos/xtreemfs/mrcconfig.properties /etc/xos/xtreemfs/osdconfig.properties
V obou souborech vypln´ıme n´azvy jednotlivych ´ serverovych ´ uzlu˚ s adres´arˇ ovou sluˇzbou a pˇr´ısluˇsnym ı ´ portem. Takto vypad´a vychoz´ ´ nastaven´ı: # Directory Service endpoint dir_service.host = localhost dir_service.port = 32638 # If you run a replicated DIR, you also have to set the addresses of the additional DIR replicas here: #dir_service1.host = second-DIR-replica #dir_service1.port = 32638 #dir_service2.host = third-DIR-replica #dir_service2.port = 32638
A n´ızˇ e je pˇr´ıklad m´eho nastaven´ı na klastru Nympha: # Directory Service endpoint dir_service.host = nympha2ib dir_service.port = 32638 dir_service1.host = nympha3ib
28
5. N ASTAVEN´I dir_service1.port dir_service2.host dir_service2.port dir_service3.host dir_service3.port
= = = = =
32638 nympha4ib 32638 nympha5ib 32638
2) Nyn´ı v souboru dirconfig.properties, ktery´ je um´ıstˇen v adres´arˇ i /etc/xos/xtreemfs/, odstran´ıme prvn´ı znak (#) u n´asleduj´ıc´ıho rˇ a´ dku: #babudb.plugin.0 = /etc/xos/xtreemfs/server-repl-plugin/dir. properties
3) V tomto bodˇe nastav´ıme n´azvy jednotlivych ´ serverovych ´ uzlu˚ s adres´arˇ ovou sluˇzbou a pˇr´ısluˇsnym ´ portem obdobnˇe jako v bodˇe cˇ ´ıslo jedna. Nastaven´ı provedeme v souboru dir.properties, ktery´ je uloˇzen v adres´arˇ i /etc/xos/xtreemfs/server-repl-plugin/. Jedn´a se o nastaven´ı pro modul, ktery´ zpracov´av´a replikaci adres´arˇ ov´e sluˇzby. Zde je uveden´e nastaven´ı z klastru Nympha: # participants of the replication including this replica babudb.repl.participant.0 = nympha2ib babudb.repl.participant.0.port = 35678 babudb.repl.participant.1 = nympha3ib babudb.repl.participant.1.port = 35678 babudb.repl.participant.2 = nympha4ib babudb.repl.participant.2.port = 35678 babudb.repl.participant.3 = nympha5ib babudb.repl.participant.3.port = 35678
˚ zeme zapnout adres´arˇ ovou sluˇzbu. 4) V posledn´ı bodˇe jiˇz muˇ $ /etc/init.d/xtreemfs-dir start
5.3.3
Nastaven´ı uloˇ ´ zn´eho serveru (OSD)
Cely´ tento postup je potˇreba prov´est na vˇsech cˇ tyˇrech serverovych ´ uzlech, t´ım z´ısk´ame nejv´ıce moˇzn´eho dostupn´eho m´ısta.
29
5. N ASTAVEN´I ´ zn´eho serveru nejdˇr´ıve potˇrebujeme vytvoˇrit sloˇz1) K vytvoˇren´ı uloˇ ´ zn´eho serveru. Nejlepˇs´ı moˇzny´ zpu˚ ku, kter´a uskladn´ı data uloˇ sob je pˇripojen´ı cel´eho pevn´eho disku jako pˇr´ıpojny´ bod. V klastru Nympha jsem pouˇzil pouze cˇ a´ st disku (jeden odd´ıl), ktery´ byl pˇripojen na um´ıstˇen´ı /data. 2) V dalˇs´ım kroku je potˇreba zmˇenit adres´arˇ i /data vlastn´ıka a sku˚ pinu. Provedeme to pˇr´ıkazem chown n´asleduj´ıc´ım zpusobem: $ chown xtreemfs:xtreemfs /data
3) D´ale v postupu je na rˇ adˇe zmˇena m´ısta uloˇziˇstˇe v konfiguraˇcn´ım souboru osdconfig.properties, ktery´ je opˇet um´ıstˇen ve sloˇzce /etc/xos/xtreemfs/. N´ızˇ e je uk´azka z klastru Nympha: object_dir = /data
´ zn´eho serveru jiˇz jen sluˇzbu zapneme. 4) V z´avˇeru nastaven´ı uloˇ $ /etc/init.d/xtreemfs-osd start
5.3.4
Nastaven´ı blokovych ´ zaˇr´ızen´ı
Syst´em XtreemFS ve vychoz´ ım stavu blokov´a zaˇr´ızen´ı nepodporuje. ´ Proto je nutn´e vytvoˇrit v datov´em prostoru soubory o pevn´e velikosti, kter´e budou zastupovat blokov´a zaˇr´ızen´ı a pˇres smyˇcku loop je pˇripojit ke klietsk´emu uzlu. Kroky cˇ ´ıslo jedna a tˇri prov´ad´ıme pouze na jednom klientsk´em uzlu, ostatn´ı kroky na vˇsech klientskych ´ uzlech. 1) Nejdˇr´ıve je potˇreba vytvoˇrit v syst´emu GlusterFS datovy´ prostor. ˚ V pˇr´ıTento pˇr´ıkaz pouˇzijeme pouze na jednom z klietskych ´ uzlu. kazu se odkazujeme na pˇr´ısluˇsny´ metadata server (MRC), ktery´ se nach´az´ı na poˇca´ teˇcn´ım serverov´em uzlu. $ mkfs.xtreemfs nympha2ib/test
2) D´ale pˇripoj´ıme datovy´ prostor ke klientsk´emu uzlu. Pˇred samotnym ´ pˇripojen´ım je potˇreba vytvoˇrit adres´arˇ , do kter´eho datovy´ prostor pˇripoj´ıme. V pˇr´ıkazu mount.xtreemfs se odkazujeme na replikovanou adres´arˇ ovou sluˇzbu (DIR). 30
5. N ASTAVEN´I $ mkdir /mnt/xtreemfs $ mount.xtreemfs nympha2ib,nympha3ib,nympha4ib,nympha5ib/test /mnt/xtreemfs
3) V tomto kroku nastav´ıme vychoz´ ı nastaven´ı replikac´ı pro cely´ da´ tovy´ prostor. $ xtfsutil --set-drp --replication-policy WqRq --replication-factor 2 /mnt/xtreemfs
4) Po pˇripojen´ı datov´eho prostoru vytvoˇr´ıme na vˇsech klientskych ´ uzlech deset souboru˚ ve sloˇzce /mnt/xtreemfs o velikosti 5120 me˚ Soubory mus´ı m´ıt rozd´ıln´e n´azvy v r´amci cel´eho klastru. gabajtu. Pouˇzijeme na to vhodny´ pˇr´ıkaz: $ dd if=/dev/zero of=/mnt/xtreemfs/nympha6_0 bs=1 count=0 seek=5120M
5) Nyn´ı ve stejnych ´ souborech jako z pˇredchoz´ıho kroku vytvoˇr´ıme souborovy´ syst´em ext4 bez rezervovanych ´ bloku˚ pro superuˇzivatele. $ mkfs.ext4 -m0 -F /mnt/xtreemfs/nympha6_0
6) V z´avˇeru jiˇz staˇc´ı vytvoˇrit sloˇzky pro pˇripojen´ı blokovych ´ zaˇr´ızen´ı. A n´aslednˇe zaˇr´ızen´ı pˇripojit. $ mkdir /mnt/xbd_0 $ mount /mnt/xtreemfs/nympha6_0 /mnt/xbd_0
Po pˇripojen´ı by mˇela byt ´ vˇsechna zaˇr´ızen´ı na dan´em uzlu viditeln´a pomoc´ı pˇr´ıkazu df nebo mount.
31
´ ´ ´I 6. V YSLEDKY TESTOV AN
6 6.1
Vysledky testov´an´ı ´ Ceph
Syst´em Ceph nesplnil oˇcek´av´an´ı. Na klastru Nympha nejevil zn´amky jak´ehokoliv sˇ k´alov´an´ı. Zapisoval i pˇrepisoval data rychlostmi pouze ˚ do 50 MB/s pˇri jak´emkoliv poˇctu stroju˚ a procesu. ˚ Z tohoto duvodu jsem se rozhodl pro opakovan´e otestov´an´ı na ˚ vykonnˇ ejˇs´ım klastru Hador s vˇetˇs´ım mnoˇzstv´ım Ceph OSD d´emonu. ´ Zat´ımco na klastru Nympha byl zaveden pouze jeden Ceph OSD d´emon na jednom odd´ıle pro jeden serverovy´ uzel. V klastru Hador byl tento poˇcet rozˇs´ırˇ en na osm Ceph OSD d´emonu˚ pro jeden serverovy´ uzel, kaˇzdy´ zvl´asˇ t’ na samostatn´em pevn´em disku. Pro klastr Hador byly namˇerˇ eny vyraznˇ e lepˇs´ı hodnoty, jak v rych´ losti, tak ve sˇ kl´alovatelnosti. Nejlepˇs´ı uk´azkou sˇ k´alovatelnosti je z´apis dat pro jeden proces. Avˇsak pro klientsk´e uzly s malym ´ poˇctem procesu˚ byly namˇerˇ eny velice rozd´ıln´e hodnoty. Nejlepˇs´ım pˇr´ıkladem je obrovsky´ rozd´ıl namˇerˇ enych hodnot u jednoho uzlu s jedn´ım a dvˇema procesy. Na´ mˇerˇ en´a hodnota pro dva procesy na jednom uzlu mˇela byt ´ dle pˇredpokladu˚ daleko niˇzsˇ´ı (okolo 100 – 150 MB/s). Tento test byl proveden nˇekolikr´at a vˇzdy byly namˇerˇ eny t´emˇerˇ totoˇzn´e hodnoty. 6.1.1
Nympha klastr
Obr. 9: Graf z´apisu dat - Ceph (klastr Nympha).
32
´ ´ ´I 6. V YSLEDKY TESTOV AN v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
42 036,83
36 377,68
43 619,80
36 441,79
42 389,47
32 630,98
2 uzly
36 096,99
39 121,35
45 403,05
44 194,49
39 159,71
35 012,58
4 uzly
33 157,81
38 789,76
42 813,73
42 298,28
36 273,55
36 930,54
6 uzlu˚
38 872,33
41 087,03
37 273,72
34 389,50
32 385,66
36 564,68
8 uzlu˚
41 397,04
35 362,79
34 469,69
34 409,34
32 312,77
32 891,02
10 uzlu˚
40 600,11
34 676,23
33 509,60
36 452,31
33 965,88
33 727,15
Tab. 5: Hodnoty z´apisu dat - Ceph (klastr Nympha).
Obr. 10: Graf pˇrepisu dat - Ceph (klastr Nympha).
v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
37 827,05
36 084,60
45 777,52
40 388,53
44 250,76
37 100,56
2 uzly
35 865,73
41 371,55
41 923,38
41 830,27
43 526,42
40 378,60
4 uzly
37 562,33
45 340,54
44 695,82
43 950,40
39 860,49
38 451,60
6 uzlu˚
40 546,72
44 522,96
36 951,50
36 723,48
34 381,11
35 472,03
8 uzlu˚
36 617,50
36 860,89
36 149,51
34 647,46
40 419,71
38 041,27
10 uzlu˚
43 849,13
37 220,01
36 426,80
34 574,51
38 396,15
33 425,75
Tab. 6: Hodnoty pˇrepisu dat - Ceph (klastr Nympha).
33
´ ´ ´I 6. V YSLEDKY TESTOV AN 6.1.2
Hador klastr
Obr. 11: Graf z´apisu dat - Ceph (klastr Hador).
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
48 637,11
316 392,95
410 109,34
476 855,44
464 229,70
472 644,64
2 uzly
78 127,44
421 159,62
511 516,11
485 374,30
477 550,94
493 068,32
4 uzly
182 416,38
407 305,76
521 021,94
434 867,97
400 746,58
399 094,19
6 uzlu˚
223 017,12
403 401,12
453 938,32
442 602,43
438 361,19
394 224,73
8 uzlu˚
260 482,53
415 670,75
478 465,31
468 160,93
440 493,81
423 798,31
10 uzlu˚
289 262,29
462 422,12
476 293,33
447 556,19
442 378,73
427 212,31
12 uzlu˚
324 340,85
476 310,67
471 138,28
440 437,14
426 991,42
408 629,38
14 uzlu˚
342 310,86
488 640,68
504 190,55
416 418,44
447 928,56
424 301,90
16 uzlu˚
361 994,71
508 373,67
468 004,73
439 462,43
423 877,98
409 096,18
v kB/s
1 proces
Tab. 7: Hodnoty z´apisu dat - Ceph (klastr Hador).
34
´ ´ ´I 6. V YSLEDKY TESTOV AN
Obr. 12: Graf pˇrepisu dat - Ceph (klastr Hador).
v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
255 432,73
461 485,23
535 960,45
512 093,16
477 513,86
436 843,25
2 uzly
379 804,30
492 652,98
469 777,75
562 320,23
538 278,54
527 517,03
4 uzly
457 507,94
540 824,45
522 085,26
513 674,87
490 171,07
507 054,00
6 uzlu˚
504 654,05
468 710,50
509 975,35
496 459,40
495 609,55
487 794,33
8 uzlu˚
526 179,21
493 525,16
483 503,57
472 847,82
470 910,03
468 820,60
10 uzlu˚
475 764,39
474 388,05
467 517,46
449 623,50
464 717,23
470 365,28
12 uzlu˚
500 670,10
497 474,27
489 971,44
460 101,91
468 524,60
460 529,77
14 uzlu˚
479 167,48
481 745,81
482 296,18
453 347,11
463 419,48
463 062,27
16 uzlu˚
495 010,55
490 199,67
467 983,88
473 903,06
454 716,92
454 512,53
Tab. 8: Hodnoty pˇrepisu dat - Ceph (klastr Hador).
6.2
GlusterFS
Jak jiˇz bylo zˇrejm´e z rozd´ıln´eho ukl´ad´an´ı dat pˇri distribuovan´em replikovan´em a distribuovan´em prokl´adan´em replikovan´em rozloˇzen´ı dat, rozloˇzen´ı dat s prokl´ad´an´ım bylo pomalejˇs´ı. Protoˇze jednotliv´e soubory mohly byt ´ distribuov´any po cˇ a´ stech, kdeˇzto rozloˇzen´ı dat bez prokl´ad´an´ı striktnˇe distribuovalo jednotliv´e soubory v celku. Namˇerˇ en´e hodnoty v obou typech rozloˇzen´ı dat byly velmi uspoˇ alovatelnost je zde evidentn´ı s narustaj´ ˚ ˚ ale kojiv´e. Sk´ ıc´ım poˇctem uzlu, pouze do jist´eho bodu, kdy opˇet hodnoty zaˇc´ınaj´ı pozvolna klesat. Nejl´epe tento jev lze pozorovat v grafech z´apisu i pˇrepisu dat pro 35
´ ´ ´I 6. V YSLEDKY TESTOV AN distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat, kde nejvyˇssˇ´ıch ˚ Pro v´ıce uzlu˚ hodhodnot dosahuje GlusterFS pˇri pˇripojen´ı 6 uzlu. noty d´ale klesaj´ı. Tento bod je pˇr´ımo z´avisly´ na poˇctu pouˇzitych ´ serve˚ rovych ´ uzlu. 6.2.1
Distribuovan´e replikovan´e rozloˇzen´ı dat
Obr. 13: Graf z´apisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat).
v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
20 282,00
31 344,68
50 205,72
59 960,12
57 800,49
61 463,49
2 uzly
54 036,09
67 044,65
102 508,28
112 290,27
114 178,84
120 054,09
4 uzly
121 965,22
134 485,97
173 900,75
178 917,16
165 715,14
172 325,60
6 uzlu˚
147 462,93
168 985,00
197 144,55
186 035,32
165 905,66
162 110,60
8 uzlu˚
177 898,38
183 049,59
173 323,08
164 784,42
172 991,51
167 498,21
10 uzlu˚
183 801,58
184 003,73
162 112,19
154 615,09
168 191,63
158 569,56
Tab. 9: Hodnoty z´apisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat).
36
´ ´ ´I 6. V YSLEDKY TESTOV AN
Obr. 14: Graf pˇrepisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat).
v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
20 076,80
29 878,52
51 306,87
45 652,18
61 296,43
45 330,87
2 uzly
54 545,17
68 374,07
105 979,26
110 537,71
113 747,73
120 524,01
4 uzly
120 214,59
139 430,94
194 756,33
192 976,07
179 588,98
199 606,07
6 uzlu˚
141 970,39
189 367,22
213 290,36
209 234,25
172 760,45
174 719,40
8 uzlu˚
180 772,63
198 256,22
187 537,91
169 084,73
181 304,23
184 918,74
10 uzlu˚
189 863,53
201 909,49
179 972,09
170 688,55
189 194,62
185 114,41
Tab. 10: Hodnoty pˇrepisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat).
37
´ ´ ´I 6. V YSLEDKY TESTOV AN 6.2.2
Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat
Obr. 15: Graf z´apisu dat - GlusterFS (Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat).
v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
23 859,67
35 865,64
42 501,14
49 139,58
47 879,56
2 uzly
48 903,94
59 278,72
66 624,82
64 843,49
67 289,06
44 603,31 68 776,77
4 uzly
71 997,50
79 549,66
83 637,30
101 944,08
102 736,38
101 721,55
6 uzlu˚
124 962,10
128 959,80
126 434,13
112 426,89
106 558,97
105 438,76
8 uzlu˚
91 842,99
94 266,32
89 520,07
91 913,59
112 509,11
108 855,91
10 uzlu˚
112 051,00
100 257,24
94 447,88
91 712,67
106 599,13
101 276,91
Tab. 11: Hodnoty z´apisu dat - GlusterFS (Distribuovan´e replikovan´e prokl´adan´e rozloˇzen´ı dat).
38
´ ´ ´I 6. V YSLEDKY TESTOV AN
Obr. 16: Graf pˇrepisu dat - GlusterFS (Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat).
v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
26 098,17
39 646,58
39 565,90
40 651,54
45 676,50
2 uzly
44 697,04
69 667,09
71 632,04
69 234,31
70 707,95
46 358,32 73 163,22
4 uzly
71 848,73
87 322,68
88 367,89
106 816,65
106 407,94
104 209,90
6 uzlu˚
132 767,14
141 454,47
131 737,88
118 019,30
104 750,40
105 166,77
8 uzlu˚
95 437,93
103 124,42
101 961,72
97 098,16
111 825,52
111 998,91
10 uzlu˚
111 827,18
99 128,60
93 401,60
91 522,92
110 558,81
105 046,02
Tab. 12: Hodnoty pˇrepisu dat - GlusterFS (Distribuovan´e replikovan´e prokl´adan´e rozloˇzen´ı dat).
6.3
XtreemFS
Vysledky testov´an´ı syst´emu XtreemFS byli velmi pˇrekvapuj´ıc´ı. Nahra´ ˚ zen´ı chybˇej´ıc´ıho blokov´eho reˇzimu stejnym jako u Glus´ zpusobem terFS nepˇrineslo oˇcek´avan´e vysledky. XtreemFS sˇ k´aluje v z´avislosti ´ ˚ bohuˇzel v r´amci uzlu˚ jiˇz t´emˇerˇ vubec. ˚ na poˇctech procesu, Nejm´enˇe oˇcek´avan´a byla vˇsak rychlost, maxim´aln´ı hodnoty pro z´apis se pohybovaly pouze okolo 15 MB/s a pro pˇrepis okolo 13 MB/s. Coˇz je pro potˇreby cloudov´eho prostˇred´ı velice m´alo.
39
´ ´ ´I 6. V YSLEDKY TESTOV AN
Obr. 17: Graf z´apisu dat - XtreemFS. v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
3 852,28
5 522,11
9 101,65
12 563,04
13 812,50
14 155,29
2 uzly
5 253,48
8 023,62
9 849,98
12 185,13
14 652,62
15 105,95
4 uzly
7 497,05
8 660,10
11 617,42
12 775,45
12 502,54
11 909,12
6 uzlu˚
8 101,51
9 108,03
10 838,45
9 917,29
8 836,41
9 324,78
8 uzlu˚
11 299,77
12 686,02
12 459,37
11 166,64
9 405,11
8 065,96
10 uzlu˚
10 359,85
13 070,57
12 176,34
10 300,48
7 589,25
6 462,34
Tab. 13: Hodnoty z´apisu dat - XtreemFS.
Obr. 18: Graf pˇrepisu dat - XtreemFS. v kB/s
1 proces
2 procesy
4 procesy
6 procesu˚
8 procesu˚
10 procesu˚
1 uzel
2 825,82
4 938,85
6 777,56
9 320,07
10 934,98
11 667,50
2 uzly
4 834,02
7 055,59
8 131,04
10 633,60
12 420,28
12 725,83
4 uzly
6 254,80
8 038,71
10 681,44
11 739,87
11 304,71
10 362,02
6 uzlu˚
7 354,78
8 781,81
10 296,50
9 528,69
8 166,97
8 197,27
8 uzlu˚
8 960,67
10 977,52
11 064,01
9 618,62
8 046,02
6 571,11
10 uzlu˚
9 328,65
11 119,85
10 434,64
8 588,55
6 424,95
5 296,14
Tab. 14: Hodnoty pˇrepisu dat - XtreemFS.
40
´ ´ ´I 6. V YSLEDKY TESTOV AN
6.4
Zhodnocen´ı
Na z´akladˇe vysledk u˚ testov´an´ı lze doporuˇcit dva syst´emy. V prvn´ım ´ pˇr´ıpadˇe se jedn´a o syst´em GlusterFS s vysokou rychlost´ı a jednoduchou spr´avou. Namˇerˇ en´e hodnoty dosahuj´ı dobrych u˚ v obou ´ vysledk ´ typech rozloˇzen´ı dat. Jako druhy´ syst´em lze jednoznaˇcnˇe doporuˇcit Ceph, ktery´ ovˇsem dle vysledk u˚ testov´an´ı nen´ı vhodny´ pro menˇs´ı klastry, ale pro vˇetˇs´ı ´ klastry poskytuje velmi vysokou rychlost. Tak´e se jedn´a o syst´em, ktery´ jako jediny´ poskytuje pˇr´ımou podporu blokovych ´ zaˇr´ızen´ı. Bohuˇzel v zˇ a´ dn´em pˇr´ıpadˇe nemohu doporuˇcit syst´em XtreemFS, ktery´ n´ızkou rychlost´ı velmi pˇrekvapil. Na pouˇzit´ı v cloudov´em pro˚ stˇred´ı z tohoto duvodu rozhodnˇe nen´ı vhodny. ´
41
´ Eˇ R 7. Z AV
7
Z´avˇer
C´ılem t´eto pr´ace bylo otestov´an´ı tˇr´ı distribuovanych ´ souborovych ´ sy˚ Na zaˇca´ tku pr´ace jsem pˇredstavil dan´e syst´emy a jejich hlavst´emu. n´ı vlastnosti a strukturu. N´asledovalo uveden´ı do problematiky testov´an´ı a popis testov´an´ı. Pot´e jsem uvedl podrobny´ postup instalace ˚ V pˇredposledn´ı kapitole jsem prea nastaven´ı jednotlivych ´ syst´emu. zentoval namˇerˇ en´e vysledky pomoc´ı grafick´eho a tabulkov´eho zn´a´ ˚ zornˇen´ı. D´ale tak´e jsem zhodnotil vhodnost jednotlivych ´ syst´emu. Pokud by se naskytla moˇznost testov´an´ı dalˇs´ıch distribuovanych ´ ˚ souborovych ´ syst´emu˚ nebo jiny´ druh testu˚ v r´amci st´avaj´ıch syst´emu, pokraˇcoval bych v testov´an´ı i v budoucnu. Nyn´ı mohu jen doporuˇcit, zˇ e kromˇe rychlost´ı z´apisu a pˇrepisu dat by bylo d´ale vhodn´e otesto˚ Napˇr´ıklad, jak se dany´ syst´em zavat pˇredevˇs´ım stabilitu syst´emu. chov´a pˇri vypadku serverov´eho uzlu, do jak´e m´ıry lze data obnovit, ´ pˇr´ıpadnˇe jak dlouho bude trvat zotaven´ı syst´emu.
42
Seznam obr´azku˚ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Sch´ema vrstev blokov´eho reˇzimu [14]. . . . . . . . . . . . Distribuovan´e rozloˇzen´ı dat. [17] . . . . . . . . . . . . . . Replikovan´e rozloˇzen´ı dat. [17] . . . . . . . . . . . . . . . Prokl´adan´e rozloˇzen´ı dat. [17] . . . . . . . . . . . . . . . . Distribuovan´e prokl´adan´e rozloˇzen´ı dat. [17] . . . . . . . Distribuovan´e replikovan´e rozloˇzen´ı dat. [17] . . . . . . . Prokl´adan´e replikovan´e rozloˇzen´ı dat. [17] . . . . . . . . . Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat. [17] Graf z´apisu dat - Ceph (klastr Nympha). . . . . . . . . . . Graf pˇrepisu dat - Ceph (klastr Nympha). . . . . . . . . . Graf z´apisu dat - Ceph (klastr Hador). . . . . . . . . . . . Graf pˇrepisu dat - Ceph (klastr Hador). . . . . . . . . . . Graf z´apisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . . . . . . . . . . . . Graf pˇrepisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . . . . . . . . . . Graf z´apisu dat - GlusterFS (Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . . . . . Graf pˇrepisu dat - GlusterFS (Distribuovan´e prokl´adan´e replikovan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . . . . . Graf z´apisu dat - XtreemFS. . . . . . . . . . . . . . . . . . Graf pˇrepisu dat - XtreemFS. . . . . . . . . . . . . . . . . .
43
4 6 7 7 8 8 9 9 32 33 34 35 36 37 38 39 40 40
Seznam tabulek 1 2 3 4 5 6 7 8 9 10 11 12 13 14
˚ . . . . . . . . . . . . . . . Velikosti testovac´ıch souboru. Specifikace Nympha klastru. . . . . . . . . . . . . . . . . Specifikace Hador klastru. . . . . . . . . . . . . . . . . . Pˇribliˇzn´a doba trv´an´ı testov´an´ı. . . . . . . . . . . . . . . Hodnoty z´apisu dat - Ceph (klastr Nympha). . . . . . . Hodnoty pˇrepisu dat - Ceph (klastr Nympha). . . . . . Hodnoty z´apisu dat - Ceph (klastr Hador). . . . . . . . Hodnoty pˇrepisu dat - Ceph (klastr Hador). . . . . . . . Hodnoty z´apisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . . . . . . . . Hodnoty pˇrepisu dat - GlusterFS (Distribuovan´e replikovan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . . . . . . Hodnoty z´apisu dat - GlusterFS (Distribuovan´e replikovan´e prokl´adan´e rozloˇzen´ı dat). . . . . . . . . . . . . . . Hodnoty pˇrepisu dat - GlusterFS (Distribuovan´e replikovan´e prokl´adan´e rozloˇzen´ı dat). . . . . . . . . . . . . Hodnoty z´apisu dat - XtreemFS. . . . . . . . . . . . . . . Hodnoty pˇrepisu dat - XtreemFS. . . . . . . . . . . . . .
44
. . . . . . . .
13 16 16 17 33 33 34 35
. 36 . 37 . 38 . 39 . 40 . 40
Literatura [1] Red Hat to Acquire Inktank, Provider of Ceph. RED HAT, Inc. Red Hat: The world’s open source leader [online]. Raleigh, Severn´ı Karol´ına, Spojen´e st´aty americk´e, 2014, 30. 4. 2014 [cit. 18. 4. 2015]. Dostupn´e z: . [2] The 10 Coolest Storage Startups Of 2012 (So Far). KOVAR, Joseph F. CRN: Technology News For Solution Providers And The IT Channel [online]. 2012, 10. 7. 2012 [cit. 18. 4. 2015]. Dostupn´e z: . [3] WEIL, Sage A. CEPH: RELIABLE, SCALABLE, AND HIGH-PERFORMANCE DISTRIBUTED STORAGE. Santa Cruz, Kalifornie, Spojen´e st´aty americk´e, 2007. Dostupn´e z: . Disertaˇcn´ı pr´ace. Kalifornsk´a univerzita, Santa Cruz. Vedouc´ı pr´ace Scott A. Brandt. [4] This is Quobyte. QUOBYTE, Inc. Quobyte: The best storage is smart software [online]. 2013 [cit. 20. 4. 2015]. Dostupn´e z: . [5] Jelly Donuts: Release 1.0 is here!. XtreemFS Project Blog [online]. 2009, 13. 8. 2009 [cit. 20. 4. 2015]. Dostupn´e z: . [6] BERLIN, Michael. XtreemFS: A Cloud File System. Almere, Nizozemsko, 2012. Dostupn´e z: . Prezentace. Contrail Summer School, Almere. [7] Gluster Linux Journal Article. RED HAT, Inc. Gluster: Write once, read everywhere [online]. 2008, 10. 10. 2008 [cit. 20. 4. 2015]. Dostupn´e z: . [8] Red Hat to Acquire Gluster. STEVENS, Brian. RED HAT, Inc. Red Hat: The world’s open source leader [online]. 2011, 4. 10. 2011 [cit. 45
20. 4. 2015]. Dostupn´e z: . [9] XtreemFS Installation and User Guide: Version 1.5.x. QUOBYTE, Inc. XtreemFS: Fault-Tolerant Distributed File System [online]. 2014, 12. 3. 2014 [cit. 7. 5. 2015]. Dostupn´e z: . [10] Intro to Ceph: Ceph Documentation. INKTANK STORAGE, Inc. Ceph [online]. 2014 [cit. 22. 4. 2015]. Dostupn´e z: . [11] Object Storage Ceph. INKTANK STORAGE, Inc. Ceph [online]. 2015 [cit. 22. 4. 2015]. Dostupn´e z: . [12] Block Storage Ceph. INKTANK STORAGE, Inc. Ceph [online]. 2015 [cit. 22. 4. 2015]. Dostupn´e z: . [13] Ceph Filesystem: Ceph Documentation. INKTANK STORAGE, Inc. Ceph [online]. 2014 [cit. 22. 4. 2015]. Dostupn´e z: . [14] Ceph Block Device: Ceph Documentation. INKTANK STORAGE, Inc. Ceph [online]. 2014 [cit. 22. 4. 2015]. Dostupn´e z: . [15] GlusterFS introduction. RACKSPACE US, Inc. Rackspace: We manage your cloud. You run your business. [online]. 2015 [cit. 22. 4. 2015]. Dostupn´e z: . [16] ROEBUCK, Kevin. NFS - Network File System High-impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors [online]. Dayboro QLD, Austr´alie: Emereo Pub, 2012 [cit. 25. 4. 2015]. ISBN 978-174-3333-815. [17] Red Hat Storage 2.1 Administration Guide: Configuring and Managing Red Hat Storage Server Edition 1. RED HAT, Inc. Red Hat 46
Customer Portal [online]. 2013-2014 [cit. 24. 4. 2015]. Dostupn´e z: . [18] XtreemFS - Features. QUOBYTE, Inc. XtreemFS: Fault-Tolerant Distributed File System [online]. 2014 [cit. 27. 4. 2015]. Dostupn´e z: . [19] About Gluster. RED HAT, Inc. Gluster: Write once, read everywhere [online]. 2014 [cit. 27. 4. 2015]. Dostupn´e z: . [20] Preflight Checklist: Ceph Documentation. INKTANK STORAGE, Inc. Ceph [online]. 2014 [cit. 29. 4. 2015]. Dostupn´e z: . [21] Downloads: Debian/Ubuntu. QUOBYTE, Inc. XtreemFS: FaultTolerant Distributed File System [online]. 2014 [cit. 29. 4. 2015]. Dostupn´e z: . [22] Storage Cluster Quick Start: Ceph Documentation. INKTANK STORAGE, Inc. Ceph [online]. 2014 [cit. 7. 5. 2015]. Dostupn´e z: . [23] Getting started configure: GlusterDocumentation. RED HAT, Inc. Gluster: Write once, read everywhere [online]. 2014, 24. 1. 2014 [cit. 7. 5. 2015]. Dostupn´e z: .
47