Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Daghang mga aplikasyon sa Enterprise ug mga sistema sa virtualization adunay kaugalingon nga mga mekanismo alang sa paghimo og mga solusyon nga dili matugot sa sayup. Sa piho, ang Oracle RAC (Oracle Real Application Cluster) usa ka cluster sa duha o daghan pa nga Oracle database server nga nagtinabangay aron mabalanse ang load ug makahatag og fault tolerance sa server/application level. Aron magtrabaho niini nga mode, kinahanglan nimo ang usa ka shared storage, nga kasagaran usa ka storage system.

Sa ato nang nahisgotan sa usa nato mga artikulo, ang sistema sa pagtipig mismo, bisan pa sa presensya sa mga duplicated nga mga sangkap (lakip ang mga controller), adunay gihapon mga punto sa kapakyasan - nag-una sa porma sa usa ka set sa datos. Busa, aron makahimo og solusyon sa Oracle nga adunay dugang nga mga kinahanglanon nga kasaligan, ang "N server - usa ka sistema sa pagtipig" kinahanglan nga komplikado.

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Una, siyempre, kinahanglan naton nga magdesisyon kung unsang mga peligro ang atong gipaningkamutan nga masiguro. Niining artikuloha, dili nato tagdon ang panalipod batok sa mga hulga sama sa “usa ka meteorite nga miabot.” Busa ang pagtukod ug usa ka geographically dispersed disaster recovery solution magpabilin nga usa ka hilisgutan alang sa usa sa mosunod nga mga artikulo. Dinhi atong tan-awon ang gitawag nga Cross-Rack disaster recovery solution, kung ang proteksyon gitukod sa lebel sa mga kabinet sa server. Ang mga kabinet mismo mahimong mahimutang sa parehas nga kwarto o sa lainlain, apan kasagaran sa sulod sa parehas nga bilding.

Kini nga mga kabinet kinahanglan adunay tibuok nga gikinahanglan nga set sa mga ekipo ug software nga magtugot sa operasyon sa mga database sa Oracle bisan unsa pa ang kahimtang sa "silingan". Sa laing pagkasulti, gamit ang Cross-Rack disaster recovery solution, atong giwagtang ang mga risgo sa kapakyasan:

  • Mga Server sa Oracle Application
  • Mga sistema sa pagtipig
  • Mga sistema sa pagbalhin
  • Bug-os nga kapakyasan sa tanang kagamitan sa kabinete:
    • Pagdumili sa gahum
    • Pagkapakyas sa sistema sa pagpabugnaw
    • External nga mga hinungdan (tawo, kinaiyahan, ug uban pa)

Ang pagdoble sa mga server sa Oracle nagpasabot sa prinsipyo sa operasyon sa Oracle RAC ug gipatuman pinaagi sa usa ka aplikasyon. Ang pagdoble sa mga pasilidad sa pagbalhin dili usab problema. Apan sa pagdoble sa sistema sa pagtipig, ang tanan dili kaayo yano.

Ang pinakasimple nga kapilian mao ang pagkopya sa datos gikan sa nag-unang sistema sa pagtipig ngadto sa backup. Synchronous o asynchronous, depende sa kapabilidad sa storage system. Uban sa asynchronous replication, ang pangutana mitungha dayon sa pagsiguro sa data pagkamakanunayon sa relasyon sa Oracle. Apan bisan kung adunay panagsama sa software sa aplikasyon, sa bisan unsang kaso, kung adunay kapakyasan sa panguna nga sistema sa pagtipig, kinahanglan ang manual nga interbensyon sa mga administrador aron mabalhin ang cluster sa backup nga pagtipig.

Ang usa ka mas komplikado nga kapilian mao ang software ug/o hardware storage "mga virtualizer" nga magwagtang sa mga problema sa pagkamakanunayon ug manual interbensyon. Apan ang pagkakomplikado sa deployment ug sunod nga administrasyon, ingon man ang dili maayo nga gasto sa ingon nga mga solusyon, nahadlok sa kadaghanan.

