Eksperienca e përdorimit të CEPH

Kur tĂ« dhĂ«nat bĂ«hen mĂ« shumĂ« se çfarĂ« mund tĂ« ruhet nĂ« njĂ« disk, Ă«shtĂ« koha tĂ« mendohet pĂ«r RAID. NĂ« fĂ«mijĂ«ri kam dĂ«gjuar shpesh nga tĂ« rriturit: «njĂ« ditĂ« RAID do tĂ« shkojnĂ« nĂ« tĂ« kaluarĂ«n, magazinat objektive do tĂ« pushtojnĂ« botĂ«n, dhe ti as nuk di se çfarĂ« Ă«shtĂ« CEPH» — prandaj hapi i parĂ« nĂ« jetĂ«n time tĂ« pavarur ishte krijimi i klasterit tim. QĂ«llimi i eksperimentit ishte tĂ« njihesha me strukturĂ«n e brendshme tĂ« ceph dhe tĂ« kuptoja kufijtĂ« e aplikimit tĂ« tij. Sa e justifikuar Ă«shtĂ« integrimi i ceph nĂ« biznesin e mesĂ«m, dhe nĂ« atĂ« tĂ« vogĂ«l? Pasi kalova disa vite nĂ« pĂ«rdorim dhe pas disa humbjeve tĂ« pakthyeshme tĂ« tĂ« dhĂ«nave, fillova tĂ« kuptoja nuancat qĂ« nuk janĂ« tĂ« gjitha aq tĂ« qarta. Karakteristikat e CEPH krijojnĂ« pengesa ndaj pĂ«rhapjes sĂ« tij tĂ« gjerĂ«, dhe pĂ«r shkak tĂ« tyre eksperimentet arritĂ«n nĂ« njĂ« rrugĂ« pa dalje. MĂ« poshtĂ« do tĂ« gjeni pĂ«rshkrimin e tĂ« gjitha hapave tĂ« ndjekur, rezultatin e arritur dhe pĂ«rfundimet e nxjerra. NĂ«se persona tĂ« njohur do tĂ« ndajnĂ« pĂ«rvoja dhe tĂ« sqarojnĂ« disa momente — do tĂ« isha mirĂ«njohĂ«s.

Shënim: komentuesit theksuan gabime të mëdha në disa supozime, që kërkojnë rishikimin e tërë artikullit.

Strategjia CEPH

Klastri CEPH bashkon një numër të mëtejmë K diskësh me madhësi të ndryshme dhe ruan të dhënat mbi to, duke kopjuar secilën pjesë (4 MB si standard) një numër të caktuar N herë.

Le të shqyrtojmë rastin më të thjeshtë me dy disqe të njëjta. Nga këto, mund të ndërtojmë ose RAID 1, ose një klaster me N=2 - rezultati do të jetë i njëjtë. Nëse diskët janë tre dhe të një sërë të ndryshme, atëherë ndërtimi i një klasteri me N=2 është i thjeshtë: një pjesë e të dhënave do të jetë në diskët 1 dhe 2, një pjesë në 1 dhe 3, dhe një pjesë në 2 dhe 3, ndërsa RAID - jo (mund të krijohet një RAID të tillë, por kjo do të ishte një devijim). Nëse janë më shumë disqe, atëherë është e mundur të krijohet RAID 5; CEPH ka një analogji - erasure_code, e cila është në përputhje me konceptet e hershme të zhvilluesve dhe prandaj nuk shqyrtohet. RAID 5 parasheh që të ketë një numër të vogël disqesh, dhe të gjithë ata të jenë në gjendje të mirë. Në rast se njëri dështoi, të tjerët duhet të mbajnë deri në momentin kur të zëvendësohet disku dhe të rikuperohen të dhënat mbi të. Ndërsa CEPH, kur N>=3, nxit përdorimin e disqeve të vjetra; në veçanti, nëse mbani disa disqe të mirë për të ruajtur një kopje të të dhënave dhe dy-tre kopje të mbetura në një numër të madh disqesh të vjetra, atëherë informacioni do të jetë i sigurt, pasi për sa kohë që disqet e reja janë funksionale - nuk ka probleme, dhe nëse njëri prej tyre dështon, dështimi i njëkohshëm i tre disqeve me një jetëgjatësi prej më shumë se pesë vitesh, preferohet nga serverë të ndryshëm - është një ngjarje jashtëzakonisht e pamundur.

