Erinevus lehekülje "LizardFS" redaktsioonide vahel

Allikas: Kuutõrvaja
(Peenhäälestamine)
 
(ei näidata 2 kasutaja 25 vahepealset redaktsiooni)
1. rida: 1. rida:
 
LizardFS on MooseFSi fork, mis tekkis peale Moose kommertsiks minemist. Arendatud on mõlemad tarkvarad Poolas. Üldiselt on tegemist vägagi sarnaste tarkvaradega. Hetkeseisuga tundus peamine erinevus olevas selles, et LizardFSil toimis koormuse jagamise algoritm paremini. Samas suutis MooseFS jällegi automaatselt ümberlülitada metadata serverite Master-Slave olekuid.
 
LizardFS on MooseFSi fork, mis tekkis peale Moose kommertsiks minemist. Arendatud on mõlemad tarkvarad Poolas. Üldiselt on tegemist vägagi sarnaste tarkvaradega. Hetkeseisuga tundus peamine erinevus olevas selles, et LizardFSil toimis koormuse jagamise algoritm paremini. Samas suutis MooseFS jällegi automaatselt ümberlülitada metadata serverite Master-Slave olekuid.
  
Põhimõtteliselt koosneb LisardFS kahest komponendist: Metadata server ja Junkserver. Metadata hoiab endas inodesid kaustasid jms. Korraga saab seejuures olla vaid üks metadata server master seisus, aga ta saab omada tervet hulka slave servereid mis temalt infot sünkroniseerivad. Lisaks on olemas metadata logger ja tekkinud logist saab omakorda teha masteri (Logimine ise ei mõjuta jõudlust). Junk serveris asuvad kõvakettad kuhu paigaldatakse andmed.
+
Põhimõtteliselt koosneb LisardFS kahest suurest komponendist: Metadata ja chunk server. Metadata hoiab endas inodesid kaustasid jms. Korraga saab seejuures olla vaid üks metadata server master seisus, aga ta saab omada tervet hulka slave servereid mis temalt infot sünkroniseerivad. Metadata servereid on lisaks kahte sorti, master ja shadow master, viimaseid võib olla mitu. Kolmas asi on metalogger (mille logidest on võimalik samuti taastada metadata serverit). Chunk server sisaldab deemonit ja kõvakettaid kuhu paigaldatakse reaalsed andmeblokid.
  
 
Olles startinud ühe metadata serveri saab kliendis juba failisüsteemi külge haakida ja sinna nii faile kui kaustu tekitada, ainult failid ei saa enne
 
Olles startinud ühe metadata serveri saab kliendis juba failisüsteemi külge haakida ja sinna nii faile kui kaustu tekitada, ainult failid ei saa enne
junk serverite külgehaakimist olla suuremad kui 0 baidi pikkusega.
+
chunk serverite külgehaakimist olla suuremad kui 0 baidi pikkusega.
  
Failisüsteem ise on mounditav üle fuse. Poole failisüsteemis pole aga küll saab faili-kataloogi baasil määrata replikatsiooni tasemeid ning üle fuse
+
Failisüsteem ise on mounditav üle fuse. Eraldi jaotisi (ingliskeeles pool) failisüsteemis pole aga küll saab faili-kataloogi baasil määrata replikatsiooni tasemeid ning üle fuse
 
saab külge haakida ka alamkaustu. Failisüsteemis on olemas na nn "prügikast" ehk ühtegi faili ei kustutata kohe vaid esmalt märgitakse see metadata serveris ära ning kustutatakse teatud invervalliga. Lisaks
 
saab külge haakida ka alamkaustu. Failisüsteemis on olemas na nn "prügikast" ehk ühtegi faili ei kustutata kohe vaid esmalt märgitakse see metadata serveris ära ning kustutatakse teatud invervalliga. Lisaks
 
on võimalik teha snapshotte ja määrata paroole.
 
on võimalik teha snapshotte ja määrata paroole.
 +
 +
[[Pilt:Lizard-skeem.png]]
 +
 +
