{"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\/da\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","title":{"rendered":"LINSTOR-lagring og dets integration med OpenNebula","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"LINSTOR-lagring og dets integration med OpenNebula\" src=\"\/wp-content\/uploads\/2019\/05\/c8b6a7c02c4e5b043be327838152f8a1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>For ikke s\u00e5 l\u00e6nge siden pr\u00e6senterede folkene fra LINBIT deres nye SDS-l\u00f8sning \u2014 Linstor. Det er et helt frit lagersystem, der bygger p\u00e5 velpr\u00f8vede teknologier: DRBD, LVM, ZFS. Linstor kombinerer enkelhed med en veludviklet arkitektur, hvilket muligg\u00f8r stabilitet og imponerende resultater.<\/p>\n<p><\/p>\n<p>I dag vil jeg gerne tale lidt mere om det og vise, hvor nemt det kan integreres med OpenNebula ved at bruge linstor_un \u2014 en ny driver, jeg har udviklet specielt til dette form\u00e5l.<\/p>\n<p><\/p>\n<p>Linstor i kombination med OpenNebula g\u00f8r det muligt at bygge en hurtig og p\u00e5lidelig sky, der uden problemer kan implementeres p\u00e5 ens egen infrastruktur.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"arhitektura-linstor\">Linstor-arkitektur<\/h2>\n<p><\/p>\n<p>Linstor er hverken et filsystem eller et bloklager i sig selv; Linstor er en orkestrator, der tilbyder et abstractionslag til at automatisere oprettelsen af volumener i LVM eller ZFS og replikere dem ved hj\u00e6lp af DRBD9.<\/p>\n<p><\/p>\n<h5 id=\"lomaem-stereotipy\">Bryder med stereotype opfattelser<\/h5>\n<p><\/p>\n<p>Men vent, DRBD? \u2014 Hvorfor automatisere det, og hvordan kan det overhovedet fungere?<\/p>\n<p><\/p>\n<p>Lad os huske fortiden, da DRBD8 var meget popul\u00e6rt. Dens standardbrug involverede at oprette \u00e9t stort blokdevice og dele det op i mange sm\u00e5 stykker ved hj\u00e6lp af LVM. Et slags mdadm RAID-1 men med netv\u00e6rksreplikation.<\/p>\n<p><\/p>\n<p>Denne tilgang er ikke uden ulemper, og derfor blev principperne for opbygning af lagersystemer \u00e6ndret med ankomsten af DRBD9, hvor der nu oprettes hver sit DRBD-device til hver virtuel maskine.<\/p>\n<p><\/p>\n<p>Tilgang med uafh\u00e6ngige blok-enheder muligg\u00f8r bedre udnyttelse af plads i klyngen samt tilf\u00f8jer en r\u00e6kke yderligere muligheder. For eksempel kan der defineres antal replikater for hver s\u00e5dan enhed, deres placering og individuelle indstillinger. De er lette at oprette \/ slette, tage snapshots af, \u00e6ndre st\u00f8rrelse, aktivere kryptering og meget mere. Det er v\u00e6rd at bem\u00e6rke, at DRBD9 ogs\u00e5 underst\u00f8tter kvorum, hvilket kan forhindre split-brain-situationer.<\/p>\n<p><\/p>\n<h5 id=\"resursy-i-bekendy\">Ressourcer og backends<\/h5>\n<p><\/p>\n<p>N\u00e5r der oprettes et nyt blokdevice, placerer Linstor det n\u00f8dvendige antal replikater p\u00e5 forskellige noder i klyngen. Hver s\u00e5dan replikat kalder vi en DRBD-ressource.<\/p>\n<p><\/p>\n<p>Ressourcer findes i to typer:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Data-ressource<\/strong> \u2014 repr\u00e6senterer et DRBD-device placeret p\u00e5 en node i LVM eller ZFS-puljen.<br \/>\nI \u00f8jeblikket er der st\u00f8tte til flere backend-systemer, og antallet vokser konstant. Der er support for LVM, ThinLVM og ZFS. Sidstn\u00e6vnte to tillader oprettelse og brug af snapshots.<\/li>\n<li><strong>Diskless-ressource<\/strong> repr\u00e6senterer en DRBD-enhed placeret p\u00e5 en node uden backend, men som g\u00f8r det muligt at behandle den som en almindelig blok-enhed, alle l\u00e6se\/skrive-operationer vil blive omdirigeret til data-ressourcerne. Den n\u00e6rmeste analog til diskless-ressourcer er iSCSI LUN.<\/li>\n<\/ul>\n<p><\/p>\n<p>Hver DRBD-ressource kan have op til 8 replikaer, og kun \u00e9n af dem kan som standard v\u00e6re aktiv \u2014 <strong>Prim\u00e6r<\/strong>, alle andre vil v\u00e6re <strong>Sekund\u00e6r<\/strong> og deres anvendelse vil ikke v\u00e6re mulig, s\u00e5 l\u00e6nge der er mindst \u00e9n Prim\u00e6r, alts\u00e5 vil de blot replikere data imellem sig.<\/p>\n<p><\/p>\n<p>N\u00e5r en DRBD-enhed monteres i systemet, bliver den automatisk <strong>Prim\u00e6r<\/strong>, s\u00e5ledes kan selv Diskless-ressourcen, i DRBD-terminologi, v\u00e6re Prim\u00e6r.<\/p>\n<p><\/p>\n<h5 id=\"tak-zachem-nuzhen-linstor\">Hvad er s\u00e5 form\u00e5let med Linstor?<\/h5>\n<p><\/p>\n<p>Ved at stole p\u00e5 alle ressourcekr\u00e6vende opgaver til kernen, fungerer Linstor i bund og grund som en almindelig Java-applikation, der g\u00f8r det muligt at automatisere oprettelsen af DRBD-ressourcer uden besv\u00e6r.<br \/>\nHver ressource, der oprettes af det, vil v\u00e6re en uafh\u00e6ngig DRBD-klynge, som fungerer selvst\u00e6ndigt, uanset tilstanden af control-plane og de \u00f8vrige DRBD-ressourcer.<\/p>\n<p><\/p>\n<p><strong>Linstor best\u00e5r kun af to komponenter:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Linstor-controller<\/strong> \u2014 Hovedcontrolleren, som tilbyder et API til oprettelse og administration af ressourcer. Den kommunikerer ogs\u00e5 med satellitterne, kontrollerer deres ledige plads og sender opgaver for at oprette og slette nye ressourcer. Den k\u00f8rer i en enkelt instans og bruger en database, som kan v\u00e6re enten intern (H2) eller ekstern (PostgreSQL, MySQL, MariaDB)<\/li>\n<li><strong>Linstor-satellite<\/strong> \u2014 Installeres p\u00e5 alle storage-noder og giver controlleren information om den ledige plads, samt udf\u00f8rer opgaver modtaget fra controlleren for at oprette og slette nye volumener og DRBD-enheder oven p\u00e5 dem.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Linstor arbejder med f\u00f8lgende n\u00f8glebegreber:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Node<\/strong> \u2014 en fysisk server, hvor DRBD-ressourcerne vil blive oprettet og anvendt.<\/li>\n<li><strong>Storage Pool<\/strong> \u2014 en LVM eller ZFS-pool, der er oprettet p\u00e5 noden, hvor DRBD-ressourcerne vil blive placeret. Der er ogs\u00e5 mulighed for en diskless-pool \u2014 en pool, hvor der kun vil blive placeret diskless-ressourcer.<\/li>\n<li><strong>Ressource Definition<\/strong> \u2014 Definition af ressourcen, i sin essens er det en prototype, der beskriver navnet og alle dets egenskaber.<\/li>\n<li><strong>Volumen Definition<\/strong> \u2014 Definition af volumen. Hver ressource kan best\u00e5 af flere volumener, og hver volumen skal have en st\u00f8rrelse.<\/li>\n<li><strong>Ressource<\/strong> \u2014 En oprettet instans af en blokdevice, hver ressource skal placeres p\u00e5 en bestemt node og i en eller anden storage pool.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ustanovka-linstor\">Installation af Linstor<\/h2>\n<p><\/p>\n<p>Jeg anbefaler at bruge Ubuntu som system, da der findes <noindex><a rel=\"nofollow\" href=\"https:\/\/launchpad.net\/~linbit\/+archive\/ubuntu\/linbit-drbd9-stack\">en f\u00e6rdig PPA<\/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>Eller Debian, hvor Linstor kan installeres fra det officielle repository til 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>Her er det simpelt:<\/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-noder<\/h5>\n<p><\/p>\n<p>I \u00f8jeblikket leveres in-tree kerne-modulet i Linux <strong>DRBD8<\/strong>, desv\u00e6rre er det ikke passende for os, og vi skal installere <strong>DRBD9<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install drbd-dkms<\/code><\/pre>\n<p><\/p>\n<p>Erfaringen viser, at de fleste problemer opst\u00e5r, fordi systemet har indl\u00e6st DRBD8-modulet i stedet for DRBD9. Heldigvis kan dette nemt kontrolleres ved at udf\u00f8re:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">modprobe drbd\ncat \/proc\/drbd<\/code><\/pre>\n<p><\/p>\n<p>Hvis du ser <strong>version: 9<\/strong> \u2014 s\u00e5 er alt i orden, hvis <strong>version: 8<\/strong> \u2014 s\u00e5 er der noget galt, og du skal tage yderligere skridt for at finde \u00e5rsagerne.<\/p>\n<p><\/p>\n<p>Nu skal vi installere <strong>linstor-satellite<\/strong> og <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\">Oprettelse af klynge<\/h2>\n<p><\/p>\n<p><strong>Storage pools og noder<\/strong><\/p>\n<p><\/p>\n<p>Som backend vil vi bruge <strong>ThinLVM<\/strong>, da det er den mest enkle og underst\u00f8tter snapshots.<br \/>\nInstaller <strong>lvm2<\/strong>, hvis du ikke allerede har gjort det, lad os oprette en ThinLVM-pool p\u00e5 alle vores storage-noder:<\/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>Alle efterf\u00f8lgende handlinger kan udf\u00f8res direkte p\u00e5 controlleren:<\/p>\n<p><\/p>\n<p>Lad os tilf\u00f8je vores noder:<\/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>Lad os oprette 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>Nu skal vi tjekke de oprettede pools:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor storage-pool list<\/code><\/pre>\n<p><\/p>\n<p>Hvis alt er gjort korrekt, b\u00f8r vi se noget i stil med:<\/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>DRBD-ressourcer<\/strong><\/p>\n<p><\/p>\n<p>Lad os nu pr\u00f8ve at oprette vores nye DRBD-ressource:<\/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>Lad os tjekke de oprettede ressourcer:<\/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>Fint! \u2014 vi kan se, at ressourcen er blevet oprettet p\u00e5 de f\u00f8rste to noder, vi kan ogs\u00e5 pr\u00f8ve at oprette en diskless-ressource p\u00e5 den tredje: <\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource create --diskless node3 myres<\/code><\/pre>\n<p><\/p>\n<p>P\u00e5 noderne finder du altid denne enhed som <code>\/dev\/drbd1084<\/code> eller <code>\/dev\/drbd\/by-res\/myres\/0<\/code><\/p>\n<p><\/p>\n<p>S\u00e5dan fungerer Linstor, du kan f\u00e5 mere information fra <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.linbit.com\/docs\/users-guide-9.0\/\">den officielle dokumentation<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Nu vil jeg fort\u00e6lle om, hvordan man integrerer det med OpenNebula<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-opennebula\">Konfiguration af OpenNebula<\/h2>\n<p><\/p>\n<p>Jeg vil ikke g\u00e5 for meget i dybden med konfigurationsprocessen for OpenNebula, da alle trin er grundigt beskrevet i <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.opennebula.org\/stable\/deployment\/opennebula_installation\/index.html\">den officielle dokumentation<\/a><\/noindex>, som jeg anbefaler dig at konsultere, jeg vil kun fort\u00e6lle om integrationen af OpenNebula med Linstor.<\/p>\n<p><\/p>\n<h5 id=\"linstor_un\">linstor_un<\/h5>\n<p><\/p>\n<p>For at l\u00f8se denne opgave har jeg skrevet en egen driver \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un\">linstor_un<\/a><\/noindex>, som i \u00f8jeblikket er tilg\u00e6ngelig som en plugin og skal installeres separat.<\/p>\n<p><\/p>\n<p>Hele installationen foreg\u00e5r p\u00e5 frontend OpenNebula-noderne og kr\u00e6ver ikke yderligere handlinger p\u00e5 compute-noderne.<\/p>\n<p><\/p>\n<p>F\u00f8rst skal vi sikre os, at vi har <strong>jq<\/strong> og <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>Kommandoen <code>linstor node list<\/code> b\u00f8r vise listen over noder. Alle compute-noder i OpenNebula skal v\u00e6re tilf\u00f8jet til Linstor-klyngen.<\/p>\n<p><\/p>\n<p>Lad os downloade og installere pluginet:<\/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>Nu skal vi tilf\u00f8je det til OpenNebula-konfigurationen ved at udf\u00f8re de enkle trin beskrevet <strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#update-onedconf\">her<\/a><\/noindex><\/strong>.<\/p>\n<p><\/p>\n<p>Efterf\u00f8lgende genstarter vi OpenNebula:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">systemctl restart opennebula<\/code><\/pre>\n<p><\/p>\n<p>Og vi tilf\u00f8jer vores datastores, systemet:<\/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>Og billedlageret:<\/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>Parameter <code>AUTO_PLACE<\/code> angiver antallet af data-replikaer, der vil blive oprettet for hver ny billed i OpenNebula.<\/li>\n<li>Parameter <code>CLONE_MODE<\/code> angiver, hvordan billeder vil blive klonet, n\u00e5r nye virtuelle maskiner oprettes, <code>snapshot<\/code> \u2014 vil oprette et snapshot af billedet og udrulle den virtuelle maskine fra snapshotet, <code>copy<\/code> \u2014 vil lave en fuld kopi af billedet for hver virtuel maskine.<\/li>\n<li>I <code>BRIDGE_LIST<\/code> det anbefales at angive alle noder, der skal bruges til kloning af billeder. <\/li>\n<\/ul>\n<p><\/p>\n<p>Den komplette liste over underst\u00f8ttede parametre findes i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#opennebula-configuration\">README<\/a><\/noindex> projekt.<\/p>\n<p><\/p>\n<p>Med dette er konfigurationen afsluttet, nu kan vi hente en appliance fra den officielle <noindex><a rel=\"nofollow\" href=\"https:\/\/marketplace.opennebula.systems\/appliance\">OpenNebula Marketplace<\/a><\/noindex> og oprette virtuelle maskiner ud fra det.<\/p>\n<p><\/p>\n<p>Link til projektet:<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>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula\" \/>\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\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\/da\/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\udd47LINSTOR-lager og dets integration med OpenNebula | ProHoster","description":"For nylig fik folkene hos LINBIT.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","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\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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/33523","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=33523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/33523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/25221"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=33523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=33523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=33523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}