Ka shpĂ«rndarja e kopjave ka njĂ« nuancĂ«. SĂ« pari, supozohet qĂ« tĂ« dhĂ«nat ndahen nĂ« njĂ« numĂ«r mĂ« tĂ« madh (~rreth 100 pĂ«r disk) grupesh shpĂ«rndarjeje PG, secila prej tĂ« cilave kopjohet nĂ« disa disqe. SupozojmĂ« se K=6, N=2, atĂ«herĂ« nĂ« rast tĂ« dĂ«shtimit tĂ« dy disqeve tĂ« çfarĂ«do, tĂ« dhĂ«nat humbasin me siguri, pasi sipas teorisĂ« sĂ« probabilitetit, do tĂ« gjendet tĂ« paktĂ«n njĂ« PG qĂ« do tĂ« vendoset pikĂ«risht nĂ« kĂ«to dy disqe. Dhe humbja e njĂ« grupi e bĂ«n tĂ« paaccessueshme tĂ« dhĂ«nat nĂ« grup. NĂ«se disqet ndahen nĂ« tri çiftĂ« dhe lejohet qĂ« tĂ« dhĂ«nat tĂ« ruhen vetĂ«m nĂ« disqet brenda njĂ« çifti, atĂ«herĂ« kjo shpĂ«rndarje gjithashtu Ă«shtĂ« e qĂ«ndrueshme ndaj dĂ«shtimit tĂ« njĂ« disku tĂ« çfarĂ«do, megjithatĂ« nĂ« rastin e dĂ«shtimit tĂ« dy, probabiliteti i humbjes sĂ« tĂ« dhĂ«nave nuk Ă«shtĂ« 100%, por vetĂ«m 3/15, dhe madje nĂ« rastin e dĂ«shtimit tĂ« tre disqeve — vetĂ«m 12/20. Prandaj, entropia nĂ« shpĂ«rndarjen e tĂ« dhĂ«nave nuk kontribuon nĂ« qĂ«ndrueshmĂ«rinĂ« ndaj dĂ«shtimeve. Gjithashtu, vĂ«rejmĂ« se pĂ«r serverin e skedarĂ«ve, memoria e lirĂ« operative rrit ndjeshĂ«m shpejtĂ«sinĂ« e pĂ«rgjigjes. Sa mĂ« shumĂ« memorie tĂ« jetĂ« nĂ« çdo nyje, dhe sa mĂ« shumĂ« memorie tĂ« jetĂ« nĂ« tĂ« gjitha nyjet — aq mĂ« shpejt do tĂ« jetĂ«. Kjo padyshim Ă«shtĂ« njĂ« avantazh i klasterit pĂ«rballĂ« njĂ« serveri tĂ« vetĂ«m dhe, mĂ« shumĂ«, njĂ« NAS-it hardueror, ku integrohen njĂ« sasi shumĂ« e vogĂ«l memorie.

Prandaj, CEPH është një mënyrë e mirë për të krijuar një sistem të besueshëm të ruajtjes së të dhënave deri në dhjetëra TB me investime minimale nga pajisje të vjetra (sigurisht, do të kërkohen disa shpenzime, por të vogla në krahasim me sistemet komerciale të ruajtjes).

Implementimi i klastra

Për eksperimentin, do të përdorim një kompjuter të shkarkuar Intel DQ57TM + Intel core i3 540 + 16 GB RAM. Katër disqe me kapacitet 2 TB do të organizohen si RAID10, dhe pas një testi të suksesshëm, do të shtojmë një nyje të dytë dhe aq disqe të tjera.