Ang AccelStor NeoSapphire™ All Flash array solution perpekto para sa mga senaryo sama sa Cross-Rack disaster recovery H710 gamit ang Shared-Nothing nga arkitektura. Kini nga modelo usa ka sistema sa pagtipig sa duha ka node nga naggamit sa proprietary FlexiRemap® nga teknolohiya aron magamit sa mga flash drive. Salamat sa FlexiRemap® Ang NeoSapphire ™ H710 makahimo sa paghatud sa pasundayag hangtod sa 600K IOPS@4K nga random nga pagsulat ug 1M+ IOPS@4K nga random nga pagbasa, nga dili makab-ot kung mogamit mga klasiko nga sistema sa pagtipig nga nakabase sa RAID.

Apan ang nag-unang bahin sa NeoSapphire ™ H710 mao ang pagpatuman sa duha ka mga node sa porma sa managlahing mga kaso, nga ang matag usa adunay kaugalingong kopya sa datos. Ang pag-synchronize sa mga node gihimo pinaagi sa external InfiniBand interface. Salamat sa kini nga arkitektura, posible nga ipang-apod-apod ang mga node sa lainlaing mga lokasyon sa gilay-on nga hangtod sa 100m, sa ingon naghatag usa ka solusyon sa pagbawi sa katalagman sa Cross-Rack. Ang duha ka mga node naglihok sa hingpit nga dungan. Gikan sa host side, ang H710 morag ordinaryo nga dual-controller storage system. Busa, dili na kinahanglan nga maghimo ug bisan unsang dugang nga mga kapilian sa software o hardware o labi ka komplikado nga mga setting.

Kung atong itandi ang tanan nga Cross-Rack nga mga solusyon sa pagbawi sa kalamidad nga gihulagway sa ibabaw, nan ang kapilian gikan sa AccelStor makita nga talagsaon gikan sa uban:

Ang AccelStor NeoSapphire™ Walay Gipaambit nga Arkitektura
Software o hardware nga "virtualizer" nga sistema sa pagtipig
Replikasyon base sa solusyon

Pagkaon

Pagkapakyas sa server
Wala’y Downtime
Wala’y Downtime
Wala’y Downtime

Pagkapakyas sa switch
Wala’y Downtime
Wala’y Downtime
Wala’y Downtime

Pagkapakyas sa sistema sa pagtipig
Wala’y Downtime
Wala’y Downtime
Pag-ulan

Tibuok kabinet nga kapakyasan
Wala’y Downtime
Wala’y Downtime
Pag-ulan

Gasto ug pagkakomplikado

Gasto sa solusyon
Ubos*
Высокая
Высокая

Pagkakomplikado sa deployment
Ubos
Высокая
Высокая

*Ang AccelStor NeoSapphire™ usa gihapon ka All Flash array, nga sa kahulugan dili mokantidad ug “3 kopecks,” ilabina kay aduna kini dobleng kapasidad nga reserba. Bisan pa, kung itandi ang katapusang gasto sa usa ka solusyon nga gibase niini sa parehas nga gikan sa ubang mga vendor, ang gasto mahimong makonsiderar nga ubos.

Ang topology alang sa pagkonektar sa mga server sa aplikasyon ug Tanan nga Flash array nodes mahimong sama niini:

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Kung nagplano sa topology, girekomenda usab nga doblehon ang mga switch sa pagdumala ug mga interconnect server.

Dinhi ug dugang pa kita maghisgot mahitungod sa pagkonektar pinaagi sa Fiber Channel. Kung mogamit ka sa iSCSI, ang tanan mahimong parehas, gipahiangay alang sa mga tipo sa switch nga gigamit ug gamay nga lainlaing mga setting sa array.

Pag-andam nga trabaho sa laray

Kagamitan ug software nga gigamit

Mga Detalye sa Server ug Switch

Mga Bahin
paghulagway

Oracle Database 11g server
Duha

Operating system sa server
oracle linux

Oracle database nga bersyon
11g (RAC)

Mga processor matag server
Duha ka 16 ka mga core Intel® Xeon® CPU E5-2667 v2 @ 3.30GHz

Pisikal nga memorya matag server
128GB

FC network
16Gb/s FC nga adunay multipathing

FC HBA
Emulex Lpe-16002B

Gipahinungod nga publiko nga 1GbE nga mga pantalan alang sa pagdumala sa cluster
Intel ethernet adapter RJ45

16Gb/s FC switch
Brocade 6505

Gipahinungod nga pribado nga 10GbE nga mga pantalan alang sa pag-synchonize sa datos
Intel X520

