{"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\/sq\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","title":{"rendered":"Ruajtja LINSTOR dhe integrimi i saj me OpenNebula","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ruajtja LINSTOR dhe integrimi i saj me OpenNebula\" src=\"\/wp-content\/uploads\/2019\/05\/c8b6a7c02c4e5b043be327838152f8a1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jo shum\u00eb koh\u00eb m\u00eb par\u00eb, ekipi i LINBIT prezantoi zgjidhjen e re SDS, Linstor. Kjo \u00ebsht\u00eb nj\u00eb platform\u00eb ruajtjeje plot\u00ebsisht open-source, e nd\u00ebrtuar mbi teknologji t\u00eb provuara si DRBD, LVM dhe ZFS. Linstor kombinon thjesht\u00ebsin\u00eb me nj\u00eb arkitektur\u00eb t\u00eb menduar mir\u00eb, duke ofruar stabilitet dhe performanc\u00eb mbres\u00ebl\u00ebn\u00ebse.<\/p>\n<p><\/p>\n<p>Sot dua t\u00eb flas pak m\u00eb n\u00eb detaje p\u00ebr t\u00eb dhe t\u00eb tregoj sa leht\u00eb mund t\u00eb integrohet me OpenNebula duke p\u00ebrdorur linstor_un \u2014 nj\u00eb driver i ri q\u00eb e kam zhvilluar posa\u00e7\u00ebrisht p\u00ebr k\u00ebt\u00eb q\u00ebllim.<\/p>\n<p><\/p>\n<p>Linstor, n\u00eb kombinim me OpenNebula, ju lejon t\u00eb nd\u00ebrtoni nj\u00eb cloud t\u00eb shpejt\u00eb dhe t\u00eb besuesh\u00ebm, q\u00eb mund t\u00eb vendoset pa v\u00ebshtir\u00ebsi n\u00eb infrastruktur\u00ebn tuaj.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"arhitektura-linstor\">Arkitektura e Linstor<\/h2>\n<p><\/p>\n<p>Linstor nuk \u00ebsht\u00eb as sistem skedar\u00ebsh dhe as ruajtje blloqesh n\u00eb vetvete; Linstor \u00ebsht\u00eb nj\u00eb orkestrues q\u00eb ofron nj\u00eb shtres\u00eb abstraksioni, e cila mund\u00ebson automatizimin e krijimit t\u00eb volumeve n\u00eb LVM ose ZFS dhe replikimin e tyre me ndihm\u00ebn e DRBD9.<\/p>\n<p><\/p>\n<h5 id=\"lomaem-stereotipy\">Thyejm\u00eb stereotipet<\/h5>\n<p><\/p>\n<p>Por prisni, DRBD? \u2014 Pse duhet automatizuar dhe si mund t\u00eb funksionoj\u00eb kjo n\u00eb praktik\u00eb?<\/p>\n<p><\/p>\n<p>Le t\u00eb kthehemi pak pas n\u00eb koh\u00eb, kur DRBD8 ishte gjer\u00ebsisht i p\u00ebrdorur. P\u00ebrdorimi standard i tij n\u00ebnkuptonte krijimin e nj\u00eb pajisjeje t\u00eb madhe blloku dhe ndarjen e saj n\u00eb shum\u00eb pjes\u00eb t\u00eb vogla, me ndihm\u00ebn e LVM. Di\u00e7ka e ngjashme me mdadm RAID-1, por me replikim p\u00ebrmes rrjetit.<\/p>\n<p><\/p>\n<p>Kjo qasje ka mang\u00ebsit\u00eb e veta, prandaj me ardhjen e DRBD9 parimet e nd\u00ebrtimit t\u00eb ruajtjes ndryshuan: tani p\u00ebr \u00e7do makin\u00eb virtuale krijohet nj\u00eb pajisje DRBD e ve\u00e7ant\u00eb.<\/p>\n<p><\/p>\n<p>Qasja me pajisje blloku t\u00eb pavarura mund\u00ebson shfryt\u00ebzim m\u00eb t\u00eb mir\u00eb t\u00eb hap\u00ebsir\u00ebs n\u00eb klaster dhe, gjithashtu, shton nj\u00eb s\u00ebr\u00eb mund\u00ebsish t\u00eb tjera. P\u00ebr shembull, p\u00ebr secil\u00ebn prej k\u00ebtyre pajisjeve mund t\u00eb p\u00ebrcaktohet numri i replikave, vendosja e tyre dhe parametrat individual\u00eb. Ato krijohen dhe fshihen leht\u00ebsisht, mund t\u00eb b\u00ebhen snapshot-e, t\u00eb ndryshohet madh\u00ebsia, t\u00eb aktivizohet enkriptimi dhe shum\u00eb m\u00eb tep\u00ebr. Vlen t\u00eb theksohet se DRBD9 mb\u00ebshtet gjithashtu quorum, i cili ndihmon n\u00eb shmangien e situatave split-brain.<\/p>\n<p><\/p>\n<h5 id=\"resursy-i-bekendy\">Burimet dhe backend-et<\/h5>\n<p><\/p>\n<p>Kur krijon nj\u00eb pajisje t\u00eb re blloku, Linstor vendos numrin e nevojsh\u00ebm t\u00eb replikave n\u00eb nyje t\u00eb ndryshme t\u00eb klasterit. Secil\u00ebn prej k\u00ebtyre replikave do ta quajm\u00eb burim DRBD.<\/p>\n<p><\/p>\n<p>Burimet jan\u00eb t\u00eb dy llojeve:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Burim Data<\/strong> \u2014 jan\u00eb nj\u00eb pajisje DRBD e vendosur n\u00eb nyje brenda nj\u00eb pool-i LVM ose ZFS.<br \/>\nAktualisht mb\u00ebshteten disa backend-e dhe numri i tyre po rritet vazhdimisht. Ka mb\u00ebshtetje p\u00ebr LVM, ThinLVM dhe ZFS. Dy t\u00eb fundit lejojn\u00eb krijimin dhe p\u00ebrdorimin e snapshot-eve.<\/li>\n<li><strong>Burim Diskless<\/strong> \u2014 \u00ebsht\u00eb nj\u00eb pajisje DRBD e vendosur n\u00eb nj\u00eb nyje pa backend, por q\u00eb lejon t\u00eb p\u00ebrdoret si nj\u00eb pajisje e zakonshme blloku; t\u00eb gjitha operacionet e leximit\/shkrimit do t\u00eb ridrejtohen te burimet data. Analogu m\u00eb i af\u00ebrt me burimet diskless \u00ebsht\u00eb iSCSI LUN.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c7do burim DRBD mund t\u00eb ket\u00eb deri n\u00eb 8 replika, dhe si parazgjedhje vet\u00ebm nj\u00ebra prej tyre mund t\u00eb jet\u00eb aktive \u2014 <strong>Primary<\/strong>, nd\u00ebrsa t\u00eb gjitha t\u00eb tjerat do t\u00eb jen\u00eb <strong>Secondary<\/strong> dhe p\u00ebrdorimi i tyre do t\u00eb jet\u00eb i pamundur p\u00ebr sa koh\u00eb q\u00eb ekziston t\u00eb pakt\u00ebn nj\u00eb Primary, pra ato thjesht do t\u00eb replikojn\u00eb t\u00eb dh\u00ebnat mes tyre.<\/p>\n<p><\/p>\n<p>Kur pajisja DRBD montohet n\u00eb sistem, ajo b\u00ebhet automatikisht <strong>Primary<\/strong>, k\u00ebshtu q\u00eb edhe nj\u00eb burim Diskless, sipas terminologjis\u00eb s\u00eb DRBD, mund t\u00eb jet\u00eb Primary.<\/p>\n<p><\/p>\n<h5 id=\"tak-zachem-nuzhen-linstor\">At\u00ebher\u00eb, pse nevojitet Linstor?<\/h5>\n<p><\/p>\n<p>Duke ia besuar kernel-it t\u00eb gjitha detyrat q\u00eb k\u00ebrkojn\u00eb shum\u00eb burime, Linstor n\u00eb thelb \u00ebsht\u00eb nj\u00eb aplikacion i zakonsh\u00ebm Java q\u00eb ju lejon t\u00eb automatizoni leht\u00ebsisht krijimin e burimeve DRBD.<br \/>\nNj\u00ebkoh\u00ebsisht, \u00e7do burim i krijuar prej tij p\u00ebrfaq\u00ebson nj\u00eb klaster t\u00eb pavarur DRBD, i cili funksionon n\u00eb m\u00ebnyr\u00eb autonome, pavar\u00ebsisht gjendjes s\u00eb control-plane dhe burimeve t\u00eb tjera DRBD.<\/p>\n<p><\/p>\n<p><strong>Linstor p\u00ebrb\u00ebhet vet\u00ebm nga dy komponent\u00eb:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Linstor-controller<\/strong> \u2014 Kontrolluesi kryesor, i cili ofron API p\u00ebr krijimin dhe menaxhimin e burimeve. Ai komunikon edhe me satelit\u00ebt, duke kontrolluar hap\u00ebsir\u00ebn e lir\u00eb n\u00eb to, dhe d\u00ebrgon detyra p\u00ebr krijimin dhe fshirjen e burimeve t\u00eb reja. Niset n\u00eb nj\u00eb instanc\u00eb t\u00eb vetme dhe p\u00ebrdor nj\u00eb baz\u00eb t\u00eb dh\u00ebnash, e cila mund t\u00eb jet\u00eb si e brendshme (H2), ashtu edhe e jashtme (PostgreSQL, MySQL, MariaDB)<\/li>\n<li><strong>Linstor-satellite<\/strong> \u2014 Instalohet n\u00eb t\u00eb gjitha nyjet e storage dhe i jep kontrolluesit informacion p\u00ebr hap\u00ebsir\u00ebn e lir\u00eb, si edhe ekzekuton detyrat e marra nga kontrolluesi p\u00ebr krijimin dhe fshirjen e volumeve t\u00eb reja dhe t\u00eb pajisjeve DRBD mbi to.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Linstor p\u00ebrdor konceptet kryesore t\u00eb m\u00ebposhtme:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Nyja<\/strong> \u2014 serveri fizik mbi t\u00eb cilin do t\u00eb krijohen dhe p\u00ebrdoren burimet DRBD.<\/li>\n<li><strong>Storage Pool<\/strong> \u2014 nj\u00eb pool LVM ose ZFS i krijuar n\u00eb nyje, ku do t\u00eb vendosen burimet DRBD. \u00cbsht\u00eb i mundur edhe nj\u00eb pool diskless \u2014 ky \u00ebsht\u00eb nj\u00eb pool ku do t\u00eb vendosen vet\u00ebm burime diskless.<\/li>\n<li><strong>Resource Definition<\/strong> \u2014 P\u00ebrkufizimi i resource-it, n\u00eb thelb \u00ebsht\u00eb nj\u00eb prototip q\u00eb p\u00ebrshkruan emrin dhe t\u00eb gjitha vetit\u00eb e tij.<\/li>\n<li><strong>P\u00ebrkufizimi i volume-it<\/strong> \u2014 P\u00ebrkufizimi i volume-it. \u00c7do resource mund t\u00eb p\u00ebrb\u00ebhet nga disa volume dhe secili volume duhet t\u00eb ket\u00eb madh\u00ebsi.<\/li>\n<li><strong>Resource<\/strong> \u2014 Instanca e krijuar e pajisjes bllok. \u00c7do resource duhet t\u00eb vendoset n\u00eb nj\u00eb node t\u00eb caktuar dhe n\u00eb nj\u00eb storage pool.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ustanovka-linstor\">Instalimi i Linstor<\/h2>\n<p><\/p>\n<p>Si sistem rekomandoj t\u00eb p\u00ebrdorni Ubuntu, sepse p\u00ebr t\u00eb ekziston nj\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/launchpad.net\/~linbit\/+archive\/ubuntu\/linbit-drbd9-stack\">PPA i gatsh\u00ebm<\/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>Ose Debian, ku Linstor mund t\u00eb instalohet nga depoja zyrtare p\u00ebr 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>K\u00ebtu gjith\u00e7ka \u00ebsht\u00eb e thjesht\u00eb:<\/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\">Storage nodes<\/h5>\n<p><\/p>\n<p>Aktualisht, me kernelin Linux vjen moduli in-tree i kernelit <strong>DRBD8<\/strong>, por fatkeq\u00ebsisht ai nuk na p\u00ebrshtatet dhe duhet t\u00eb instalojm\u00eb <strong>DRBD9<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install drbd-dkms<\/code><\/pre>\n<p><\/p>\n<p>Si\u00e7 tregon praktika, shumica e v\u00ebshtir\u00ebsive lindin pik\u00ebrisht p\u00ebr shkak se n\u00eb sistem \u00ebsht\u00eb ngarkuar moduli DRBD8 dhe jo DRBD9. Fatmir\u00ebsisht, kjo kontrollohet leht\u00eb duke ekzekutuar:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">modprobe drbd\ncat \/proc\/drbd<\/code><\/pre>\n<p><\/p>\n<p>N\u00ebse shihni <strong>version: 9<\/strong> \u2014 do t\u00eb thot\u00eb se gjith\u00e7ka \u00ebsht\u00eb n\u00eb rregull; n\u00ebse <strong>version: 8<\/strong> \u2014 do t\u00eb thot\u00eb se di\u00e7ka ka shkuar keq dhe duhet t\u00eb nd\u00ebrmerrni hapa shtes\u00eb p\u00ebr t\u00eb sqaruar arsyet.<\/p>\n<p><\/p>\n<p>Tani le t\u00eb instalojm\u00eb <strong>linstor-satellite<\/strong> dhe <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\">Krijimi i cluster-it<\/h2>\n<p><\/p>\n<p><strong>Storage pools dhe nodes<\/strong><\/p>\n<p><\/p>\n<p>Si backend do t\u00eb p\u00ebrdorim <strong>ThinLVM<\/strong>, sepse \u00ebsht\u00eb m\u00eb i thjeshti dhe mb\u00ebshtet snapshots.<br \/>\nInstaloni <strong>lvm2<\/strong>, n\u00ebse nuk e keni b\u00ebr\u00eb ende, dhe le t\u00eb krijojm\u00eb nj\u00eb ThinLVM pool n\u00eb t\u00eb gjitha storage nodes tona:<\/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>T\u00eb gjitha veprimet e m\u00ebtejshme mund t\u00eb kryhen drejtp\u00ebrdrejt n\u00eb controller:<\/p>\n<p><\/p>\n<p>Le t\u00eb shtojm\u00eb nodes tona:<\/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>Le t\u00eb krijojm\u00eb 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>Tani le t\u00eb kontrollojm\u00eb pool-et e krijuara:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor storage-pool list<\/code><\/pre>\n<p><\/p>\n<p>N\u00ebse gjith\u00e7ka \u00ebsht\u00eb kryer sakt\u00eb, duhet t\u00eb shohim di\u00e7ka t\u00eb till\u00eb:<\/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>Burimet DRBD<\/strong><\/p>\n<p><\/p>\n<p>Tani le t\u00eb provojm\u00eb t\u00eb krijojm\u00eb burimin ton\u00eb t\u00eb ri 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>Le t\u00eb kontrollojm\u00eb burimet e krijuara:<\/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>Shk\u00eblqyesh\u00ebm! Tani shohim q\u00eb burimi u krijua n\u00eb dy nyjet e para; gjithashtu mund t\u00eb provojm\u00eb t\u00eb krijojm\u00eb nj\u00eb burim diskless n\u00eb t\u00eb tret\u00ebn: <\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource create --diskless node3 myres<\/code><\/pre>\n<p><\/p>\n<p>N\u00eb nyje k\u00ebt\u00eb pajisje do ta gjeni gjithmon\u00eb si <code>\/dev\/drbd1084<\/code> ose <code>\/dev\/drbd\/by-res\/myres\/0<\/code><\/p>\n<p><\/p>\n<p>K\u00ebshtu funksionon Linstor; m\u00eb shum\u00eb informacion mund t\u00eb gjeni te <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.linbit.com\/docs\/users-guide-9.0\/\">dokumentacionin zyrtar<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Tani do t'ju tregoj se si ta integroni at\u00eb me OpenNebula<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-opennebula\">Konfigurimi i OpenNebula<\/h2>\n<p><\/p>\n<p>Nuk do t\u00eb hyj shum\u00eb n\u00eb holl\u00ebsit\u00eb e procesit t\u00eb konfigurimit t\u00eb OpenNebula, sepse t\u00eb gjith\u00eb hapat jan\u00eb p\u00ebrshkruar n\u00eb detaje n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.opennebula.org\/stable\/deployment\/opennebula_installation\/index.html\">dokumentacionin zyrtar<\/a><\/noindex>, t\u00eb cilit ju rekomandoj t'i referoheni; un\u00eb do t\u00eb ndalem vet\u00ebm te integrimi i OpenNebula me Linstor.<\/p>\n<p><\/p>\n<h5 id=\"linstor_un\">linstor_un<\/h5>\n<p><\/p>\n<p>P\u00ebr ta zgjidhur k\u00ebt\u00eb detyr\u00eb, kam shkruar drejtuesin tim t\u00eb posa\u00e7\u00ebm \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un\">linstor_un<\/a><\/noindex>, i cili aktualisht \u00ebsht\u00eb i disponuesh\u00ebm si plugin dhe duhet t\u00eb instalohet ve\u00e7mas.<\/p>\n<p><\/p>\n<p>I gjith\u00eb instalimi kryhet n\u00eb nyjet frontend t\u00eb OpenNebula dhe nuk k\u00ebrkon veprime shtes\u00eb n\u00eb nyjet compute.<\/p>\n<p><\/p>\n<p>S\u00eb pari duhet t\u00eb sigurohemi q\u00eb kemi <strong>jq<\/strong> dhe <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>Ekipa <code>linstor node list<\/code> duhet t\u00eb shfaq\u00eb list\u00ebn e nyjeve. T\u00eb gjitha nyjet compute t\u00eb OpenNebula duhet t\u00eb shtohen n\u00eb klasterin Linstor.<\/p>\n<p><\/p>\n<p>Le ta shkarkojm\u00eb dhe instalojm\u00eb plugin-in:<\/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>Tani duhet ta shtojm\u00eb at\u00eb n\u00eb konfigurimin e OpenNebula; p\u00ebr k\u00ebt\u00eb, ndiqni hapat e thjesht\u00eb t\u00eb p\u00ebrshkruar m\u00eb posht\u00eb <strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#update-onedconf\">k\u00ebtu<\/a><\/noindex><\/strong>.<\/p>\n<p><\/p>\n<p>M\u00eb pas, rinisim OpenNebula:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">systemctl restart opennebula<\/code><\/pre>\n<p><\/p>\n<p>Dhe shtojm\u00eb datastore-et tona, at\u00eb t\u00eb sistemit:<\/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>Dhe depozit\u00ebn e imazheve:<\/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>Parametri <code>AUTO_PLACE<\/code> tregon numrin e replikave t\u00eb t\u00eb dh\u00ebnave q\u00eb do t\u00eb krijohen p\u00ebr \u00e7do imazh t\u00eb ri n\u00eb OpenNebula.<\/li>\n<li>Parametri <code>CLONE_MODE<\/code> tregon sakt\u00ebsisht se si do t\u00eb klonohen imazhet gjat\u00eb krijimit t\u00eb makinave t\u00eb reja virtuale, <code>snapshot<\/code> \u2014 do t\u00eb krijoj\u00eb nj\u00eb snapshot t\u00eb imazhit dhe do ta p\u00ebrdor\u00eb at\u00eb p\u00ebr t\u00eb vendosur makin\u00ebn virtuale, <code>copy<\/code> \u2014 do t\u00eb krijoj\u00eb nj\u00eb kopje t\u00eb plot\u00eb t\u00eb imazhit p\u00ebr secil\u00ebn makin\u00eb virtuale.<\/li>\n<li>N\u00eb <code>BRIDGE_LIST<\/code> rekomandohet t\u00eb specifikohen t\u00eb gjitha nyjet q\u00eb do t\u00eb p\u00ebrdoren p\u00ebr kryerjen e operacioneve t\u00eb klonimit t\u00eb imazheve. <\/li>\n<\/ul>\n<p><\/p>\n<p>Lista e plot\u00eb e parametrave t\u00eb mb\u00ebshtetur jepet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#opennebula-configuration\">README<\/a><\/noindex> project.<\/p>\n<p><\/p>\n<p>Me kaq, konfigurimi p\u00ebrfundon; tani mund t\u00eb ngarkoni nj\u00eb appliance nga <noindex><a rel=\"nofollow\" href=\"https:\/\/marketplace.opennebula.systems\/appliance\">OpenNebula Marketplace<\/a><\/noindex> zyrtar dhe t\u00eb krijoni makina virtuale prej tij.<\/p>\n<p><\/p>\n<p>Lidhja e projektit:<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>Burimi: <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.2 - 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\/sq\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\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\/sq\/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\udd47Ruajtja LINSTOR dhe integrimi i saj me OpenNebula | ProHoster","description":"Jo shum\u00eb koh\u00eb m\u00eb par\u00eb, djemt\u00eb nga LINBIT.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","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\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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/33523","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=33523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/33523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/25221"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=33523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=33523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=33523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}