InstalojmĂ« Linux. Distribucioni duhet tĂ« ketĂ« mundĂ«si pĂ«r personalizim dhe stabilitet. Debian dhe Suse i pĂ«rmbushin kĂ«to kĂ«rkesa. Suse ka njĂ« instalues mĂ« fleksibĂ«l, i cili lejon çaktivizimin e çdo pakete; fatkeqĂ«sisht, nuk arrita tĂ« kuptoj se cilat mund tĂ« hiqen pa dĂ«mtuar sistemin. InstalojmĂ« Debian pĂ«rmes debootstrap buster. Opsioni min-base instalon njĂ« sistem jo-funksional, i cili ka mungesĂ« driverrash. Ndryshimi nĂ« madhĂ«si krahasuar me versionin e plotĂ« nuk Ă«shtĂ« aq i madh sa tĂ« shqetĂ«sohemi. Duke qenĂ« se puna po kryhet nĂ« njĂ« makinĂ« fizike, dua tĂ« bĂ«j snapshot-e, siç bĂ«j nĂ« makinat virtuale. Kjo mundĂ«si ofrohet ose nga LVM, ose nga btrfs (ose xfs, ose zfs — diferenca nuk Ă«shtĂ« e madhe). Snapshots nĂ« LVM nuk janĂ« pika e fortĂ«. Zgjedhim btrfs. Dhe boot loader-in — nĂ« MBR. Nuk ka kuptim tĂ« mbushim diskun me 50 MB hapĂ«sirĂ« me njĂ« pjesĂ« FAT, kur mund ta zhvendosim atĂ« nĂ« njĂ« zonĂ« prej 1 MB tĂ« tabelĂ«s sĂ« pjesĂ«ve dhe tĂ« dedikojmĂ« gjithĂ« hapĂ«sirĂ«n pĂ«r sistemin. Zuri 700 MB nĂ« disk. Sa ishte instalimi bazĂ« i SUSE — nuk e mbaj mend, mendoj se ishte rreth 1.1 ose 1.4 GB.

Instalojmë CEPH. Injorojmë versionin 12 në depot debian dhe lidhemi direkt nga faqja 15.2.3. Ndjekim udhëzimet nga seksioni 'instalojmë CEPH manualisht' me këto sqarime:

  • Para se tĂ« lidhemi me depot, nevojitet tĂ« instalojmĂ« gnupg wget ca-certificates.
  • Pas lidhjes me depot, por para instalimit tĂ« klasterit, Ă«shtĂ« lĂ«nĂ« jashtĂ« instalimi i pakove: apt -y --no-install-recommends install ceph-common ceph-mon ceph-osd ceph-mds ceph-mgr.
  • NĂ« momentin e instalimit tĂ« CEPH, pĂ«r arsye tĂ« paqartĂ«, do tĂ« pĂ«rpiqet tĂ« instalohet lvm2. NĂ« parim, nuk Ă«shtĂ« problem, por instalimi pĂ«rfundon me dĂ«shtim, kĂ«shtu qĂ« CEPH gjithashtu nuk do tĂ« instalohet.

    Ky patch ndihmoi:

    cat <> /var/lib/dpkg/status
    Package: lvm2
    Status: install ok installed
    Priority: important
    Section: admin
    Installed-Size: 0
    Maintainer: Debian Adduser Developers 
    Architecture: all
    Multi-Arch: foreign
    Version: 113.118
    Description: No-install
    EOF
    

Përmbledhja e klasterit

ceph-osd — merret pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« disk. PĂ«r çdo disk aktivizohet njĂ« shĂ«rbim rrjeti qĂ« pranon dhe ekzekuton kĂ«rkesa pĂ«r lexim ose shkruaj nĂ« objekte. NĂ« disk krijohen dy partitĂ«. NjĂ«ra pĂ«rmban informacion mbi klasterin, numrin e diskut, si dhe çelĂ«sat pĂ«r klasterin. Ky informacion prej 1KB krijohet njĂ« herĂ« kur diskut i shtohet klasterit dhe nuk kam parĂ« tĂ« ndryshojĂ« kurrĂ«. NĂ« partinĂ« e dytĂ« nuk ka sistem skedari dhe ruhen tĂ« dhĂ«na binarĂ« tĂ« CEPH. Instalimi automatik nĂ« versionet e mĂ«parshme krijonte njĂ« parti xfs me madhĂ«si 100MB pĂ«r informacionin ndihmĂ«s. UnĂ« e kam konvertuar disku nĂ« MBR dhe kam alokuar vetĂ«m 16MB — shĂ«rbimi nuk ankohet. Mendoj se xfs mund tĂ« zĂ«vendĂ«sohet lehtĂ«sisht me ext. Kjo parti montohet nĂ« /var/lib/
, ku shĂ«rbimi lexon informacionin mbi OSD, si dhe gjen referencĂ«n pĂ«r pajisjen bllokuese, ku ruhen tĂ« dhĂ«nat binarĂ«. Teoriçtikisht, mund tĂ« vendosen ndihmĂ«sit menjĂ«herĂ« nĂ« /var/lib/
, ndĂ«rsa disku tĂ« alokuar plotĂ«sisht pĂ«r tĂ« dhĂ«nat. Kur krijohet OSD pĂ«rmes ceph-deploy, automatikisht krijohet njĂ« rregull pĂ«r montimin e partis nĂ« /var/lib/
, si dhe caktohen tĂ« drejtat pĂ«r pĂ«rdoruesin ceph pĂ«r tĂ« lexuar pajisjen bllokuese tĂ« nevojshme. Kur instalohet manualisht, kjo duhet bĂ«rĂ« vetĂ«, dokumentacioni nuk pĂ«rmend diçka pĂ«r kĂ«tĂ«. Gjithashtu, Ă«shtĂ« e dĂ«shirueshme tĂ« pĂ«rcaktohet parametri osd memory target, nĂ« mĂ«nyrĂ« qĂ« tĂ« mjaftojĂ« memorie fizike.

