{"id":33523,"date":"2019-10-31T21:53:05","date_gmt":"2019-10-31T18:53:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula\/"},"modified":"2019-10-31T21:53:05","modified_gmt":"2019-10-31T18:53:05","slug":"hranilishhe-linstor-i-ego-integratsiya-s-opennebula","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","title":{"rendered":"Stocare LINSTOR \u0219i integrarea sa cu OpenNebula","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Stocare LINSTOR \u0219i integrarea sa cu OpenNebula\" src=\"\/wp-content\/uploads\/2019\/05\/c8b6a7c02c4e5b043be327838152f8a1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nu mult timp \u00een urm\u0103, echipa de la LINBIT a prezentat noua sa solu\u021bie SDS - Linstor. Este un stocare complet liber\u0103, bazat\u0103 pe tehnologii dovedite: DRBD, LVM, ZFS. Linstor combin\u0103 simplitatea cu o arhitectur\u0103 bine g\u00e2ndit\u0103, ceea ce permite ob\u021binerea unei stabilit\u0103\u021bi \u0219i a unor rezultate destul de impresionante.<\/p>\n<p><\/p>\n<p>Ast\u0103zi a\u0219 dori s\u0103 vorbesc despre el mai \u00een detaliu \u0219i s\u0103 ar\u0103t c\u00e2t de simplu poate fi integrat cu OpenNebula folosind linstor_un - un nou driver pe care l-am dezvoltat special pentru acest scop.<\/p>\n<p><\/p>\n<p>Linstor, \u00eempreun\u0103 cu OpenNebula, permite construirea unei cloudu rapide \u0219i de \u00eencredere, care poate fi implementat f\u0103r\u0103 probleme pe infrastructura proprie.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"arhitektura-linstor\">Arhitectura Linstor<\/h2>\n<p><\/p>\n<p>Linstor nu este nici un sistem de fi\u0219iere, nici un stocare bloc \u00een sine; Linstor este un orchestrator care ofer\u0103 un strat de abstrac\u021bie ce permite automatizarea cre\u0103rii de volume \u00een LVM sau ZFS \u0219i replicarea lor cu ajutorul DRBD9.<\/p>\n<p><\/p>\n<h5 id=\"lomaem-stereotipy\">Spargem stereotipurile<\/h5>\n<p><\/p>\n<p>Dar a\u0219teapt\u0103, DRBD? \u2014 De ce s\u0103-l automatiz\u0103m \u0219i cum poate func\u021biona asta?<\/p>\n<p><\/p>\n<p>S\u0103 ne amintim de trecut, c\u00e2nd DRBD8 era foarte popular. Utilizarea standard implica crearea unei singure unit\u0103\u021bi mari de stocare bloc \u0219i \u00eemp\u0103r\u021birea acesteia \u00een multe buc\u0103\u021bi mici, folosind acela\u0219i LVM. O variant\u0103 de RAID-1 cu mdadm, dar cu replicare \u00een re\u021bea.<\/p>\n<p><\/p>\n<p>Aceast\u0103 abordare nu este lipsit\u0103 de dezavantaje, a\u0219a c\u0103 odat\u0103 cu venirea DRBD9, principiile de construire a stoc\u0103rii s-au schimbat; acum se creeaz\u0103 un dispozitiv DRBD separat pentru fiecare ma\u0219in\u0103 virtual\u0103.<\/p>\n<p><\/p>\n<p>Abordarea cu dispozitive bloc independente permite o mai bun\u0103 utilizare a spa\u021biului \u00een cluster \u0219i adaug\u0103 o serie de posibilit\u0103\u021bi suplimentare. De exemplu, pentru fiecare astfel de dispozitiv se poate defini num\u0103rul de replici, amplasarea acestora \u0219i set\u0103rile individuale. Este u\u0219or s\u0103 le cre\u0103m\/\u0219tergem, s\u0103 facem snapshot-uri, s\u0103 schimb\u0103m dimensiunea, s\u0103 activ\u0103m criptarea \u0219i multe altele. Merit\u0103 remarcat faptul c\u0103 DRBD9 suport\u0103, de asemenea, votul, care ajut\u0103 la evitarea situa\u021biilor de split-brain.<\/p>\n<p><\/p>\n<h5 id=\"resursy-i-bekendy\">Resurse \u0219i backend-uri<\/h5>\n<p><\/p>\n<p>C\u00e2nd se creeaz\u0103 un nou dispozitiv bloc, Linstor distribuie num\u0103rul necesar de replici pe diferite noduri din cluster. Fiecare astfel de replic\u0103 o vom numi resurs\u0103 DRBD.<\/p>\n<p><\/p>\n<p>Resursele sunt de dou\u0103 tipuri:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Resurs\u0103 de date<\/strong> \u2014 reprezint\u0103 un dispozitiv DRBD plasat pe un nod \u00eentr-un pool LVM sau ZFS.<br \/>\n\u00cen prezent, exist\u0103 suport pentru mai multe back-end-uri, iar num\u0103rul acestora este \u00een continu\u0103 cre\u0219tere. Exist\u0103 suport pentru LVM, ThinLVM \u0219i ZFS. Ultimele dou\u0103 permit crearea \u0219i utilizarea snapshot-urilor.<\/li>\n<li><strong>Resurs\u0103 f\u0103r\u0103 disk<\/strong> \u2014 reprezint\u0103 un dispozitiv DRBD situat pe un nod f\u0103r\u0103 back-end, dar care permite interac\u021biunea cu acesta ca \u0219i cum ar fi un dispozitiv de bloc obi\u0219nuit, toate opera\u021biile de citire\/scriere vor fi redirec\u021bionate c\u0103tre resursele de date. Cel mai apropiat omolog al resurselor f\u0103r\u0103 disk este iSCSI LUN.<\/li>\n<\/ul>\n<p><\/p>\n<p>Fiecare resurs\u0103 DRBD poate avea p\u00e2n\u0103 la 8 replici, iar doar una dintre ele poate fi activ\u0103 \u00een mod implicit \u2014 <strong>Primar<\/strong>, toate celelalte vor fi <strong>Secundar<\/strong> \u0219i utilizarea lor va fi imposibil\u0103 at\u00e2ta timp c\u00e2t exist\u0103 m\u0103car un Primar, adic\u0103 ele vor replica pur \u0219i simplu datele \u00eentre ele.<\/p>\n<p><\/p>\n<p>Mont\u00e2nd un dispozitiv DRBD \u00een sistem, acesta devine automat <strong>Primar<\/strong>, astfel \u00eenc\u00e2t chiar \u0219i resursa f\u0103r\u0103 disk, \u00een terminologia DRBD, poate fi Primar.<\/p>\n<p><\/p>\n<h5 id=\"tak-zachem-nuzhen-linstor\">Deci, de ce este necesar Linstor?<\/h5>\n<p><\/p>\n<p>Fid\u00e2nd toate sarcinile consumatoare de resurse nucleului, Linstor reprezint\u0103, de fapt, o aplica\u021bie Java obi\u0219nuit\u0103 care permite automatizarea f\u0103r\u0103 efort a cre\u0103rii resurselor DRBD.<br \/>\n\u00cen plus, fiecare resurs\u0103 creat\u0103 de el va fi un cluster DRBD independent, care func\u021bioneaz\u0103 de sine st\u0103t\u0103tor, indiferent de starea control-plane \u0219i a celorlalte resurse DRBD.<\/p>\n<p><\/p>\n<p><strong>Linstor este compus din doar dou\u0103 componente:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Linstor-controller<\/strong> \u2014 Controlerul principal, care ofer\u0103 API pentru crearea \u0219i gestionarea resurselor. De asemenea, comunic\u0103 cu sateli\u021bii, verific\u00e2nd spa\u021biul liber disponibil \u0219i trimite sarcini pentru crearea \u0219i \u0219tergerea de noi resurse. Se ruleaz\u0103 \u00eentr-un singur exemplar \u0219i folose\u0219te o baz\u0103 de date, care poate fi fie intern\u0103 (H2), fie extern\u0103 (PostgreSQL, MySQL, MariaDB).<\/li>\n<li><strong>Linstor-satellite<\/strong> \u2014 Este instalat pe toate nodurile de stocare \u0219i furnizeaz\u0103 controlerului informa\u021bii despre spa\u021biul liber, precum \u0219i execut\u0103 sarcinile primite de la controler pentru a crea \u0219i \u0219terge volume noi \u0219i dispozitive DRBD deasupra lor.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Linstor opereaz\u0103 cu urm\u0103toarele concepte cheie:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Node<\/strong> \u2014 server fizic pe care vor fi create \u0219i utilizate resursele DRBD.<\/li>\n<li><strong>Pool de stocare<\/strong> \u2014 pool LVM sau ZFS, creat pe nod unde vor fi plasate resursele DRBD. De asemenea, este posibil un pool f\u0103r\u0103 disk \u2014 acesta este un pool \u00een care vor fi plasate doar resurse f\u0103r\u0103 disk.<\/li>\n<li><strong>Definirea resursei<\/strong> \u2014 Definirea resursei, \u00een esen\u021b\u0103, aceasta este un prototip care descrie numele \u0219i toate propriet\u0103\u021bile sale.<\/li>\n<li><strong>Defini\u021bia volumului<\/strong> \u2014 Definirea volumului. Fiecare resurs\u0103 poate consta din mai multe volume, fiecare volum trebuie s\u0103 aib\u0103 o dimensiune.<\/li>\n<li><strong>Resursa<\/strong> \u2014 Instan\u021ba creat\u0103 a unui dispozitiv bloc, fiecare resurs\u0103 trebuie s\u0103 fie plasat\u0103 pe un anumit nod \u0219i \u00eentr-un anumit storage pool.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ustanovka-linstor\">Instalarea Linstor<\/h2>\n<p><\/p>\n<p>Ca sistem, recomand utilizarea Ubuntu, deoarece exist\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/launchpad.net\/~linbit\/+archive\/ubuntu\/linbit-drbd9-stack\">un PPA gata f\u0103cut<\/a><\/noindex>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">add-apt-repository ppa:linbit\/linbit-drbd9-stack\napt-get update<\/code><\/pre>\n<p><\/p>\n<p>Sau Debian, unde Linstor poate fi instalat din depozitul oficial pentru Proxmox:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">wget -O- https:\/\/packages.linbit.com\/package-signing-pubkey.asc | apt-key add -\nPVERS=5 &amp;&amp; echo \"deb http:\/\/packages.linbit.com\/proxmox\/ proxmox-$PVERS drbd-9.0\" &gt; \n    \/etc\/apt\/sources.list.d\/linbit.list\napt-get update<\/code><\/pre>\n<p><\/p>\n<h5 id=\"controller\">Controller<\/h5>\n<p><\/p>\n<p>Aici totul este simplu:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install linstor-controller linstor-client\nsystemctl enable linstor-controller\nsystemctl start linstor-controller<\/code><\/pre>\n<p><\/p>\n<h5 id=\"storage-nody\">Noduri de stocare<\/h5>\n<p><\/p>\n<p>\u00cen prezent, \u00een nucleul Linux este inclus un modul in-tree al nucleului <strong>DRBD8<\/strong>, din p\u0103cate, acesta nu ne este util \u0219i trebuie s\u0103 instal\u0103m <strong>DRBD9<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install drbd-dkms<\/code><\/pre>\n<p><\/p>\n<p>Dup\u0103 cum arat\u0103 practica, cele mai multe dificult\u0103\u021bi apar din cauza faptului c\u0103 \u00een sistem este \u00eenc\u0103rcat modul DRBD8, nu DRBD9. Din fericire, este u\u0219or de verificat prin executarea:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">modprobe drbd\ncat \/proc\/drbd<\/code><\/pre>\n<p><\/p>\n<p>Dac\u0103 vede\u021bi <strong>version: 9<\/strong> \u2014 \u00eenseamn\u0103 c\u0103 totul este \u00een ordine, dac\u0103 <strong>version: 8<\/strong> \u2014 \u00eenseamn\u0103 c\u0103 ceva nu a mers bine \u0219i trebuie s\u0103 lua\u021bi m\u0103suri suplimentare pentru a stabili cauzele.<\/p>\n<p><\/p>\n<p>Acum s\u0103 instal\u0103m <strong>linstor-satellite<\/strong> \u0219i <strong>drbd-utils<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install linstor-satellite drbd-utils\nsystemctl enable linstor-satellite\nsystemctl start linstor-satellite<\/code><\/pre>\n<p><\/p>\n<h2 id=\"sozdanie-klastera\">Crearea clusterului<\/h2>\n<p><\/p>\n<p><strong>Storage pools \u0219i noduri<\/strong><\/p>\n<p><\/p>\n<p>Ca backend, vom folosi <strong>ThinLVM<\/strong>, deoarece este cel mai simplu \u0219i suport\u0103 snapshooturi.<br \/>\nInstala\u021bi <strong>lvm2<\/strong>, dac\u0103 nu a\u021bi f\u0103cut-o deja, \u0219i s\u0103 cre\u0103m un pool ThinLVM pe toate nodurile noastre de stocare:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">sudo vgcreate drbdpool \/dev\/sdb\nsudo lvcreate -L 800G -T drbdpool\/thinpool<\/code><\/pre>\n<p><\/p>\n<p>Toate ac\u021biunile ulterioare pot fi efectuate direct pe controler:<\/p>\n<p><\/p>\n<p>S\u0103 ad\u0103ug\u0103m nodurile noastre:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor node create node1 127.0.0.11\nlinstor node create node2 127.0.0.12\nlinstor node create node3 127.0.0.13<\/code><\/pre>\n<p><\/p>\n<p>S\u0103 cre\u0103m storage pools:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor storage-pool create lvmthin node1 data drbdpool\/thinpool\nlinstor storage-pool create lvmthin node2 data drbdpool\/thinpool\nlinstor storage-pool create lvmthin node3 data drbdpool\/thinpool<\/code><\/pre>\n<p><\/p>\n<p>Acum s\u0103 verific\u0103m pool-urile create:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor storage-pool list<\/code><\/pre>\n<p><\/p>\n<p>Dac\u0103 totul a fost realizat corect, ar trebui s\u0103 vedem ceva de genul:<\/p>\n<p><\/p>\n<pre>+-------------------------------------------------------------------------------------------------------+\n| StoragePool | Node  | Driver   | PoolName          | FreeCapacity | TotalCapacity | SupportsSnapshots |\n|-------------------------------------------------------------------------------------------------------|\n| data        | node1 | LVM_THIN | drbdpool\/thinpool |       64 GiB |        64 GiB | true              |\n| data        | node2 | LVM_THIN | drbdpool\/thinpool |       64 GiB |        64 GiB | true              |\n| data        | node3 | LVM_THIN | drbdpool\/thinpool |       64 GiB |        64 GiB | true              |\n+-------------------------------------------------------------------------------------------------------+<\/pre>\n<p><\/p>\n<p><strong>Resurse DRBD<\/strong><\/p>\n<p><\/p>\n<p>Acum s\u0103 \u00eencerc\u0103m s\u0103 cre\u0103m noul nostru resurs DRBD:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource-definition create myres\nlinstor volume-definition create myres 1G\nlinstor resource create myres --auto-place 2<\/code><\/pre>\n<p><\/p>\n<p>S\u0103 verific\u0103m resursele create:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource list <\/code><\/pre>\n<p><\/p>\n<pre>+------------------------------------------------------------------------------------------------------+\n| Node  | Resource | StoragePool | VolumeNr | MinorNr | DeviceName    | Allocated  | InUse  |    State |\n|------------------------------------------------------------------------------------------------------|\n| node1 | myres    | data        | 0        | 1084    | \/dev\/drbd1084 | 52 KiB     | Unused | UpToDate |\n| node2 | myres    | data        | 0        | 1084    | \/dev\/drbd1084 | 52 KiB     | Unused | UpToDate |\n+------------------------------------------------------------------------------------------------------+<\/pre>\n<p><\/p>\n<p>Excelent! \u2014 vedem c\u0103 resursa a fost creat\u0103 pe primele dou\u0103 noduri, de asemenea putem \u00eencerca s\u0103 cre\u0103m o resurs\u0103 f\u0103r\u0103 disc pe al treilea: <\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource create --diskless node3 myres<\/code><\/pre>\n<p><\/p>\n<p>Pe noduri ve\u021bi g\u0103si \u00eentotdeauna acest dispozitiv ca <code>\/dev\/drbd1084<\/code> sau <code>\/dev\/drbd\/by-res\/myres\/0<\/code><\/p>\n<p><\/p>\n<p>A\u0219a func\u021bioneaz\u0103 Linstor, pute\u021bi ob\u021bine mai multe informa\u021bii din <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.linbit.com\/docs\/users-guide-9.0\/\">documenta\u021bia oficial\u0103<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Acum v\u0103 voi povesti despre cum s\u0103-l integra\u021bi cu OpenNebula<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-opennebula\">Configurarea OpenNebula<\/h2>\n<p><\/p>\n<p>Nu voi intra foarte mult \u00een procesul de configurare OpenNebula, deoarece toate pa\u0219ii sunt detaliat descri\u0219i \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.opennebula.org\/stable\/deployment\/opennebula_installation\/index.html\">documenta\u021bia oficial\u0103<\/a><\/noindex>, la care v\u0103 recomand s\u0103 consulta\u021bi, voi vorbi doar despre integrarea OpenNebula cu Linstor.<\/p>\n<p><\/p>\n<h5 id=\"linstor_un\">linstor_un<\/h5>\n<p><\/p>\n<p>Pentru a rezolva aceast\u0103 problem\u0103, am scris un driver propriu \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un\">linstor_un<\/a><\/noindex>, \u00een prezent acesta este disponibil sub form\u0103 de plugin \u0219i trebuie instalat separat.<\/p>\n<p><\/p>\n<p>Toat\u0103 instalarea se desf\u0103\u0219oar\u0103 pe nodurile frontend OpenNebula \u0219i nu necesit\u0103 ac\u021biuni suplimentare pe nodurile compute.<\/p>\n<p><\/p>\n<p>\u00cen primul r\u00e2nd, trebuie s\u0103 ne asigur\u0103m c\u0103 avem <strong>jq<\/strong> \u0219i <strong>linstor-client<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">apt-get install jq linstor-client<\/code><\/pre>\n<p><\/p>\n<p>Comanda <code>linstor node list<\/code> ar trebui s\u0103 afiseze lista nodurilor. Toate nodurile compute OpenNebula trebuie s\u0103 fie ad\u0103ugate \u00een clusterul Linstor.<\/p>\n<p><\/p>\n<p>S\u0103 desc\u0103rc\u0103m \u0219i s\u0103 instal\u0103m pluginul:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">curl -L https:\/\/github.com\/OpenNebula\/addon-linstor_un\/archive\/master.tar.gz | tar -xzvf - -C \/tmp\n\nmv \/tmp\/addon-linstor_un-master\/vmm\/kvm\/* \/var\/lib\/one\/remotes\/vmm\/kvm\/\n\nmkdir -p \/var\/lib\/one\/remotes\/etc\/datastore\/linstor_un\nmv \/tmp\/addon-linstor_un-master\/datastore\/linstor_un\/linstor_un.conf \/var\/lib\/one\/remotes\/etc\/datastore\/linstor_un\/linstor_un.conf\n\nmv \/tmp\/addon-linstor_un-master\/datastore\/linstor_un \/var\/lib\/one\/remotes\/datastore\/linstor_un\nmv \/tmp\/addon-linstor_un-master\/tm\/linstor_un \/var\/lib\/one\/remotes\/tm\/linstor_un\n\nrm -rf \/tmp\/addon-linstor_un-master<\/code><\/pre>\n<p><\/p>\n<p>Acum trebuie s\u0103-l ad\u0103ug\u0103m \u00een configura\u021bia OpenNebula, pentru aceasta vom urma pa\u0219ii simpli descri\u0219i <strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#update-onedconf\">aici<\/a><\/noindex><\/strong>.<\/p>\n<p><\/p>\n<p>Dup\u0103 care vom reporni OpenNebula:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">systemctl restart opennebula<\/code><\/pre>\n<p><\/p>\n<p>\u0218i vom ad\u0103uga stoc\u0103rile noastre, sistemul:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">cat &gt; system-ds.conf &lt;&lt;EOT\nNAME=&quot;linstor-system&quot;\nTYPE=&quot;SYSTEM_DS&quot;\nSTORAGE_POOL=&quot;data&quot;\nAUTO_PLACE=&quot;2&quot;\nCLONE_MODE=&quot;snapshot&quot;\nCHECKPOINT_AUTO_PLACE=&quot;1&quot;\nBRIDGE_LIST=&quot;node1 node2 node3&quot;\nTM_MAD=&quot;linstor_un&quot;\nEOT\n\nonedatastore create system-ds.conf<\/code><\/pre>\n<p><\/p>\n<p>\u0218i stocarea imaginilor:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">cat &gt; images-ds.conf &lt;&lt;EOT\nNAME=&quot;linstor-images&quot;\nTYPE=&quot;IMAGE_DS&quot;\nSTORAGE_POOL=&quot;data&quot;\nAUTO_PLACE=&quot;2&quot;\nBRIDGE_LIST=&quot;node1 node2 node3&quot;\nDISK_TYPE=&quot;BLOCK&quot;\nDS_MAD=&quot;linstor_un&quot;\nTM_MAD=&quot;linstor_un&quot;\nEOT\n\nonedatastore create images-ds.conf<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>Parametru <code>AUTO_PLACE<\/code> arat\u0103 num\u0103rul de replici de date care vor fi create pentru fiecare nou\u0103 imagine \u00een OpenNebula.<\/li>\n<li>Parametru <code>CLONE_MODE<\/code> indic\u0103 modul \u00een care vor fi clonat\u0103 imaginile la crearea de noi ma\u0219ini virtuale, <code>snapshot<\/code> \u2014 va crea un snapshot al imaginii \u0219i va desf\u0103\u0219ura ma\u0219ina virtual\u0103 din snapshot, <code>copy<\/code> \u2014 va face o copie complet\u0103 a imaginii pentru fiecare ma\u0219in\u0103 virtual\u0103.<\/li>\n<li>\u00cen <code>BRIDGE_LIST<\/code> se recomand\u0103 s\u0103 specifica\u021bi toate nodurile care vor fi utilizate pentru efectuarea opera\u021biunilor de clonare a imaginilor. <\/li>\n<\/ul>\n<p><\/p>\n<p>Lista complet\u0103 a parametrilor suportati este prezentat\u0103 \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#opennebula-configuration\">README<\/a><\/noindex> a proiectului.<\/p>\n<p><\/p>\n<p>Cu aceasta, configura\u021bia este finalizat\u0103, acum putem \u00eenc\u0103rca un appliance din oficialul <noindex><a rel=\"nofollow\" href=\"https:\/\/marketplace.opennebula.systems\/appliance\">OpenNebula Marketplace<\/a><\/noindex> \u0219i s\u0103 cre\u0103m ma\u0219ini virtuale din aceasta.<\/p>\n<p><\/p>\n<p>Linkul c\u0103tre proiect:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un\">https:\/\/github.com\/OpenNebula\/addon-linstor_un<\/a><\/noindex><\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/451186\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 LINBIT \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0441\u0432\u043e\u0435 \u043d\u043e\u0432\u043e\u0435 SDS-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 Linstor. \u042d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438: DRBD, LVM, ZFS. Linstor \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u043d\u0443\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e \u043d\u0435\u0433\u043e \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25221,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33523","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.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 LINBIT.\" \/>\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\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\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\udd47\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 LINSTOR \u0438 \u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 OpenNebula | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 LINBIT.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula\" \/>\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=\"2019-10-31T18:53:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:53:05+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\udd47Stocarea LINSTOR \u0219i integrarea sa cu OpenNebula | ProHoster","description":"Nu cu mult timp \u00een urm\u0103, echipa de la LINBIT.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","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\udd47\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 LINSTOR \u0438 \u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 OpenNebula | ProHoster","og:description":"\u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0440\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 LINBIT.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","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":"2019-10-31T18:53:05+00:00","article:modified_time":"2019-10-31T18:53:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33523","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":"2026-01-21 15:38:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:39:22","updated":"2026-01-21 15:38:20","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\/33523","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=33523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/33523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/25221"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=33523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=33523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=33523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}