Tasub ilmselt veel ära märkida, et lisaks Linuxile töötab LizardFS ka FreeBSD10 peal.
  
 
===Paigaldamine===
 
===Paigaldamine===
  
Buildimiseks on vajalik cmake ja kliendi (mfsmount) ehitamiseks ka fuse lib.
+
Järgnev buildimine, installimine ning kasutaja loomine tuleb viia läbi nii metadata ja chunk serveritel kui klientidel. Buildimiseks on vajalik cmake ja kliendi (mfsmount) ehitamiseks ka fuse lib.
  
 
  tar xf lizardfs-2.5.4.tar.gz
 
  tar xf lizardfs-2.5.4.tar.gz
20. rida: 24. rida:
 
  make install
 
  make install
  
Kõigis nodedes
+
Tekitame grupi ning kasutaja
  
tar xfv /root/lizardfs.tbz
 
echo "10.7.0.1 mfsmaster" >> /etc/hosts
 
 
  groupadd -g 900 mfs
 
  groupadd -g 900 mfs
 
  useradd -g mfs -M -u 900 mfs
 
  useradd -g mfs -M -u 900 mfs
  
'''Metadata serveris'''
+
Seadistame metadata serveri asukoha, see tuleb teha nii chunck serverite kui klientidel
 +
 
 +
echo "10.7.0.1 mfsmaster" >> /etc/hosts
 +
 
 +
'''Metadata serveri seadistus'''
 +
 
 +
Nimetame mõned dist konfid ümber, kusjuures vaikekonfid tunduvad minimaalsete täiendamisega igati kasutamiseks sobivat.
  
 
  cd /etc/mfs
 
  cd /etc/mfs
 
  cp mfsexports.cfg.dist mfsexports.cfg
 
  cp mfsexports.cfg.dist mfsexports.cfg
 
  cp mfsmaster.cfg.dist mfsmaster.cfg
 
  cp mfsmaster.cfg.dist mfsmaster.cfg
 +
 +
Teeme kausta metadata hoiustamiseks, seadistame õigusi jne
 +
 
  mkdir /srv/mfs
 
  mkdir /srv/mfs
 
  cp /var/lib/mfs/metadata.mfs.empty /srv/mfs/metadata.mfs
 
  cp /var/lib/mfs/metadata.mfs.empty /srv/mfs/metadata.mfs
 
  chown -R mfs:mfs /srv/mfs
 
  chown -R mfs:mfs /srv/mfs
 +
 +
Lisame metadata asukohta konfiguratsiooni
 +
 
  echo "DATA_PATH = /srv/mfs" >> mfsmaster.cfg
 
  echo "DATA_PATH = /srv/mfs" >> mfsmaster.cfg
 +
 +
Käivitame metadata serveri
 +
 
  mfsmaster
 
  mfsmaster
 +
 +
Käivitame dashboardi veebiserveri
 +
 
  mfscgiserv
 
  mfscgiserv
  
Viimane käsk käivitab dashboardi kust näeb http://localhost:8000/ urlilt graafikuid statistikaid
+
Tegemist on veebiliidesega, milleni pääseb http://mfsmaster/ urliga ning kus näeb LizardFS hetkeseisu graafikuid, statistikaid jms.
 +
 
 +
'''Data nodede(de) seadistus'''
 +
 
 +
Esiteks tuleb kõigile nodes asuvatele kettaseadmetele tekitada failisüsteem, kettad külge haakida ning '''/etc/mfs/mfshdd.cfg''' konfifaili defineerida mountpoindid. Näiteks nelja ketta korral:
  
'''Data nodedes''' tuleb kõigile kettaseadmetele tekitada failisüsteem, kettad külge haakida ning /etc/mfs/mfshdd.cfg konfifaili defineerida mountpoindid. Junkserveri startimiseks tuleb anda käsk
+
/srv/mfs1
 +
/srv/mfs2
 +
/srv/mfs3
 +
/srv/mfs4
 +
 
 +
Chunkserveri startimiseks tuleb anda käsk
  
 
  # mfschunkserver
 
  # mfschunkserver
  
Kliendis
+
'''Klient'''
  
