{"id":77266,"date":"2020-04-09T13:42:08","date_gmt":"2020-04-09T11:42:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah"},"modified":"2020-04-09T13:42:08","modified_gmt":"2020-04-09T11:42:08","slug":"tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","title":{"rendered":"K\u00ebshilla &amp; truqe p\u00ebr t\u00eb punuar me Ceph n\u00eb projekte t\u00eb ngarkuara","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"K\u00ebshilla &amp; truke n\u00eb pun\u00ebn me Ceph n\u00eb projekte me ngarkes\u00eb t\u00eb lart\u00eb\" src=\"\/wp-content\/uploads\/2020\/04\/1d60f91e55b20a5dc4346bd8087bc11e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDuke p\u00ebrdorim Ceph si ruajtje rrjeti n\u00eb projekte me ngarkesa t\u00eb ndryshme, mund t\u00eb p\u00ebrballim sfida t\u00eb ndryshme q\u00eb n\u00eb shikim t\u00eb par\u00eb nuk duken t\u00eb thjeshta ose triviale. P\u00ebr shembull:<\/p>\n<ul>\n<li> migrimi i t\u00eb dh\u00ebnave nga Ceph i vjet\u00ebr n\u00eb at\u00eb t\u00eb ri me p\u00ebrdorimin e pjessh\u00ebm t\u00eb server\u00ebve t\u00eb m\u00ebparsh\u00ebm n\u00eb klasterin e ri;<\/li>\n<li> zgjidhja e problemit t\u00eb shp\u00ebrndarjes s\u00eb hap\u00ebsir\u00ebs diskore n\u00eb Ceph.<\/li>\n<\/ul>\n<p>\nDuke u marr\u00eb me k\u00ebto sfida, ne hasim nevoj\u00ebn p\u00ebr t\u00eb nxjerr\u00eb sakt\u00eb OSD pa humbje t\u00eb t\u00eb dh\u00ebnave, q\u00eb \u00ebsht\u00eb ve\u00e7an\u00ebrisht e r\u00ebnd\u00ebsishme kur kemi sasi t\u00eb m\u00ebdha t\u00eb dh\u00ebnash. Kjo \u00ebsht\u00eb ajo q\u00eb do t\u00eb diskutohet n\u00eb k\u00ebt\u00eb artikull.<\/p>\n<p>Metoda t\u00eb p\u00ebrshkruara m\u00eb posht\u00eb jan\u00eb t\u00eb p\u00ebrshtatshme p\u00ebr \u00e7do version t\u00eb Ceph. P\u00ebr m\u00eb tep\u00ebr, do t\u00eb merret parasysh fakti se Ceph mund t\u00eb ruaj\u00eb nj\u00eb volum t\u00eb madh t\u00eb dh\u00ebnash: p\u00ebr t\u00eb parandaluar humbjen e t\u00eb dh\u00ebnave dhe probleme t\u00eb tjera, disa veprime do t\u00eb \"ndar\u00eb\" n\u00eb disa t\u00eb tjera.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Parath\u00ebnie p\u00ebr OSD<\/h3>\n<p>\nDuke qen\u00eb se dy nga tre recetat e shqyrtuara jan\u00eb t\u00eb dedikuara p\u00ebr OSD (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/master\/man\/8\/ceph-osd\/\">Object Storage Daemon<\/a><\/noindex>), para se t\u00eb kalojm\u00eb n\u00eb pjes\u00ebn praktike \u2014 shkurtimisht p\u00ebr at\u00eb q\u00eb \u00ebsht\u00eb ky proces n\u00eb Ceph dhe pse \u00ebsht\u00eb kaq i r\u00ebnd\u00ebsish\u00ebm.<\/p>\n<p>S\u00eb pari, duhet t\u00eb themi se i gjith\u00eb klasteri Ceph p\u00ebrb\u00ebhet nga shum\u00eb OSD. Sa m\u00eb shum\u00eb OSD t\u00eb kemi, aq m\u00eb shum\u00eb hap\u00ebsir\u00eb t\u00eb lir\u00eb kemi n\u00eb Ceph. K\u00ebshtu, \u00ebsht\u00eb e leht\u00eb t\u00eb kuptojm\u00eb <b>funksionin kryesor t\u00eb OSD<\/b>: ai ruan t\u00eb dh\u00ebnat e objekteve Ceph n\u00eb sistemet e skedar\u00ebve t\u00eb t\u00eb gjith\u00eb node-ve t\u00eb klasterit dhe ofron qasje rrjeti n\u00eb to (p\u00ebr lexim, shkrim dhe k\u00ebrkesa t\u00eb tjera).<\/p>\n<p>N\u00eb k\u00ebt\u00eb nivel vendosen parametrat e replikimit p\u00ebrmes kopjimit t\u00eb objekteve midis OSD t\u00eb ndryshme. Dhe k\u00ebtu mund t\u00eb hasni n\u00eb probleme t\u00eb ndryshme, zgjidhjen e t\u00eb cilave do ta diskutojm\u00eb m\u00eb tej.<\/p>\n<h2>Rasti \u21161. Nxjerrja e sigurt e OSD nga klasteri Ceph pa humbje t\u00eb t\u00eb dh\u00ebnave<\/h2>\n<p>\nNevoja p\u00ebr t\u00eb nxjerr\u00eb OSD mund t\u00eb shkaktohet nga heqja e serverit nga klasteri \u2014 p\u00ebr shembull, p\u00ebr ta z\u00ebvend\u00ebsuar me nj\u00eb server tjet\u00ebr \u2014 \u00e7ka ndodhi n\u00eb rastin ton\u00eb dhe sh\u00ebrbeu si arsye p\u00ebr t\u00eb shkruar k\u00ebt\u00eb artikull. K\u00ebshtu, q\u00ebllimi p\u00ebrfundimtar i manovrave \u00ebsht\u00eb t\u00eb nxjerrim t\u00eb gjith\u00eb OSD dhe mon\u2019\u00ebt n\u00eb k\u00ebt\u00eb server, n\u00eb m\u00ebnyr\u00eb q\u00eb ta ndalojm\u00eb at\u00eb.<\/p>\n<p>P\u00ebr leht\u00ebsin\u00eb dhe p\u00ebr t\u00eb eliminuar situat\u00ebn ku gjat\u00eb kryerjes s\u00eb komandave gabojm\u00eb n\u00eb caktimin e OSD t\u00eb duhur, do t\u00eb vendosim nj\u00eb ndryshore t\u00eb ve\u00e7ant\u00eb, vlera e s\u00eb cil\u00ebs do t\u00eb jet\u00eb numri i OSD t\u00eb hequr. Do ta quajm\u00eb <code>${ID}<\/code> - k\u00ebtu dhe m\u00eb tej kjo ndryshore do t\u00eb z\u00ebvend\u00ebsoj\u00eb numrin e OSD me t\u00eb cilin punojm\u00eb.<\/p>\n<p>Le t\u00eb shohim gjendjen para fillimit t\u00eb pun\u00ebve:<\/p>\n<pre><code class=\"bash\">root@hv-1 ~ # ceph osd tree\nID CLASS WEIGHT  TYPE NAME      STATUS REWEIGHT PRI-AFF\n-1       0.46857 root default\n-3       0.15619      host hv-1\n-5       0.15619      host hv-2\n 1   ssd 0.15619      osd.1     up     1.00000  1.00000\n-7       0.15619      host hv-3\n 2   ssd 0.15619      osd.2     up     1.00000  1.00000<\/code><\/pre>\n<p>\nP\u00ebr t\u00eb iniciuar heqjen e OSD, do t\u00eb duhet t\u00eb kryejm\u00eb ngadal\u00eb <code>reweight<\/code> n\u00eb t\u00eb deri n\u00eb zero. K\u00ebshtu ne ulin sasin\u00eb e t\u00eb dh\u00ebnave n\u00eb OSD duke balancuar ato n\u00eb OSD t\u00eb tjera. P\u00ebr k\u00ebt\u00eb do t\u00eb ekzekutojm\u00eb komandat e m\u00ebposhtme:<\/p>\n<pre><code class=\"bash\">ceph osd reweight osd.${ID} 0.98\nceph osd reweight osd.${ID} 0.88\nceph osd reweight osd.${ID} 0.78<\/code><\/pre>\n<p>\n\u2026 dhe k\u00ebshtu me radh\u00eb deri n\u00eb zero.<\/p>\n<p><b>Balancimi ngadal\u00eb \u00ebsht\u00eb i nevojsh\u00ebm<\/b>, p\u00ebr t\u00eb mos humbur t\u00eb dh\u00ebna. Kjo \u00ebsht\u00eb ve\u00e7an\u00ebrisht e r\u00ebnd\u00ebsishme n\u00ebse n\u00eb OSD ndodhet nj\u00eb sasi e madhe t\u00eb dh\u00ebnash. P\u00ebr t'u siguruar q\u00eb pas ekzekutimit t\u00eb komandave <code>reweight<\/code> gjith\u00e7ka shkoi mir\u00eb, mund t\u00eb ekzekutoni <code>ceph -s<\/code> ose n\u00eb nj\u00eb dritare t\u00eb ve\u00e7ant\u00eb t\u00eb terminalit t\u00eb nisni <code>ceph -w<\/code> p\u00ebr t\u00eb par\u00eb ndryshimet n\u00eb koh\u00eb reale.<\/p>\n<p>Kur OSD \"\u00ebsht\u00eb zbrazur\", mund t\u00eb filloni operacionin standard p\u00ebr heqjen e saj. P\u00ebr k\u00ebt\u00eb, do ta kalojm\u00eb OSD-n\u00eb e nevojshme n\u00eb gjendjen <code>down<\/code>:<\/p>\n<pre><code class=\"bash\">ceph osd down osd.${ID}<\/code><\/pre>\n<p>\n\"Do ta nxjerrim\" OSD nga klasteri:<\/p>\n<pre><code class=\"bash\">ceph osd out osd.${ID}<\/code><\/pre>\n<p>\nDo t\u00eb ndalojm\u00eb sh\u00ebrbimin OSD dhe do ta heqim pjes\u00ebn e tij nga FS:<\/p>\n<pre><code class=\"bash\">systemctl stop ceph-osd@${ID}\numount \/var\/lib\/ceph\/osd\/ceph-${ID}<\/code><\/pre>\n<p>\nDo t\u00eb heqim OSD nga <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/nautilus\/rados\/operations\/crush-map\/\">CRUSH map<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">ceph osd crush remove osd.${ID}<\/code><\/pre>\n<p>\nDo t\u00eb heqim p\u00ebrdoruesin OSD:<\/p>\n<pre><code class=\"bash\">ceph auth del osd.${ID}<\/code><\/pre>\n<p>\nDhe, p\u00ebrfundimisht, do t\u00eb heqim OSD-n\u00eb vet\u00eb:<\/p>\n<pre><code class=\"bash\">ceph osd rm osd.${ID}<\/code><\/pre>\n<p>\n<b>Sh\u00ebnim<\/b>: n\u00ebse po p\u00ebrdorni versionin Ceph Luminous ose m\u00eb t\u00eb lart\u00eb, at\u00ebher\u00eb veprimet e p\u00ebrmendura m\u00eb sip\u00ebr p\u00ebr heqjen e OSD mund t\u00eb reduktohen n\u00eb dy komanda:<\/p>\n<pre><code class=\"bash\">ceph osd out osd.${ID}\nceph osd purge osd.${ID}\n<\/code><\/pre>\n<p>\nN\u00ebse pas p\u00ebrfundimit t\u00eb veprimeve t\u00eb m\u00ebsip\u00ebrme ekzekutoni komand\u00ebn <code>ceph osd tree<\/code>, duhet t\u00eb shihet se n\u00eb serverin ku u realizuan punimet, nuk ekziston m\u00eb OSD p\u00ebr t\u00eb cilat u realizuan operacionet e m\u00ebsip\u00ebrme:<\/p>\n<pre><code class=\"bash\">root@hv-1 ~ # ceph osd tree\nID CLASS WEIGHT  TYPE NAME     STATUS REWEIGHT PRI-AFF\n-1       0.46857      root default\n-3       0.15619      host hv-1\n-5       0.15619      host hv-2\n-7       0.15619      host hv-3\n 2   ssd 0.15619      osd.2    up     1.00000  1.00000<\/code><\/pre>\n<p>\nDhe nj\u00ebkoh\u00ebsisht do t\u00eb v\u00ebrejm\u00eb se gjendja e klasterit Ceph do t\u00eb kaloj\u00eb n\u00eb <code>HEALTH_WARN<\/code>, dhe gjithashtu do t\u00eb shohim pak\u00ebsimin e numrit t\u00eb OSD dhe sasis\u00eb s\u00eb hap\u00ebsir\u00ebs diskore t\u00eb disponueshme. <\/p>\n<p>M\u00eb pas do t\u00eb p\u00ebrshkruhen veprimet q\u00eb do t\u00eb nevojiten, n\u00ebse d\u00ebshironi t\u00eb ndaloni plot\u00ebsisht serverin dhe, p\u00ebr rrjedhoj\u00eb, ta hiqni at\u00eb nga Ceph. N\u00eb k\u00ebt\u00eb rast \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb mbani mend se <b>p\u00ebrpara se t\u00eb \u00e7aktivizoni serverin, duhet t\u00eb nxirrni t\u00eb gjitha OSD<\/b> n\u00eb k\u00ebt\u00eb server.<\/p>\n<p>N\u00ebse n\u00eb k\u00ebt\u00eb server nuk ka mbetur asnj\u00eb OSD, at\u00ebher\u00eb pas heqjes s\u00eb tyre duhet t\u00eb p\u00ebrjashtoni nga harta OSD serverin <code>hv-2<\/code>, duke ekzekutuar komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"bash\">ceph osd crush rm hv-2<\/code><\/pre>\n<p>\nFshijm\u00eb <code>mon<\/code> nga serveri <code>hv-2<\/code>, duke komand\u00ebs m\u00eb posht\u00eb n\u00eb nj\u00eb server tjet\u00ebr (dmth, n\u00eb k\u00ebt\u00eb rast \u2014 n\u00eb <code>hv-1<\/code>):<\/p>\n<pre><code class=\"bash\">ceph-deploy mon destroy hv-2<\/code><\/pre>\n<p>\nPas k\u00ebsaj, mund t\u00eb ndaloni serverin dhe t\u00eb kaloni n\u00eb hapat e tjer\u00eb (p\u00ebrs\u00ebritjen e tij dhe tjer\u00eb).<\/p>\n<h2>Rasti \u21162. Shp\u00ebrndarja e hap\u00ebsir\u00ebs diskore n\u00eb nj\u00eb klaster Ceph t\u00eb krijuar tashm\u00eb<\/h2>\n<p>\nHistorin\u00eb e dyt\u00eb do ta filloj me nj\u00eb parath\u00ebnie rreth PG (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/mimic\/rados\/operations\/placement-groups\/\">Placement Groups<\/a><\/noindex>). Roli kryesor i PG n\u00eb Ceph \u00ebsht\u00eb n\u00eb thelb agregimi i objekteve Ceph dhe m\u00eb pas replikimi n\u00eb OSD. Formula me an\u00eb t\u00eb s\u00eb cil\u00ebs mund t\u00eb llogaritet numri i nevojsh\u00ebm i PG \u00ebsht\u00eb e gjetur n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/mimic\/rados\/operations\/placement-groups\/#choosing-the-number-of-placement-groups\">seksionin p\u00ebrkat\u00ebs<\/a><\/noindex> dokumentacionin e Ceph. Atje po ashtu ky problem trajtohet me shembuj konkret\u00eb.<\/p>\n<p>Pra, nj\u00eb nga problemet m\u00eb t\u00eb zakonshme gjat\u00eb p\u00ebrdorimit t\u00eb Ceph \u00ebsht\u00eb numri i paekuilibruar i OSD dhe PG mes grupeve n\u00eb Ceph.<\/p>\n<p>S\u00eb pari, p\u00ebr shkak t\u00eb k\u00ebsaj mund t\u00eb ndodh\u00eb nj\u00eb situat\u00eb kur atmosfera e PG \u00ebsht\u00eb shum\u00eb e madhe n\u00eb nj\u00eb grup me volum t\u00eb vog\u00ebl, q\u00eb n\u00eb t\u00eb v\u00ebrtet\u00eb \u00ebsht\u00eb nj\u00eb shfryt\u00ebzim irracional i hap\u00ebsir\u00ebs diskore n\u00eb klaster. S\u00eb dyti, n\u00eb praktik\u00eb ndodh nj\u00eb problem m\u00eb serioz: mbushja e t\u00eb dh\u00ebnave n\u00eb nj\u00eb nga OSD. Kjo shkakton kalimin e klasterit fillimisht n\u00eb gjendjen <code>HEALTH_WARN<\/code>, dhe pastaj n\u00eb <code>HEALTH_ERR<\/code>. E gjith\u00eb kjo \u00ebsht\u00eb p\u00ebr shkak se Ceph gjat\u00eb llogaritjes s\u00eb volumit t\u00eb t\u00eb dh\u00ebnave t\u00eb disponueshme (mund ta zbuloni n\u00eb <code>MAX AVAIL<\/code> n\u00eb rezultatin e komand\u00ebs <code>ceph df<\/code> p\u00ebr secilin grup ve\u00e7mas) mb\u00ebshtetet n\u00eb volumet e t\u00eb dh\u00ebnave t\u00eb disponueshme n\u00eb OSD. N\u00ebse t\u00eb pakt\u00ebn n\u00eb nj\u00eb OSD nuk ka mjaft hap\u00ebsir\u00eb, at\u00ebher\u00eb nuk \u00ebsht\u00eb e mundur t\u00eb shkruhen t\u00eb dh\u00ebnat derisa ato t\u00eb shp\u00ebrndahen si\u00e7 duhet mes t\u00eb gjitha OSD.<\/p>\n<p>Duhet t\u00eb sqarojm\u00eb se k\u00ebto probleme <b>zgjidhen kryesisht n\u00eb faz\u00ebn e konfigurimit t\u00eb klasterit Ceph<\/b>. Nj\u00eb nga mjetet q\u00eb mund t\u00eb shfryt\u00ebzohet \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/blog.easter-eggs.org\/index.php\/post\/2013\/09\/27\/%5BLibvirt%5D-Migrating-from-on-disk-raw-images-to-RBD-storage\">Ceph PGCalc<\/a><\/noindex>. Me ndihm\u00ebn e tij llogaritet n\u00eb m\u00ebnyr\u00eb vizuale numri i nevojsh\u00ebm i PG. Megjithat\u00eb, mund t\u00eb p\u00ebrdoret edhe n\u00eb situata kur klasteri Ceph <i>jan\u00eb<\/i> \u00ebsht\u00eb konfigurua gabim. K\u00ebtu duhet sqaruar se gjat\u00eb pun\u00ebs p\u00ebr ndreqjen, ju ndoshta do t'ju nevojitet t\u00eb zvog\u00ebloni numrin e PG, dhe kjo mund\u00ebsi nuk \u00ebsht\u00eb e disponueshme n\u00eb versionet e vjetra t\u00eb Ceph (ajo u shfaq vet\u00ebm me versionin <noindex><a rel=\"nofollow\" href=\"https:\/\/ceph.com\/rados\/new-in-nautilus-pg-merging-and-autotuning\/\">Nautilus<\/a><\/noindex>).<\/p>\n<p>K\u00ebshtu, le t\u00eb paraqesim marr\u00ebdh\u00ebnien e m\u00ebposhtme: klasteri ka statusin <code>HEALTH_WARN<\/code> p\u00ebr shkak se nj\u00eb nga OSD po i mbaron hap\u00ebsira. Kjo do t\u00eb shprehej me nj\u00eb gabim <code>HEALTH_WARN: 1 near full osd<\/code>. M\u00eb posht\u00eb paraqitet algoritmi p\u00ebr daljen nga nj\u00eb situat\u00eb e till\u00eb.<\/p>\n<p>N\u00eb radh\u00eb t\u00eb par\u00eb, \u00ebsht\u00eb e nevojshme t\u00eb shp\u00ebrndahen t\u00eb dh\u00ebnat e disponueshme midis OSD t\u00eb tjer\u00eb. Nj\u00eb operacion t\u00eb till\u00eb e kemi kryer tashm\u00eb n\u00eb rastin e par\u00eb, kur u \u2018thith\u00ebm\u2019 nyj\u00ebn \u2014 me at\u00eb ndryshim, q\u00eb tani do t\u00eb nevojitet ta zvog\u00eblojm\u00eb paksa <code>reweight<\/code>. P\u00ebr shembull, deri n\u00eb 0.95:<\/p>\n<pre><code class=\"bash\">ceph osd reweight osd.${ID} 0.95<\/code><\/pre>\n<p>\nK\u00ebshtu, hap\u00ebsira diskore lirohet n\u00eb OSD dhe gabimi n\u00eb sh\u00ebndetin e ceph rregullohet. Megjithat\u00eb, si\u00e7 u tha, ky problem para s\u00eb gjithash ndodhi p\u00ebr arsye t\u00eb konfigurimit t\u00eb pap\u00ebrshtatsh\u00ebm t\u00eb Ceph n\u00eb fillim: \u00ebsht\u00eb shum\u00eb e r\u00ebnd\u00ebsishme t\u00eb b\u00ebhet rekonstrukcija, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mos shfaqet n\u00eb t\u00eb ardhmen.<\/p>\n<p>N\u00eb rastin ton\u00eb, gjith\u00e7ka varej nga:<\/p>\n<ul>\n<li> nj\u00eb vler\u00eb shum\u00eb e madhe <code>replication_count<\/code> n\u00eb nj\u00eb nga grupet,<\/li>\n<li> numri shum\u00eb i madh i PG n\u00eb nj\u00eb grup dhe aq shum\u00eb i vog\u00ebl n\u00eb nj\u00eb tjet\u00ebr. <\/li>\n<\/ul>\n<p>\nLe t\u00eb p\u00ebrdorim kalkulatorin e p\u00ebrmendur m\u00eb par\u00eb. Atij i jan\u00eb shpjeguar qart\u00eb se \u00e7far\u00eb duhet t\u00eb futet dhe, n\u00eb thelb, nuk ka asgj\u00eb t\u00eb komplikuar. Duke futur parametrat e nevojsh\u00ebm, marrim rekomandimet e m\u00ebposhtme:<\/p>\n<p><i><b>Sh\u00ebnim<\/b>: n\u00ebse po konfiguroni nj\u00eb klaster Ceph nga fillimi, nj\u00eb funksion tjet\u00ebr i dobish\u00ebm i kalkulatorit do t\u00eb jet\u00eb gjenerimi i komandave, t\u00eb cilat do t\u00eb krijojn\u00eb grupe nga fillimi me parametrat e caktuar n\u00eb tabel\u00eb.<\/i><\/p>\n<p>Drejtimi ndihmon kolona e fundit \u2014 <i>Suggested PG Count<\/i>. N\u00eb rastin ton\u00eb, e dobishme \u00ebsht\u00eb gjithashtu kolona e dyt\u00eb, ku \u00ebsht\u00eb treguar parametri i replikimit, pasi ne vendos\u00ebm t\u00eb ndryshojm\u00eb edhe faktor\u00ebt e replikimit.<\/p>\n<p>Pra, s\u00eb pari do t\u00eb nevojitet t\u00eb ndryshoni parametrat e replikimit \u2014 kjo duhet b\u00ebr\u00eb s\u00eb pari, pasi duke zvog\u00ebluar faktor\u00ebt, ne do t\u00eb lirojm\u00eb hap\u00ebsir\u00eb diskore. Gjat\u00eb ekzekutimit t\u00eb komand\u00ebs mund t\u00eb v\u00ebreni se vlerat e hap\u00ebsir\u00ebs diskore t\u00eb disponueshme do t\u00eb rriten:<\/p>\n<pre><code class=\"bash\">ceph osd pool $pool_name set $replication_size<\/code><\/pre>\n<p>\nDhe pas p\u00ebrfundimit t\u00eb saj \u2014 ndryshojm\u00eb vlerat e parametrave <code>pg_num<\/code> dhe <code>pgp_num<\/code> si nga:<\/p>\n<pre><code class=\"bash\">ceph osd pool set $pool_name pg_num $pg_number\nceph osd pool set $pool_name pgp_num $pg_number<\/code><\/pre>\n<p>\n<b>E r\u00ebnd\u00ebsishme<\/b>: duhet t\u00eb ndryshojm\u00eb radhazi numrin e PG n\u00eb \u00e7do grup dhe t\u00eb mos ndryshojm\u00eb vlerat n\u00eb grupet e tjera deri sa t\u00eb zhduken paralajm\u00ebrimet <i>\u00abDegraded data redundancy\u00bb<\/i> dhe <i>\u00abn-number of pgs degraded\u00bb<\/i>.<\/p>\n<p>P\u00ebr t\u00eb verifikuar se gjith\u00e7ka ka kaluar me sukses, mund t\u00eb shihni gjithashtu rezultatet e komandave <code>ceph health detail<\/code> dhe <code>ceph -s<\/code>.<\/p>\n<h2>Rasti \u21163. Migrimi i nj\u00eb maune virtuale nga LVM n\u00eb Ceph RBD<\/h2>\n<p>\nN\u00eb situatat kur projekti p\u00ebrdor makina virtuale t\u00eb vendosura n\u00eb server\u00eb t\u00eb marr\u00eb me qira bare-metal, shpesh lind pyetja p\u00ebr ruajtjen e q\u00ebndrueshme. Po ashtu, \u00ebsht\u00eb shum\u00eb e d\u00ebshirueshme q\u00eb hap\u00ebsira n\u00eb k\u00ebt\u00eb ruajtje t\u00eb jet\u00eb e mjaftueshme... Nj\u00eb tjet\u00ebr situat\u00eb e zakonshme \u00ebsht\u00eb: ka nj\u00eb makin\u00eb virtuale me ruajtje lokale n\u00eb server dhe \u00ebsht\u00eb e nevojshme t\u00eb zgjerohet disku, por nuk ka vend, pasi n\u00eb server nuk ka m\u00eb hap\u00ebsir\u00eb t\u00eb lir\u00eb disku.<\/p>\n<p>Problemin mund ta zgjidhim n\u00eb m\u00ebnyra t\u00eb ndryshme \u2014 p\u00ebr shembull, duke migruar n\u00eb nj\u00eb server tjet\u00ebr (n\u00ebse ka nj\u00eb t\u00eb till\u00eb) ose duke shtuar disqe t\u00eb rinj n\u00eb server. Por, nuk \u00ebsht\u00eb gjithmon\u00eb e mundur ta b\u00ebjm\u00eb k\u00ebt\u00eb, prandaj migroja nga LVM n\u00eb Ceph mund t\u00eb jet\u00eb nj\u00eb zgjidhje e shk\u00eblqyer p\u00ebr k\u00ebt\u00eb problem. Duke zgjedhur k\u00ebt\u00eb mund\u00ebsi, ne gjithashtu thjeshtojm\u00eb procesin e m\u00ebtejsh\u00ebm t\u00eb migrimit midis server\u00ebve, pasi nuk do t\u00eb ket\u00eb nevoj\u00eb t\u00eb l\u00ebvizim ruajtjen lokale nga nj\u00eb hipervizor n\u00eb tjetrin. E vetmja penges\u00eb \u00ebsht\u00eb se do t\u00eb duhet t\u00eb ndalojm\u00eb VM p\u00ebrkoh\u00ebsisht gjat\u00eb pun\u00ebs.<\/p>\n<p>Si referenc\u00eb e dh\u00ebn\u00eb m\u00eb posht\u00eb \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/blog.easter-eggs.org\/index.php\/post\/2013\/09\/27\/%5BLibvirt%5D-Migrating-from-on-disk-raw-images-to-RBD-storage\">nj\u00eb artikull nga ky blog<\/a><\/noindex>, udh\u00ebzimet e t\u00eb cilit jan\u00eb testuar n\u00eb praktik\u00eb. P\u00ebr t'u p\u00ebrmendur, <b>aty p\u00ebrmendet gjithashtu nj\u00eb m\u00ebnyr\u00eb pa nd\u00ebrlikime p\u00ebr migrim<\/b>, por n\u00eb rastin ton\u00eb kjo thjesht nuk u nevojit, prandaj nuk e kontrolluam. N\u00ebse kjo \u00ebsht\u00eb kritike p\u00ebr projektin tuaj \u2014 do t\u00eb na b\u00ebnt\u00eb t\u00eb lumtur t\u00eb d\u00ebgjojm\u00eb rreth rezultateve n\u00eb komentet.<\/p>\n<p>Le t\u00eb kalojm\u00eb n\u00eb pjes\u00ebn praktike. N\u00eb shembullin ton\u00eb ne p\u00ebrdorim virsh dhe, p\u00ebrkat\u00ebsisht, libvirt. Fillimisht sigurohuni q\u00eb puli i Ceph-it, n\u00eb t\u00eb cilin do t\u00eb migrohen t\u00eb dh\u00ebnat, \u00ebsht\u00eb i lidhur me libvirt:<\/p>\n<pre><code class=\"bash\">virsh pool-dumpxml $ceph_pool<\/code><\/pre>\n<p>\nN\u00eb p\u00ebrshkrimin e pulit duhet t\u00eb ket\u00eb t\u00eb dh\u00ebna lidhjeje me Ceph me t\u00eb dh\u00ebna p\u00ebr autorizim. <\/p>\n<p>Hapi tjet\u00ebr \u00ebsht\u00eb q\u00eb imazhi LVM konvertohet n\u00eb Ceph RBD. Koha e ekzekutimit varet kryesisht nga madh\u00ebsia e imazhit:<\/p>\n<pre><code class=\"bash\">qemu-img convert -p -O rbd \/dev\/main\/$vm_image_name rbd:$ceph_pool\/$vm_image_name<\/code><\/pre>\n<p>\nPas konvertimit do t\u00eb mbetet imazhi LVM, i cili do t\u00eb jet\u00eb i dobish\u00ebm n\u00eb rast se migrimi i VM n\u00eb RBD nuk funksionon dhe do t\u00eb duhet t\u00eb rikthejm\u00eb ndryshimet. Po ashtu \u2014 p\u00ebr mund\u00ebsin\u00eb e rikthimit t\u00eb shpejt\u00eb t\u00eb ndryshimeve \u2014 do t\u00eb b\u00ebjm\u00eb nj\u00eb backup t\u00eb skedarit p\u00ebr konfigurimin e makin\u00ebs virtuale:<\/p>\n<pre><code class=\"bash\">virsh dumpxml $vm_name &gt; $vm_name.xml\ncp $vm_name.xml $vm_name_backup.xml<\/code><\/pre>\n<p>\n\u2026 dhe do t\u00eb redaktojm\u00eb origjinalin (<code>vm_name.xml<\/code>). Do t\u00eb gjejm\u00eb bllokun me p\u00ebrshkrimin e disku (fillon me rreshtin <code>&lt;disk type='file' device='disk'&gt;<\/code> dhe mbaron n\u00eb <code>&lt;\/disk&gt;<\/code>) dhe do ta sjellim n\u00eb formatin e m\u00ebposht\u00ebm:<\/p>\n<pre><code class=\"xml\"><address \/><\/code><\/pre>\n<p>\nLe t\u00eb shqyrtojm\u00eb disa detaje:<\/p>\n<ol>\n<li> N\u00eb protokoll <code>source<\/code> specifikohet adresa deri n\u00eb ruajtjen n\u00eb Ceph RBD (kjo \u00ebsht\u00eb adresa me emrin e Ceph-pulit dhe imazhin RBD, i cili u identifikua n\u00eb hapin e par\u00eb).<\/li>\n<li> N\u00eb bllokun <code>sekret<\/code> specifikohet lloji <code>ceph<\/code>, si dhe UUID i sekreteve p\u00ebr lidhjen me t\u00eb. UUID-n\u00eb e tij mund ta gjeni duke p\u00ebrdorur komand\u00ebn <code>virsh secret-list<\/code>.<\/li>\n<li> N\u00eb bllokun <code>host<\/code> specifikohen adresat deri te monitor\u00ebt e Ceph.<\/li>\n<\/ol>\n<p>\nPas redaktimit t\u00eb skedarit t\u00eb konfigurimit dhe p\u00ebrfundimit t\u00eb konvertimit nga LVM n\u00eb RBD, mund t\u00eb aplikoni skedarin e ndryshuar t\u00eb konfigurimit dhe t\u00eb nisni makin\u00ebn virtuale:<\/p>\n<pre><code class=\"bash\">virsh define $vm_name.xml\nvirsh start $vm_name<\/code><\/pre>\n<p>\n\u00cbsht\u00eb koha p\u00ebr t\u00eb kontrolluar q\u00eb makina virtuale t\u00eb ket\u00eb nisur si\u00e7 duhet: mund ta kuptoni, p\u00ebr shembull, duke u lidhur me t\u00eb p\u00ebrmes SSH ose p\u00ebrmes <code>virsh<\/code>. <\/p>\n<p>N\u00ebse makina virtuale funksionon n\u00eb m\u00ebnyr\u00eb korrekte dhe nuk keni zbuluar probleme t\u00eb tjera, at\u00ebher\u00eb mund ta hiqni imazhin LVM, i cili nuk p\u00ebrdoret m\u00eb:<\/p>\n<pre><code class=\"bash\">lvremove main\/$vm_image_name<\/code><\/pre>\n<p><\/p>\n<h2>P\u00ebrfundimi<\/h2>\n<p>\nT\u00eb gjitha rastet e p\u00ebrshkruara m\u00eb lart ne i kemi hasur n\u00eb praktik\u00eb \u2014 shpresojm\u00eb q\u00eb udh\u00ebzimet do t'i ndihmojn\u00eb edhe administratoret e tjer\u00eb t\u00eb zgjidhin probleme t\u00eb ngjashme. N\u00ebse keni ndonj\u00eb komente ose histori t\u00eb tjera t\u00eb ngjashme nga p\u00ebrvoja e pun\u00ebs me Ceph \u2014 do t\u00eb na b\u00ebnt\u00eb t\u00eb lumtur t'i shohim ato n\u00eb komentet!<\/p>\n<h2>P.S.<\/h2>\n<p>\nLexoni gjithashtu n\u00eb blogun ton\u00eb:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/477680\/\">Duart tona nuk jan\u00eb p\u00ebr m\u00ebrzi: rind\u00ebrtimi i klasterit Rook n\u00eb K8s<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/451818\/\">Rook apo jo Rook \u2014 kjo \u00ebsht\u00eb pyetja<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/348044\/\">Rook \u2014 nj\u00eb ruajtje t\u00eb dh\u00ebnash \"me vet\u00eb-sh\u00ebrbim\" p\u00ebr Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/329666\/\">Krijojm\u00eb nj\u00eb ruajtje t\u00eb p\u00ebrhershme me provisioning n\u00eb Kubernetes mbi baz\u00ebn e Ceph<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/495870\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Ceph \u043a\u0430\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0437\u0433\u043b\u044f\u0434\u0430 \u043d\u0435 \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0438\u043b\u0438 \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u0442\u0430\u0440\u043e\u0433\u043e Ceph \u0432 \u043d\u043e\u0432\u044b\u0439 \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u043d\u043e\u0432\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435; \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0432 Ceph. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u044f\u0441\u044c \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438, \u043c\u044b \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":77267,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-77266","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Ceph \u043a\u0430\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Tips &amp; tricks \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Ceph \u0432 \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Ceph \u043a\u0430\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-09T11:42:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-09T11:42:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47K\u00ebshilla &amp; truke n\u00eb pun\u00ebn me Ceph n\u00eb projekte me ngarkes\u00eb t\u00eb lart\u00eb | ProHoster","description":"Duke Ceph si ruajt\u00ebsin e rrjetit.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Tips &amp; tricks \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Ceph \u0432 \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 | ProHoster","og:description":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Ceph \u043a\u0430\u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-09T11:42:08+00:00","article:modified_time":"2020-04-09T11:42:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"77266","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:20:51","updated":"2022-10-02 10:23:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/77266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=77266"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/77266\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/77267"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=77266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=77266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=77266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}