AccelStor NeoSapphire™ Tanan nga Flash Array Detalye

Mga Bahin
paghulagway

Sistema sa pagtipig
NeoSapphire™ taas nga anaa nga modelo: H710

Bersyon sa hulagway
4.0.1

Total nga gidaghanon sa mga drive
48

Gidak-on sa drive
1.92TB

Uri sa pagdrayb
SSD

FC target nga mga pantalan
16x 16Gb nga mga pantalan (8 matag node)

Mga pantalan sa pagdumala
Ang 1GbE ethernet cable nga nagkonektar sa mga host pinaagi sa ethernet switch

Pitik sa kasingkasing port
Ang 1GbE ethernet cable nga nagkonektar tali sa duha ka storage node

Port sa pag-synchronize sa datos
56Gb/s InfiniBand cable

Sa dili pa nimo magamit ang usa ka laray, kinahanglan nimo nga unahon kini. Sa kasagaran, ang kontrol nga adres sa duha ka mga node managsama (192.168.1.1). Kinahanglan ka nga magkonektar kanila sa usag usa ug magtakda og bag-o (nalain na) nga mga adres sa pagdumala ug mag-set up sa pag-synchronize sa oras, pagkahuman ang mga pantalan sa Pagdumala mahimong konektado sa usa ka network. Pagkahuman, ang mga node gihiusa sa usa ka pares sa HA pinaagi sa pag-assign sa mga subnet alang sa mga koneksyon sa Interlink.

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Human makompleto ang pagsugod, mahimo nimong madumala ang array gikan sa bisan unsang node.

Sunod, naghimo kami sa gikinahanglan nga mga volume ug gimantala kini sa mga server sa aplikasyon.

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Labi nga girekomenda nga maghimo daghang mga volume para sa Oracle ASM tungod kay madugangan niini ang gidaghanon sa mga target alang sa mga server, nga sa katapusan makapauswag sa kinatibuk-ang pasundayag (labi pa sa mga pila sa lain. artikulo).

Pag-configure sa pagsulay

Ngalan sa Volume sa Pagtipig
Gidak-on sa Tomo

Datos01
200GB

Datos02
200GB

Datos03
200GB

Datos04
200GB

Datos05
200GB

Datos06
200GB

Datos07
200GB

Datos08
200GB

Datos09
200GB

Datos10
200GB

Grid01
1GB

Grid02
1GB

Grid03
1GB

Grid04
1GB

Grid05
1GB

Grid06
1GB

Usba01
100GB

Usba02
100GB

Usba03
100GB

Usba04
100GB

Usba05
100GB

Usba06
100GB

Usba07
100GB

Usba08
100GB

Usba09
100GB

Usba10
100GB

Pipila ka mga pagpatin-aw bahin sa mga paagi sa pag-operate sa array ug ang mga proseso nga nahitabo sa mga emerhensya nga sitwasyon

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Ang data set sa matag node adunay parameter nga "numero sa bersyon". Human sa inisyal nga initialization, kini mao ang sama ug katumbas sa 1. Kung sa pipila ka rason ang bersyon nga numero lahi, nan ang data kanunay nga gi-synchronize gikan sa mas karaan nga bersyon ngadto sa mas batan-on nga usa, nga human niana ang gidaghanon sa mas bata nga bersyon gipahiangay, i.e. kini nagpasabot nga ang mga kopya managsama. Ang mga hinungdan ngano nga ang mga bersyon mahimong lahi:

  • Naka-iskedyul nga pag-reboot sa usa sa mga node
  • Usa ka aksidente sa usa sa mga node tungod sa kalit nga pagsira (supply sa kuryente, sobrang kainit, ug uban pa).
  • Nawala nga koneksyon sa InfiniBand nga wala’y katakus sa pag-synchronize
  • Usa ka pagkahagsa sa usa sa mga node tungod sa korapsyon sa datos. Dinhi kinahanglan nimo nga maghimo usa ka bag-ong grupo sa HA ug kompleto nga pag-synchronize sa set sa datos.

Sa bisan unsa nga kaso, ang node nga nagpabilin nga online nagdugang sa numero sa bersyon niini sa usa aron ma-synchronize ang set sa datos niini pagkahuman nabalik ang koneksyon sa pares.