# /root/lizardfs-2.5.4/build-pack/src/mount/fuse/mfsmount /srv
+
Kliendis failisüsteemi haakimiseks tuleb anda käsk
  
Või siis parema jõudluse saavutamiseks
+
# mfsmount /srv
  
  # taskset 80 /root/lizardfs-2.5.4/build-pack/src/mount/fuse/mfsmount /srv
+
Kui kõik läks hästi siis peaks tulemust nägema df käsuga
  
Tasksetist ja miks see hea täpsemalt kirjutatud allpool.
+
mfs#mfsmaster:9421  51T  2.1G  51T  1% /srv
  
===Kasutamine===
+
===Haldamine===
  
Koopiate määramiseks on utiliit mfssetgoal, näiteks
+
Koopiate määramiseks on kliendi arvutis utiliit mfssetgoal, näiteks
  
  # mfssegoal 2 /mnt
+
  # mfssetgoal 2 /srv
  
 
või
 
või
  
  # mfssetgoal 2 /mnt/fail/suva
+
  # mfssetgoal 2 /srv/fail/suva
  
Uus replikatsioonide poliitika hakkab kehtima seejuures ainult uutele tekitatavatele failidele. Vanad failid jäävad varasema tasemega.
+
Uutele failidele kehtib kataloogile määratud replikatsioonide poliitika. Kui kataloogi replikatsioonide poliitikat muuta, jäävad vanad failid endise tasemega. Poliitika vaatamiseks on käsk
 +
 
 +
# mfssetgoal /srv/fail
  
 
===Fuse kliendi häälestamine===
 
===Fuse kliendi häälestamine===
  
 
Fuse kliendi osas, millega failisüsteem külge haagitakse, tundub, et palju aega kulub context switchidele (ehk kernel-userspace vahelisele sõelumisele), mida
 
Fuse kliendi osas, millega failisüsteem külge haagitakse, tundub, et palju aega kulub context switchidele (ehk kernel-userspace vahelisele sõelumisele), mida
paistab saab pisut parandada kui kinnistada fuse protsess taskset utiliidi abil kindlale tuumale mistõttu saab fuse kasutada protsessori cachet ja see tundus
+
paistab saab pisut parandada kui kinnistada fuse protsess taskset utiliidi abil kindlale tuumale mistõttu saab fuse kasutada ühe ja sama protsessori cachet ja see tundus
 
testimisel vähendavat üleüldist protsessori koormust ning parandavat jõudlust.
 
testimisel vähendavat üleüldist protsessori koormust ning parandavat jõudlust.
 +
 +
Käsk ise võiks olla selline
 +
 +
# taskset 01 mfsmount /srv

Viimane redaktsioon: 17. jaanuar 2015, kell 13:29

LizardFS on MooseFSi fork, mis tekkis peale Moose kommertsiks minemist. Arendatud on mõlemad tarkvarad Poolas. Üldiselt on tegemist vägagi sarnaste tarkvaradega. Hetkeseisuga tundus peamine erinevus olevas selles, et LizardFSil toimis koormuse jagamise algoritm paremini. Samas suutis MooseFS jällegi automaatselt ümberlülitada metadata serverite Master-Slave olekuid.

Põhimõtteliselt koosneb LisardFS kahest suurest komponendist: Metadata ja chunk server. Metadata hoiab endas inodesid kaustasid jms. Korraga saab seejuures olla vaid üks metadata server master seisus, aga ta saab omada tervet hulka slave servereid mis temalt infot sünkroniseerivad. Metadata servereid on lisaks kahte sorti, master ja shadow master, viimaseid võib olla mitu. Kolmas asi on metalogger (mille logidest on võimalik samuti taastada metadata serverit). Chunk server sisaldab deemonit ja kõvakettaid kuhu paigaldatakse reaalsed andmeblokid.

Olles startinud ühe metadata serveri saab kliendis juba failisüsteemi külge haakida ja sinna nii faile kui kaustu tekitada, ainult failid ei saa enne chunk serverite külgehaakimist olla suuremad kui 0 baidi pikkusega.