ceph-mds. NĂ« nivelin e ulĂ«t, CEPH Ă«shtĂ« njĂ« depo objektesh. MundĂ«sia pĂ«r ruajtjen me bllok pĂ«rfundon nĂ« ruajtjen e secilit bllok prej 4MB si njĂ« objekt. E njĂ«jta parim zbatohet pĂ«r ruajtjen e skedarĂ«ve. Krijohen dy rezervuarĂ«: njĂ« pĂ«r metadatĂ«n dhe tjetri pĂ«r tĂ« dhĂ«nat. Ata kombinohen nĂ« njĂ« sistem skedarĂ«sh. NĂ« kĂ«tĂ« moment krijohet njĂ« regjistrim, kĂ«shtu qĂ« nĂ«se fshin sistemin e skedarĂ«ve, por ruan tĂ« dy rezervuarĂ«t, atĂ«herĂ« nuk do tĂ« jetĂ« e mundur ta rikthesh. Ekziston njĂ« procedurĂ« pĂ«r nxjerrjen e skedarĂ«ve sipas blloqeve, e cila nuk Ă«shtĂ« testuar. ShĂ«rbimi ceph-mds Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r qasjen nĂ« sistemin e skedarĂ«ve. PĂ«r çdo sistem skedarĂ«sh nevojitet njĂ« instancĂ« e veçantĂ« e shĂ«rbimit. Ka njĂ« opsion "indeks", i cili lejon krijimin e njĂ« versioni tĂ« disa sistemeve skedarĂ«sh nĂ« njĂ« — gjithashtu nuk Ă«shtĂ« testuar.

сeph-mon — kyç i shĂ«rbimeve qĂ« ruan hartĂ«n e klasterit. Ajo pĂ«rfshin informacion mbi tĂ« gjitha OSD-tĂ«, algoritmin e shpĂ«rndarjes PG nĂ« OSD dhe, mĂ« e rĂ«ndĂ«sishmja, informacion mbi tĂ« gjitha objektet (detajet e kĂ«tij mekanizmi nuk mĂ« janĂ« tĂ« qarta: ka njĂ« katalog /var/lib/ceph/mon/.../store.db, ku ndodhet njĂ« skedar i madh — 26MB, dhe nĂ« klaster janĂ« 105K objekte, duke dalĂ« pak mĂ« shumĂ« se 256 byte pĂ«r objekt; mendoj se monitori ruan njĂ« listĂ« tĂ« tĂ« gjitha objekteve dhe PG-ve nĂ« tĂ« cilat ato ndodhen). DĂ«mtimi i kĂ«tij katalogu çon nĂ« humbjen e tĂ« dhĂ«nave nĂ« tĂ« gjithĂ« klasterin. Nga kĂ«tu, del qĂ« CRUSH tregon si janĂ« pozicionuar PG-tĂ« nĂ« OSD, dhe si janĂ« objektet pozicionuar nĂ« PG — ruhet nĂ« mĂ«nyrĂ« qendrore brenda bazĂ«s sĂ« tĂ« dhĂ«nave, pavarĂ«sisht se si zhvilluesit tentojnĂ« ta shmangin kĂ«tĂ« fjalĂ«. Si pasojĂ«, nĂ« radhĂ« tĂ« parĂ«, nuk mund ta instalojmĂ« sistemin nĂ« njĂ« USB nĂ« modalitetin RO, pasi nĂ« bazĂ«n e tĂ« dhĂ«nave ka regjistrime tĂ« vazhdueshme, kĂ«rkohet njĂ« disk shtesĂ« pĂ«r kĂ«to (me siguri jo mĂ« shumĂ« se 1 GB); nĂ« radhĂ« tĂ« dytĂ«, Ă«shtĂ« e nevojshme tĂ« kemi njĂ« kopje tĂ« kĂ«saj baze nĂ« kohĂ« reale. NĂ«se ka disa monitore, atĂ«herĂ« qĂ«ndrueshmĂ«ria sigurohet automatikisht, por nĂ« rastin tonĂ« monitori Ă«shtĂ« njĂ«, maksimumi — dy. Ka njĂ« procedurĂ« teorike pĂ«r rikuperimin e monitorit bazuar nĂ« tĂ« dhĂ«nat OSD, kam apeluar tri herĂ« ndaj saj pĂ«r arsye tĂ« ndryshme, dhe tri herĂ« nuk kam marrĂ« asnjĂ« mesazh gabimi, ashtu si dhe tĂ« dhĂ«na. FatkeqĂ«sisht, ky mekanizĂ«m nuk funksionon. Ose ne shfrytĂ«zojmĂ« njĂ« pjesĂ« tĂ« vogĂ«l nĂ« OSD dhe krejt RAIDs pĂ«r ruajtjen e bazĂ«s sĂ« tĂ« dhĂ«nave, çka padyshim do tĂ« ndikojĂ« shumĂ« negativisht nĂ« performancĂ«, ose ndarim tĂ« paktĂ«n dy media fizike tĂ« sigurta, preferohet USB, pĂ«r tĂ« mos bllokuar portet.