Kung nawala ang koneksyon sa Ethernet link, ang Heartbeat temporaryo nga mobalhin sa InfiniBand ug mobalik sa sulod sa 10 segundos kung kini gipahiuli.

Pag-set up sa mga host

Aron masiguro ang pagtugot sa sayup ug pagpauswag sa pasundayag, kinahanglan nimo nga hatagan ang suporta sa MPIO alang sa laray. Aron mahimo kini, kinahanglan nimong idugang ang mga linya sa /etc/multipath.conf file, ug dayon i-restart ang serbisyo sa multipath

Gitago nga tekstomga himan {
device {
tigbaligya "AStor"
path_grouping_policy "group_by_prio"
path_selector "pila-gitas-on 0"
path_checker "tur"
mga bahin "0"
hardware_handler "0"
una nga "const"
failback dayon
fast_io_fail_tmo 5
dev_loss_tmo 60
user_friendly_name oo
detect_prio oo
rr_min_io_rq 1
no_path_retry 0
}
}

Sunod, aron ang ASM makatrabaho sa MPIO pinaagi sa ASMLib, kinahanglan nimong usbon ang /etc/sysconfig/oracleasm file ug dayon padaganon ang /etc/init.d/oracleasm scandisks

Gitago nga teksto

# ORACLEASM_SCANORDER: Pagpares nga mga sumbanan sa pag-order sa pag-scan sa disk
ORACLEASM_SCANORDER="dm"

# ORACLEASM_SCANEXCLUDE: Pagpares nga mga sumbanan aron dili iapil ang mga disk gikan sa pag-scan
ORACLEASM_SCANEXCLUDE="sd"

Примечание

Kung dili nimo gusto nga mogamit sa ASMLib, mahimo nimong gamiton ang mga lagda sa UDEV, nga mao ang sukaranan sa ASMLib.

Sugod sa bersyon 12.1.0.2 sa Oracle Database, ang opsyon anaa alang sa pag-instalar isip kabahin sa ASMFD software.

Kinahanglan nga masiguro nga ang mga disk nga gihimo alang sa Oracle ASM nahiuyon sa gidak-on sa block nga ang array pisikal nga naglihok sa (4K). Kay kon dili, mahimong mahitabo ang mga problema sa performance. Busa, gikinahanglan ang paghimo sa mga volume nga adunay angay nga mga parameter:

gibahin /dev/mapper/device-name mklabel gpt mkpart primary 2048s 100% align-check optimal 1

Pag-apod-apod sa mga database sa mga nabuhat nga volume para sa among pagsulay nga pagsumpo

Ngalan sa Volume sa Pagtipig
Gidak-on sa Tomo
Volume LUNs mapping
Detalye sa ASM Volume Device
Gidak-on sa Yunit sa Alokasyon

Datos01
200GB
Mapa ang tanang gidaghanon sa storage ngadto sa storage system sa tanang data port
Redundancy: Normal
Ngalan:DGDATA
Katuyoan: Mga file sa datos

4MB

Datos02
200GB

Datos03
200GB

Datos04
200GB

Datos05
200GB

Datos06
200GB

Datos07
200GB

Datos08
200GB

Datos09
200GB

Datos10
200GB

Grid01
1GB
Redundancy: Normal
Ngalan: DGGRID1
Katuyoan:Grid: CRS ug Pagboto

4MB

Grid02
1GB

Grid03
1GB

Grid04
1GB
Redundancy: Normal
Ngalan: DGGRID2
Katuyoan:Grid: CRS ug Pagboto

4MB

Grid05
1GB

Grid06
1GB

Usba01
100GB
Redundancy: Normal
Ngalan: DGREDO1
Katuyoan: Pag-usab sa log sa thread 1

4MB

Usba02
100GB

Usba03
100GB

Usba04
100GB

Usba05
100GB

Usba06
100GB
Redundancy: Normal
Ngalan: DGREDO2
Katuyoan: Pag-usab sa log sa thread 2

4MB

Usba07
100GB

Usba08
100GB

Usba09
100GB

Usba10
100GB

Mga Setting sa Database

  • Gidak-on sa block = 8K
  • Pagbaylo sa luna = 16GB
  • I-disable ang AMM (Awtomatikong Pagdumala sa Memorya)
  • I-disable ang Transparent nga Daghang Panid

Uban pang mga setting

