{"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\/ro\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","title":{"rendered":"Sfaturi &#038; trucuri pentru lucrul cu Ceph \u00een proiecte \u00eenc\u0103rcate","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Sfaturi \u0219i trucuri \u00een utilizarea Ceph \u00een proiecte aglomerate\" src=\"\/wp-content\/uploads\/2020\/04\/1d60f91e55b20a5dc4346bd8087bc11e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFolosind Ceph ca stocare \u00een re\u021bea \u00een diferite proiecte cu nivele de \u00eenc\u0103rcare variate, ne putem confrunta cu diverse provoc\u0103ri care, la prima vedere, nu par simple sau triviale. De exemplu:<\/p>\n<ul>\n<li> migrarea datelor din Ceph vechi \u00een noul Ceph cu utilizarea par\u021bial\u0103 a serverelor anterioare \u00een noul cluster;<\/li>\n<li> rezolvarea problemei distribu\u021biei spa\u021biului pe disc \u00een Ceph.<\/li>\n<\/ul>\n<p>\nC\u00e2nd ne confrunt\u0103m cu astfel de provoc\u0103ri, \u00eent\u00e2lnim necesitatea de a extrage corect OSD f\u0103r\u0103 pierderi de date, ceea ce este deosebit de important \u00een cazul unor volume mari de date. Despre aceasta va fi vorba \u00een articol.<\/p>\n<p>Metodele descrise mai jos sunt relevante pentru toate versiunile Ceph. \u00cen plus, se va lua \u00een considerare faptul c\u0103 Ceph poate stoca o cantitate mare de date: pentru a preveni pierderile de date \u0219i alte probleme, unele ac\u021biuni vor fi \u201efragmentate\u201d \u00een mai multe altele.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Introducere despre OSD<\/h3>\n<p>\nAv\u00e2nd \u00een vedere c\u0103 dou\u0103 din cele trei re\u021bete discutate se concentreaz\u0103 pe OSD (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/master\/man\/8\/ceph-osd\/\">Object Storage Daemon<\/a><\/noindex>), \u00eenainte de a intra \u00een partea practic\u0103 \u2014 o scurt\u0103 prezentare a ceea ce reprezint\u0103 acest element \u00een Ceph \u0219i de ce este at\u00e2t de important.<\/p>\n<p>\u00cen primul r\u00e2nd, trebuie s\u0103 spunem c\u0103 \u00eentregul cluster Ceph este format din numeroase OSD-uri. Cu c\u00e2t sunt mai multe, cu at\u00e2t mai mult spa\u021biu liber pentru date \u00een Ceph. De aici este u\u0219or de \u00een\u021beles <b>func\u021bia principal\u0103 a OSD<\/b>: el stocheaz\u0103 datele obiectelor Ceph pe sistemele de fi\u0219iere ale tuturor nodurilor din cluster \u0219i ofer\u0103 acces \u00een re\u021bea la acestea (pentru citire, scriere \u0219i alte cereri).<\/p>\n<p>La acest nivel se stabilesc \u0219i parametrii de replicare prin copierea obiectelor \u00eentre diferitele OSD-uri. Aici pot ap\u0103rea diverse probleme, despre solu\u021bionarea c\u0103rora vom discuta mai departe.<\/p>\n<h2>Cazul nr. 1. Extrac\u021bia sigur\u0103 a OSD din clusterul Ceph f\u0103r\u0103 pierderi de date<\/h2>\n<p>\nNecesitatea de a extrage un OSD poate fi generat\u0103 de scoaterea serverului din cluster \u2014 de exemplu, pentru a-l \u00eenlocui cu un alt server \u2014 ceea ce s-a \u00eent\u00e2mplat \u0219i \u00een cazul nostru, motiv pentru care am redactat acest articol. Astfel, scopul final al ac\u021biunilor este de a extrage toate OSD-urile \u0219i mon-urile de pe acest server, astfel \u00eenc\u00e2t s\u0103 poat\u0103 fi oprit.<\/p>\n<p>Pentru a u\u0219ura lucrul \u0219i a evita o situa\u021bie \u00een care, \u00een timpul execut\u0103rii comenzilor, am gre\u0219it cu specificarea OSD-ului dorit, vom defini o variabil\u0103 separat\u0103, a c\u0103rei valoare va fi num\u0103rul OSD-ului care urmeaz\u0103 s\u0103 fie eliminat. O vom numi <code>${ID}<\/code> \u2014 aici \u0219i mai departe, aceast\u0103 variabil\u0103 va \u00eenlocui num\u0103rul OSD-ului cu care lucr\u0103m.<\/p>\n<p>S\u0103 vedem starea \u00eenainte de a \u00eencepe lucr\u0103rile:<\/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>\nPentru a ini\u021bia eliminarea OSD, va fi necesar s\u0103 execut\u0103m treptat <code>reweight<\/code> pe acesta p\u00e2n\u0103 la zero. Astfel, reducem cantitatea de date din OSD prin balansarea \u00een alte OSD. Pentru aceasta se execut\u0103 comenzile urm\u0103toare:<\/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 \u0219i a\u0219a mai departe, p\u00e2n\u0103 la zero.<\/p>\n<p><b>Balansarea treptat\u0103 este necesar\u0103<\/b>, pentru a nu pierde date. Acest lucru este deosebit de important dac\u0103 OSD con\u021bine un volum mare de date. Pentru a ne asigura c\u0103, dup\u0103 executarea comenzilor <code>reweight<\/code> totul a decurs cu succes, putem executa <code>ceph -s<\/code> sau putem lansa \u00eentr-o fereastr\u0103 separat\u0103 de terminal <code>ceph -w<\/code> pentru a observa schimb\u0103rile \u00een timp real.<\/p>\n<p>C\u00e2nd OSD este \u201egolit\u201d, putem \u00eencepe opera\u021bia standard de eliminare a acestuia. Pentru aceasta, vom schimba OSD-ul dorit \u00een starea <code>down<\/code>:<\/p>\n<pre><code class=\"bash\">ceph osd down osd.${ID}<\/code><\/pre>\n<p>\n\u201eScoatem\u201d OSD-ul din cluster:<\/p>\n<pre><code class=\"bash\">ceph osd out osd.${ID}<\/code><\/pre>\n<p>\nOprind serviciul OSD \u0219i demont\u0103m parti\u021bia sa din FS:<\/p>\n<pre><code class=\"bash\">systemctl stop ceph-osd@${ID}\numount \/var\/lib\/ceph\/osd\/ceph-${ID}<\/code><\/pre>\n<p>\nElimin\u0103m OSD din <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>\nElimin\u0103m utilizatorul OSD:<\/p>\n<pre><code class=\"bash\">ceph auth del osd.${ID}<\/code><\/pre>\n<p>\n\u0218i, \u00een final, elimin\u0103m \u00eens\u0103\u0219i OSD-ul:<\/p>\n<pre><code class=\"bash\">ceph osd rm osd.${ID}<\/code><\/pre>\n<p>\n<b>Not\u0103<\/b>: dac\u0103 folosi\u021bi versiunea Ceph Luminous sau o versiune superioar\u0103, atunci ac\u021biunile descrise mai sus pentru eliminarea OSD pot fi reduse la dou\u0103 comenzi:<\/p>\n<pre><code class=\"bash\">ceph osd out osd.${ID}\nceph osd purge osd.${ID}\n<\/code><\/pre>\n<p>\nDac\u0103 dup\u0103 executarea ac\u021biunilor men\u021bionate anterior executa\u021bi comanda <code>ceph osd tree<\/code>, ar trebui s\u0103 fie vizibil c\u0103 pe serverul pe care s-au efectuat lucr\u0103rile nu mai exist\u0103 OSD-uri pentru care s-au executat opera\u021biunile anterioare:<\/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>\n\u00centre timp, s\u0103 observ\u0103m c\u0103 starea clusterului Ceph va trece \u00een <code>HEALTH_WARN<\/code>, de asemenea, vom observa o reducere a num\u0103rului de OSD-uri \u0219i a volumului de spa\u021biu de stocare disponibil. <\/p>\n<p>Urm\u0103toarele vor fi descrise ac\u021biunile necesare dac\u0103 dori\u021bi s\u0103 opri\u021bi complet serverul \u0219i, prin urmare, s\u0103-l elimina\u021bi din Ceph. \u00cen acest caz, este important s\u0103 ne amintim c\u0103 <b>\u00eenainte de a opri serverul este necesar s\u0103 scoate\u021bi toate OSD-urile<\/b> de pe acest server.<\/p>\n<p>Dac\u0103 pe acest server nu au mai r\u0103mas OSD-uri, atunci dup\u0103 eliminarea lor trebuie s\u0103 excluzi din harta OSD serverul <code>hv-2<\/code>, execut\u00e2nd urm\u0103toarea comand\u0103:<\/p>\n<pre><code class=\"bash\">ceph osd crush rm hv-2<\/code><\/pre>\n<p>\n\u0218tergem <code>mon<\/code> de pe server <code>hv-2<\/code>, rul\u00e2nd comanda de mai jos pe un alt server (adic\u0103, \u00een acest caz \u2014 pe <code>hv-1<\/code>):<\/p>\n<pre><code class=\"bash\">ceph-deploy mon destroy hv-2<\/code><\/pre>\n<p>\nDup\u0103 aceasta, se poate opri serverul \u0219i se pot \u00eencepe urm\u0103toarele ac\u021biuni (redistribuirea sa etc.).<\/p>\n<h2>Cazul nr. 2. Distribu\u021bia spa\u021biului pe disc \u00een clusterul Ceph deja creat<\/h2>\n<p>\nA doua poveste o voi \u00eencepe cu o introducere despre PG (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/mimic\/rados\/operations\/placement-groups\/\">Placement Groups<\/a><\/noindex>). Rolul principal al PG-ului \u00een Ceph const\u0103 \u00een agregarea obiectelor Ceph \u0219i replica\u021bia ulterioar\u0103 \u00een OSD. Formula prin care se poate calcula num\u0103rul necesar de PG-uri se afl\u0103 \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/mimic\/rados\/operations\/placement-groups\/#choosing-the-number-of-placement-groups\">sec\u021biunea corespunz\u0103toare<\/a><\/noindex> din documenta\u021bia Ceph. Acolo aceea\u0219i problem\u0103 este analizat\u0103 \u0219i cu exemple concrete.<\/p>\n<p>A\u0219adar, una dintre problemele frecvente \u00een timpul exploat\u0103rii Ceph este num\u0103rul dezechilibrat de OSD \u0219i PG \u00eentre pulle \u00een Ceph.<\/p>\n<p>\u00cen primul r\u00e2nd, din cauza aceasta, ar putea ap\u0103rea o situa\u021bie \u00een care se specific\u0103 un num\u0103r prea mare de PG-uri \u00eentr-un pool mic, ceea ce este o utilizare ira\u021bional\u0103 a spa\u021biului pe disc \u00een cluster. \u00cen al doilea r\u00e2nd, \u00een practic\u0103 se dovede\u0219te o problem\u0103 mai serioas\u0103: umplerea datelor \u00eentr-unul dintre OSD-uri. Aceasta duce, mai \u00eent\u00e2i, la trecerea clusterului \u00een starea <code>HEALTH_WARN<\/code>, \u0219i apoi la <code>HEALTH_ERR<\/code>. Totul se datoreaz\u0103 faptului c\u0103 Ceph, \u00een calculul volumului de date disponibile (care poate fi aflat folosind <code>MAX AVAIL<\/code> \u00een ie\u0219irea comenzii <code>ceph df<\/code> pentru fiecare pool \u00een parte) se bazeaz\u0103 pe volumul de date disponibile \u00een OSD. Dac\u0103 \u00een cel pu\u021bin un OSD nu va fi suficient spa\u021biu, atunci nu se vor putea scrie mai multe date, p\u00e2n\u0103 nu vor fi redistribuite corect \u00eentre toate OSD.<\/p>\n<p>Este important de precizat c\u0103 aceste probleme <b>sunt, \u00een mare parte, rezolvate \u00een etapa de configurare a clusterului Ceph<\/b>. Unul dintre instrumentele pe care le pute\u021bi utiliza este <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>. Acesta permite calcularea vizual\u0103 a num\u0103rului necesar de PG-uri. Cu toate acestea, poate fi folosit \u0219i \u00een situa\u021bia \u00een care clusterul Ceph <i>este deja<\/i> configurat gre\u0219it. Aici trebuie men\u021bionat c\u0103, \u00een cadrul lucr\u0103rilor de corectare, cel mai probabil va trebui s\u0103 reduce\u021bi num\u0103rul de PG-uri, iar aceast\u0103 posibilitate nu este disponibil\u0103 \u00een versiunile mai vechi de Ceph (a ap\u0103rut doar odat\u0103 cu versiunea <noindex><a rel=\"nofollow\" href=\"https:\/\/ceph.com\/rados\/new-in-nautilus-pg-merging-and-autotuning\/\">Nautilus<\/a><\/noindex>).<\/p>\n<p>A\u0219adar, s\u0103 ne imagin\u0103m urm\u0103toarea situa\u021bie: clusterul are un statut <code>HEALTH_WARN<\/code> din cauza c\u0103 \u00een unul dintre OSD-uri se termin\u0103 spa\u021biul. Acest lucru va fi indicat de o eroare. <code>AVERTIZARE_S\u0102N\u0102TATE: 1 aproape plin osd<\/code>. Iat\u0103 un algoritm pentru a ie\u0219i din aceast\u0103 situa\u021bie.<\/p>\n<p>\u00cen primul r\u00e2nd, este necesar\u0103 redistribuirea datelor existente \u00eentre celelalte OSD-uri. O astfel de opera\u021biune a fost deja efectuat\u0103 \u00een primul caz, c\u00e2nd am \u201euscata\u201d nodul \u2014 cu men\u021biunea c\u0103 acum va fi nevoie s\u0103 diminu\u0103m u\u0219or <code>reweight<\/code>. De exemplu, la 0.95:<\/p>\n<pre><code class=\"bash\">ceph osd reweight osd.${ID} 0.95<\/code><\/pre>\n<p>\nAstfel, se elibereaz\u0103 spa\u021biu pe disc \u00een OSD \u0219i se corecteaz\u0103 eroarea \u00een ceph health. Totu\u0219i, a\u0219a cum s-a men\u021bionat anterior, aceast\u0103 problem\u0103 apare \u00een principal din cauza unei configur\u0103ri incorecte a Ceph la \u00eenceput: este foarte important s\u0103 facem reconstruc\u021bia pentru a nu se mai manifesta \u00een viitor.<\/p>\n<p>\u00cen cazul nostru specific, totul se reduce la:<\/p>\n<ul>\n<li> o valoare prea mare <code>replication_count<\/code> \u00een unul dintre pool-uri,<\/li>\n<li> un num\u0103r prea mare de PG \u00eentr-un pool \u0219i prea mic \u00een altul. <\/li>\n<\/ul>\n<p>\nVom folosi deja men\u021bionat calculatorul. Acesta ilustreaz\u0103 clar ce trebuie introdus \u0219i, \u00een principiu, nu este nimic complicat. Introduc\u00e2nd parametrii necesari, ob\u021binem urm\u0103toarele recomand\u0103ri:<\/p>\n<p><i><b>Not\u0103<\/b>: dac\u0103 configura\u021bi un cluster Ceph de la zero, o alt\u0103 func\u021bie util\u0103 a calculatorului va fi generarea comenzilor care vor crea pool-uri de la zero cu parametrii specifica\u021bi \u00een tabel.<\/i><\/p>\n<p>Ultima coloan\u0103 ajut\u0103 la orientare \u2014 <i>Suggested PG Count<\/i>. \u00cen cazul nostru, este util\u0103 \u0219i a doua, care indic\u0103 parametrul de replicare, deoarece am decis s\u0103 schimb\u0103m \u0219i faktorul de replicare.<\/p>\n<p>A\u0219adar, mai \u00eent\u00e2i va trebui s\u0103 modific\u0103m parametrii de replicare - acest lucru trebuie f\u0103cut \u00een primul r\u00e2nd, deoarece, reduc\u00e2nd factorul, vom elibera spa\u021biu pe disc. \u00cen timpul execu\u021biei comenzii, se poate observa c\u0103 valoarea spa\u021biului pe disc disponibil va cre\u0219te:<\/p>\n<pre><code class=\"bash\">ceph osd pool $pool_name set $replication_size<\/code><\/pre>\n<p>\nIar dup\u0103 finalizarea acesteia - modific\u0103m valorile parametrilor <code>pg_num<\/code> \u0219i <code>pgp_num<\/code> \u00een urm\u0103torul mod:<\/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>Este important<\/b>: trebuie s\u0103 modific\u0103m \u00een mod consecutiv num\u0103rul de PG \u00een fiecare pool \u0219i s\u0103 nu schimb\u0103m valorile din celelalte pool-uri p\u00e2n\u0103 la dispari\u021bia avertismentelor <i>\u00abDegraded data redundancy\u00bb<\/i> \u0219i <i>\u00abn-number of pgs degraded\u00bb<\/i>.<\/p>\n<p>Verificarea c\u0103 totul a decurs cu succes poate fi, de asemenea, realizat\u0103 prin rezultatele comenzilor <code>ceph health detail<\/code> \u0219i <code>ceph -s<\/code>.<\/p>\n<h2>Caz Nr. 3. Migrarea unei ma\u0219ini virtuale de la LVM la Ceph RBD<\/h2>\n<p>\n\u00cen situa\u021bii \u00een care un proiect utilizeaz\u0103 ma\u0219ini virtuale instalate pe servere bare-metal \u00eenchiriate, apare adesea \u00eentrebarea legat\u0103 de stocarea redundant\u0103. De asemenea, este foarte de dorit ca acest spa\u021biu de stocare s\u0103 fie suficient\u2026 O alt\u0103 situa\u021bie frecvent \u00eent\u00e2lnit\u0103: exist\u0103 o ma\u0219in\u0103 virtual\u0103 cu stocare local\u0103 pe server \u0219i trebuie extins discul, dar nu exist\u0103 spa\u021biu liber pe server.<\/p>\n<p>Problema poate fi rezolvat\u0103 \u00een diferite moduri \u2014 de exemplu, prin migrarea pe un alt server (dac\u0103 exist\u0103) sau prin ad\u0103ugarea de noi discuri pe server. Dar nu \u00eentotdeauna reu\u0219im s\u0103 facem acest lucru, de aceea migrarea din LVM \u00een Ceph poate fi o solu\u021bie excelent\u0103. Aleg\u00e2nd aceast\u0103 op\u021biune, simplific\u0103m \u0219i procesul viitor de migrare \u00eentre servere, deoarece nu va fi nevoie s\u0103 mut\u0103m stocarea local\u0103 de pe un hypervizor pe altul. Singura problem\u0103 este c\u0103 va trebui s\u0103 oprim VM-ul pe durata lucr\u0103rilor.<\/p>\n<p>Ca re\u021bet\u0103 propus\u0103 mai departe, <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\">un articol de pe acest blog<\/a><\/noindex>, ale c\u0103rui instruc\u021biuni au fost testate \u00een practic\u0103. Apropo, <b>acolo este descris \u0219i un mod de migrare f\u0103r\u0103 \u00eentreruperi<\/b>, dar \u00een cazul nostru nu a fost necesar, a\u0219a c\u0103 nu l-am verificat. Dac\u0103 aceasta este critic\u0103 pentru proiectul dumneavoastr\u0103 \u2014 am fi bucuro\u0219i s\u0103 afl\u0103m rezultatele \u00een comentarii.<\/p>\n<p>S\u0103 trecem la partea practic\u0103. \u00cen exemplu, folosim virsh \u0219i, \u00een consecin\u021b\u0103, libvirt. Pentru \u00eenceput, asigura\u021bi-v\u0103 c\u0103 pool-ul Ceph, \u00een care vor fi migrate datele, este conectat la libvirt:<\/p>\n<pre><code class=\"bash\">virsh pool-dumpxml $ceph_pool<\/code><\/pre>\n<p>\n\u00cen descrierea pool-ului ar trebui s\u0103 existe datele de conectare la Ceph cu informa\u021bii pentru autorizare. <\/p>\n<p>Urm\u0103toarea etap\u0103 const\u0103 \u00een conversia imaginii LVM \u00een Ceph RBD. Timpul de execu\u021bie depinde \u00een primul r\u00e2nd de dimensiunea imaginii:<\/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>\nDup\u0103 conversie, va r\u0103m\u00e2ne o imagine LVM, care va fi util\u0103 \u00een cazul \u00een care migrarea VM-ului \u00een RBD nu va reu\u0219i \u0219i va fi nevoie s\u0103 revenim la starea anterioar\u0103. De asemenea, pentru a avea posibilitatea de a reveni rapid la modific\u0103ri, vom face un backup al fi\u0219ierului de configura\u021bie al ma\u0219inii 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 \u0219i vom edita originalul (<code>vm_name.xml<\/code>). Vom g\u0103si blocul cu descrierea discului (\u00eencepe cu linia <code>&lt;disk type='file' device='disk'&gt;<\/code> \u0219i se termin\u0103 cu <code>&lt;\/disk&gt;<\/code>) \u0219i \u00eel vom aduce la urm\u0103toarea form\u0103:<\/p>\n<pre><code class=\"xml\"><address \/><\/code><\/pre>\n<p>\nS\u0103 analiz\u0103m c\u00e2teva detalii:<\/p>\n<ol>\n<li> \u00cen protocolul <code>source<\/code> se specific\u0103 adresa c\u0103tre stocarea din Ceph RBD (aceasta este adresa care include numele pool-ului Ceph \u0219i imaginea RBD, care au fost definite \u00een prima etap\u0103).<\/li>\n<li> \u00cen blocul <code>secret<\/code> se indic\u0103 tipul <code>ceph<\/code>, precum \u0219i UUID-ul secretului pentru conectare la acesta. UUID-ul s\u0103u poate fi ob\u021binut folosind comanda <code>virsh secret-list<\/code>.<\/li>\n<li> \u00cen blocul <code>host<\/code> se specific\u0103 adresele monitorilor Ceph.<\/li>\n<\/ol>\n<p>\nDup\u0103 editarea fi\u0219ierului de configura\u021bie \u0219i finalizarea conversiei LVM \u00een RBD, se poate aplica fi\u0219ierul de configura\u021bie modificat \u0219i se poate porni ma\u0219ina virtual\u0103:<\/p>\n<pre><code class=\"bash\">virsh define $vm_name.xml\nvirsh start $vm_name<\/code><\/pre>\n<p>\nEste momentul s\u0103 verific\u0103m dac\u0103 ma\u0219ina virtual\u0103 a pornit corect: acest lucru poate fi verificat, de exemplu, conect\u00e2ndu-se la ea prin SSH sau prin <code>virsh<\/code>. <\/p>\n<p>Dac\u0103 ma\u0219ina virtual\u0103 func\u021bioneaz\u0103 corect \u0219i nu a\u021bi descoperit alte probleme, atunci pute\u021bi \u0219terge imaginea LVM, care nu mai este utilizat\u0103:<\/p>\n<pre><code class=\"bash\">lvremove main\/$vm_image_name<\/code><\/pre>\n<p><\/p>\n<h2>Concluzie<\/h2>\n<p>\nCu toate cazurile descrise, ne-am confruntat \u00een practic\u0103 \u2014 sper\u0103m c\u0103 instruc\u021biunile vor ajuta \u0219i al\u021bi administratori s\u0103 rezolve probleme similare. Dac\u0103 ave\u021bi observa\u021bii sau alte pove\u0219ti similare din experien\u021ba utiliz\u0103rii Ceph \u2014 ne-ar face pl\u0103cere s\u0103 le vedem \u00een comentarii!<\/p>\n<h2>P.S.<\/h2>\n<p>\nCiti\u021bi \u0219i \u00een blogul nostru:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/477680\/\">M\u00e2inile noastre nu sunt pentru plictiseal\u0103: recuperarea cluster-ului Rook \u00een K8s<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/451818\/\">Rook sau nu Rook \u2014 aceasta este \u00eentrebarea<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/348044\/\">Rook \u2014 un depozit de date \u201eauto-servit\u201d pentru Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/329666\/\">Cre\u0103m un depozit persistent cu provisioning \u00een Kubernetes bazat pe Ceph<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Sursa: <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.2.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\/ro\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47 Sfaturi \u0219i trucuri \u00een utilizarea Ceph \u00een proiecte aglomerate | ProHoster","description":"Folosind Ceph ca stocare de re\u021bea \u00een.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/77266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=77266"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/77266\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/77267"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=77266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=77266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=77266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}