{"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\/da\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","title":{"rendered":"Tips &amp; tricks til arbejde med Ceph i tunge projekter","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tips &amp; tricks til arbejde med Ceph i belastede projekter\" src=\"\/wp-content\/uploads\/2020\/04\/1d60f91e55b20a5dc4346bd8087bc11e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVed at bruge Ceph som netv\u00e6rkslagring i forskellige belastningsprojekter kan vi st\u00f8de p\u00e5 forskellige opgaver, som ved f\u00f8rste \u00f8jekast ikke synes simple eller trivielle. For eksempel:<\/p>\n<ul>\n<li> migration af data fra gammel Ceph til ny med delvis brug af tidligere servere i den nye klynge;<\/li>\n<li> l\u00f8sning af problemet med partitionering af diskplads i Ceph.<\/li>\n<\/ul>\n<p>\nN\u00e5r vi besk\u00e6ftiger os med s\u00e5danne opgaver, st\u00f8der vi p\u00e5 n\u00f8dvendigheden af korrekt at udtr\u00e6kke OSD uden datatab, hvilket er s\u00e6rligt relevant ved store datam\u00e6ngder. Det handler denne artikel om.<\/p>\n<p>De metoder, der er beskrevet nedenfor, er relevante for alle versioner af Ceph. Derudover vil der blive taget h\u00f8jde for, at Ceph kan opbevare store datam\u00e6ngder: for at forhindre datatab og andre problemer, vil nogle handlinger blive \"opdelt\" i flere andre.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Forord om OSD<\/h3>\n<p>\nDa to ud af de tre betragtede opskrifter er dedikeret til OSD (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/master\/man\/8\/ceph-osd\/\">Object Storage Daemon<\/a><\/noindex>), f\u00f8r vi g\u00e5r ind i den praktiske del \u2014 kort om, hvad det overhovedet er i Ceph, og hvorfor det er s\u00e5 vigtigt.<\/p>\n<p>F\u00f8rst og fremmest skal det siges, at hele Ceph-klyngen best\u00e5r af mange OSD'er. Jo flere de er, jo st\u00f8rre er den frie datam\u00e6ngde i Ceph. Herfra er det let at forst\u00e5 <b>den prim\u00e6re funktion af OSD<\/b>: den gemmer Ceph-objekter p\u00e5 filsystemerne p\u00e5 alle nodernes klynge og giver netv\u00e6rksadgang til dem (for l\u00e6sning, skrivning og andre foresp\u00f8rgsler).<\/p>\n<p>P\u00e5 dette niveau indstilles replikeringsparametrene ved at kopiere objekter mellem forskellige OSD. Og her kan man st\u00f8de p\u00e5 forskellige problemer, som vi vil tale om nedenfor.<\/p>\n<h2>Case Nr. 1. Sikker udtr\u00e6kning af OSD fra Ceph-klyngen uden datatab.<\/h2>\n<p>\nN\u00f8dvendigheden af at udtr\u00e6kke OSD kan v\u00e6re for\u00e5rsaget af udtr\u00e6kning af serveren fra klyngen \u2014 for eksempel til udskiftning med en anden server, \u2014 som skete for os, hvilket blev grundlaget for at skrive artiklen. S\u00e5ledes er det endelige m\u00e5l med manipulationerne at udtr\u00e6kke alle OSD'er og mon'er p\u00e5 denne server, s\u00e5 den kan stoppes.<\/p>\n<p>For bekvemmelighedens skyld og for at undg\u00e5 en situation, hvor vi i l\u00f8bet af kommandok\u00f8rslen laver fejl med at angive den n\u00f8dvendige OSD, lad os definere en separat variabel, hvis v\u00e6rdi vil v\u00e6re nummeret p\u00e5 den OSD, der skal fjernes. Lad os kalde den <code>${ID}<\/code> \u2014 her og fremover erstatter en s\u00e5dan variabel nummeret p\u00e5 den OSD, vi arbejder med.<\/p>\n<p>Lad os se p\u00e5 tilstanden f\u00f8r p\u00e5begyndelse af arbejdet:<\/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     op     1.00000  1.00000\n-7       0.15619      host hv-3\n 2   ssd 0.15619      osd.2     op     1.00000  1.00000<\/code><\/pre>\n<p>\nFor at starte sletningen af OSD, skal vi gradvist <code>reweight<\/code> den til nul. P\u00e5 den m\u00e5de reducerer vi m\u00e6ngden af data i OSD ved at balancere til andre OSD. For dette udf\u00f8res f\u00f8lgende kommandoer:<\/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 og s\u00e5 videre ned til nul.<\/p>\n<p><b>Gradvis balancering er n\u00f8dvendig<\/b>, for ikke at miste data. Dette er is\u00e6r relevant, hvis OSD indeholder en stor m\u00e6ngde data. For at v\u00e6re sikker p\u00e5, at efter udf\u00f8relsen af kommandoerne <code>reweight<\/code> det hele er g\u00e5et godt, kan man udf\u00f8re <code>ceph -s<\/code> eller i et separat terminalvindue starte <code>ceph -w<\/code> for at overv\u00e5ge \u00e6ndringer i realtid.<\/p>\n<p>N\u00e5r OSD er \"t\u00f8mt\", kan vi p\u00e5begynde den standardoperation, der kr\u00e6ves for at slette den. For at g\u00f8re dette vil vi s\u00e6tte den \u00f8nskede OSD i tilstanden <code>down<\/code>:<\/p>\n<pre><code class=\"bash\">ceph osd down osd.${ID}<\/code><\/pre>\n<p>\n\"Tage\" OSD ud af klyngen:<\/p>\n<pre><code class=\"bash\">ceph osd out osd.${ID}<\/code><\/pre>\n<p>\nStoppe OSD-tjenesten og afmontere dens partition i FS:<\/p>\n<pre><code class=\"bash\">systemctl stop ceph-osd@${ID}\numount \/var\/lib\/ceph\/osd\/ceph-${ID}<\/code><\/pre>\n<p>\nFjerne OSD fra <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/nautilus\/rados\/operations\/crush-map\/\">CRUSH-kortet<\/a><\/noindex>:<\/p>\n<pre><code class=\"bash\">ceph osd crush remove osd.${ID}<\/code><\/pre>\n<p>\nFjerne OSD-brugeren:<\/p>\n<pre><code class=\"bash\">ceph auth del osd.${ID}<\/code><\/pre>\n<p>\nOg til sidst fjerne selve OSD:<\/p>\n<pre><code class=\"bash\">ceph osd rm osd.${ID}<\/code><\/pre>\n<p>\n<b>Bem\u00e6rk<\/b>: Hvis du bruger Ceph Luminous-versionen eller h\u00f8jere, kan de ovenfor beskrevne skridt for at slette OSD reduceres til to kommandoer:<\/p>\n<pre><code class=\"bash\">ceph osd out osd.${ID}\nceph osd purge osd.${ID}\n<\/code><\/pre>\n<p>\nHvis du efter at have udf\u00f8rt de beskrevne skridt udf\u00f8rer kommandoen <code>ceph osd tree<\/code>, skal du kunne se, at der ikke l\u00e6ngere er OSD p\u00e5 serveren, hvor arbejdet blev udf\u00f8rt, for hvilke operationer ovenfor blev udf\u00f8rt:<\/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    op     1.00000  1.00000<\/code><\/pre>\n<p>\nSamtidig bem\u00e6rker vi, at tilstanden af Ceph-klyngen vil \u00e6ndre sig til <code>HEALTH_WARN<\/code>, og vi vil ogs\u00e5 se en reduktion i antallet af OSD og den tilg\u00e6ngelige diskplads. <\/p>\n<p>Dern\u00e6st vil jeg beskrive de handlinger, der er n\u00f8dvendige, hvis du \u00f8nsker at stoppe serveren helt og dermed fjerne den fra Ceph. I s\u00e5 fald er det vigtigt at huske, at <b>f\u00f8r serveren sl\u00e5s fra, skal alle OSD<\/b> p\u00e5 denne server fjernes.<\/p>\n<p>Hvis der ikke l\u00e6ngere er OSD tilbage p\u00e5 denne server, skal serveren derefter undg\u00e5s fra OSD-kortet <code>hv-2<\/code>, ved at udf\u00f8re f\u00f8lgende kommando:<\/p>\n<pre><code class=\"bash\">ceph osd crush rm hv-2<\/code><\/pre>\n<p>\nFjerne <code>mon<\/code> fra serveren <code>hv-2<\/code>, ved at k\u00f8re kommandoen nedenfor p\u00e5 en anden server (dvs. i dette tilf\u00e6lde \u2014 p\u00e5 <code>hv-1<\/code>):<\/p>\n<pre><code class=\"bash\">ceph-deploy mon destroy hv-2<\/code><\/pre>\n<p>\nEfter dette kan serveren stoppe, og man kan g\u00e5 videre til de n\u00e6ste skridt (som genudrulning osv.).<\/p>\n<h2>Case nr. 2. Fordeling af diskplads i et allerede oprettet Ceph-kluster<\/h2>\n<p>\nDen anden historie begynder med en introduktion til PG (<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/mimic\/rados\/operations\/placement-groups\/\">Placement Groups<\/a><\/noindex>). Den prim\u00e6re rolle af PG i Ceph er f\u00f8rst og fremmest at aggregere Ceph-objekter og efterf\u00f8lgende replikere dem i OSD. Formlen, som bruges til at beregne det n\u00f8dvendige antal PG, findes i <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ceph.com\/docs\/mimic\/rados\/operations\/placement-groups\/#choosing-the-number-of-placement-groups\">den relevante sektion<\/a><\/noindex> af Ceph-dokumentationen. Her bliver sp\u00f8rgsm\u00e5let ogs\u00e5 behandlet med konkrete eksempler.<\/p>\n<p>S\u00e5: et af de almindelige problemer under driften af Ceph er, at antallet af OSD og PG er ubalanceret mellem puljerne i Ceph.<\/p>\n<p>For det f\u00f8rste kan det f\u00f8re til en situation, hvor der angives for mange PG i en lille pulje, hvilket i princippet er en irrationel udnyttelse af diskpladsen i klustret. For det andet opst\u00e5r der i praksis et mere alvorligt problem: overbelastning af data i et af OSD'erne. Dette medf\u00f8rer, at klustret f\u00f8rst g\u00e5r ind i tilstanden <code>HEALTH_WARN<\/code>, og derefter <code>HEALTH_ERR<\/code>. \u00c5rsagen til dette er, at Ceph ved beregning af den tilg\u00e6ngelige datam\u00e6ngde (den kan findes ved at bruge <code>MAX AVAIL<\/code> i udgangen af kommandoen <code>ceph df<\/code> for hver pulje individuelt) baserer sig p\u00e5 m\u00e6ngden af tilg\u00e6ngelige data i OSD. Hvis der i et OSD ikke er tilstr\u00e6kkelig plads, kan der ikke skrives flere data, f\u00f8r dataene er fordelt korrekt mellem alle OSD.<\/p>\n<p>Det er v\u00e6rd at pr\u00e6cisere, at disse problemer <b>i h\u00f8jere grad l\u00f8ses i konfigurationsfasen af Ceph-klusteret<\/b>. Et af de v\u00e6rkt\u00f8jer, man kan bruge, er <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>. Med det kan man visuelt beregne det n\u00f8dvendige antal PG. I \u00f8vrigt kan man ogs\u00e5 ty til det i situationer, hvor Ceph-klusteret <i>allerede<\/i> er konfigureret forkert. Her skal det pr\u00e6ciseres, at i forbindelse med arbejdet med at rette problemerne, vil det h\u00f8jst sandsynligt v\u00e6re n\u00f8dvendigt at reducere antallet af PG, men denne mulighed er ikke tilg\u00e6ngelig i gamle versioner af Ceph (den kom f\u00f8rst med version <noindex><a rel=\"nofollow\" href=\"https:\/\/ceph.com\/rados\/new-in-nautilus-pg-merging-and-autotuning\/\">Nautilus<\/a><\/noindex>).<\/p>\n<p>Forestil dig nu f\u00f8lgende billede: klusteret har en status <code>HEALTH_WARN<\/code> fordi der i en af OSD'erne er ved at v\u00e6re plads. Dette vil blive indikeret ved fejlen <code>HEALTH_WARN: 1 near full osd<\/code>. Nedenfor er algoritmen for at komme ud af en s\u00e5dan situation.<\/p>\n<p>F\u00f8rst og fremmest skal de nuv\u00e6rende data fordeles mellem de resterende OSD. Denne operation har vi allerede udf\u00f8rt i det f\u00f8rste tilf\u00e6lde, da vi \"t\u00f8mte\" noden - med den eneste forskel, at vi nu skal reducere en smule. <code>reweight<\/code>. For eksempel til 0.95:<\/p>\n<pre><code class=\"bash\">ceph osd reweight osd.${ID} 0.95<\/code><\/pre>\n<p>\nDette frig\u00f8r diskplads i OSD og retter fejlen i ceph health. Men som tidligere n\u00e6vnt opst\u00e5r dette problem hovedsageligt p\u00e5 grund af forkert konfiguration af Ceph i de tidlige faser: det er meget vigtigt at foretage en rekonstruktion, s\u00e5 det ikke viser sig i fremtiden.<\/p>\n<p>I vores specifikke tilf\u00e6lde handlede det om:<\/p>\n<ul>\n<li> for stort et v\u00e6rdi <code>replication_count<\/code> i en af puljerne,<\/li>\n<li> for h\u00f8jt antal PG i en pulje og for lavt - i en anden. <\/li>\n<\/ul>\n<p>\nLad os bruge den allerede n\u00e6vnte kalkulator. Den viser tydeligt, hvad der skal indtastes, og der er i princippet ikke noget kompliceret ved det. Ved at angive de n\u00f8dvendige parametre f\u00e5r vi f\u00f8lgende anbefalinger:<\/p>\n<p><i><b>Bem\u00e6rk<\/b>: hvis du konfigurerer et Ceph-cluster fra bunden, vil en anden nyttig funktion i kalkulatoren v\u00e6re genereringen af kommandoer, der opretter puljer fra bunden med de parametre, der er angivet i tabellen.<\/i><\/p>\n<p>Det sidste kolonne hj\u00e6lper med orienteringen - <i>Suggested PG Count<\/i>. I vores tilf\u00e6lde er den anden ogs\u00e5 nyttig, hvor replikeringsparameteren er angivet, da vi har besluttet at \u00e6ndre og replikeringsfaktoren.<\/p>\n<p>S\u00e5 f\u00f8rst skal vi \u00e6ndre replikeringsparametrene - dette b\u00f8r g\u00f8res f\u00f8rst, da vi ved at reducere faktoren frig\u00f8r diskplads. Under udf\u00f8relsen af kommandoen kan det bem\u00e6rkes, at v\u00e6rdien af den tilg\u00e6ngelige diskplads vil stige:<\/p>\n<pre><code class=\"bash\">ceph osd pool $pool_name set $replication_size<\/code><\/pre>\n<p>\nOg efter at den er afsluttet - \u00e6ndrer vi v\u00e6rdierne af parametrene <code>pg_num<\/code> og <code>pgp_num<\/code> som f\u00f8lger:<\/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>Det er vigtigt<\/b>: vi skal sekventielt \u00e6ndre antallet af PG i hver pulje og ikke \u00e6ndre v\u00e6rdierne i andre puljer, indtil advarslerne forsvinder <i>\u00abDegraded data redundancy\u00bb<\/i> og <i>\u00abn-number of pgs degraded\u00bb<\/i>.<\/p>\n<p>For at kontrollere, at alt er g\u00e5et godt, kan man ogs\u00e5 se p\u00e5 output fra kommandoerne <code>ceph health detail<\/code> og <code>ceph -s<\/code>.<\/p>\n<h2>Case nr. 3. Migration af virtuel maskine fra LVM til Ceph RBD<\/h2>\n<p>\nI situationer, hvor der anvendes virtuelle maskiner, der er installeret p\u00e5 leasede bare-metal servere, opst\u00e5r ofte sp\u00f8rgsm\u00e5let om fejltolerance lager. Og det er ogs\u00e5 meget \u00f8nskeligt, at der er tilstr\u00e6kkelig plads i dette lager\u2026 En anden almindelig situation er, at der er en virtuel maskine med lokalt lager p\u00e5 serveren, og det er n\u00f8dvendigt at udvide diskens st\u00f8rrelse, men der er ikke plads, da der ikke er ledig diskplads p\u00e5 serveren.<\/p>\n<p>Problemet kan l\u00f8ses p\u00e5 forskellige m\u00e5der \u2014 for eksempel ved at migrere til en anden server (hvis en s\u00e5dan findes) eller ved at tilf\u00f8je nye diske til serveren. Men det er ikke altid muligt, s\u00e5 migration fra LVM til Ceph kan v\u00e6re en fremragende l\u00f8sning p\u00e5 dette problem. Ved at v\u00e6lge denne mulighed forenkler vi ogs\u00e5 den videre migrationsproces mellem serverne, da det ikke vil v\u00e6re n\u00f8dvendigt at flytte det lokale lager fra en hypervisor til en anden. Den eneste hage er, at det bliver n\u00f8dvendigt at stoppe VM'en i l\u00f8bet af arbejdet.<\/p>\n<p>Som det f\u00f8lgende opskrift er der taget <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\">en artikel fra denne blog<\/a><\/noindex>, hvis instruktioner er blevet afpr\u00f8vet i praksis. Forresten, <b>er der ogs\u00e5 beskrevet en metode til migrations uden nedetid<\/b>, men i vores tilf\u00e6lde var det simpelthen ikke n\u00f8dvendigt, s\u00e5 vi har ikke testet det. Hvis dette er kritisk for dit projekt, ville vi v\u00e6re glade for at h\u00f8re om resultaterne i kommentarerne.<\/p>\n<p>Lad os g\u00e5 i gang med den praktiske del. I eksemplet bruger vi virsh og dermed libvirt. F\u00f8rst skal du sikre dig, at Ceph-poolen, hvortil dataene vil blive migreret, er tilsluttet libvirt:<\/p>\n<pre><code class=\"bash\">virsh pool-dumpxml $ceph_pool<\/code><\/pre>\n<p>\nI beskrivelsen af poolen skal der v\u00e6re forbindelsesdata til Ceph med autentificeringsoplysninger. <\/p>\n<p>Det n\u00e6ste trin indeb\u00e6rer, at LVM-billedet konverteres til Ceph RBD. Udf\u00f8relsestiden afh\u00e6nger prim\u00e6rt af st\u00f8rrelsen p\u00e5 billedet:<\/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>\nEfter konverteringen vil der v\u00e6re et LVM-billede tilbage, hvilket vil v\u00e6re nyttigt, hvis det ikke lykkes at migrere VM'en til RBD, og \u00e6ndringerne skal rulles tilbage. Derudover \u2014 for at kunne rulle \u00e6ndringer hurtigt tilbage \u2014 vil vi tage en backup af konfigurationsfilen for den virtuelle maskine:<\/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 og redigere originalen (<code>vm_name.xml<\/code>). Vi finder blokken med beskrivelsen af disken (den begynder med linjen <code>&lt;disk type='file' device='disk'&gt;<\/code> og slutter med <code>&lt;\/disk&gt;<\/code>) og bringe det til f\u00f8lgende form:<\/p>\n<pre><code class=\"xml\"><address \/><\/code><\/pre>\n<p>\nLad os se p\u00e5 nogle detaljer:<\/p>\n<ol>\n<li> I protokollen <code>source<\/code> angives adressen til lageret i Ceph RBD (dette er adressen med angivelse af navnet p\u00e5 Ceph-poolen og RBD-igenstanden, som blev defineret i det f\u00f8rste trin).<\/li>\n<li> I blokken <code>hemmelig<\/code> angives typen <code>ceph<\/code>, samt UUID'et for hemmeligheden til at oprette forbindelse til den. Dens uuid kan findes ved at bruge kommandoen <code>virsh secret-list<\/code>.<\/li>\n<li> I blokken <code>host<\/code> opgives adresserne til Ceph-moniitorerne.<\/li>\n<\/ol>\n<p>\nEfter redigering af konfigurationsfilen og afslutning af konverteringen fra LVM til RBD kan den \u00e6ndrede konfigurationsfil anvendes og den virtuelle maskine startes:<\/p>\n<pre><code class=\"bash\">virsh define $vm_name.xml\nvirsh start $vm_name<\/code><\/pre>\n<p>\nDet er nu tid til at tjekke, om den virtuelle maskine startede korrekt: det kan f.eks. g\u00f8res ved at oprette forbindelse via SSH eller gennem <code>virsh<\/code>. <\/p>\n<p>Hvis den virtuelle maskine fungerer korrekt, og du ikke har opdaget andre problemer, kan LVM-igenstanden, som ikke l\u00e6ngere bruges, slettes:<\/p>\n<pre><code class=\"bash\">lvremove main\/$vm_image_name<\/code><\/pre>\n<p><\/p>\n<h2>Konklusion<\/h2>\n<p>\nVi har st\u00f8dt p\u00e5 alle de beskrevne tilf\u00e6lde i praksis \u2014 vi h\u00e5ber, at instruktionerne vil hj\u00e6lpe andre administratorer med at l\u00f8se lignende problemer. Hvis du har kommentarer eller andre lignende historier fra erfaringen med Ceph \u2014 vil vi v\u00e6re glade for at se dem i kommentarerne!<\/p>\n<h2>P.S.<\/h2>\n<p>\nL\u00e6s ogs\u00e5 p\u00e5 vores blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/477680\/\">Vores h\u00e6nder er ikke til kedsomhed: gendannelse af Rook-klusteret i K8s<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/451818\/\">Rook eller ikke Rook \u2014 det er sp\u00f8rgsm\u00e5let<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/348044\/\">Rook er et \"selvbetjenings\" datalager til Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/329666\/\">Opretter vedvarende lager med provisioning i Kubernetes baseret p\u00e5 Ceph<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Tips &amp; tricks til arbejde med Ceph i belastede projekter | ProHoster","description":"Ved at bruge Ceph som netv\u00e6rkslager i.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/tips-tricks-v-rabote-s-ceph-v-nagruzhennyh-proektah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/77266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=77266"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/77266\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/77267"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=77266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=77266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=77266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}