# vi /etc/sysctl.conf
✓ fs.aio-max-nr = 1048576
✓ fs.file-max = 6815744
✓ kernel.shmmax 103079215104
✓ kernel.shmall 31457280
✓ kernel.shmmn 4096
✓ kernel.sem = 250 32000 100 128
✓ net.ipv4.ip_local_port_range = 9000 65500
✓ net.core.rmem_default = 262144
✓ net.core.rmem_max = 4194304
✓ net.core.wmem_default = 262144
✓ net.core.wmem_max = 1048586
✓vm.swappiness=10
✓ vm.min_free_kbytes=524288 # ayaw kini itakda kung naggamit ka sa Linux x86
✓ vm.vfs_cache_pressure=200
✓ vm.nr_hugepages = 57000

# vi /etc/security/limits.conf
✓ grid soft nproc 2047
✓ gahi nga grid nproc 16384
✓ grid soft nofile 1024
✓ grid hard nofile 65536
✓ grid soft stack 10240
✓ grid hard stack 32768
✓ oracle soft nproc 2047
✓ oracle hard nproc 16384
✓ oracle soft nofile 1024
✓ oracle hard nofile 65536
✓ oracle soft stack 10240
✓ oracle hard stack 32768
✓ humok memlock 120795954
✓ lisud memlock 120795954

sqlplus "/ as sysdba"
usba ang mga proseso sa set sa sistema = 2000 nga sakup = spfile;
usba ang set sa sistema open_cursors=2000 scope=spfile;
usba ang set sa sistema session_cached_cursors=300 scope=spfile;
usba ang set sa sistema db_files=8192 scope=spfile;

Pagsulay sa kapakyasan

Alang sa mga katuyoan sa demonstrasyon, ang HammerDB gigamit sa pagsundog sa usa ka OLTP load. Pag-configure sa HammerDB:

Gidaghanon sa mga bodega
256

Total nga mga Transaksyon kada Gumagamit
1000000000000

Virtual nga mga Gumagamit
256

Ang resulta usa ka 2.1M TPM, nga layo sa limitasyon sa pasundayag sa array H710, apan usa ka "kisame" alang sa kasamtangan nga pagsumpo sa hardware sa mga server (panguna tungod sa mga processor) ug ang ilang gidaghanon. Ang katuyoan niini nga pagsulay mao gihapon ang pagpakita sa sayup nga pagtugot sa solusyon sa kinatibuk-an, ug dili aron makab-ot ang labing kataas nga pasundayag. Busa, magtukod lang kita niini nga numero.

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Pagsulay sa pagkapakyas sa usa sa mga node

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Ang mga panon nawad-an sa bahin sa mga agianan sa pagtipig, nga nagpadayon sa pagtrabaho pinaagi sa nahabilin nga adunay ikaduha nga node. Ang performance mius-os sulod sa pipila ka segundo tungod sa mga agianan nga gitukod pag-usab, ug unya mibalik sa normal. Walay pagkabalda sa serbisyo.

Pagsulay sa kapakyasan sa gabinete sa tanan nga kagamitan

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Pagtukod og fault-tolerant nga solusyon base sa Oracle RAC ug AccelStor Shared-Nothing nga arkitektura

Sa kini nga kaso, ang pasundayag usab nahulog sa pipila ka mga segundo tungod sa pag-usab sa mga agianan, ug dayon mibalik sa katunga sa orihinal nga kantidad. Ang resulta gibahin sa katunga gikan sa una tungod sa dili paglakip sa usa ka server sa aplikasyon gikan sa operasyon. Wala usab nabalda ang serbisyo.

Kung adunay panginahanglan sa pagpatuman sa usa ka fault-tolerant Cross-Rack disaster recovery solution alang sa Oracle sa makatarunganon nga gasto ug uban ang gamay nga deployment/administrasyon nga paningkamot, nan Oracle RAC ug arkitektura magtinabangay Gipaambit sa AccelStor-Wala mahimong usa sa labing kaayo nga kapilian. Imbis sa Oracle RAC, mahimong adunay bisan unsang software nga naghatag clustering, parehas nga DBMS o virtualization system, pananglitan. Ang prinsipyo sa pagtukod sa solusyon magpabilin nga pareho. Ug ang ubos nga linya mao ang zero alang sa RTO ug RPO.

Source: www.habr.com

Idugang sa usa ka comment