{"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\/da\/blog\/administrirovanie\/postroenie-otkazoustojchivogo-resheniya-na-baze-oracle-rac-i-arhitektury-accelstor-shared-nothing","title":{"rendered":"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Et ikke ubetydeligt antal enterprise-applikationer og virtualiseringssystemer har deres egne mekanismer til opbygning af failover-l\u00f8sninger. Specifikt er Oracle RAC (Oracle Real Application Cluster) et cluster af to eller flere Oracle-databaseservere, der arbejder sammen for at balancere belastningen og sikre failover p\u00e5 server-\/applikationsniveau. For at arbejde i denne tilstand er et f\u00e6lles lager n\u00f8dvendigt, som normalt udg\u00f8res af et SAN. <\/p>\n<p><\/p>\n<p>Som vi allerede har diskuteret i en af \u200b\u200bvores <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/441780\/\">artikler<\/a><\/noindex>, har selve SAN'en, p\u00e5 trods af tilstedev\u00e6relsen af \u200b\u200bredundante komponenter (herunder controllere), stadig fejlpunkter \u2013 prim\u00e6rt i form af et enkelt datas\u00e6t. Derfor, for at opbygge en Oracle-l\u00f8sning med h\u00f8je p\u00e5lidelighedskrav, skal skemaet \"N servere - \u00e9t SAN\" kompliceres.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" 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>F\u00f8rst og fremmest skal vi selvf\u00f8lgelig finde ud af, hvilke risici vi fors\u00f8ger at forsikre os imod. I denne artikel vil vi ikke overveje beskyttelse mod trusler som \"meteoritten der ramte\". S\u00e5 opbygning af en geografisk spredt disaster recovery-l\u00f8sning forbliver et emne for en af \u200b\u200bde kommende artikler. Her vil vi se p\u00e5 det s\u00e5kaldte Cross-Rack disaster recovery-l\u00f8sning, n\u00e5r beskyttelsen opbygges p\u00e5 serverrackniveau. Racksene kan v\u00e6re i samme rum eller forskellige, men typisk inden for \u00e9n bygning.<\/p>\n<p><\/p>\n<p>Disse racks skal indeholde alle n\u00f8dvendige udstyr og software, der muligg\u00f8r drift af Oracle-databaser uafh\u00e6ngigt af tilstanden hos \"naboen\". Med andre ord, ved at bruge Cross-Rack disaster recovery-l\u00f8sningen udelukker vi risici ved fejl:<\/p>\n<p><\/p>\n<ul>\n<li>Oracle-applikationsservere<\/li>\n<li>Lagringssystemer<\/li>\n<li>Switche<\/li>\n<li>Total nedbrud af alt udstyr i racken:\n<ul>\n<li>Str\u00f8msvigt<\/li>\n<li>K\u00f8lesystemfejl<\/li>\n<li>Eksterne faktorer (mennesker, natur osv.)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Redundans af Oracle-servere indeb\u00e6rer selve princippet for Oracle RAC og implementeres via applikationen. Redundans af switching-midler er heller ikke et problem. Men det er ikke s\u00e5 enkelt med redundansen af \u200b\u200blagringssystemet.<\/p>\n<p><\/p>\n<p>Den enkleste mulighed er at replikere data fra det prim\u00e6re lagringssystem til det sekund\u00e6re. Synchronous eller asynchronous, afh\u00e6ngigt af lagringssystemets muligheder. Ved asynkron replikation opst\u00e5r straks sp\u00f8rgsm\u00e5let om sikringen af datakonsistens i forhold til Oracle. Men selvom der er en softwareintegration med applikationen, vil der alligevel v\u00e6re behov for administratorers manuelle indgreb for at skifte klyngen til det sekund\u00e6re lager ved nedbrud p\u00e5 det prim\u00e6re lagringssystem.<\/p>\n<p><\/p>\n<p>En mere kompleks mulighed er software- og\/eller hardware 'virtualizere' af lagringssystemet, som fjerner problemer med konsistens og manuel indgriben. Men kompleksiteten ved implementering og efterf\u00f8lgende administration, samt den ganske urimelige pris for disse l\u00f8sninger skr\u00e6mmer mange v\u00e6k.<\/p>\n<p><\/p>\n<p>Netop til s\u00e5danne scenarier, som Cross-Rack disaster recovery, passer AccelStor NeoSapphire\u2122-l\u00f8sningen perfekt. <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/product\/neosapphire-h710\">H710<\/a><\/noindex> med anvendelse af Shared-Nothing-arkitektur. Denne model repr\u00e6senterer et to-node lagringssystem, der bruger sin egen teknologi FlexiRemap\u00ae til at arbejde med flash-lagringsenheder. Takket v\u00e6re <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/\">FlexiRemap\u00ae<\/a><\/noindex> NeoSapphire\u2122 H710 kan opn\u00e5 ydeevne p\u00e5 op til 600K IOPS@4K random write og 1M+ IOPS@4K random read, hvilket er uopn\u00e5eligt ved brug af klassiske RAID-baserede lagringssystemer.<\/p>\n<p><\/p>\n<p>Men den vigtigste egenskab ved NeoSapphire\u2122 H710 er udf\u00f8relsen af de to noder i form af separate kabinetter, hvor hver har sin egen kopi af dataene. Synkroniseringen af noderne sker via et eksternt InfiniBand-interface. Takket v\u00e6re denne arkitektur kan noderne placeres p\u00e5 forskellige lokationer op til 100 meter v\u00e6k, hvilket muligg\u00f8r Cross-Rack disaster recovery. Begge noder arbejder fuldt synkront. For v\u00e6rtsmaskinerne ser H710 ud som et almindeligt to-controller lagringssystem. Derfor er der ikke behov for ekstra software- og hardwaremuligheder eller s\u00e6rlig komplekse indstillinger.<\/p>\n<p><\/p>\n<p>Sammenlignes de ovenfor beskrevne l\u00f8sninger for Cross-Rack disaster recovery, fremh\u00e6ver AccelStor-l\u00f8sningen sig tydeligt blandt de \u00f8vrige:<\/p>\n<p><\/p>\n<p>AccelStor NeoSapphire\u2122 Shared Nothing Architecture<br \/>\nSoftware- eller hardware 'virtualizer' af lagringssystemet<br \/>\nL\u00f8sning baseret p\u00e5 replikation<\/p>\n<p><b>Tilg\u00e6ngelighed<\/b><\/p>\n<p>Servernedbrud<br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Ingen nedetid<\/b><\/p>\n<p>Switch-nedbrud<br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Ingen nedetid<\/b><\/p>\n<p>Lagringssystem-nedbrud<br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Nedetid<\/b><\/p>\n<p>Hele rack-nedbrud<br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Ingen nedetid<\/b><br \/>\n<b>Nedetid<\/b><\/p>\n<p><b>Omkostninger og kompleksitet<\/b><\/p>\n<p>Pris for l\u00f8sningen<br \/>\nLav*<br \/>\nH\u00f8j<br \/>\nH\u00f8j<\/p>\n<p>Implementeringskompleksitet<br \/>\nLav<br \/>\nH\u00f8j<br \/>\nH\u00f8j<\/p>\n<p><\/p>\n<p><i>*AccelStor NeoSapphire\u2122 er stadig en All Flash-lagringsl\u00f8sning, som per definition ikke er \u00abgratis\u00bb, is\u00e6r n\u00e5r man har dobbelt kapacitet. Men sammenlignet med den samlede omkostning for en l\u00f8sning baseret p\u00e5 den med lignende fra andre leverand\u00f8rer, kan prisen betragtes som lav.<\/i><\/p>\n<p><\/p>\n<p>Topologien for tilslutning af applikationsservere og All Flash-lagringsnoder vil se s\u00e5ledes ud:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/faf6a0a78ed13532a817fb67a2651b1b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>N\u00e5r man planl\u00e6gger topologien, er det ogs\u00e5 yderst anbefalet at duplikere styrings- og interconnect-switchene for serverne.<\/p>\n<p><\/p>\n<p>Her og fremover vil der blive talt om tilslutning via Fibre Channel. I tilf\u00e6lde af brug af iSCSI vil det v\u00e6re det samme, med forbehold for de anvendte typer switches og lidt forskellige indstillinger for lagermediet.<\/p>\n<p><\/p>\n<h3>Forberedende arbejde p\u00e5 lagermediet<\/h3>\n<p>\n<b class=\"spoiler_title\">Brugt udstyr og software<\/b><\/p>\n<p><b>Specifikationer for servere og switches<\/b><\/p>\n<p><\/p>\n<p>Komponenter<br \/>\nDescription<\/p>\n<p>Oracle Database 11g servere<br \/>\nTo <\/p>\n<p>Serveroperativsystem<br \/>\nOracle Linux<\/p>\n<p>Oracle databaseversion<br \/>\n11g (RAC)<\/p>\n<p>Processorer pr. server<br \/>\nTo 16 cores Intel\u00ae Xeon\u00ae CPU E5-2667 v2 @ 3.30GHz<\/p>\n<p>Fysisk hukommelse pr. server<br \/>\n128GB<\/p>\n<p>FC-netv\u00e6rk<br \/>\n16Gb\/s FC med multipathing<\/p>\n<p>FC HBA<br \/>\nEmulex Lpe-16002B <\/p>\n<p>Dedikerede offentlige 1GbE-porte til klyngeadministration<br \/>\nIntel ethernetadapter RJ45<\/p>\n<p>16Gb\/s FC-switch<br \/>\nBrocade 6505<\/p>\n<p>Dedikerede private 10GbE-porte til datasynkronisering<br \/>\nIntel X520<\/p>\n<p><\/p>\n<p><b>Specifikation for AccelStor NeoSapphire\u2122 All Flash-lagringsl\u00f8sning<\/b><\/p>\n<p><\/p>\n<p>Komponenter<br \/>\nDescription<\/p>\n<p>Lagringssystem<br \/>\nNeoSapphire\u2122 h\u00f8j tilg\u00e6ngelighedsmodel: H710<\/p>\n<p>Billedversion<br \/>\n4.0.1<\/p>\n<p>Samlet antal drev<br \/>\n48<\/p>\n<p>Drevst\u00f8rrelse<br \/>\n1.92TB<\/p>\n<p>Drevtype<br \/>\nSSD<\/p>\n<p>FC m\u00e5lporte<br \/>\n16 x 16Gb porte (8 pr. node)<\/p>\n<p>Administrationsporte<br \/>\nDen 1GbE ethernetkabel, der forbinder til v\u00e6rter via en ethernet switch<\/p>\n<p>Heartbeat port<br \/>\nDen 1GbE ethernetkabel, der forbinder mellem to lagernoder<\/p>\n<p>Datasynkroniseringsport<br \/>\n56Gb\/s InfiniBand-kabel<\/p>\n<p>F\u00f8r lagermediet tages i brug, skal det initialiseres. Som standard er lederadressen for begge noder den samme (192.168.1.1). Du skal skiftevis oprette forbindelse til dem og angive nye (allerede forskellige) lederadresser og konfigurere tidsynkronisering, hvorefter administrationsportene kan tilsluttes et samlet netv\u00e6rk. Derefter bliver noderne samlet i en HA-par ved at tildele subnet til Interlink-forbindelser.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/9eef0dd1ac3a2ae1d19b3484ec2b2a27.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>N\u00e5r initialiseringen er afsluttet, kan lagermediet administreres fra enhver node.<\/p>\n<p><\/p>\n<p>Dern\u00e6st opretter vi de n\u00f8dvendige volumener og offentligg\u00f8r dem for applikationsservere.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/57a23b64c2bcb3c9f477cc5009e1cd48.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Det anbefales st\u00e6rkt at oprette flere volumener til Oracle ASM, da dette vil \u00f8ge antallet af targets for serverne, hvilket i sidste ende forbedrer den samlede ydeevne (mere om k\u00f8er et andet sted) <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/accelstor\/blog\/447390\/\">artikel<\/a><\/noindex>).<\/p>\n<p>\n<b class=\"spoiler_title\">Testkonfiguration<\/b><\/p>\n<p>Lagringsvolumen navn<br \/>\nVolumenst\u00f8rrelse<\/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>Nogle forklaringer om driftsmodi for arrayet og de processer, der opst\u00e5r ved n\u00f8dsituationer.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/e0f9416f16bb8a13673cacfcf1792d9d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Hver nodes datas\u00e6t har en parameter \"versionsnummer\". Efter den f\u00f8rste initialisering er det ens og lig med 1. Hvis versionsnummeret af en eller anden grund er forskelligt, vil data altid blive synkroniseret fra den \u00e6ldre version til den yngre, hvorefter nummeret for den yngre version justeres, hvilket betyder, at kopierne er identiske. \u00c5rsagerne til, at versioner kan v\u00e6re forskellige, er:<\/p>\n<p><\/p>\n<ul>\n<li>Planlagt genstart af en af noderne.<\/li>\n<li>Fejl p\u00e5 en af noderne p\u00e5 grund af pludselig str\u00f8mafbrydelse (str\u00f8m, overophedning osv.). <\/li>\n<li>Afbrudt InfiniBand-forbindelse med umulighed for synkronisering.<\/li>\n<li>Fejl p\u00e5 en af noderne p\u00e5 grund af datakorruption. Her vil der v\u00e6re behov for at oprette en ny HA-gruppe og fuld synkronisering af datas\u00e6ttet.<\/li>\n<\/ul>\n<p><\/p>\n<p>Under alle omst\u00e6ndigheder \u00f8ger noden, der forbliver online, sit versionsnummer med \u00e9n, s\u00e5 den kan synkronisere sit datas\u00e6t med parret efter genoprettelse af forbindelsen.<\/p>\n<p><\/p>\n<p>Hvis der opst\u00e5r afbrydelse p\u00e5 Ethernet-linket, skifter Heartbeat midlertidigt til InfiniBand og vender tilbage inden for 10 sekunder, n\u00e5r forbindelsen er genoprettet.<\/p>\n<p><\/p>\n<h3>Host-konfigurationer<\/h3>\n<p><\/p>\n<p>For at sikre fejltolerance og \u00f8ge ydeevnen skal MPIO-support aktiveres for arrayet. Dette kr\u00e6ver, at du tilf\u00f8jer nogle linjer i filen \/etc\/multipath.conf og derefter genstarter multipath-tjenesten.<\/p>\n<p>\n<b class=\"spoiler_title\">Skjult 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>Derudover, for at ASM fungerer med MPIO via ASMLib, skal du \u00e6ndre filen \/etc\/sysconfig\/oracleasm og derefter k\u00f8re \/etc\/init.d\/oracleasm scandisks.<\/p>\n<p>\n<b class=\"spoiler_title\">Skjult 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>Bem\u00e6rk<\/h4>\n<p><\/p>\n<p><i>Hvis du ikke \u00f8nsker at bruge ASMLib, kan du bruge UDEV-regler, som danner grundlaget for ASMLib.<\/i><\/p>\n<p><\/p>\n<p><i>Fra version 12.1.0.2 er Oracle Database muligheden tilg\u00e6ngelig til installation som en del af ASMFD-softwaren.<\/i><\/p>\n<p>Det er vigtigt at sikre, at de opdelt diske til Oracle ASM er korrekt justeret i forhold til blokst\u00f8rrelsen, som arrayet fysisk arbejder med (4K). Ellers kan der opst\u00e5 ydeevneproblemer. Derfor skal du oprette volumener med de relevante parametre:<\/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>Fordeling af databaser p\u00e5 de oprettede volumener til vores testkonfiguration<\/h3>\n<p><\/p>\n<p>Lagringsvolumen navn<br \/>\nVolumenst\u00f8rrelse<br \/>\nVolumen LUNs kortl\u00e6gning<br \/>\nASM Volumen Enhedsdetalje<br \/>\nAllokeringsenhedsst\u00f8rrelse<\/p>\n<p>Data01<br \/>\n200GB<br \/>\nKortl\u00e6g alle lagervolumener til lagersystemets alle dataporter<br \/>\nRedundans: Normal<br \/>\nNavn: DGDATA<br \/>\nForm\u00e5l: Datafiler<\/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 \/>\nRedundans: Normal<br \/>\nNavn: DGGRID1<br \/>\nForm\u00e5l: Grid: CRS og afstemning<\/p>\n<p>4MB<\/p>\n<p>Grid02<br \/>\n1GB<\/p>\n<p>Grid03<br \/>\n1GB<\/p>\n<p>Grid04<br \/>\n1GB<br \/>\nRedundans: Normal<br \/>\nNavn: DGGRID2<br \/>\nForm\u00e5l: Grid: CRS og afstemning<\/p>\n<p>4MB<\/p>\n<p>Grid05<br \/>\n1GB<\/p>\n<p>Grid06<br \/>\n1GB<\/p>\n<p>Redo01<br \/>\n100GB<br \/>\nRedundans: Normal<br \/>\nNavn: DGREDO1<br \/>\nForm\u00e5l: Redo-log for tr\u00e5d 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 \/>\nRedundans: Normal<br \/>\nNavn: DGREDO2<br \/>\nForm\u00e5l: Redo-log for tr\u00e5d 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\">Databaseindstillinger<\/b><\/p>\n<ul>\n<li>Blokst\u00f8rrelse = 8K<\/li>\n<li>Swapplads = 16GB<\/li>\n<li>Deaktiver AMM (Automatisk Hukommelsesstyring)<\/li>\n<li>Deaktiver Transparente Store Sider<\/li>\n<\/ul>\n<p><b class=\"spoiler_title\">Andre indstillinger<\/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 # s\u00e6t ikke dette, hvis du bruger 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 \/>\n\u00e6ndre systemindstilling til processes=2000 scope=spfile;<br \/>\n\u00e6ndre systemindstilling til open_cursors=2000 scope=spfile;<br \/>\n\u00e6ndre systemindstilling til session_cached_cursors=300 scope=spfile;<br \/>\n\u00e6ndre systemindstilling til db_files=8192 scope=spfile;\n<\/p>\n<p><\/p>\n<h3>Test af fejlbarhed<\/h3>\n<p><\/p>\n<p>For demonstrationsform\u00e5l blev HammerDB anvendt til at emulere OLTP-belastning. HammerDB konfiguration:<\/p>\n<p><\/p>\n<p><b>Antal lagre<\/b><br \/>\n256<\/p>\n<p>Samlede transaktioner pr. bruger<br \/>\n1000000000000<\/p>\n<p>Virtuelle brugere<br \/>\n256<\/p>\n<p><\/p>\n<p>Som resultat blev der opn\u00e5et en m\u00e5ling p\u00e5 2.1M TPM, hvilket er langt fra maksimal ydeevne for arrangementet <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/product\/neosapphire-h710\">H710<\/a><\/noindex>, men er et 'loft' for den nuv\u00e6rende hardwarekonfiguration af serverne (prim\u00e6rt p\u00e5 grund af processorerne) og deres antal. M\u00e5let med denne test er dog stadig at demonstrere p\u00e5lideligheden af l\u00f8sningen som helhed, ikke for at n\u00e5 ydeevne-toppe. S\u00e5 lad os bare tage udgangspunkt i dette tal.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/6de29f092e4c96a980a5790d8dd9a447.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Test af fejl p\u00e5 en af noderne<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/c222cea4613ad7096bb097fee16bbb48.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/4b9459ba3d7cf34ec1e4ad4cd34adc09.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>V\u00e6rterne mistede noget af stien til lagringen, men fortsatte med at arbejde gennem de resterende med den anden node. Ydeevnen faldt i nogle sekunder p\u00e5 grund af genopbygning af veje, og kom derefter tilbage til normale niveauer. Der var ikke nogen serviceafbrydelse.<\/p>\n<p><\/p>\n<h3>Test af fejl p\u00e5 skabet med alt udstyr<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/bf4c1bbf2b4986911c4274525cf8e5d5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Opbygning af et failover-l\u00f8sning baseret p\u00e5 Oracle RAC og AccelStor Shared-Nothing arkitektur\" src=\"\/wp-content\/uploads\/2019\/04\/17d5aa73f72dce4fd9227cb6907c249c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>I dette tilf\u00e6lde faldt ydeevnen ogs\u00e5 i nogle sekunder p\u00e5 grund af genopbygning af veje, og kom derefter tilbage til halvdelen af den oprindelige v\u00e6rdi. Resultatet faldt til det halve af det oprindelige p\u00e5 grund af udelukkelse af \u00e9n applikationsserver. Der var heller ikke nogen serviceafbrydelse.<\/p>\n<p><\/p>\n<blockquote><p>Hvis der er behov for at implementere en fejlsikker Cross-Rack disaster recovery-l\u00f8sning for Oracle til en rimelig pris og med minimal indsats til implementering\/administration, s\u00e5 vil samarbejde mellem Oracle RAC og arkitekturen <noindex><a rel=\"nofollow\" href=\"https:\/\/accelstor.ru\/page\/pochemu-accelstor\">AccelStor Shared-Nothing<\/a><\/noindex> v\u00e6re en af de bedste muligheder. I stedet for Oracle RAC kan ethvert andet software, der muligg\u00f8r clustering, de samme DBMS eller virtualiseringssystemer bruges. Princippet for l\u00f8sningens opbygning forbliver det samme. Og det endelige resultat \u2013 nul v\u00e6rdi for RTO og RPO.<\/p><\/blockquote>\n<p>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Opbygning af en fejlsikker l\u00f8sning baseret p\u00e5 Oracle RAC og arkitekturen AccelStor Shared-Nothing | ProHoster","description":"Et betydeligt antal enterprise-applikationer og virtualiseringssystemer har deres egne mekanismer til at skabe fejlsikre l\u00f8sninger.","canonical_url":"https:\/\/prohoster.info\/da\/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":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/31907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=31907"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/31907\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/23767"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=31907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=31907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=31907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}