rados-gw — eksporton obiektive tĂ« ruajtjes pĂ«rmes protokollit S3 dhe tĂ« ngjashĂ«m. Krijon shumĂ« grupe, pa ndonjĂ« arsye tĂ« qartĂ«. Nuk kam eksperimentuar shumĂ«.

ceph-mgr — kur instalohet ky shĂ«rbim, aktivizohen disa module. NjĂ« prej tyre Ă«shtĂ« autoscale-i, i cili nuk mund tĂ« ç’mungojĂ«. Ai pĂ«rpiqet tĂ« mbajĂ« numrin e duhur tĂ« PG/OSD. NĂ«se dĂ«shiron tĂ« menaxhosh proporcioni manualisht, mund tĂ« ndalosh pĂ«rmasimin pĂ«r çdo grup, por nĂ« kĂ«tĂ« rast moduli dĂ«shtojnĂ« pĂ«r shkak tĂ« ndarjes me 0 dhe statusi i klasterit bĂ«het ERROR. Moduli Ă«shtĂ« shkruar nĂ« Python, dhe nĂ«se e komentosh linjĂ«n e duhur, kjo çon nĂ« çaktivizimin e tij. Detajet mĂ« nuk kam dĂ«shirĂ« t’i kujtoj.

Lista e burimeve të përdorura:

Instalimi i CEPH
Rindërtimi në rastin e dështimit të plotë të monitorit

Listinget e skriptave:

Instalimi i sistemit përmes debootstrap

blkdev=sdb1
mkfs.btrfs -f /dev/$blkdev
mount /dev/$blkdev /mnt
cd /mnt
për i në {@,@var,@home}; bëj btrfs subvolume create $i; bërë
mkdir snapshot @/{var,home}
për i në {var,home}; bëj mount -o bind @${i} @/$i; bërë
debootstrap buster @ http://deb.debian.org/debian; echo $?
për i në {dev,proc,sys}; bëj mount -o bind /$i @/$i; bërë
cp /etc/bash.bashrc @/etc/

chroot /mnt/@ /bin/bash
echo rbd1 > /etc/hostname
passwd
uuid=`blkid | grep $blkdev | cut -d """ -f 2`
cat < /etc/fstab
UUID=$uuid / btrfs noatime,nodiratime,subvol=@ 0 1
UUID=$uuid /var btrfs noatime,nodiratime,subvol=@var 0 2
UUID=$uuid /home btrfs noatime,nodiratime,subvol=@home 0 2
EOF
cat <> /var/lib/dpkg/status
Package: lvm2
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers 
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install

Package: sudo
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers 
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
EOF

exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6

apt -yq install --no-install-recommends linux-image-amd64 bash-completion ed btrfs-progs grub-pc iproute2 ssh  smartmontools ntfs-3g net-tools man
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6

Krijimi i klasterit

apt -yq install --no-install-recommends gnupg wget ca-certificates
echo 'deb https://download.ceph.com/debian-octopus/ buster main' >> /etc/apt/sources.list
wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
apt update
apt -yq install --no-install-recommends ceph-common ceph-mon

