{"id":31907,"date":"2019-10-31T21:43:53","date_gmt":"2019-10-31T18:43:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing\/"},"modified":"2019-10-31T21:43:53","modified_gmt":"2019-10-31T18:43:53","slug":"postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing","title":{"rendered":"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Multe aplica\u021bii Enterprise \u0219i sisteme de virtualizare au propriile mecanisme pentru construirea solu\u021biilor de rezilien\u021b\u0103. \u00cen special, Oracle RAC (Oracle Real Application Cluster) reprezint\u0103 un cluster format din dou\u0103 sau mai multe servere de baze de date Oracle care lucreaz\u0103 \u00eempreun\u0103 pentru a asigura echilibrarea \u00eenc\u0103rc\u0103turii \u0219i rezilien\u021ba la nivel de server\/aplica\u021bie. Pentru a func\u021biona \u00een acest mod, este necesar un stocaj comun, din care de obicei este responsabil\u0103 o SAI. <\/p>\n<p><\/p>\n<p>A\u0219a cum am discutat deja \u00eentr-unul din <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/441780\/\">articolele noastre<\/a><\/noindex>, \u00eens\u0103, SAI-ul \u00een sine, \u00een ciuda existen\u021bei componentelor duplicate (inclusiv a controlerelor), are totu\u0219i puncte de e\u0219ec \u2013 \u00een principal, sub forma unui set unic de date. Prin urmare, pentru a construi o solu\u021bie Oracle cu cerin\u021be ridicate de fiabilitate, schema \u201eN servere \u2013 o SAI\u201d trebuie s\u0103 fie complicat\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/779e46d9ae2d70251bc72f55941171a5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Mai \u00eent\u00e2i, desigur, trebuie s\u0103 ne d\u0103m seama de la ce riscuri \u00eencerc\u0103m s\u0103 ne protej\u0103m. \u00cen cadrul acestui articol, nu vom aborda protec\u021bia \u00eempotriva amenin\u021b\u0103rilor de tip \u201ea c\u0103zut un meteorit\u201d. A\u0219adar, construirea unei solu\u021bii de recuperare \u00een caz de dezastru dispersate teritorial va r\u0103m\u00e2ne subiectul unuia dintre articolele urm\u0103toare. Aici vom analiza a\u0219a-numita solu\u021bie de recuperare \u00een caz de dezastru Cross-Rack, c\u00e2nd protec\u021bia se construie\u0219te la nivel de rack-uri de servere. Rack-urile pot fi situate fie \u00een aceea\u0219i camer\u0103, fie \u00een diferite, dar de obicei \u00een cadrul unei singure cl\u0103diri.<\/p>\n<p><\/p>\n<p>Aceste rack-uri trebuie s\u0103 con\u021bin\u0103 \u00eentreaga echipare \u0219i software necesare care s\u0103 permit\u0103 func\u021bionarea bazelor de date Oracle, indiferent de starea \u201evecinului\u201d. Cu alte cuvinte, utiliz\u00e2nd solu\u021bia de recuperare \u00een caz de dezastru Cross-Rack, exclus riscurile \u00een cazul unei defec\u021biuni:<\/p>\n<p><\/p>\n<ul>\n<li>Serverele aplica\u021biei Oracle<\/li>\n<li>Sistemele de stocare<\/li>\n<li>Sistemele de comutare<\/li>\n<li>Pierderea total\u0103 a \u00eentregii echipamente din rack:\n<ul>\n<li>Defec\u021biune de alimentare<\/li>\n<li>Defec\u021biune a sistemului de r\u0103cire<\/li>\n<li>Factori externi (om, natur\u0103 etc.)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Duplicarea serverelor Oracle implic\u0103 \u00eens\u0103\u0219i esen\u021ba func\u021bion\u0103rii Oracle RAC \u0219i se realizeaz\u0103 prin intermediul aplica\u021biei. Duplicarea echipamentelor de comutare nu reprezint\u0103 o problem\u0103. \u00cens\u0103 cu duplicarea sistemului de stocare nu este at\u00e2t de simplu.<\/p>\n<p><\/p>\n<p>Cea mai simpl\u0103 variant\u0103 este replicarea datelor de la sistemul de stocare principal la cel de rezerv\u0103. Aceasta poate fi sincron\u0103 sau asincron\u0103, \u00een func\u021bie de Capacit\u0103\u021bile sistemului de stocare. \u00cen cazul replic\u0103rii asincrone, imediat apare \u00eentrebarea privind asigurarea consisten\u021bei datelor cu Oracle. Chiar \u0219i \u00een cazul unei integra\u021bii software cu aplica\u021bia, \u00een orice situa\u021bie, \u00een cazul unei avarii la sistemul de stocare principal, va fi necesar\u0103 interven\u021bia administratorilor \u00een mod manual pentru a comuta clusterul pe stocarea de rezerv\u0103.<\/p>\n<p><\/p>\n<p>O variant\u0103 mai complex\u0103 este utilizarea \u201evirtualizatorilor\u201d software \u0219i\/sau hardware pentru sistemul de stocare, care elimin\u0103 problemele de consisten\u021b\u0103 \u0219i interven\u021bia manual\u0103. Totu\u0219i, complexitatea desf\u0103\u0219ur\u0103rii \u0219i a administr\u0103rii ulterioare, precum \u0219i costul destul de ridicat al acestor solu\u021bii \u00eei descurajeaz\u0103 pe mul\u021bi.<\/p>\n<p><\/p>\n<p>Exact pentru astfel de scenarii, cum ar fi recuperarea \u00een caz de dezastru Cross-Rack, solu\u021bia All Flash AccelStor NeoSapphire\u2122 se potrive\u0219te perfect. <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/product\/neosapphire-h710\">H710<\/a><\/noindex> folosind arhitectura Shared-Nothing. Acest model reprezint\u0103 un sistem de stocare cu dou\u0103 noduri, utiliz\u00e2nd propria tehnologie FlexiRemap\u00ae pentru a lucra cu unit\u0103\u021bi flash. Datorit\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/\">FlexiRemap\u00ae<\/a><\/noindex> NeoSapphire\u2122 H710 este capabil s\u0103 ofere performan\u021be de p\u00e2n\u0103 la 600K IOPS@4K scriere aleatorie \u0219i 1M+ IOPS@4K citire aleatorie, ceea ce este ineficient cu sistemele RAID clasice.<\/p>\n<p><\/p>\n<p>Dar caracteristica principal\u0103 a NeoSapphire\u2122 H710 este execu\u021bia a dou\u0103 noduri sub form\u0103 de carcase separate, fiecare av\u00e2nd propriul set de date. Sincronizarea nodurilor se efectueaz\u0103 printr-o interfa\u021b\u0103 extern\u0103 InfiniBand. Datorit\u0103 acestei arhitecturi, nodurile pot fi amplasate \u00een loca\u021bii diferite la o distan\u021b\u0103 de p\u00e2n\u0103 la 100m, asigur\u00e2nd astfel solu\u021bia de recuperare \u00een caz de dezastru Cross-Rack. Ambele noduri func\u021bioneaz\u0103 complet \u00een mod sincron. Din partea gazdelor, H710 arat\u0103 ca un sistem de stocare cu dou\u0103 controlere obi\u0219nuite. Prin urmare, nu este necesar s\u0103 se efectueze op\u021biuni software sau hardware suplimentare \u0219i set\u0103ri deosebit de complicate.<\/p>\n<p><\/p>\n<p>Dac\u0103 compar\u0103m toate solu\u021biile de mai sus pentru recuperarea \u00een caz de dezastru Cross-Rack, varianta de la AccelStor se remarc\u0103 semnificativ fa\u021b\u0103 de celelalte:<\/p>\n<p><\/p>\n<p>AccelStor NeoSapphire\u2122 Arhitectura Shared Nothing<br \/>\nVirtualizator software sau hardware pentru sistemul de stocare<br \/>\nSolu\u021bie bazat\u0103 pe replicare<\/p>\n<p><b>Disponibilitate<\/b><\/p>\n<p>Dezvoltarea serverului<br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>F\u0103r\u0103 downtime<\/b><\/p>\n<p>Dezvoltarea comutatorului<br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>F\u0103r\u0103 downtime<\/b><\/p>\n<p>Dezvoltarea sistemului de stocare<br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>Downtime<\/b><\/p>\n<p>Dezvoltarea \u00eentregului rack<br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>F\u0103r\u0103 downtime<\/b><br \/>\n<b>Downtime<\/b><\/p>\n<p><b>Cost \u0219i complexitate<\/b><\/p>\n<p>Costul solu\u021biei<br \/>\nSc\u0103zut*<br \/>\nRidicat\u0103<br \/>\nRidicat\u0103<\/p>\n<p>Complexitate de desf\u0103\u0219urare<br \/>\nMic<br \/>\nRidicat\u0103<br \/>\nRidicat\u0103<\/p>\n<p><\/p>\n<p><i>*AccelStor NeoSapphire\u2122 este totu\u0219i un sistem de stocare All Flash, care prin defini\u021bie nu cost\u0103 \u201e3 bani\u201d, cu at\u00e2t mai mult av\u00e2nd un rezerv\u0103 de capacitate dubl\u0103. Totu\u0219i, compar\u00e2nd costul final al solu\u021biei bazate pe acesta cu cele similare de la al\u021bi furnizori, pre\u021bul poate fi considerat sc\u0103zut.<\/i><\/p>\n<p><\/p>\n<p>Topologia de conectare a serverelor de aplica\u021bii \u0219i nodurilor All Flash va ar\u0103ta astfel:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/faf6a0a78ed13532a817fb67a2651b1b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Atunci c\u00e2nd planifica\u021bi topologia, este de asemenea extrem de recomandat s\u0103 realiza\u021bi duplicarea comutatoarelor de gestionare \u0219i interconexiune a serverelor.<\/p>\n<p><\/p>\n<p>Aici \u0219i mai departe se va discuta despre conectarea prin Fibre Channel. \u00cen cazul utiliz\u0103rii iSCSI, va fi tot acela\u0219i lucru, cu ajust\u0103rile necesare pentru tipurile de comutatoare utilizate \u0219i c\u00e2teva set\u0103ri diferite ale sistemului de stocare.<\/p>\n<p><\/p>\n<h3>Lucr\u0103ri preg\u0103titoare la sistemul de stocare<\/h3>\n<p>\n<b class=\"spoiler_title\">Echipamentele \u0219i software-ul utilizat<\/b><\/p>\n<p><b>Specifica\u021bii ale serverelor \u0219i comutatoarelor<\/b><\/p>\n<p><\/p>\n<p>Componente<br \/>\nDescriere<\/p>\n<p>Servere Oracle Database 11g<br \/>\nDou\u0103 <\/p>\n<p>Sistem de operare al serverului<br \/>\nOracle Linux<\/p>\n<p>Versiunea bazei de date Oracle<br \/>\n11g (RAC)<\/p>\n<p>Procesoare per server<br \/>\nDou\u0103 CPU Intel\u00ae Xeon\u00ae E5-2667 v2 @ 3.30GHz cu 16 nuclee<\/p>\n<p>Memorie fizic\u0103 pe server<br \/>\n128GB<\/p>\n<p>Re\u021bea FC<br \/>\nFC de 16Gb\/s cu multipath<\/p>\n<p>FC HBA<br \/>\nEmulex Lpe-16002B <\/p>\n<p>Porturi publice dedicate 1GbE pentru managementul clusterului<br \/>\nAdaptor ethernet Intel RJ45<\/p>\n<p>Comutator FC de 16Gb\/s<br \/>\nBrocade 6505<\/p>\n<p>Porturi private dedicate 10GbE pentru sincronizarea datelor<br \/>\nIntel X520<\/p>\n<p><\/p>\n<p><b>Specifica\u021bia sistemului de stocare AccelStor NeoSapphire\u2122 All Flash<\/b><\/p>\n<p><\/p>\n<p>Componente<br \/>\nDescriere<\/p>\n<p>Sistem de stocare<br \/>\nModel de disponibilitate \u00eenalt\u0103 NeoSapphire\u2122: H710<\/p>\n<p>Versiunea imaginii<br \/>\n4.0.1<\/p>\n<p>Num\u0103rul total de unit\u0103\u021bi<br \/>\n48<\/p>\n<p>Dimensiunea unit\u0103\u021bii<br \/>\n1.92TB<\/p>\n<p>Tipul unit\u0103\u021bii<br \/>\nSSD<\/p>\n<p>Porturi de \u021bint\u0103 FC<br \/>\n16x porturi de 16Gb (8 per nod)<\/p>\n<p>Porturi de management<br \/>\nCablul ethernet 1GbE conect\u00e2nd la gazde printr-un comutator ethernet<\/p>\n<p>Port de monitorizare<br \/>\nCablul ethernet 1GbE conect\u00e2nd \u00eentre dou\u0103 noduri de stocare<\/p>\n<p>Port de sincronizare a datelor<br \/>\nCablul InfiniBand de 56Gb\/s<\/p>\n<p>\u00cenainte de a \u00eencepe utilizarea sistemului de stocare, acesta trebuie ini\u021bializat. Implicit, adresa de management a ambelor noduri este aceea\u0219i (192.168.1.1). Trebuie s\u0103 v\u0103 conecta\u021bi alternativ la ele \u0219i s\u0103 stabili\u021bi adrese de management noi (deja diferite) \u0219i s\u0103 configura\u021bi sincronizarea timpului, dup\u0103 care porturile de management pot fi conectate \u00eentr-o re\u021bea unificat\u0103. Apoi, se realizeaz\u0103 gruparea nodurilor \u00eentr-o pereche HA prin alocarea subnet-urilor pentru conexiunile Interlink.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/9eef0dd1ac3a2ae1d19b3484ec2b2a27.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Dup\u0103 finalizarea ini\u021bializ\u0103rii, sistemul de stocare poate fi gestionat de la oricare nod.<\/p>\n<p><\/p>\n<p>Apoi cre\u0103m volumele necesare \u0219i le public\u0103m pentru serverele de aplica\u021bii.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/57a23b64c2bcb3c9f477cc5009e1cd48.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Este extrem de recomandat s\u0103 crea\u021bi mai multe volume pentru Oracle ASM, deoarece aceasta va cre\u0219te num\u0103rul de \u021binte pentru servere, ceea ce, \u00een cele din urm\u0103, va \u00eembun\u0103t\u0103\u021bi performan\u021ba general\u0103 (mai multe despre cozi \u00eentr-o alt\u0103 parte). <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/447390\/\">pe care l-a\u021bi citit<\/a><\/noindex>).<\/p>\n<p>\n<b class=\"spoiler_title\">Configura\u021bia de testare<\/b><\/p>\n<p>Numele volumului de stocare<br \/>\nDimensiunea volumului<\/p>\n<p>Data01<br \/>\n200GB<\/p>\n<p>Data02<br \/>\n200GB<\/p>\n<p>Data03<br \/>\n200GB<\/p>\n<p>Data04<br \/>\n200GB<\/p>\n<p>Data05<br \/>\n200GB<\/p>\n<p>Data06<br \/>\n200GB<\/p>\n<p>Data07<br \/>\n200GB<\/p>\n<p>Data08<br \/>\n200GB<\/p>\n<p>Data09<br \/>\n200GB<\/p>\n<p>Data10<br \/>\n200GB<\/p>\n<p>Grid01<br \/>\n1GB<\/p>\n<p>Grid02<br \/>\n1GB<\/p>\n<p>Grid03<br \/>\n1GB<\/p>\n<p>Grid04<br \/>\n1GB<\/p>\n<p>Grid05<br \/>\n1GB<\/p>\n<p>Grid06<br \/>\n1GB<\/p>\n<p>Redo01<br \/>\n100GB<\/p>\n<p>Redo02<br \/>\n100GB<\/p>\n<p>Redo03<br \/>\n100GB<\/p>\n<p>Redo04<br \/>\n100GB<\/p>\n<p>Redo05<br \/>\n100GB<\/p>\n<p>Redo06<br \/>\n100GB<\/p>\n<p>Redo07<br \/>\n100GB<\/p>\n<p>Redo08<br \/>\n100GB<\/p>\n<p>Redo09<br \/>\n100GB<\/p>\n<p>Redo10<br \/>\n100GB<\/p>\n<h3>Unele explica\u021bii referitoare la modurile de operare ale array-ului \u0219i la procesele care au loc \u00een situa\u021bii neprev\u0103zute<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/e0f9416f16bb8a13673cacfcf1792d9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Fiecare nod are un parametru \u00abnum\u0103r versiune\u00bb \u00een setul de date. Dup\u0103 ini\u021bializarea ini\u021bial\u0103, acesta este acela\u0219i \u0219i egal cu 1. Dac\u0103 din diverse motive num\u0103rul versiunii este diferit, datele sunt \u00eentotdeauna sincronizate de la versiunea superioar\u0103 la cea inferioar\u0103, dup\u0103 care num\u0103rul versiunii inferioare se aliniaz\u0103, adic\u0103 acest lucru \u00eenseamn\u0103 c\u0103 copiile sunt identice. Motivele pentru care versiunile pot fi diferite sunt:<\/p>\n<p><\/p>\n<ul>\n<li>Reboot-ul planificat al uneia dintre noduri<\/li>\n<li>O defec\u021biune pe unul dintre noduri din cauza unei opriri bru\u0219te (alimentare, supra\u00eenc\u0103lzire etc.). <\/li>\n<li>Dezactivarea conexiunii InfiniBand f\u0103r\u0103 posibilitatea de sincronizare<\/li>\n<li>O defec\u021biune pe unul dintre noduri din cauza deterior\u0103rii datelor. Aici va fi necesar\u0103 crearea unui nou grup HA \u0219i o sincronizare complet\u0103 a setului de date.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00cen oricare caz, nodul care r\u0103m\u00e2ne online \u00ee\u0219i cre\u0219te num\u0103rul versiunii cu unu, astfel \u00eenc\u00e2t dup\u0103 restaurarea conexiunii cu perechea s\u0103 poat\u0103 sincroniza setul s\u0103u de date.<\/p>\n<p><\/p>\n<p>Dac\u0103 are loc o deconectare pe linia Ethernet, Heartbeat comut\u0103 temporar pe InfiniBand \u0219i revine \u00eenapoi \u00een termen de 10s la restabilirea conexiunii.<\/p>\n<p><\/p>\n<h3>Configurarea gazdelor<\/h3>\n<p><\/p>\n<p>Pentru a asigura redundan\u021ba \u0219i a cre\u0219te performan\u021ba, este necesar s\u0103 activa\u021bi suportul MPIO pentru array. Pentru aceasta, trebuie ad\u0103uga\u021bi \u00een fi\u0219ierul \/etc\/multipath.conf liniile, dup\u0103 care se va reporni serviciul multipath.<\/p>\n<p>\n<b class=\"spoiler_title\">Text ascuns<\/b>devices {<br \/>\n device {<br \/>\n vendor \u00abAStor\u00bb<br \/>\n path_grouping_policy \u00abgroup_by_prio\u00bb<br \/>\n path_selector \u00abqueue-length 0\u00bb<br \/>\n path_checker \u00abtur\u00bb<br \/>\n features \u00ab0\u00bb<br \/>\n hardware_handler \u00ab0\u00bb<br \/>\n prio \u00abconst\u00bb<br \/>\n failback immediate<br \/>\n fast_io_fail_tmo 5<br \/>\n dev_loss_tmo 60<br \/>\n user_friendly_names yes<br \/>\n detect_prio yes<br \/>\n rr_min_io_rq 1<br \/>\n no_path_retry 0<br \/>\n }<br \/>\n}<\/p>\n<p><\/p>\n<p>\u00cen continuare, pentru ca ASM s\u0103 func\u021bioneze cu MPIO prin ASMLib, este necesar\u0103 modificarea fi\u0219ierului \/etc\/sysconfig\/oracleasm \u0219i apoi executarea \/etc\/init.d\/oracleasm scandisks.<\/p>\n<p>\n<b class=\"spoiler_title\">Text ascuns<\/b><\/p>\n<p># ORACLEASM_SCANORDER: Matching patterns to order disk scanning<br \/>\nORACLEASM_SCANORDER=\u00abdm\u00bb<\/p>\n<p># ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan<br \/>\nORACLEASM_SCANEXCLUDE=\u00absd\u00bb<\/p>\n<p><\/p>\n<h4>Not\u0103<\/h4>\n<p><\/p>\n<p><i>Dac\u0103 nu dori\u021bi s\u0103 folosi\u021bi ASMLib, pute\u021bi utiliza regulile UDEV, care sunt baza pentru ASMLib.<\/i><\/p>\n<p><\/p>\n<p><i>\u00cencep\u00e2nd cu versiunea 12.1.0.2 Oracle Database op\u021biunea este disponibil\u0103 pentru instalare ca parte a software-ului ASMFD.<\/i><\/p>\n<p>Este necesar s\u0103 se asigure c\u0103 discurile create pentru Oracle ASM sunt aliniate \u00een raport cu dimensiunea blocului cu care func\u021bioneaz\u0103 fizic array-ul (4K). Altfel, pot ap\u0103rea probleme cu performan\u021ba. Prin urmare, este necesar s\u0103 se creeze volume cu parametrii corespunz\u0103tori:<\/p>\n<p><\/p>\n<p><i>parted \/dev\/mapper\/device-name mklabel gpt mkpart primary 2048s 100% align-check optimal 1<\/i><\/p>\n<p><\/p>\n<h3>Distribuirea bazelor de date pe volumele create pentru configura\u021bia noastr\u0103 de test<\/h3>\n<p><\/p>\n<p>Numele volumului de stocare<br \/>\nDimensiunea volumului<br \/>\nMaparea LUN-urilor volumelor<br \/>\nDetalii despre dispozitivul volumului ASM<br \/>\nDimensiunea unit\u0103\u021bii de alocare<\/p>\n<p>Data01<br \/>\n200GB<br \/>\nMapeaz\u0103 toate volumele de stocare la toate porturile de date ale sistemului de stocare<br \/>\nRedundan\u021b\u0103: Normal<br \/>\nNume: DGDATA<br \/>\nScop: Fi\u0219iere de date<\/p>\n<p>4MB<\/p>\n<p>Data02<br \/>\n200GB<\/p>\n<p>Data03<br \/>\n200GB<\/p>\n<p>Data04<br \/>\n200GB<\/p>\n<p>Data05<br \/>\n200GB<\/p>\n<p>Data06<br \/>\n200GB<\/p>\n<p>Data07<br \/>\n200GB<\/p>\n<p>Data08<br \/>\n200GB<\/p>\n<p>Data09<br \/>\n200GB<\/p>\n<p>Data10<br \/>\n200GB<\/p>\n<p>Grid01<br \/>\n1GB<br \/>\nRedundan\u021b\u0103: Normal<br \/>\nNume: DGGRID1<br \/>\nScop: Grid: CRS \u0219i votare<\/p>\n<p>4MB<\/p>\n<p>Grid02<br \/>\n1GB<\/p>\n<p>Grid03<br \/>\n1GB<\/p>\n<p>Grid04<br \/>\n1GB<br \/>\nRedundan\u021b\u0103: Normal<br \/>\nNume: DGGRID2<br \/>\nScop: Grid: CRS \u0219i votare<\/p>\n<p>4MB<\/p>\n<p>Grid05<br \/>\n1GB<\/p>\n<p>Grid06<br \/>\n1GB<\/p>\n<p>Redo01<br \/>\n100GB<br \/>\nRedundan\u021b\u0103: Normal<br \/>\nNume: DGREDO1<br \/>\nScop: Jurnal redoing fir 1<\/p>\n<p>4MB<\/p>\n<p>Redo02<br \/>\n100GB<\/p>\n<p>Redo03<br \/>\n100GB<\/p>\n<p>Redo04<br \/>\n100GB<\/p>\n<p>Redo05<br \/>\n100GB<\/p>\n<p>Redo06<br \/>\n100GB<br \/>\nRedundan\u021b\u0103: Normal<br \/>\nNume: DGREDO2<br \/>\nScop: Jurnal redoing fir 2<\/p>\n<p>4MB<\/p>\n<p>Redo07<br \/>\n100GB<\/p>\n<p>Redo08<br \/>\n100GB<\/p>\n<p>Redo09<br \/>\n100GB<\/p>\n<p>Redo10<br \/>\n100GB<\/p>\n<p>\n<b class=\"spoiler_title\">Set\u0103ri baz\u0103 de date<\/b><\/p>\n<ul>\n<li>Dimensiunea blocului = 8K<\/li>\n<li>Spa\u021biu swap = 16GB<\/li>\n<li>Dezactiveaz\u0103 AMM (Gestionarea automat\u0103 a memoriei)<\/li>\n<li>Dezactiveaz\u0103 paginile uria\u0219e transparente<\/li>\n<\/ul>\n<p><b class=\"spoiler_title\">Alte set\u0103ri<\/b><\/p>\n<p><u># vi \/etc\/sysctl.conf<\/u><br \/>\n\u2713 fs.aio-max-nr = 1048576<br \/>\n\u2713 fs.file-max = 6815744<br \/>\n\u2713 kernel.shmmax 103079215104<br \/>\n\u2713 kernel.shmall 31457280<br \/>\n\u2713 kernel.shmmn 4096<br \/>\n\u2713 kernel.sem = 250 32000 100 128<br \/>\n\u2713 net.ipv4.ip_local_port_range = 9000 65500<br \/>\n\u2713 net.core.rmem_default = 262144<br \/>\n\u2713 net.core.rmem_max = 4194304<br \/>\n\u2713 net.core.wmem_default = 262144<br \/>\n\u2713 net.core.wmem_max = 1048586<br \/>\n\u2713 vm.swappiness=10<br \/>\n\u2713 vm.min_free_kbytes=524288 # nu seta\u0163i acest lucru dac\u0103 utiliza\u021bi Linux x86<br \/>\n\u2713 vm.vfs_cache_pressure=200<br \/>\n\u2713 vm.nr_hugepages = 57000<\/p>\n<p><u># vi \/etc\/security\/limits.conf<\/u><br \/>\n\u2713 grid soft nproc 2047<br \/>\n\u2713 grid hard nproc 16384<br \/>\n\u2713 grid soft nofile 1024<br \/>\n\u2713 grid hard nofile 65536<br \/>\n\u2713 grid soft stack 10240<br \/>\n\u2713 grid hard stack 32768<br \/>\n\u2713 oracle soft nproc 2047<br \/>\n\u2713 oracle hard nproc 16384<br \/>\n\u2713 oracle soft nofile 1024<br \/>\n\u2713 oracle hard nofile 65536<br \/>\n\u2713 oracle soft stack 10240<br \/>\n\u2713 oracle hard stack 32768<br \/>\n\u2713 soft memlock 120795954<br \/>\n\u2713 hard memlock 120795954\n<\/p>\n<p><\/p>\n<p><u>sqlplus \"\/as sysdba\"<\/u><br \/>\nalter system set processes=2000 scope=spfile;<br \/>\nalter system set open_cursors=2000 scope=spfile;<br \/>\nalter system set session_cached_cursors=300 scope=spfile;<br \/>\nalter system set db_files=8192 scope=spfile;\n<\/p>\n<p><\/p>\n<h3>Test de rezilien\u021b\u0103<\/h3>\n<p><\/p>\n<p>Pentru demonstrare, a fost folosit HammerDB pentru a emula o \u00eenc\u0103rcare OLTP. Configurarea HammerDB:<\/p>\n<p><\/p>\n<p><b>Num\u0103rul de depozite<\/b><br \/>\n256<\/p>\n<p>Totalul tranzac\u021biilor pe utilizator<br \/>\n1000000000000<\/p>\n<p>Utilizatori virtuali<br \/>\n256<\/p>\n<p><\/p>\n<p>\u00cen rezultatul ob\u021binut, s-a \u00eenregistrat un indicator de 2.1M TPM, care este departe de limita de performan\u021b\u0103 a aranjamentului <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/product\/neosapphire-h710\">H710<\/a><\/noindex>, dar reprezint\u0103 \u201etavanul\u201d pentru configura\u021bia hardware actual\u0103 a serverelor (\u00een principal din cauza procesoarelor) \u0219i a num\u0103rului lor. Scopul acestui test este totu\u0219i demonstrarea rezilien\u021bei solu\u021biei \u00een ansamblu, \u0219i nu atingerea maximelor de performan\u021b\u0103. Prin urmare, ne vom baza doar pe aceast\u0103 cifr\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/6de29f092e4c96a980a5790d8dd9a447.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Test de e\u0219ec al uneia dintre noduri<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/c222cea4613ad7096bb097fee16bbb48.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/4b9459ba3d7cf34ec1e4ad4cd34adc09.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Hosturile au pierdut o parte din c\u0103ile c\u0103tre stocare, continu\u00e2nd s\u0103 func\u021bioneze prin c\u0103ile r\u0103mase cu al doilea nod. Performan\u021ba a sc\u0103zut timp de c\u00e2teva secunde din cauza reconstruc\u021biei c\u0103ilor, apoi a revenit la valorile normale. Nu a avut loc o \u00eentrerupere a serviciului.<\/p>\n<p><\/p>\n<h3>Test de e\u0219ec al raftului cu tot echipamentul<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/bf4c1bbf2b4986911c4274525cf8e5d5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Construirea unei solu\u021bii de rezilien\u021b\u0103 bazat\u0103 pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing\" src=\"\/wp-content\/uploads\/2019\/04\/17d5aa73f72dce4fd9227cb6907c249c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u00cen acest caz, performan\u021ba a sc\u0103zut de asemenea timp de c\u00e2teva secunde din cauza reconstruc\u021biei c\u0103ilor, apoi a revenit la jum\u0103tate din valoarea ini\u021bial\u0103. Rezultatul a fost redus la jum\u0103tate din valoarea ini\u021bial\u0103 datorit\u0103 excluderii unui server de aplica\u021bie. Nici o \u00eentrerupere a serviciului nu a avut loc.<\/p>\n<p><\/p>\n<blockquote><p>Dac\u0103 ave\u021bi nevoie de o solu\u021bie de recuperare \u00een caz de dezastru Cross-Rack pentru Oracle, care s\u0103 fie accesibil\u0103 ca pre\u021b \u0219i cu eforturi reduse de implementare\/administra\u021bie, atunci colaborarea dintre Oracle RAC \u0219i arhitectur\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/page\/pochemu-accelstor\">AccelStor Shared-Nothing<\/a><\/noindex> va fi una dintre cele mai bune op\u021biuni. \u00cen loc de Oracle RAC, poate fi orice alt software care suport\u0103 clusterizarea, acelea\u0219i DBMS-uri sau sisteme de virtualizare, de exemplu. Principiul de construc\u021bie al solu\u021biei va r\u0103m\u00e2ne acela\u0219i. Iar valoarea final\u0103 va fi zero pentru RTO \u0219i RPO.<\/p><\/blockquote>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/448538\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u043c\u0430\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e Enterprise \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, Oracle RAC (Oracle Real Application Cluster) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 Oracle, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u0446\u0435\u043b\u044c\u044e \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\/\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0442\u0430\u043a\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0449\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0432 \u0440\u043e\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23767,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31907","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.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u043c\u0430\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e Enterprise \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439.\" \/>\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\/ro\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 Oracle RAC \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b AccelStor Shared-Nothing | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u043c\u0430\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e Enterprise \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing\" \/>\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:43:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:43:53+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\udd47Construirea unei solu\u021bii rezistente la fault bazate pe Oracle RAC \u0219i arhitectura AccelStor Shared-Nothing | ProHoster","description":"Un num\u0103r considerabil de aplica\u021bii Enterprise \u0219i sisteme de virtualizare au mecanisme proprii pentru construirea de solu\u021bii rezistente la fault.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 Oracle RAC \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b AccelStor Shared-Nothing | ProHoster","og:description":"\u041d\u0435\u043c\u0430\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e Enterprise \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing","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:43:53+00:00","article:modified_time":"2019-10-31T18:43:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31907","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 08:22:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:09:25","updated":"2026-01-21 08:22:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/31907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=31907"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/31907\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/23767"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=31907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=31907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=31907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}