{"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\/es\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","title":{"rendered":"Almacenamiento LINSTOR e integraci\u00f3n con OpenNebula","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Almacenamiento LINSTOR e integraci\u00f3n con OpenNebula\" src=\"\/wp-content\/uploads\/2019\/05\/c8b6a7c02c4e5b043be327838152f8a1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>No hace mucho, los chicos de LINBIT presentaron su nueva soluci\u00f3n SDS: Linstor. Este es un almacenamiento completamente libre, basado en tecnolog\u00edas probadas: DRBD, LVM, ZFS. Linstor combina simplicidad y una arquitectura bien desarrollada, lo que permite lograr estabilidad y resultados bastante impresionantes.<\/p>\n<p><\/p>\n<p>Hoy me gustar\u00eda hablar un poco m\u00e1s sobre \u00e9l y mostrar lo f\u00e1cil que es integrarlo con OpenNebula utilizando linstor_un, un nuevo controlador que desarroll\u00e9 espec\u00edficamente para este prop\u00f3sito.<\/p>\n<p><\/p>\n<p>Linstor, junto con OpenNebula, permite construir una nube r\u00e1pida y confiable, que se puede desplegar sin problemas en la infraestructura propia.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"arhitektura-linstor\">Arquitectura de Linstor<\/h2>\n<p><\/p>\n<p>Linstor no es ni un sistema de archivos ni un almacenamiento de bloques por s\u00ed solo; Linstor es un orquestador que proporciona una capa de abstracci\u00f3n que permite automatizar la creaci\u00f3n de vol\u00famenes en LVM o ZFS y replicarlos utilizando DRBD9.<\/p>\n<p><\/p>\n<h5 id=\"lomaem-stereotipy\">Rompiendo estereotipos<\/h5>\n<p><\/p>\n<p>Pero espera, \u00bfDRBD? \u2014 \u00bfPor qu\u00e9 automatizarlo y c\u00f3mo puede funcionar esto en realidad?<\/p>\n<p><\/p>\n<p>Recordemos el pasado, cuando DRBD8 era muy popular. Su uso est\u00e1ndar implicaba crear un gran dispositivo de bloque y dividirlo en muchos peque\u00f1os trozos utilizando el mismo LVM. Una especie de RAID-1 con mdadm pero con replicaci\u00f3n a trav\u00e9s de la red.<\/p>\n<p><\/p>\n<p>Este enfoque no est\u00e1 exento de desventajas, y por eso, con la llegada de DRBD9, los principios de construcci\u00f3n del almacenamiento han cambiado; ahora se crea un dispositivo DRBD separado para cada m\u00e1quina virtual.<\/p>\n<p><\/p>\n<p>El enfoque con dispositivos de bloque independientes permite una mejor utilizaci\u00f3n del espacio en el cl\u00faster, as\u00ed como tambi\u00e9n a\u00f1ade una serie de funcionalidades adicionales. Por ejemplo, se puede definir la cantidad de r\u00e9plicas para cada uno de estos dispositivos, su ubicaci\u00f3n y configuraciones individuales. Es f\u00e1cil crear\/eliminar, hacer instant\u00e1neas, cambiar el tama\u00f1o, habilitar cifrado y mucho m\u00e1s. Cabe se\u00f1alar que DRBD9 tambi\u00e9n soporta qu\u00f3rum, lo que evita situaciones de split-brain.<\/p>\n<p><\/p>\n<h5 id=\"resursy-i-bekendy\">Recursos y backends<\/h5>\n<p><\/p>\n<p>Al crear un nuevo dispositivo de bloque, Linstor coloca el n\u00famero necesario de r\u00e9plicas en diferentes nodos del cl\u00faster. Cada una de estas r\u00e9plicas vamos a llamarla recurso DRBD.<\/p>\n<p><\/p>\n<p>Los recursos son de dos tipos:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Recurso de datos<\/strong> \u2014 representan un dispositivo DRBD ubicado en un nodo en un pool de LVM o ZFS.<br \/>\nActualmente, hay soporte para varios backends y su n\u00famero est\u00e1 en constante crecimiento. Se admite LVM, ThinLVM y ZFS. Los \u00faltimos dos permiten crear y utilizar instant\u00e1neas.<\/li>\n<li><strong>Recurso sin disco<\/strong> \u2014 es un dispositivo DRBD situado en un nodo sin backend, pero que permite interactuar con \u00e9l como si fuera un dispositivo de bloque normal; todas las operaciones de lectura\/escritura se redirigir\u00e1n a los recursos de datos. El an\u00e1logo m\u00e1s cercano a los recursos sin disco es el LUN de iSCSI.<\/li>\n<\/ul>\n<p><\/p>\n<p>Cada recurso DRBD puede tener hasta 8 r\u00e9plicas, y solo una de ellas puede estar activa por defecto \u2014 <strong>Primario<\/strong>, todas las dem\u00e1s ser\u00e1n <strong>Secundarias<\/strong> y su uso ser\u00e1 imposible mientras haya al menos un Primario, es decir, simplemente replicar\u00e1n datos entre s\u00ed.<\/p>\n<p><\/p>\n<p>Al montar un dispositivo DRBD en el sistema, se convierte autom\u00e1ticamente en <strong>Primario<\/strong>, por lo que incluso un recurso sin disco, en la terminolog\u00eda de DRBD, puede ser Primario.<\/p>\n<p><\/p>\n<h5 id=\"tak-zachem-nuzhen-linstor\">\u00bfEntonces, para qu\u00e9 sirve Linstor?<\/h5>\n<p><\/p>\n<p>Al confiar todas las tareas intensivas en recursos al n\u00facleo, Linstor es esencialmente una aplicaci\u00f3n Java com\u00fan que permite automatizar sin esfuerzo la creaci\u00f3n de recursos DRBD.<br \/>\nCada recurso creado por \u00e9l ser\u00e1 un cl\u00faster DRBD independiente que funciona de forma aut\u00f3noma, sin importar el estado del plano de control y de otros recursos DRBD.<\/p>\n<p><\/p>\n<p><strong>Linstor consta de solo dos componentes:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Linstor-controller<\/strong> \u2014 El controlador principal que proporciona una API para crear y gestionar recursos. Tambi\u00e9n se comunica con los sat\u00e9lites, comprobando el espacio libre en ellos, y env\u00eda tareas para crear y eliminar nuevos recursos. Se ejecuta en una \u00fanica instancia y utiliza una base de datos que puede ser interna (H2) o externa (PostgreSQL, MySQL, MariaDB).<\/li>\n<li><strong>Linstor-satellite<\/strong> \u2014 Se instala en todos los nodos de almacenamiento y proporciona al controlador informaci\u00f3n sobre el espacio libre, as\u00ed como ejecuta tareas recibidas del controlador para crear y eliminar nuevos vol\u00famenes y dispositivos DRBD sobre ellos.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Linstor opera con los siguientes conceptos clave:<\/strong><\/p>\n<p><\/p>\n<ul>\n<li><strong>Nodo<\/strong> \u2014 un servidor f\u00edsico donde se crear\u00e1n y utilizar\u00e1n los recursos DRBD.<\/li>\n<li><strong>Grupo de Almacenamiento<\/strong> \u2014 un grupo LVM o ZFS creado en un nodo donde se alojar\u00e1n los recursos DRBD. Tambi\u00e9n es posible un grupo sin disco: un grupo en el que solo se alojar\u00e1n recursos sin disco.<\/li>\n<li><strong>Definici\u00f3n de Recurso<\/strong> \u2014 Definici\u00f3n del recurso, que en esencia es un prototipo que describe el nombre y todas sus propiedades.<\/li>\n<li><strong>Definici\u00f3n del Volumen<\/strong> \u2014 Definici\u00f3n del volumen. Cada recurso puede constar de varios vol\u00famenes, y cada volumen debe tener un tama\u00f1o.<\/li>\n<li><strong>Recurso<\/strong> \u2014 Instancia creada de un dispositivo de bloques, cada recurso debe estar alojado en un nodo espec\u00edfico y en alg\u00fan grupo de almacenamiento.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ustanovka-linstor\">Instalaci\u00f3n de Linstor<\/h2>\n<p><\/p>\n<p>Como sistema, recomiendo usar Ubuntu, ya que existe un <noindex><a rel=\"nofollow\" href=\"https:\/\/launchpad.net\/~linbit\/+archive\/ubuntu\/linbit-drbd9-stack\">PPA preparado<\/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>O Debian, donde Linstor se puede instalar desde el repositorio oficial para 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\">Controlador<\/h5>\n<p><\/p>\n<p>Aqu\u00ed es muy sencillo:<\/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\">Nodos de almacenamiento<\/h5>\n<p><\/p>\n<p>En este momento, el n\u00facleo de Linux incluye el m\u00f3dulo del n\u00facleo in-tree <strong>DRBD8<\/strong>, desafortunadamente no nos sirve y necesitamos instalar <strong>DRBD9<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">apt-get install drbd-dkms<\/code><\/pre>\n<p><\/p>\n<p>La pr\u00e1ctica muestra que la mayor\u00eda de las complicaciones surgen cuando el m\u00f3dulo DRBD8 est\u00e1 cargado en el sistema, y no DRBD9. Afortunadamente, esto se puede verificar f\u00e1cilmente ejecutando:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">modprobe drbd\ncat \/proc\/drbd<\/code><\/pre>\n<p><\/p>\n<p>Si ves <strong>version: 9<\/strong> \u2014 entonces todo est\u00e1 bien, si <strong>version: 8<\/strong> \u2014 significa que algo sali\u00f3 mal y necesitas tomar medidas adicionales para investigar las causas.<\/p>\n<p><\/p>\n<p>Ahora instalaremos <strong>linstor-satellite<\/strong> y <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\">Creaci\u00f3n del cl\u00faster<\/h2>\n<p><\/p>\n<p><strong>Grupos de almacenamiento y nodos<\/strong><\/p>\n<p><\/p>\n<p>Como backend, utilizaremos <strong>ThinLVM<\/strong>, ya que es el m\u00e1s simple y admite instant\u00e1neas.<br \/>\nInstala <strong>lvm2<\/strong>, si a\u00fan no lo has hecho, y vamos a crear un grupo ThinLVM en todos nuestros nodos de almacenamiento:<\/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>Todas las acciones posteriores pueden llevarse a cabo directamente en el controlador:<\/p>\n<p><\/p>\n<p>Agreguemos nuestros nodos:<\/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>Crearemos grupos de almacenamiento:<\/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>Ahora verifica los grupos creados:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor storage-pool list<\/code><\/pre>\n<p><\/p>\n<p>Si todo se realiz\u00f3 correctamente, deber\u00edamos ver algo como:<\/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>Recursos de DRBD<\/strong><\/p>\n<p><\/p>\n<p>Ahora intentemos crear nuestro nuevo recurso 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>Verifiquemos los recursos creados:<\/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>\u00a1Excelente! \u2014 vemos que el recurso se cre\u00f3 en los primeros dos nodos, tambi\u00e9n podemos intentar crear un recurso sin disco en el tercero: <\/p>\n<p><\/p>\n<pre><code class=\"bash\">linstor resource create --diskless node3 myres<\/code><\/pre>\n<p><\/p>\n<p>En los nodos siempre encontrar\u00e1n este dispositivo como <code>\/dev\/drbd1084<\/code> o <code>\/dev\/drbd\/by-res\/myres\/0<\/code><\/p>\n<p><\/p>\n<p>As\u00ed es como funciona Linstor, pueden obtener m\u00e1s informaci\u00f3n de <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.linbit.com\/docs\/users-guide-9.0\/\">documentaci\u00f3n oficial<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Ahora les contar\u00e9 c\u00f3mo integrarlo con OpenNebula<\/p>\n<p><\/p>\n<h2 id=\"nastroyka-opennebula\">Configuraci\u00f3n de OpenNebula<\/h2>\n<p><\/p>\n<p>No me profundizar\u00e9 demasiado en el proceso de configuraci\u00f3n de OpenNebula, ya que todos los pasos est\u00e1n detalladamente descritos en <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.opennebula.org\/stable\/deployment\/opennebula_installation\/index.html\">documentaci\u00f3n oficial<\/a><\/noindex>, que les recomiendo consultar, solo hablar\u00e9 sobre la integraci\u00f3n de OpenNebula con Linstor.<\/p>\n<p><\/p>\n<h5 id=\"linstor_un\">linstor_un<\/h5>\n<p><\/p>\n<p>Para resolver esta tarea, escrib\u00ed mi propio controlador \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un\">linstor_un<\/a><\/noindex>, actualmente est\u00e1 disponible como plugin y debe instalarse por separado.<\/p>\n<p><\/p>\n<p>Toda la instalaci\u00f3n se lleva a cabo en los nodos frontend de OpenNebula y no requiere acciones adicionales en los nodos de c\u00f3mputo.<\/p>\n<p><\/p>\n<p>Lo primero que necesitamos es asegurarnos de que tenemos <strong>jq<\/strong> y <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>Comando <code>linstor node list<\/code> debe mostrar la lista de nodos. Todos los nodos de c\u00f3mputo de OpenNebula deben estar a\u00f1adidos al cl\u00faster de Linstor.<\/p>\n<p><\/p>\n<p>Descarguemos e instalemos el plugin:<\/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>Ahora necesitamos agregarlo al config de OpenNebula, para ello realizamos unos sencillos pasos descritos <strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#update-onedconf\">aqu\u00ed<\/a><\/noindex><\/strong>.<\/p>\n<p><\/p>\n<p>Despu\u00e9s reiniciaremos OpenNebula:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">systemctl restart opennebula<\/code><\/pre>\n<p><\/p>\n<p>Y agregaremos nuestros datastores, el del sistema:<\/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>Y el almacenamiento de im\u00e1genes:<\/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>Par\u00e1metro <code>AUTO_PLACE<\/code> representa la cantidad de r\u00e9plicas de datos que se crear\u00e1n para cada nueva imagen en OpenNebula.<\/li>\n<li>Par\u00e1metro <code>CLONE_MODE<\/code> indica c\u00f3mo se clonar\u00e1n las im\u00e1genes al crear nuevas m\u00e1quinas virtuales, <code>snapshot<\/code> \u2014 crear\u00e1 un snapshot de la imagen y desplegar\u00e1 la m\u00e1quina virtual desde el snapshot, <code>copy<\/code> \u2014 har\u00e1 una copia completa de la imagen para cada m\u00e1quina virtual.<\/li>\n<li>En <code>BRIDGE_LIST<\/code> se recomienda indicar todos los nodos que se utilizar\u00e1n para realizar operaciones de clonaci\u00f3n de im\u00e1genes. <\/li>\n<\/ul>\n<p><\/p>\n<p>La lista completa de par\u00e1metros soportados se encuentra en <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/OpenNebula\/addon-linstor_un#opennebula-configuration\">README<\/a><\/noindex> del proyecto.<\/p>\n<p><\/p>\n<p>Con esto la configuraci\u00f3n est\u00e1 completa, ahora puedes cargar alg\u00fan appliance del oficial <noindex><a rel=\"nofollow\" href=\"https:\/\/marketplace.opennebula.systems\/appliance\">OpenNebula Marketplace<\/a><\/noindex> y crear m\u00e1quinas virtuales a partir de \u00e9l.<\/p>\n<p><\/p>\n<p>Enlace al proyecto:<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>Fuente: <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\/es\/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=\"es_ES\" \/>\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\/es\/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\udd47 Almacenamiento LINSTOR y su integraci\u00f3n con OpenNebula | ProHoster","description":"No hace mucho, el equipo de LINBIT.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/hranilishhe-linstor-i-ego-integratsiya-s-opennebula","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/33523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=33523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/33523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/25221"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=33523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=33523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=33523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}