echo 192.168.11.11 rbd1 >> /etc/hosts
uuid=`cat /proc/sys/kernel/random/uuid`
cat < /etc/ceph/ceph.conf
[global]
fsid = $uuid
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
mon allow pool delete = true
mon host = 192.168.11.11
mon initial members = rbd1
mon max pg per osd = 385
osd crush update on start = false
#osd memory target = 2147483648
osd memory target = 1610612736
osd scrub chunk min = 1
osd scrub chunk max = 2
osd scrub sleep = .2
osd pool default pg autoscale mode = off
osd pool default size = 1
osd pool default min size = 1
osd pool default pg num = 1
osd pool default pgp num = 1
[mon]
mgr initial modules = dashboard
EOF

ceph-authtool --create-keyring ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
ceph-authtool --create-keyring ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
cp ceph.client.admin.keyring /etc/ceph/
ceph-authtool --create-keyring bootstrap-osd.ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
cp bootstrap-osd.ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
ceph-authtool ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
ceph-authtool ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
monmaptool --create --add rbd1 192.168.11.11 --fsid $uuid monmap
rm -R /var/lib/ceph/mon/ceph-rbd1/*
ceph-mon --mkfs -i rbd1 --monmap monmap --keyring ceph.mon.keyring
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-mon@rbd1
systemctl start ceph-mon@rbd1
ceph mon enable-msgr2
ceph status

# dashboard

apt -yq install --no-install-recommends ceph-mgr ceph-mgr-dashboard python3-distutils python3-yaml
mkdir /var/lib/ceph/mgr/ceph-rbd1
ceph auth get-or-create mgr.rbd1 mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-rbd1/keyring
systemctl enable ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_port 7000
ceph dashboard ac-user-create root 1111115 administrator
systemctl stop ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1

Shtimi i OSD (pjesa)

apt install ceph-osd

osdnum=`ceph osd create`
mkdir -p /var/lib/ceph/osd/ceph-$osdnum
mkfs -t xfs /dev/sda1
mount -t xfs /dev/sda1 /var/lib/ceph/osd/ceph-$osdnum
cd /var/lib/ceph/osd/ceph-$osdnum
ceph auth get-or-create osd.0 mon 'profile osd' mgr 'profile osd' osd 'allow *' > /var/lib/ceph/osd/ceph-$osdnum/keyring
ln -s /dev/disk/by-partuuid/d8cc3da6-02 block
ceph-osd -i $osdnum --mkfs
#chown ceph:ceph /dev/sd?2
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-osd@$osdnum
systemctl start ceph-osd@$osdnum

Curriculum Vitae

Avantazhi kryesor tregtar i CEPH është CRUSH - algoritmi për llogaritjen e vendndodhjes së të dhënave. Monitorët e shpërndajnë këtë algoritëm te klientët, pas së cilës klientët kërkojnë drejtpërdrejt nodin e nevojshëm dhe OSD-në përkatëse. CRUSH siguron mungesën e centralizimit. Ai përbëhet nga një skedar i vogël, i cili mund të printohet dhe të vishet në mur. Praktika ka treguar se CRUSH nuk është një hartë përfundimtare. Nëse shkatërrohen dhe riparohen monitorët, duke ruajtur të gjitha OSD-të dhe CRUSH-in, kjo nuk është e mjaftueshme për rikthimin e klasterit. Nga këtu, del se çdo monitor ruan disa metadata mbi të gjithë klasterin. Sasia e vogël e këtyre metadata-ve nuk vendos kufizime mbi madhësinë e klasterit, por kërkon të sigurojë ruajtjen e tyre, gjë që përjashton kursimin e hapësirës duke instaluar sistemin në një flash dhe përjashton klasterët me më pak se tre node. Politika agresive e zhvilluesit në lidhje me karakteristikat opsionale. Shumë larg minimalizmit. Dokumentacioni është në nivelin: "për atë që është, - faleminderit, por shumë, shumë skantë". Mundësia për të ndërvepruar me shërbimet në nivel të ulët është e parashikuar, por dokumentacioni e trajton këtë temë shumë sipërfaqësisht, prandaj është më shumë "jo" sesa "po". Praktikisht asnjë shans për rikuperimin e të dhënave nga një situatë jashtëzakonshme.

Opcioni të mëtejshëm: të heqim dorë nga CEPH dhe të përdorim një btrfs (ose xfs, zfs) të zakonshëm me disa disqe, të mësojmë informacione të reja rreth CEPH që do të lejonin përdorimin e tij në kushtet e caktuara, ose të praktikojmë duke shkruar një ruajtës të dhënash pas stërvitjes.

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster