ProHoster > Blog > Administrasi > Ngawangun solusi toleran kasalahan dumasar kana Oracle RAC sareng AccelStor Shared-Nothing arsitéktur
Ngawangun solusi toleran kasalahan dumasar kana Oracle RAC sareng AccelStor Shared-Nothing arsitéktur
Sajumlah ageung aplikasi Enterprise sareng sistem virtualisasi gaduh mékanisme sorangan pikeun ngawangun solusi anu teu toleran. Khususna, Oracle RAC (Oracle Real Application Cluster) mangrupikeun gugusan dua atanapi langkung server database Oracle anu damel babarengan pikeun nyaimbangkeun beban sareng nyayogikeun kasabaran kasalahan dina tingkat server / aplikasi. Pikeun damel dina modeu ieu, anjeun peryogi panyimpenan anu dibagi, anu biasana mangrupikeun sistem panyimpen.
Salaku urang geus dibahas dina salah sahiji urang artikel, Sistim gudang sorangan, sanajan ayana komponén duplikat (kaasup controller), masih boga titik gagal - utamana dina bentuk hiji set data. Ku alatan éta, pikeun ngawangun solusi Oracle kalayan syarat reliabilitas anu ningkat, skéma "N server - hiji sistem panyimpen" kedah rumit.
Mimiti, tangtosna, urang kedah mutuskeun naon résiko anu urang badé nanggungkeun asuransi. Dina artikel ieu, urang moal nganggap panyalindungan ngalawan ancaman sapertos "meteorit parantos sumping". Janten ngawangun solusi pamulihan bencana anu sumebar sacara geografis bakal tetep janten topik pikeun salah sahiji tulisan di handap ieu. Di dieu urang baris nempo nu disebut Cross-rak solusi recovery musibah, nalika panyalindungan diwangun dina tingkat cabinets server. Kabinét sorangan tiasa ditempatkeun di kamar anu sami atanapi di kamar anu béda, tapi biasana dina wangunan anu sami.
cabinets ieu kudu ngandung sakabéh set diperlukeun pakakas sarta software anu bakal ngidinan operasi database Oracle paduli kaayaan "tatangga". Kalayan kecap sanésna, nganggo solusi pamulihan bencana Cross-Rack, urang ngaleungitkeun résiko gagal:
Server Aplikasi Oracle
Sistem gudang
Sistem switching
Gagal lengkep sadaya alat dina kabinet:
Panolakan kakuatan
Gagalna sistem cooling
Faktor éksternal (manusa, alam, jsb)
Duplikasi server Oracle nunjukkeun prinsip operasi Oracle RAC sareng dilaksanakeun ngaliwatan aplikasi. Duplikasi fasilitas switching ogé henteu masalah. Tapi kalayan duplikasi sistem panyimpen, sadayana henteu saderhana.
Pilihan pangbasajanna nyaéta réplikasi data tina sistem panyimpen utama ka cadangan. Sinkron atanapi asinkron, gumantung kana kamampuan sistem panyimpenan. Kalayan réplikasi asynchronous, patarosan langsung timbul pikeun mastikeun konsistensi data dina hubungan Oracle. Tapi sanajan aya integrasi software jeung aplikasi, dina sagala hal, lamun aya kagagalan dina sistem gudang utama, intervénsi manual ku pangurus bakal diperlukeun pikeun pindah klaster kana gudang cadangan.
Pilihan anu langkung kompleks nyaéta parangkat lunak sareng / atanapi panyimpen hardware "virtualizers" anu bakal ngaleungitkeun masalah konsistensi sareng campur tangan manual. Tapi pajeulitna panyebaran sareng administrasi salajengna, kitu ogé biaya anu teu sopan pikeun solusi sapertos kitu, nyingsieunan seueur.
Solusi array AccelStor NeoSapphire™ All Flash sampurna pikeun skenario sapertos pamulihan bencana Cross-Rack. H710 ngagunakeun arsitéktur Shared-Euweuh. Modél ieu mangrupikeun sistem panyimpen dua titik anu ngagunakeun téknologi FlexiRemap® proprietary pikeun damel sareng flash drive. Hatur nuhun ka FlexiRemap® NeoSapphire™ H710 sanggup nganteurkeun kinerja nepi ka 600K IOPS@4K random write jeung 1M+ IOPS@4K random read, nu teu bisa kahontal lamun ngagunakeun sistem panyimpenan basis RAID klasik.
Tapi fitur utama NeoSapphire™ H710 nyaéta palaksanaan dua titik dina bentuk kasus anu misah, anu masing-masing gaduh salinan data sorangan. Sinkronisasi titik dilumangsungkeun ngaliwatan panganteur InfiniBand éksternal. Hatur nuhun kana arsitektur ieu, kasebut nyaéta dimungkinkeun pikeun ngadistribusikaeun titik ka lokasi béda dina jarak nepi ka 100m, kukituna nyadiakeun solusi recovery musibah Cross-Rack. Duanana titik beroperasi lengkep sinkron. Ti sisi host, H710 Sigana mah sistem gudang dual-controller biasa. Ku alatan éta, teu perlu ngalakukeun sagala software tambahan atawa pilihan hardware atawa setelan utamana kompléks.
Upami urang ngabandingkeun sadaya solusi pamulihan bencana Cross-Rack anu ditétélakeun di luhur, maka pilihan tina AccelStor katingalina katingali tina anu sanés:
AccelStor NeoSapphire™ Dibagi Euweuh Arsitéktur
Parangkat lunak atanapi hardware "virtualizer" sistem panyimpen
Solusi dumasar réplikasi
kasadiaan
Gagalna server Henteu Downtime Henteu Downtime Henteu Downtime
Gagalna switch Henteu Downtime Henteu Downtime Henteu Downtime
Gagalna sistem gudang Henteu Downtime Henteu Downtime downtime
Kasalahan kabinét sadayana Henteu Downtime Henteu Downtime downtime
Biaya jeung pajeulitna
Biaya solusi
Rendah*
Высокая
Высокая
Pajeulitna panyebaran
saeutik
Высокая
Высокая
*AccelStor NeoSapphire™ masih mangrupa Asép Sunandar Sunarya Sadaya Flash, nu ku harti teu hargana "3 kopecks," utamana sabab boga cadangan kapasitas ganda. Nanging, nalika ngabandingkeun biaya ahir solusi dumasar kana éta sareng anu sami ti padagang sanés, biayana tiasa dianggap rendah.
Topologi pikeun nyambungkeun pangladén aplikasi sareng Sadaya titik Asép Sunandar Sunarya Flash bakal siga kieu:
Nalika ngarencanakeun topologi, éta ogé disarankeun pikeun duplikat saklar manajemén sareng server interkonéksi.
Di dieu sarta salajengna urang bakal ngobrol ngeunaan nyambungkeun via Fiber Channel. Lamun make iSCSI, sagalana bakal sarua, disaluyukeun pikeun jenis saklar dipaké sarta setélan Asép Sunandar Sunarya rada béda.
Karya préparasi dina Asép Sunandar Sunarya
Parabot sareng parangkat lunak anu dianggo
Server sareng Spésifikasi Switch
komponén
gambaran
Oracle Database 11g server
dua
Sistem operasi server
oracle linux
Vérsi database Oracle
11 g (RAC)
Prosesor per server
Dua 16 inti Intel® Xeon® CPU E5-2667 v2 @ 3.30GHz
Sistem panyimpenan
NeoSapphire™ modél kasadiaan luhur: H710
Vérsi gambar
4.0.1
Jumlah total drive
48
Ukuran drive
1.92TB
tipe Girang
SSD
palabuhan sasaran FC
16x 16Gb port (8 per node)
palabuhan manajemén
Kabel Ethernet 1GbE nyambungkeun ka host via switch Ethernet
port keteg jajantung
Kabel Ethernet 1GbE ngahubungkeun antara dua titik panyimpen
port sinkronisasi data
56Gb/s kabel InfiniBand
Sateuacan anjeun tiasa nganggo array, anjeun kedah ngamimitian. Sacara standar, alamat kontrol duanana titik sarua (192.168.1.1). Anjeun kudu nyambungkeun ka aranjeunna hiji-hiji tur nyetel anyar (geus béda) alamat manajemén jeung nyetél sinkronisasi waktos, nu satutasna palabuhan Manajemén bisa disambungkeun ka jaringan tunggal. Saatos éta, titik-titik digabungkeun kana pasangan HA ku netepkeun subnet pikeun sambungan Interlink.
Saatos initialization réngsé, anjeun tiasa ngatur Asép Sunandar Sunarya ti titik mana wae.
Salajengna, urang nyiptakeun jilid anu diperyogikeun sareng nyebarkeunana ka server aplikasi.
Disarankeun pisan pikeun nyieun sababaraha jilid pikeun Oracle ASM sabab ieu bakal nambahan jumlah target pikeun server, anu pamustunganana bakal ningkatkeun kinerja sakabéh (langkung seueur ngeunaan antrian dina anu sanés. artikel).
Konfigurasi tés
Ngaran Volume Panyimpenan
Ukuran Volume
Data01
200GB
Data02
200GB
Data03
200GB
Data04
200GB
Data05
200GB
Data06
200GB
Data07
200GB
Data08
200GB
Data09
200GB
Data10
200GB
Grid01
1GB
Grid02
1GB
Grid03
1GB
Grid04
1GB
Grid05
1GB
Grid06
1GB
Ulang deui01
100GB
Ulang deui02
100GB
Ulang deui03
100GB
Ulang deui04
100GB
Ulang deui05
100GB
Ulang deui06
100GB
Ulang deui07
100GB
Ulang deui08
100GB
Ulang deui09
100GB
Ulang deui10
100GB
Sababaraha katerangan ngeunaan modeu operasi susunan sareng prosés anu lumangsung dina kaayaan darurat
Set data unggal titik boga parameter "nomer versi". Saatos initialization awal, éta sarua jeung sarua jeung 1. Lamun sababaraha alesan nomer versi béda, teras data sok nyingkronkeun ti versi heubeul ka hiji ngora, nu satutasna jumlah versi ngora ieu Blok, i.e. Ieu ngandung harti yén salinan idéntik. Alesan naha versi bisa jadi béda:
Dijadwalkeun reboot salah sahiji titik
Kacilakaan dina salah sahiji titik alatan pareum ngadadak (suplai kakuatan, overheating, jsb).
Leungit sambungan InfiniBand kalawan henteu mampuh pikeun nyingkronkeun
Kacilakaan dina salah sahiji titik kusabab korupsi data. Di dieu anjeun kudu nyieun grup HA anyar jeung sinkronisasi lengkep tina set data.
Dina naon waé, titik anu tetep online nambahan nomer vérsina ku hiji pikeun nyinkronkeun set datana saatos sambungan sareng pasangan dibalikeun.
Lamun sambungan ngaliwatan link Ethernet leungit, Keteg jajantung samentara pindah ka InfiniBand sarta balik deui dina 10 detik nalika eta dibalikeun.
Nyetél host
Pikeun mastikeun kasabaran sesar sareng ningkatkeun kinerja, anjeun kedah ngaktipkeun dukungan MPIO pikeun susunan. Jang ngalampahkeun ieu, anjeun kedah nambihan garis kana file /etc/multipath.conf, teras balikan deui jasa multipath.
Salajengna, supados ASM tiasa dianggo sareng MPIO via ASMLib, anjeun kedah ngarobih file /etc/sysconfig/oracleasm teras ngajalankeun /etc/init.d/oracleasm scandisks
téks disumputkeun
# ORACLEASM_SCANORDER: Pola anu cocog pikeun mesen scanning disk
ORACLEASM_SCANORDER="dm"
# ORACLEASM_SCANEXCLUDE: Pola anu cocog pikeun ngaluarkeun disk tina scan
ORACLEASM_SCANEXCLUDE="sd"
nyarios
Upami anjeun henteu hoyong nganggo ASMLib, anjeun tiasa nganggo aturan UDEV, anu mangrupikeun dasar pikeun ASMLib.
Dimimitian ku vérsi 12.1.0.2 Oracle Database, pilihan éta sayogi pikeun dipasang salaku bagian tina parangkat lunak ASMFD.
Penting pikeun mastikeun yén piringan anu diciptakeun pikeun Oracle ASM saluyu sareng ukuran blok anu dioperasikeun sacara fisik (4K). Upami teu kitu, masalah kinerja bisa lumangsung. Kituna, perlu nyieun volume kalawan parameter luyu:
# vi /etc/security/limits.conf
✓ grid soft nproc 2047
✓ grid teuas nproc 16384
✓ grid soft nofile 1024
✓ grid nofile teuas 65536
✓ tumpukan lemes grid 10240
✓ tumpukan teuas grid 32768
✓ Oracle soft nproc 2047
✓ Oracle hard nproc 16384
✓ Oracle soft nofile 1024
✓ Oracle hard nofile 65536
✓ Oracle soft stack 10240
✓ Oracle hard tumpukan 32768
✓ memlock lemes 120795954
✓ memlock teuas 120795954
sqlplus "/ salaku sysdba"
ngarobah prosés set sistem = 2000 wengkuan = spfile;
ngarobah sistem set open_cursors = 2000 wengkuan = spfile;
ngarobah sistem set session_cached_cursors = 300 wengkuan = spfile;
ngarobah susunan sistem db_files = 8192 wengkuan = spfile;
Ujian gagal
Pikeun tujuan démo, HammerDB dianggo pikeun niru beban OLTP. Konfigurasi HammerDB:
Jumlah Gudang
256
Total Transaksi per Pamaké
1000000000000
Pamaké maya
256
Hasilna nyaéta 2.1M TPM, anu jauh tina wates kinerja arrays H710, tapi mangrupakeun "siling" pikeun konfigurasi hardware ayeuna tina server (utamana alatan prosesor) jeung jumlah maranéhanana. Tujuan tina tés ieu masih pikeun nunjukkeun kasabaran kasalahan tina solusi sacara gembleng, sareng henteu ngahontal prestasi maksimal. Ku alatan éta, urang ngan saukur bakal ngawangun dina inohong ieu.
Uji gagalna salah sahiji titik
Host leungit bagian tina jalur ka gudang, terus dianggo ngaliwatan sésana jeung titik kadua. Kinerja turun pikeun sababaraha detik kusabab jalan anu diwangun deui, teras balik deui ka normal. Henteu aya gangguan dina palayanan.
Uji gagal kabinet sareng sadaya alat
Dina hal ieu, kinerja ogé turun pikeun sababaraha detik alatan restructuring sahiji jalur, lajeng balik ka satengah nilai aslina. Hasilna dikurangan satengah tina anu awal kusabab pangaluaran hiji server aplikasi tina operasi. Henteu aya gangguan dina jasa ogé.
Upami aya kabutuhan pikeun nerapkeun solusi pamulihan musibah Cross-Rack anu toleran pikeun Oracle kalayan biaya anu lumayan sareng kalayan sakedik usaha / administrasi, maka Oracle RAC sareng arsitéktur damel babarengan AccelStor Dibagi-Euweuh bakal salah sahiji pilihan pangalusna. Gantina Oracle RAC, bisa wae software lianna nu nyadiakeun clustering, DBMS sarua atawa sistem virtualization, contona,. Prinsip ngawangun solusi bakal tetep sami. Jeung garis handap enol pikeun RTO na RPO.