{"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\/nl\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","title":{"rendered":"LINSTOR-opslag en de integratie met OpenNebula","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"LINSTOR-opslag en de integratie met OpenNebula\" src=\"\/wp-content\/uploads\/2019\/05\/c8b6a7c02c4e5b043be327838152f8a1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Niet zo lang geleden presenteerden de jongens van LINBIT hun nieuwe SDS-oplossing - Linstor. Dit is een volledig vrij opslagoplossing die gebruikmaakt van bewezen technologie\u00ebn: DRBD, LVM, ZFS. Linstor combineert eenvoud met een goed doordachte architectuur, wat zorgt voor stabiliteit en indrukwekkende prestaties.<\/p>\n<p><\/p>\n<p>Vandaag wil ik er iets dieper op ingaan en laten zien hoe eenvoudig het is om te integreren met OpenNebula met behulp van linstor_un - de nieuwe driver die ik speciaal voor dit doel heb ontwikkeld.<\/p>\n<p><\/p>\n<p>Linstor in combinatie met OpenNebula maakt het mogelijk om een snelle en betrouwbare cloud te bouwen die probleemloos op je eigen infrastructuur kan worden uitgerold.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"arhitektura-linstor\">De architectuur van Linstor<\/h2>\n<p><\/p>\n<p>Linstor is op zichzelf geen bestandssysteem of blokopslag; Linstor is een orchestrator die een abstractielaag biedt die het mogelijk maakt om volumes te automatiseren in LVM of ZFS en deze te repliceren met behulp van DRBD9.<\/p>\n<p><\/p>\n<h5 id=\"lomaem-stereotipy\">Stereotypen doorbreken<\/h5>\n<p><\/p>\n<p>Maar wacht eens, DRBD? - Waarom zou je dat automatiseren en hoe zou dat \u00fcberhaupt kunnen werken?<\/p>\n<p><\/p>\n<p>Laten we terugdenken aan het verleden, toen DRBD8 volop in gebruik was. De standaardgebruik waarvoor het bedoeld was, hield in dat je \u00e9\u00e9n groot blokapparaat maakte en dit opdeelde in veel kleine stukjes, met behulp van hetzelfde LVM. Een soort mdadm RAID-1, maar met replicatie via het netwerk.<\/p>\n<p><\/p>\n<p>Deze aanpak heeft zijn tekortkomingen, en daarom zijn met de komst van DRBD9 de principes van opslagoplossingen veranderd; nu wordt er voor elke virtuele machine een apart DRBD-apparaat gemaakt.<\/p>\n<p><\/p>\n<p>De aanpak met onafhankelijke blokapparaten maakt een betere benutting van de ruimte in de cluster mogelijk en voegt bovendien een aantal extra mogelijkheden toe. Zo kan voor elk van deze apparaten het aantal replicaties, hun locatie en individuele instellingen worden gedefinieerd. Ze zijn eenvoudig te maken\/verwijderen, snapshots te maken, de grootte aan te passen, versleuteling in te schakelen en nog veel meer. Het is vermeldenswaard dat DRBD9 ook quorum ondersteunt, wat helpt om split-brain situaties te voorkomen.<\/p>\n<p><\/p>\n<h5 id=\"resursy-i-bekendy\">Hulpmiddelen en backends<\/h5>\n<p><\/p>\n<p>Bij het maken van een nieuw blokapparaat plaatst Linstor het vereiste aantal replicaties op verschillende knooppunten in de cluster. Elke replicatie noemen we een DRBD-hulpbron.<\/p>\n<p><\/p>\n<p>Er zijn twee soorten hulpbronnen:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Data-hulpbron<\/strong> \u2014 zijn DRBD-apparaten die zijn geplaatst op een knooppunt in een LVM of ZFS-pool.<br \/>\nMomenteel is er ondersteuning voor meerdere backends en dit aantal neemt voortdurend toe. Ondersteuning is er voor LVM, ThinLVM en ZFS. De laatste twee maken het mogelijk om snapshots te maken en te gebruiken.<\/li>\n<li><strong>Schijfloze resource<\/strong> \u2014 is een DRBD-apparaat dat op een node zonder backend is geplaatst, maar waarmee kan worden omgegaan als met een normaal blokapparaat. Alle lees-\/schrijfbewerkingen worden doorgeleid naar data-resources. De dichtstbijzijnde analogon aan schijfloze resources is een iSCSI LUN.<\/li>\n<\/ul>\n<p><\/p>\n<p>Elke DRBD-resource kan tot 8 replica's hebben, en slechts \u00e9\u00e9n daarvan kan standaard actief zijn \u2014 <strong>Primair<\/strong>, alle andere zullen <strong>Secundair<\/strong> zijn en hun gebruik zal onmogelijk zijn zolang er ten minste \u00e9\u00e9n Primair is, dat wil zeggen dat ze simpelweg gegevens tussen elkaar zullen repliceren.<\/p>\n<p><\/p>\n<p>Door een DRBD-apparaat in het systeem te mounten, wordt het automatisch <strong>Primair<\/strong>, zodat zelfs een schijfloze resource, in de terminologie van DRBD, Primair kan zijn.<\/p>\n<p><\/p>\n<h5 id=\"tak-zachem-nuzhen-linstor\">Waarom is Linstor nodig?<\/h5>\n<p><\/p>\n<p>Door alle resource-intensievere taken aan de kernel toe te vertrouwen, is Linstor in wezen een gewoon Java-toepassing die het mogelijk maakt om eenvoudig het aanmaken van DRBD-resources te automatiseren.<br \/>\nBij deze zal elke door hem gecre\u00eberde resource een onafhankelijke DRBD-cluster zijn die zelfstandig werkt, ongeacht de status van de control-plane en andere DRBD-resources.<\/p>\n<p><\/p>\n<p><strong>Linstor bestaat uit slechts twee componenten:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Linstor-controller<\/strong> \u2014 De belangrijkste controller die API biedt voor het cre\u00ebren en beheren van resources. Het communiceert ook met satellieten, controleert de beschikbare ruimte op hen en stuurt opdrachten voor het cre\u00ebren en verwijderen van nieuwe resources. Wordt in een enkele instantie uitgevoerd en gebruikt een database die zowel intern (H2) als extern (PostgreSQL, MySQL, MariaDB) kan zijn.<\/li>\n<li><strong>Linstor-satellite<\/strong> \u2014 Wordt ge\u00efnstalleerd op alle storage-nodes en biedt de controller informatie over beschikbare ruimte, en voert taken uit die van de controller zijn ontvangen voor het cre\u00ebren en verwijderen van nieuwe volumes en DRBD-apparaten erbovenop.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Linstor werkt met de volgende kernbegrippen:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Node<\/strong> \u2014 fysieke server waarop DRBD-resources zullen worden gemaakt en gebruikt.<\/li>\n<li><strong>Storage Pool<\/strong> \u2014 LVM of ZFS pool die op een node is gemaakt waarin DRBD-resources worden geplaatst. Een schijfloze pool is ook mogelijk \u2014 dit is een pool waarin alleen schijfloze resources worden geplaatst.<\/li>\n<li><strong>Resource Definitie<\/strong> \u2014 Definitie van de hulpbron, in wezen is dit een prototype dat de naam en al zijn eigenschappen beschrijft.<\/li>\n<li><strong>Volume Definitie<\/strong> \u2014 Definitie van een volume. Elke hulpbron kan uit meerdere volumes bestaan, elk volume moet een grootte hebben.<\/li>\n<li><strong>Hulpbron<\/strong> \u2014 Een gecre\u00eberde instantie van een blokapparaat, elke hulpbron moet op een bepaalde node worden geplaatst en in een opslagpool.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ustanovka-linstor\">Installatie van Linstor<\/h2>\n<p><\/p>\n<p>Als systeem raad ik aan om Ubuntu te gebruiken, omdat hiervoor <noindex><a rel=\"nofollow\" href=\"https:\/\/launchpad.net\/~linbit\/+archive\/ubuntu\/linbit-drbd9-stack\">een kant-en-klaar PPA beschikbaar is.<\/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>Of Debian, waar Linstor kan worden ge\u00efnstalleerd uit de offici\u00eble repository voor 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>Hier is het eenvoudig:<\/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>Op dit moment wordt er een in-tree kernelmodule in de Linux-kern geleverd, <strong>DRBD8<\/strong>, helaas is deze niet geschikt voor ons en moeten we <strong>DRBD9<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install drbd-dkms<\/code><\/pre>\n<p><\/p>\n<p>Zoals de praktijk laat zien, ontstaan de meeste problemen precies omdat de DRBD8-module in het systeem geladen is, en niet DRBD9. Gelukkig is dit gemakkelijk te controleren door:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">modprobe drbd\ncat \/proc\/drbd<\/code><\/pre>\n<p><\/p>\n<p>Als je ziet <strong>version: 9<\/strong> \u2014 dan is alles in orde, als <strong>version: 8<\/strong> \u2014 dan is er iets mis gegaan en moet je aanvullende stappen ondernemen om de oorzaken te achterhalen.<\/p>\n<p><\/p>\n<p>Laten we nu <strong>linstor-satellite<\/strong> en <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\">Cluster maken<\/h2>\n<p><\/p>\n<p><strong>Storage pools en nodes<\/strong><\/p>\n<p><\/p>\n<p>Als backend nemen we <strong>ThinLVM<\/strong>, omdat dit het eenvoudigste is en snapshots ondersteunt.<br \/>\nInstalleer <strong>lvm2<\/strong>, als je dit nog niet hebt gedaan, laten we een ThinLVM pool aanmaken op al onze storage-nodes:<\/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 verdere handelingen kunnen rechtstreeks op de controller worden uitgevoerd:<\/p>\n<p><\/p>\n<p>Laten we onze nodes toevoegen:<\/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>Laten we storage pools aanmaken:<\/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>Laten we nu de aangemaakte pools controleren:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor storage-pool list<\/code><\/pre>\n<p><\/p>\n<p>Als alles goed is uitgevoerd, zouden we iets moeten zien zoals:<\/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-resources<\/strong><\/p>\n<p><\/p>\n<p>Laten we nu proberen onze nieuwe DRBD-resource te cre\u00ebren:<\/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>Laten we de gemaakte resources controleren:<\/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>Uitstekend! \u2014 we zien dat de resource is aangemaakt op de eerste twee nodes, we kunnen ook proberen een diskless-resource op de derde te cre\u00ebren: <\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource create --diskless node3 myres<\/code><\/pre>\n<p><\/p>\n<p>Op de nodes vind je dit apparaat altijd als <code>\/dev\/drbd1084<\/code> of <code>\/dev\/drbd\/by-res\/myres\/0<\/code><\/p>\n<p><\/p>\n<p>Zo werkt Linstor, je kunt meer informatie krijgen uit <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.linbit.com\/docs\/users-guide-9.0\/\">de offici\u00eble documentatie<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Nu zal ik uitleggen hoe je het kunt integreren met OpenNebula<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-opennebula\">Configuratie van OpenNebula<\/h2>\n<p><\/p>\n<p>Ik zal niet te diep ingaan op het configureren van OpenNebula, omdat alle stappen gedetailleerd zijn beschreven in <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.opennebula.org\/stable\/deployment\/opennebula_installation\/index.html\">de offici\u00eble documentatie<\/a><\/noindex>, waar ik je dan ook aanraad om naar te verwijzen, ik zal alleen de integratie van OpenNebula met Linstor uitleggen.<\/p>\n<p><\/p>\n<h5 id=\"linstor_un\">linstor_un<\/h5>\n<p><\/p>\n<p>Voor deze taak heb ik mijn eigen driver geschreven \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un\">linstor_un<\/a><\/noindex>, op dit moment is deze beschikbaar als een plugin en moet apart worden ge\u00efnstalleerd.<\/p>\n<p><\/p>\n<p>De installatie vindt plaats op de frontend OpenNebula-nodes en vereist geen verdere acties op de compute-nodes.<\/p>\n<p><\/p>\n<p>Allereerst moeten we ervoor zorgen dat we hebben <strong>jq<\/strong> en <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>Opdracht <code>linstor node list<\/code> moet de lijst met nodes weergeven. Alle compute-nodes van OpenNebula moeten aan de Linstor-cluster zijn toegevoegd.<\/p>\n<p><\/p>\n<p>Laten we de plugin downloaden en installeren:<\/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 moeten we het aan de OpenNebula-configuratie toevoegen. Hiervoor volgen we de eenvoudige stappen die zijn beschreven <strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#update-onedconf\">hier<\/a><\/noindex><\/strong>.<\/p>\n<p><\/p>\n<p>Daarna herstarten we OpenNebula:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">systemctl restart opennebula<\/code><\/pre>\n<p><\/p>\n<p>En we voegen onze datastores toe, systeem:<\/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>En de opslag van afbeeldingen:<\/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> geeft het aantal data-replicas aan dat zal worden aangemaakt voor elke nieuwe afbeelding in OpenNebula.<\/li>\n<li>Parameter <code>CLONE_MODE<\/code> geeft aan hoe afbeeldingen zullen worden gekloond bij het aanmaken van nieuwe virtuele machines, <code>snapshot<\/code> \u2014 maakt een snapshot van de afbeelding en draait de virtuele machine uit dat snapshot, <code>copy<\/code> \u2014 maakt een volledige kopie van de afbeelding voor elke virtuele machine.<\/li>\n<li>In <code>BRIDGE_LIST<\/code> het is aan te raden om alle knooppunten op te geven die zullen worden gebruikt voor het uitvoeren van kloningsoperaties. <\/li>\n<\/ul>\n<p><\/p>\n<p>Een volledige lijst van ondersteunde parameters is te vinden in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#opennebula-configuration\">README<\/a><\/noindex> van het project.<\/p>\n<p><\/p>\n<p>Hiermee is de configuratie voltooid, nu kunnen we een appliance downloaden uit de offici\u00eble <noindex><a rel=\"nofollow\" href=\"https:\/\/marketplace.opennebula.systems\/appliance\">OpenNebula Marketplace<\/a><\/noindex> en virtuele machines uit deze appliance maken.<\/p>\n<p><\/p>\n<p>Link naar het project:<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>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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-opslag en de integratie ervan met OpenNebula | ProHoster","description":"Niet zo lang geleden hebben de mensen van LINBIT.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/33523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=33523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/33523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/25221"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=33523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=33523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=33523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}