{"id":30623,"date":"2019-10-31T21:36:34","date_gmt":"2019-10-31T18:36:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2\/"},"modified":"2019-10-31T21:36:34","modified_gmt":"2019-10-31T18:36:34","slug":"klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2","title":{"rendered":"Storage cluster per piccoli web-cluster basati su drbd+ocfs2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Di cosa parleremo:<\/b><br \/>\nCome implementare rapidamente uno storage condiviso per due server basato su soluzioni drbd+ocfs2. <\/p>\n<p><b>A chi sar\u00e0 utile:<\/b><br \/>\nQuesto tutorial sar\u00e0 utile agli amministratori di sistema e a chiunque stia valutando un modo per implementare uno storage o voglia provare una soluzione.<\/p>\n<h3>Da quali soluzioni ci siamo allontanati e perch\u00e9<\/h3>\n<p>\nSpesso ci troviamo nella situazione in cui dobbiamo implementare uno storage condiviso ad alte prestazioni di lettura e scrittura su un piccolo cluster web. Abbiamo provato diverse opzioni per implementare uno storage condiviso per i nostri progetti, ma poche sono state in grado di soddisfarci in base a pi\u00f9 criteri. Ora spiegheremo il perch\u00e9.<\/p>\n<ul>\n<li>Glusterfs non ci ha soddisfatti in termini di prestazioni di lettura e scrittura, si verificavano problemi nella lettura simultanea di un grande numero di file e l'elevato carico sulla CPU. Il problema della lettura dei file poteva essere risolto accedendo direttamente ai brick, ma ci\u00f2 non \u00e8 sempre applicabile e, in generale, \u00e8 scorretto. <\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>Ceph non ci \u00e8 piaciuto per l'eccessiva complessit\u00e0, che pu\u00f2 essere dannosa su progetti con 2-4 <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-dusseldorf\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3413\">server<\/a>, specialmente se il progetto viene poi gestito. Anche in questo caso, ci sono seri limiti di prestazioni che costringono a costruire cluster storage separati, come con glusterfs. <\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>L'uso di un singolo server nfs per implementare uno storage condiviso solleva domande in termini di tolleranza ai guasti. <\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li> s3 \u00e8 una soluzione eccellente e popolare per alcune tipologie di compiti, ma non \u00e8 un file system, il che ne limita l'applicazione.<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<ul>\n<li>lsyncd. Se abbiamo gi\u00e0 iniziato a parlare di \"non-file system\", vale la pena esaminare anche questa soluzione popolare. Non solo non \u00e8 adatta per lo scambio bidirezionale (ma se si desidera ardentemente, si pu\u00f2 fare), ma non funziona nemmeno in modo stabile con un gran numero di file. Un'aggiunta piacevole a tutto ci\u00f2 \u00e8 che \u00e8 a thread singolo. La ragione \u00e8 nell'architettura del programma: utilizza inotify per monitorare gli oggetti di lavoro, che vengono attivati all'avvio e durante la riesaminazione. Come mezzo di trasmissione viene utilizzato rsync. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Tutorial: come implementare uno storage condiviso basato su drbd+ocfs2<\/h3>\n<p>\nUna delle soluzioni pi\u00f9 comode per noi \u00e8 stata l'accoppiamento <b>ocfs2+drbd<\/b>. Ora vi spiegheremo come implementare rapidamente uno storage condiviso per due <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1291\">server<\/a> sulla base dei dati delle soluzioni. Ma prima un po' sui componenti:<\/p>\n<p><b>DRBD<\/b> \u2014 un sistema di storage standard in Linux che consente di replicare i dati tra server in blocchi. L'applicazione principale consiste nella costruzione di storage ad alta disponibilit\u00e0.<\/p>\n<p><b>OCFS2<\/b> \u2014 un file system che consente l'uso condiviso dello stesso storage da pi\u00f9 sistemi. Incluso nella distribuzione di Linux, \u00e8 costituito da un modulo del kernel e da strumenti userspace per lavorare con il file system. OCFS2 pu\u00f2 essere utilizzato non solo sopra DRBD, ma anche sopra iSCSI con connessioni multiple. Nel nostro esempio utilizzeremo DRBD.<\/p>\n<p>Tutte le azioni vengono eseguite su ubuntu server 18.04 in configurazione minima.<\/p>\n<p><b>Passo 1. Configuriamo DRBD:<br \/>\n<\/b><br \/>\nNel file \/etc\/drbd.d\/drbd0.res descriviamo il nostro dispositivo a blocchi virtuale \/dev\/drbd0:<\/p>\n<pre><code class=\"plaintext\">resource drbd0 {\n    syncer { rate 1000M; }\n    net {\n        allow-two-primaries;\n        after-sb-0pri discard-zero-changes;\n        after-sb-1pri discard-secondary;\n        after-sb-2pri disconnect;\n    }\n    startup { become-primary-on both; }\n    on drbd1 {\n        meta-disk internal;\n        device \/dev\/drbd0;\n        disk \/dev\/vdb1;\n        address 10.10.10.192:7789;\n}\n    on drbd2 {\n        meta-disk internal;\n        device \/dev\/drbd0;\n        disk \/dev\/vdb1;\n        address 10.10.10.193:7789;\n}\n}<\/code><\/pre>\n<p>\n<i>meta-disk internal<\/i> \u2014 usare gli stessi dispositivi a blocchi per memorizzare i metadati<br \/>\n<i>device \/dev\/drbd0<\/i> \u2014 utilizzare \/dev\/drbd0 come percorso per drbd.<br \/>\n<i>disk \/dev\/vdb1<\/i> \u2014 usare \/dev\/vdb1 <br \/>\n<i>syncer { rate 1000M; }<\/i> \u2014 usare la banda di un gigabit<br \/>\n<i>allow-two-primaries<\/i> \u2014 un'opzione importante che consente l'accettazione delle modifiche su due server primari<br \/>\n<i>after-sb-0pri, after-sb-1pri, after-sb-2pri<\/i> \u2014 opzioni che determinano le azioni del nodo in caso di split-brain. Maggiori dettagli possono essere trovati nella documentazione.<br \/>\n<i>become-primary-on both<\/i> \u2014 imposta entrambi i nodi su primari.<\/p>\n<p>Nel nostro caso abbiamo due VM identiche, con una rete virtuale dedicata con una capacit\u00e0 di 10 gigabit.<\/p>\n<p>Nel nostro esempio, i nomi di rete dei due nodi del cluster sono drbd1 e drbd2. Per un corretto funzionamento, \u00e8 necessario mappare i nomi e gli indirizzi IP dei nodi in \/etc\/hosts.<\/p>\n<pre><code class=\"bash\">10.10.10.192 drbd1\n10.10.10.193 drbd2<\/code><\/pre>\n<p>\n<b>Passo 2. Configuriamo i nodi:<\/b><\/p>\n<p>Su entrambi i server eseguiamo:<\/p>\n<pre><code class=\"bash\">drbdadm create-md drbd0<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Storage cluster per piccoli web-cluster basati su drbd+ocfs2\" src=\"\/wp-content\/uploads\/2019\/03\/38b0a4a4fc60ac617abfad6e8f755ae7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<pre><code class=\"bash\">modprobe drbd\ndrbdadm up drbd0\ncat \/proc\/drbd<\/code><\/pre>\n<p>\nOtteniamo quanto segue:<\/p>\n<p><img decoding=\"async\" alt=\"Storage cluster per piccoli web-cluster basati su drbd+ocfs2\" src=\"\/wp-content\/uploads\/2019\/03\/91c48ed32cd1471e4076934d041966d8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOra possiamo avviare la sincronizzazione. Sulla prima nodo bisogna eseguire:<\/p>\n<pre><code class=\"bash\">drbdadm primary --force drbd0<\/code><\/pre>\n<p>\nControlliamo lo stato:<\/p>\n<pre><code class=\"bash\">cat \/proc\/drbd<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Storage cluster per piccoli web-cluster basati su drbd+ocfs2\" src=\"\/wp-content\/uploads\/2019\/03\/b94b54b1050595bec774adf6c5190968.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOttimo, la sincronizzazione \u00e8 iniziata. Attendiamo la fine e vediamo il risultato:<\/p>\n<p><img decoding=\"async\" alt=\"Storage cluster per piccoli web-cluster basati su drbd+ocfs2\" src=\"\/wp-content\/uploads\/2019\/03\/7f9e2d3664d3a578c74e72b8bc4c1a7f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Passo 3. Avviamo la sincronizzazione sul secondo nodo:<\/b><\/p>\n<pre><code class=\"bash\">drbdadm primary --force drbd0\n<\/code><\/pre>\n<p>\nOtteniamo quanto segue:<\/p>\n<p><img decoding=\"async\" alt=\"Storage cluster per piccoli web-cluster basati su drbd+ocfs2\" src=\"\/wp-content\/uploads\/2019\/03\/ad3d616ca84fa26a18574f433bb7d9fe.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOra possiamo scrivere in drbd da entrambi i server.<\/p>\n<p><b>Passo 4. Installazione e configurazione di ocfs2.<\/b><\/p>\n<p>Utilizzeremo una configurazione abbastanza banale:<\/p>\n<pre><code class=\"plaintext\">cluster:\n     node_count = 2\n     name = ocfs2cluster\n\nnode:\n     number = 1\n     cluster = ocfs2cluster\n     ip_port = 7777\n     ip_address = 10.10.10.192\n     name = drbd1\n\nnode:\n     number = 2\n     cluster = ocfs2cluster\n     ip_port = 7777\n     ip_address = 10.10.10.193\n     name = drbd2\n<\/code><\/pre>\n<p>\nDeve essere registrato in <i>\/etc\/ocfs2\/cluster.conf<\/i> su entrambe le nodi.<\/p>\n<p>Creiamo il filesystem su drbd0 su uno qualsiasi dei nodi:<\/p>\n<pre><code class=\"bash\">mkfs.ocfs2 -L \"testVol\" \/dev\/drbd0\n<\/code><\/pre>\n<p>\nQui abbiamo creato un filesystem con etichetta testVol su drbd0, utilizzando i parametri predefiniti.<\/p>\n<p><img decoding=\"async\" alt=\"Storage cluster per piccoli web-cluster basati su drbd+ocfs2\" src=\"\/wp-content\/uploads\/2019\/03\/d147b91ca6f39d846023d8b5c35a240e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn \/etc\/default\/o2cb \u00e8 necessario impostare (come nel nostro file di configurazione)<\/p>\n<pre><code class=\"bash\">O2CB_ENABLED=true \nO2CB_BOOTCLUSTER=ocfs2cluster <\/code><\/pre>\n<p>\ned eseguire su ciascun nodo:<\/p>\n<pre><code class=\"bash\">o2cb register-cluster ocfs2cluster<\/code><\/pre>\n<p>\nDopo di che, abilitiamo e aggiungiamo all'avvio automatico tutte le unit\u00e0 necessarie:<\/p>\n<pre><code class=\"bash\">systemctl enable drbd o2cb ocfs2\nsystemctl start drbd o2cb ocfs2<\/code><\/pre>\n<p>\nParte di questo sar\u00e0 gi\u00e0 in esecuzione durante la configurazione.<\/p>\n<p><b>Step 5. Aggiungiamo i punti di montaggio in fstab su entrambe le nodi:<\/b><\/p>\n<pre><code class=\"bash\">\/dev\/drbd0 \/media\/shared ocfs2 defaults,noauto,heartbeat=local 0 0<\/code><\/pre>\n<p>\nLa directory <i>\/media\/shared<\/i> deve essere creata in anticipo.<\/p>\n<p>Qui utilizziamo l'opzione noauto, che significa che il filesystem non sar\u00e0 montato all'avvio (preferisco montare i filesystem di rete tramite systemd) e heartbeat=local, che indica l'uso del servizio heartbeat su ciascun nodo. Esiste anche heartbeat globale, pi\u00f9 adatto per cluster di grandi dimensioni.<\/p>\n<p>Successivamente, \u00e8 possibile montare <i>\/media\/shared<\/i> e controllare la sincronizzazione dei contenuti.<\/p>\n<p><b>Fatto!<\/b> Di conseguenza, otteniamo uno storage abbastanza tollerante ai guasti con possibilit\u00e0 di scalabilit\u00e0 e prestazioni decenti.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445612\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c: \u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 drbd+ocfs2. \u0414\u043b\u044f \u043a\u043e\u0433\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e: \u0422\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0438 \u0432\u0441\u0435\u043c, \u043a\u0442\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0438\u043b\u0438 \u0445\u043e\u0442\u044f\u0442 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041e\u0442 \u043a\u0430\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043c\u044b \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0427\u0430\u0441\u0442\u043e \u043c\u044b \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0441 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0435\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22614,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30623","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c: \u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 drbd+ocfs2.\" \/>\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\/it\/blog\/administrirovanie\/klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\u041a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 web-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 drbd+ocfs2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c: \u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 drbd+ocfs2.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2\" \/>\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:36:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:36:34+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\udd47Storage cluster per piccoli web-cluster basati su drbd+ocfs2 | ProHoster","description":"Di cosa parleremo: Come distribuire rapidamente uno storage condiviso per due server basato su soluzioni drbd+ocfs2.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u041a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 web-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 drbd+ocfs2 | ProHoster","og:description":"\u041e \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c: \u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 drbd+ocfs2.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/klasternoe-hranilishhe-dlya-nebolshih-web-klasterov-na-baze-drbd-ocfs2","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:36:34+00:00","article:modified_time":"2019-10-31T18:36:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30623","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-02-19 09:14:07","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:31:24","updated":"2026-02-19 09:14:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=30623"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30623\/revisions"}],"predecessor-version":[{"id":161788,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30623\/revisions\/161788"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/22614"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=30623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=30623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=30623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}