Failisüsteem ise on mounditav üle fuse. Eraldi jaotisi (ingliskeeles pool) failisüsteemis pole aga küll saab faili-kataloogi baasil määrata replikatsiooni tasemeid ning üle fuse saab külge haakida ka alamkaustu. Failisüsteemis on olemas na nn "prügikast" ehk ühtegi faili ei kustutata kohe vaid esmalt märgitakse see metadata serveris ära ning kustutatakse teatud invervalliga. Lisaks on võimalik teha snapshotte ja määrata paroole.

Lizard-skeem.png

Tasub ilmselt veel ära märkida, et lisaks Linuxile töötab LizardFS ka FreeBSD10 peal.

Paigaldamine

Järgnev buildimine, installimine ning kasutaja loomine tuleb viia läbi nii metadata ja chunk serveritel kui klientidel. Buildimiseks on vajalik cmake ja kliendi (mfsmount) ehitamiseks ka fuse lib.

tar xf lizardfs-2.5.4.tar.gz
cd lizardfs-2.5.4
./configure
make
make install

Tekitame grupi ning kasutaja

groupadd -g 900 mfs
useradd -g mfs -M -u 900 mfs

Seadistame metadata serveri asukoha, see tuleb teha nii chunck serverite kui klientidel

echo "10.7.0.1 mfsmaster" >> /etc/hosts

Metadata serveri seadistus

Nimetame mõned dist konfid ümber, kusjuures vaikekonfid tunduvad minimaalsete täiendamisega igati kasutamiseks sobivat.

cd /etc/mfs
cp mfsexports.cfg.dist mfsexports.cfg
cp mfsmaster.cfg.dist mfsmaster.cfg

Teeme kausta metadata hoiustamiseks, seadistame õigusi jne

mkdir /srv/mfs
cp /var/lib/mfs/metadata.mfs.empty /srv/mfs/metadata.mfs
chown -R mfs:mfs /srv/mfs

Lisame metadata asukohta konfiguratsiooni

echo "DATA_PATH = /srv/mfs" >> mfsmaster.cfg

Käivitame metadata serveri

mfsmaster

Käivitame dashboardi veebiserveri

mfscgiserv

Tegemist on veebiliidesega, milleni pääseb http://mfsmaster/ urliga ning kus näeb LizardFS hetkeseisu graafikuid, statistikaid jms.

Data nodede(de) seadistus

Esiteks tuleb kõigile nodes asuvatele kettaseadmetele tekitada failisüsteem, kettad külge haakida ning /etc/mfs/mfshdd.cfg konfifaili defineerida mountpoindid. Näiteks nelja ketta korral:

/srv/mfs1
/srv/mfs2
/srv/mfs3
/srv/mfs4

Chunkserveri startimiseks tuleb anda käsk

# mfschunkserver

Klient

Kliendis failisüsteemi haakimiseks tuleb anda käsk

# mfsmount /srv

Kui kõik läks hästi siis peaks tulemust nägema df käsuga

mfs#mfsmaster:9421   51T  2.1G   51T   1% /srv

Haldamine

Koopiate määramiseks on kliendi arvutis utiliit mfssetgoal, näiteks

# mfssetgoal 2 /srv

või

# mfssetgoal 2 /srv/fail/suva

Uutele failidele kehtib kataloogile määratud replikatsioonide poliitika. Kui kataloogi replikatsioonide poliitikat muuta, jäävad vanad failid endise tasemega. Poliitika vaatamiseks on käsk

# mfssetgoal /srv/fail

Fuse kliendi häälestamine

Fuse kliendi osas, millega failisüsteem külge haagitakse, tundub, et palju aega kulub context switchidele (ehk kernel-userspace vahelisele sõelumisele), mida paistab saab pisut parandada kui kinnistada fuse protsess taskset utiliidi abil kindlale tuumale mistõttu saab fuse kasutada ühe ja sama protsessori cachet ja see tundus testimisel vähendavat üleüldist protsessori koormust ning parandavat jõudlust.

Käsk ise võiks olla selline

# taskset 01 mfsmount /srv