Ceph

From ICO wiki
Revision as of 14:09, 11 January 2018 by Radamson (talk | contribs)
Jump to navigationJump to search

Koostamisel 2017-12-05

Autor

Sissejuhatus

Ceph on vabavaraline tarkvara mis võimaldab luua luua serverite vahel tarkvaralise salvestusseadme, mida on võimalik kasutada nii blokkseadmena kui ka objekti põhise andmekandjana. Lisaks on võimaliks andmete replikeerimine serverite vahel , hetktõmmissed (snapshots), veaparandus ja palju muud. Edaspidine kirjatükk kirjeldab Cephi klastri paigaldamist Debian 9 virtuaalmasinatele.

Mõisted

  • OSD
  • MON/Monitor
  • MDS
  • CephFS
  • RBD

Paigaldamine

Eeldused

Praktumi läbiviimiseks kasutame kolme Debian 9 virtuaalmasinat mis lihtsuse huvides asu samas võrgus ning mille tulemüüridest on kõik sisse ja väljatulev liiklus lubatud. Lisaks on virtuaalmasinatel server{2-4} lisatud 1GB ekstra virtuaalne kõvaketas

Võrk: 192.168.122.0/24

Virtuaalmasinatele määratud staatilised IP aadressid

Nimi IP Roll
server-1 192.168.122.100 Deploy
server-2 192.168.122.101 OSD,Monitor
server-3 192.168.122.102 OSD
server-4 192.168.122.103 OSD

Paigaldus

Paigaldada on võimalik käsitsi igale masinale üskhaaval vajalikud teenused, kasutada oma eelistatud konfiguratsioonihaldus tarkvara nagu nt Saltstack, Ansible või Puppet millele kõigile on kogukonna poolt loodud valmis mooduleid või siis kasutada Ceph-i enda poolt pakutavat ceph-deploy utiliiti, mis võimalda kesksest serverist üle SSH ühenduse serveritesse paigaldust teha.

Järgnevas juhendis kasutamegi ceph-deploy utiliiti.

ceph-deploy

Selleks, et üle SSH paigaldada peame looma kasutaja ning andma talle õiguse paroolita ( võtmega ) üle SSH sisse logida.


Paigaldame Server-1 ceph-deploy tööriista

sudo apt-get install python-pip

Loome Kõigis serverites Ceph'i paigalduse tarvis kasutaja.

useradd -m -s /bin/bash ceph-deploy

passwd ceph-deploy # Määrame kontole salasõna

Anname loodud kasutajale ruudu õigused

echo "ceph-deploy ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-deploy

sudo chmod 0440 /etc/sudoers.d/ceph-deploy

Loome Server-1 mida plaanime kasutada paigaldamiseks kasutada ssh võtmepaari

sudo -iu ceph-deploy # Vahetame kasutajat

ssh-keygen -t rsa # loome võtmepaari

Paigaldame loodud avaliku võtme kõigisse serveritesse

ssh-copy-id ceph-deploy@192.168.122.101

ssh-copy-id ceph-deploy@192.168.122.102

ssh-copy-id ceph-deploy@192.168.122.103


Järgnevad käsud käivitame ainult Server-1 peal. Loome uue ceph-i klastri

su -c cephuser ceph-deploy new server-2

Paigaldame serveritesse ceph-i tarkvarapaketid

ceph-deploy install server-2 server-3 server-4


Seadistame montitooringu masina. Toodangus soovitatakse jooksutada vähemalt 3 monitooringu masinat + ei soovitada seda teha sama masina peal kus ka OSD jookse.

ceph-deploy mon create-initial ceph-deploy gatherkeys server-2


Kustutame lisaketaste mida soovime cephi jaoks kasutada partitsiooni tabelid tühjaks (Veendu ,et tegu õige kettaga! )

ceph-deploy disk zap server-2:/dev/vdb server-3:/dev/vdb server-4:/dev/vdb

Seadistame OSD'd. See loob vajalikud partitsioonid, seadista failissüteemi ja haagi loodud partitsioonid külge.

ceph-deploy osd prepare server-2:/dev/vdb server-3:/dev/vdb server-4:/dev/vdb

Aktiveerime eelpool loodud OSD'd

ceph-deploy osd activate server-2:/dev/vdb server-3:/dev/vdb server-4:/dev/vdb

Kui nüüd vaadata kas cepj-deployha või siis siis masinasse käsitsi sisse logida ja nt fdisk'iga uurida peaks näha olema, et on loodud 2 uut partitsiooni


ceph-deploy disk list server-2 server-3 server-4
...

...

[server-4][DEBUG ]  /dev/vdb2 ceph journal, for /dev/vdb1
[server-4][DEBUG ]  /dev/vdb1 ceph data, active, cluster ceph, osd.2, journal /dev/vdb2
fdisk -l 
...
...
Device        Start      End  Sectors Size Type
/dev/vdb1  10487808 20971486 10483679   5G Ceph OSD
/dev/vdb2      2048 10487807 10485760   5G Ceph Journal

Jagame admin-võtmed teistele masinatel, et saaksime ceph-i käsurea haldustööriista misthahes masinast kasutada

ceph-deploy admin ceph-admin server-2 server-3 server-4

Seadistamine

Testime