{"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\/nl\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing","title":{"rendered":"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Vele Enterprise-applicaties en virtualisatiesystemen hebben hun eigen mechanismen voor het opzetten van failover-oplossingen. In het bijzonder is Oracle RAC (Oracle Real Application Cluster) een cluster van twee of meer Oracle-databaseservers die samenwerken om de belasting gelijkmatig te verdelen en failover-compatibiliteit op server-\/applicatieniveau te bieden. Voor het functioneren in deze modus is een gedeelde opslag nodig, die meestal door een opslagcontainer wordt geleid. <\/p>\n<p><\/p>\n<p>Zoals we al eerder hebben besproken in een van onze <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/441780\/\">artikelen<\/a><\/noindex>, heeft de opslagcontainer op zichzelf, ondanks de aanwezigheid van gedupliceerde componenten (inclusief controllers), nog steeds punten van uitval - met name in de vorm van een enkele set gegevens. Daarom moet de structuur 'N servers - \u00e9\u00e9n opslagcontainer' worden gecompliceerd voor het bouwen van een Oracle-oplossing met verhoogde betrouwbaarheid.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" 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>Allereerst moeten we uiteraard bepalen tegen welke risico's we ons willen beschermen. In dit artikel zullen we niet ingaan op bescherming tegen bedreigingen zoals 'een meteoriet die gevallen is'. Dus het opzetten van een geografisch verspreide disaster recovery-oplossing blijft een onderwerp voor een van de volgende artikelen. Hier bekijken we de zogenaamde Cross-Rack disaster recovery-oplossing, waarbij de bescherming wordt geboden op serverkastniveau. De kasten kunnen zich zowel in dezelfde ruimte als in verschillende ruimtes bevinden, maar meestal binnen hetzelfde gebouw.<\/p>\n<p><\/p>\n<p>Deze kasten moeten de volledige benodigde set apparatuur en software bevatten om de werking van Oracle-databases te waarborgen, ongeacht de toestand van de 'buur'. Met andere woorden, door gebruik te maken van de Cross-Rack disaster recovery-oplossing, sluiten we de risico's bij uitval uit:<\/p>\n<p><\/p>\n<ul>\n<li>Oracle-toepassingsservers<\/li>\n<li>Opslagsystemen<\/li>\n<li>Schakelsystemen<\/li>\n<li>Volledige uitval van alle apparatuur in de kast:\n<ul>\n<li>Stroomuitval<\/li>\n<li>Koelingsysteemuitval<\/li>\n<li>Buitenlandse factoren (mens, natuur, enz.)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Duplicatie van Oracle-servers impliceert het principe van de werking van Oracle RAC en wordt gerealiseerd via de applicatie. Duplicatie van schakelingen vormt ook geen probleem. Maar duplicatie van het opslagsysteem is niet zo eenvoudig.<\/p>\n<p><\/p>\n<p>De eenvoudigste optie is de replicatie van gegevens van de primaire opslag naar de reserveopslag. Dit kan synchroon of asynchroon, afhankelijk van de mogelijkheden van de opslag. Bij asynchrone replicatie rijst direct de vraag naar de consistentie van de gegevens in relatie tot Oracle. Maar zelfs als er software-integratie met de applicatie is, is er altijd handmatige tussenkomst van beheerders nodig om het cluster naar de reserveopslag over te schakelen bij een storing van de primaire opslag.<\/p>\n<p><\/p>\n<p>Een complexere optie zijn software- en\/of hardware 'virtualizers' voor opslag, die problemen met consistentie en handmatige tussenkomst vermijden. Maar de complexiteit van implementatie en het daaropvolgende beheer, evenals de vrij hoge kosten van dergelijke oplossingen, schrikt velen af.<\/p>\n<p><\/p>\n<p>Voor dergelijke scenario's zoals Cross-Rack disaster recovery is de All Flash array AccelStor NeoSapphire\u2122 een uitstekende keuze. <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/product\/neosapphire-h710\">H710<\/a><\/noindex> met gebruik van de Shared-Nothing architectuur. Dit model bestaat uit een tweekoppig opslagsysteem dat gebruikmaakt van de eigen technologie FlexiRemap\u00ae voor het werken met flash-opslag. Dankzij <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/\">FlexiRemap\u00ae<\/a><\/noindex> de NeoSapphire\u2122 H710 kan een prestaties leveren tot 600K IOPS@4K random write en 1M+ IOPS@4K random read, wat onhaalbaar is met traditionele RAID-gebaseerde opslag.<\/p>\n<p><\/p>\n<p>Maar de belangrijkste eigenschap van de NeoSapphire\u2122 H710 is de uitvoering van twee knooppunten in aparte behuizingen, waarvan elke een eigen kopie van de gegevens heeft. De synchronisatie van de knooppunten gebeurt via een externe InfiniBand-interface. Dankzij deze architectuur kunnen knooppunten op verschillende locaties tot 100m van elkaar worden geplaatst, wat een oplossing voor Cross-Rack disaster recovery mogelijk maakt. Beide knooppunten werken volledig synchroon. Voor de hosts lijkt de H710 op een gewone dual-controller opslag. Daarom zijn er geen aanvullende software- en hardware-opties of bijzonder complexe instellingen nodig.<\/p>\n<p><\/p>\n<p>Wanneer je alle bovengenoemde oplossingen voor Cross-Rack disaster recovery vergelijkt, valt de optie van AccelStor duidelijk op tussen de anderen:<\/p>\n<p><\/p>\n<p>AccelStor NeoSapphire\u2122 Shared Nothing Architecture<br \/>\nSoftware- of hardware 'virtualizer' voor opslag<br \/>\nOplossing op basis van replicatie<\/p>\n<p><b>Beschikbaarheid<\/b><\/p>\n<p>Serveruitval<br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Geen Downtime<\/b><\/p>\n<p>Switchuitval<br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Geen Downtime<\/b><\/p>\n<p>Opslaguitval<br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Downtime<\/b><\/p>\n<p>Kastuitval<br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Geen Downtime<\/b><br \/>\n<b>Downtime<\/b><\/p>\n<p><b>Kosten en complexiteit<\/b><\/p>\n<p>Kosten van de oplossing<br \/>\nLaag*<br \/>\nHoog<br \/>\nHoog<\/p>\n<p>Implementatiecomplexiteit<br \/>\nLaag<br \/>\nHoog<br \/>\nHoog<\/p>\n<p><\/p>\n<p><i>*AccelStor NeoSapphire\u2122 is nog steeds een All Flash-array, die per definitie niet \u2018drie centen\u2019 kost, vooral met een dubbele capaciteit. Echter, vergeleken met de totale kosten van oplossingen op basis hiervan met vergelijkbare van andere leveranciers, kan de prijs als laag worden beschouwd.<\/i><\/p>\n<p><\/p>\n<p>De topologie voor het aansluiten van applicatieservers en nodes van de All Flash-array zal er als volgt uitzien:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/faf6a0a78ed13532a817fb67a2651b1b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Bij het plannen van de topologie is het ook zeer aanbevolen om duplicaten van de beheerswitches en de interconnects van de servers te maken.<\/p>\n<p><\/p>\n<p>Hier en verder zal het gaan om een verbinding via Fibre Channel. Bij gebruik van iSCSI zal hetzelfde gebeuren, met aanpassingen aan de gebruikte typen switches en iets andere configuraties van de array.<\/p>\n<p><\/p>\n<h3>Voorbereidend werk op de array<\/h3>\n<p>\n<b class=\"spoiler_title\">Gebruikte hardware en software<\/b><\/p>\n<p><b>Specificaties van servers en switches<\/b><\/p>\n<p><\/p>\n<p>Componenten<br \/>\nOmschrijving<\/p>\n<p>Oracle Database 11g-servers<br \/>\nTwee <\/p>\n<p>Serverbesturingssysteem<br \/>\nOracle Linux<\/p>\n<p>Versie van de Oracle-database<br \/>\n11g (RAC)<\/p>\n<p>Processors per server<br \/>\nTwee 16 cores Intel\u00ae Xeon\u00ae CPU E5-2667 v2 @ 3.30GHz<\/p>\n<p>Fysiek geheugen per server<br \/>\n128GB<\/p>\n<p>FC-netwerk<br \/>\n16Gb\/s FC met multipathing<\/p>\n<p>FC HBA<br \/>\nEmulex Lpe-16002B <\/p>\n<p>Speciaal publiek 1GbE-poorten voor clusterbeheer<br \/>\nIntel ethernetadapter RJ45<\/p>\n<p>16Gb\/s FC-switch<br \/>\nBrocade 6505<\/p>\n<p>Speciaal priv\u00e9 10GbE-poorten voor gegevenssynchronisatie<br \/>\nIntel X520<\/p>\n<p><\/p>\n<p><b>Specificatie van de AccelStor NeoSapphire\u2122 All Flash-array<\/b><\/p>\n<p><\/p>\n<p>Componenten<br \/>\nOmschrijving<\/p>\n<p>Opslagsysteem<br \/>\nNeoSapphire\u2122 hoge beschikbaarheidsmodel: H710<\/p>\n<p>Afbeeldingsversie<br \/>\n4.0.1<\/p>\n<p>Totaal aantal schijven<br \/>\n48<\/p>\n<p>Schijfgrootte<br \/>\n1.92TB<\/p>\n<p>Schijftype<br \/>\nSSD<\/p>\n<p>FC-doelpoorten<br \/>\n16x 16Gb poorten (8 per node)<\/p>\n<p>Beheerpoorten<br \/>\nDe 1GbE ethernetkabel die verbinding maakt met hosts via een ethernet switch<\/p>\n<p>Heartbeat-poort<br \/>\nDe 1GbE ethernetkabel die verbinding maakt tussen twee opslagnodes<\/p>\n<p>Gegevenssynchronisatiepoort<br \/>\n56Gb\/s InfiniBand-kabel<\/p>\n<p>Voordat de array wordt gebruikt, moet deze worden ge\u00efnitialiseerd. Standaard heeft het beheersadres van beide nodes hetzelfde adres (192.168.1.1). Je moet een voor een verbinding maken met hen en nieuwe (al verschillende) beheersadressen instellen en de tijdsynchronisatie configureren, waarna de beheerpoorten in \u00e9\u00e9n netwerk kunnen worden aangesloten. Daarna worden de nodes als een HA-paar samengevoegd door subnetten aan de interlinkverbindingen toe te wijzen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/9eef0dd1ac3a2ae1d19b3484ec2b2a27.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Na het voltooien van de initialisatie kan de array vanaf elke node worden beheerd.<\/p>\n<p><\/p>\n<p>Vervolgens maken we de benodigde volumes aan en publiceren we deze voor applicatieservers.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/57a23b64c2bcb3c9f477cc5009e1cd48.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Het is sterk aanbevolen om meerdere volumes voor Oracle ASM te cre\u00ebren, aangezien dit het aantal targets voor servers zal verhogen, wat uiteindelijk de algehele prestaties zal verbeteren (meer hierover over queues in een andere) <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/447390\/\">artikel<\/a><\/noindex>).<\/p>\n<p>\n<b class=\"spoiler_title\">Testconfiguratie<\/b><\/p>\n<p>Opslagvolumenaam<br \/>\nVolume grootte<\/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>Enkele uitleg over de werkmodi van de array en de processen die plaatsvinden tijdens noodgevallen.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/e0f9416f16bb8a13673cacfcf1792d9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Elke node in de dataset heeft een parameter \u2018versienummer\u2019. Na de eerste initialisatie is deze gelijk en bedraagt hij 1. Als om welke reden dan ook het versienummer verschilt, gebeurt er altijd synchronisatie van gegevens van de oudere versie naar de jongere, waarna het versienummer van de jongere wordt afgestemd, wat betekent dat de kopie\u00ebn identiek zijn. Redenen waarom versies kunnen verschillen zijn:<\/p>\n<p><\/p>\n<ul>\n<li>Geplande herstart van een van de nodes.<\/li>\n<li>Uitval van een van de nodes door een onverwachte uitschakeling (stroom, oververhitting, enz.). <\/li>\n<li>Onderbreking van de InfiniBand-verbinding met onvermogen om te synchroniseren.<\/li>\n<li>Uitval van een van de nodes door datacorruptie. Hier is het nodig om een nieuwe HA-groep te cre\u00ebren en de dataset volledig te synchroniseren.<\/li>\n<\/ul>\n<p><\/p>\n<p>In ieder geval verhoogt de node die online blijft haar versienummer met \u00e9\u00e9n, zodat ze na het herstellen van de verbinding haar dataset kan synchroniseren met de paren.<\/p>\n<p><\/p>\n<p>Als de verbinding wordt verbroken via de Ethernet-link, schakelt Heartbeat tijdelijk over naar InfiniBand en schakelt het binnen 10 seconden weer terug zodra deze hersteld is.<\/p>\n<p><\/p>\n<h3>Configuratie van hosts.<\/h3>\n<p><\/p>\n<p>Om redundantie en hogere prestaties te waarborgen, moet MPIO-ondersteuning voor de array worden ingeschakeld. Hiervoor moeten regels aan het bestand \/etc\/multipath.conf worden toegevoegd, waarna de multipath-service opnieuw moet worden opgestart.<\/p>\n<p>\n<b class=\"spoiler_title\">Verborgen tekst<\/b>devices {<br \/>\n device {<br \/>\n vendor \"AStor\"<br \/>\n path_grouping_policy \"group_by_prio\"<br \/>\n path_selector \"queue-length 0\"<br \/>\n path_checker \"tur\"<br \/>\n features \"0\"<br \/>\n hardware_handler \"0\"<br \/>\n prio \"const\"<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>Vervolgens, om ASM te laten werken met MPIO via ASMLib, moet het bestand \/etc\/sysconfig\/oracleasm worden gewijzigd en moet vervolgens \/etc\/init.d\/oracleasm scandisks worden uitgevoerd.<\/p>\n<p>\n<b class=\"spoiler_title\">Verborgen tekst<\/b><\/p>\n<p># ORACLEASM_SCANORDER: Matching patterns to order disk scanning<br \/>\nORACLEASM_SCANORDER=\"dm\"<\/p>\n<p># ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan<br \/>\nORACLEASM_SCANEXCLUDE=\"sd\"<\/p>\n<p><\/p>\n<h4>Opmerking<\/h4>\n<p><\/p>\n<p><i>Als je ASMLib niet wilt gebruiken, kunnen UDEV-regels worden gebruikt, die de basis zijn voor ASMLib.<\/i><\/p>\n<p><\/p>\n<p><i>Vanaf versie 12.1.0.2 is de Oracle Database-optie beschikbaar voor installatie als onderdeel van de ASMFD-software.<\/i><\/p>\n<p>Zorg er altijd voor dat de schijven die voor Oracle ASM worden aangemaakt, zijn afgestemd op de blokgrootte waarmee de array fysiek werkt (4K). Anders kunnen er prestatieproblemen optreden. Daarom moeten volumes met de bijbehorende parameters worden aangemaakt:<\/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>Database distribution across created volumes for our test configuration<\/h3>\n<p><\/p>\n<p>Opslagvolumenaam<br \/>\nVolume grootte<br \/>\nVolume LUNs mapping<br \/>\nASM Volume Device Detail<br \/>\nAllocation Unit Size<\/p>\n<p>Data01<br \/>\n200GB<br \/>\nMap all storage volumes to storage system all data ports<br \/>\nRedundancy: Normal<br \/>\nName: DGDATA<br \/>\nPurpose: Data files<\/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 \/>\nRedundancy: Normal<br \/>\nName: DGGRID1<br \/>\nPurpose: Grid: CRS and Voting<\/p>\n<p>4MB<\/p>\n<p>Grid02<br \/>\n1GB<\/p>\n<p>Grid03<br \/>\n1GB<\/p>\n<p>Grid04<br \/>\n1GB<br \/>\nRedundancy: Normal<br \/>\nName: DGGRID2<br \/>\nPurpose: Grid: CRS and Voting<\/p>\n<p>4MB<\/p>\n<p>Grid05<br \/>\n1GB<\/p>\n<p>Grid06<br \/>\n1GB<\/p>\n<p>Redo01<br \/>\n100GB<br \/>\nRedundancy: Normal<br \/>\nName: DGREDO1<br \/>\nPurpose: Redo log of thread 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 \/>\nRedundancy: Normal<br \/>\nName: DGREDO2<br \/>\nPurpose: Redo log of thread 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\">Database-instellingen<\/b><\/p>\n<ul>\n<li>Block size = 8K<\/li>\n<li>Swap space = 16GB<\/li>\n<li>Disable AMM (Automatic Memory Management)<\/li>\n<li>Disable Transparent Huge Pages<\/li>\n<\/ul>\n<p><b class=\"spoiler_title\">Other settings<\/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 # don\u2019t set this if you\u2019re using 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 \u201c\/as sysdba\u201d<\/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>Failover test<\/h3>\n<p><\/p>\n<p>To demonstrate, HammerDB was used to emulate OLTP load. HammerDB configuration:<\/p>\n<p><\/p>\n<p><b>Number of Warehouses<\/b><br \/>\n256<\/p>\n<p>Total Transactions per User<br \/>\n1000000000000<\/p>\n<p>Virtual Users<br \/>\n256<\/p>\n<p><\/p>\n<p>The result was a measure of 2.1M TPM, which is far from the performance limit of the array <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/product\/neosapphire-h710\">H710<\/a><\/noindex>, but is the \"ceiling\" for the current hardware configuration of the servers (primarily due to the processors) and their quantity. The goal of this test is still to demonstrate the fault tolerance of the solution as a whole, rather than achieving performance maxima. Therefore, we will just take this figure as a reference.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/6de29f092e4c96a980a5790d8dd9a447.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Node failure test<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/c222cea4613ad7096bb097fee16bbb48.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/4b9459ba3d7cf34ec1e4ad4cd34adc09.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Hosts lost part of the paths to the storage but continued to operate through the remaining ones with the second node. The performance dropped for a few seconds due to path reconfiguration but then returned to normal levels. There was no service interruption.<\/p>\n<p><\/p>\n<h3>Cabinet failure test with all equipment<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/bf4c1bbf2b4986911c4274525cf8e5d5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Het bouwen van een veerkrachtige oplossing op basis van Oracle RAC en de AccelStor Shared-Nothing architectuur.\" src=\"\/wp-content\/uploads\/2019\/04\/17d5aa73f72dce4fd9227cb6907c249c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>In this case, the performance also dropped for a few seconds due to path reconfiguration, then returned to half the original value. The result decreased by half from the initial due to the exclusion of one application server from operation. There was also no service interruption.<\/p>\n<p><\/p>\n<blockquote><p>Als er behoefte is aan een kosteneffectieve en eenvoudig te implementeren oplossing voor Cross-Rack disaster recovery voor Oracle, is de combinatie van Oracle RAC en de architectuur <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/page\/pochemu-accelstor\">AccelStor Shared-Nothing<\/a><\/noindex> een van de beste opties. In plaats van Oracle RAC kan elke andere software die clustering ondersteunt, zoals dezelfde databasesystemen of virtualisatiesystemen, worden gebruikt. Het principe van de oplossing blijft hetzelfde. Het uiteindelijke resultaat is een RTO en RPO van nul.<\/p><\/blockquote>\n<p>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing\" \/>\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\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\/nl\/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\udd47Het opzetten van een foutbestendige oplossing op basis van Oracle RAC en de architectuur van AccelStor Shared-Nothing | ProHoster","description":"Een aanzienlijk aantal Enterprise-applicaties en virtualisatiesystemen heeft eigen mechanismen voor het opzetten van foutbestendige oplossingen.","canonical_url":"https:\/\/prohoster.info\/nl\/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":"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\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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/31907","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=31907"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/31907\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/23767"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=31907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=31907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=31907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}