Transcription

Oracle VirualBox istifadə edərək Oracle Real Application Cluster 12c-ninOracle Linux 7.2 üzərində qurulmasıİki node-lu Oracle Real Application Cluster 12c (12.1.0.2.0)-nin Silent mode-dayüklənməsi və quraşdırılması işi 16GB DDR və Core i5 CPU-ya sahib olan Windows 8.1 x64Desktop (bütün sənəddə host maşın olaraq nəzərdə tutulacaq) üzərində Oracle Virtualboxvəsitəsilə yerinə yetiriləcək. Tələb edilən disk yaddaşı təqribən 80Gb olacaq.Virtual mühitin quruluşu aşağıdakı şəkildəki kimidir:Virtual mühit iki Oracle RAC virtual maşınından, Oracle ASM üçün tələb edilən paylaşılmışiki VirtualBox disklərindən və DNS-lə NTP server üçün bir ədəd virtual maşındanibarətdir. VirtualBox NAT etdiyi şəbəkənin içinə birbaşa host maşından girişə izin vermirvə bu səbəbdən də üç şəbəkə kartı tələb edilir:1. NAT Network - İnternet qoşulmasına şərait yaradır2. Host-Only Network - Host maşınla virtual maşınlar arasında qoşulmaya şəraityaradır. Bu şəbəkə Oracle Public Network kimi istifadə ediləcək.3. Internal Network - Oracle daxili şəbəkəsi kimi istifadə ediləcək (Oracle PrivateNetwork - Interconnect)DNS Server adların IP ünvanlara çevrilməsini host adları, VİP (Virtual İP ünvanlar)-lərvə round-robin (ardıcıl növbəli keçid) mexanizmi ilə işləyən SCAN (Single Client AccessName) üçün edir.Oracle Grid Infrastrukturunun, verilənlər bazası proqram təminatının yüklənməsi vəKonteyner bazalarının yaradılması qrafik interfeys olmadan yerinə yetiriləcək (silentmode).

Əməliyyat sisteminin oracle adlı istifadəçisi Oracle Grid Infrastructure və verilənlərbazası proqram təminatının sahibi olacaq. Ümumi inzibati tapşırıqların ayrılması işiəməliyyat sisteminin qrupları vasitəsilə görüləcək. Sizin mühitlər arasında keçidetməyiniz üçün, əlinizlə ORACLE HOME və ORACLE SID dəyişənlərinin istifadə edilməsinəehtiyacınız yoxdur çünki, oracle istifadəçisinin ev qovluğunda .bash profile faylında budəyişənlər artıq öncədən təyin edilmiş olacaq. Həmçinin orda bəzi qisa keçidlər(alias)olacaq ki, asanlıqla CRS, ASM və verilənlər bazasının həyəcan (Database alert logs)jurnallarını istifadə etmək mümkün olsun. Oracle-ın sətir əmrləri (CLİ) alətlərinin əksərhissəsi (Məsələn: sqlplus və rman) rlwrap aləti vasitəsilə çağırılacaq hansı ki, readlinekitabxanası sayəsində shell-dəki kimi olaraq tarixçə(history) qeydini aparmaq və əmrləriniçində axtariş etməyə imkan yaradır.Aşağıda virtual maşınların resurslarını sadalayırıq:Oracle RAC Node-ların xüsusiyyətləri:vCPU: 2RAM: 4 GBLocal Storage: 30 GB (Dynamically allocated storage)NIC1: NAT NetworkNIC2: Host-Only NetworkNIC3: Internal NetworkOS: Oracle Linux 7.2Paylaşılmış disklər: 2 x 10 GB Disks (Fixed size storage)DNS və NTP Server xüsusiyyətləri:vCPU: 1RAM: 1 GBLocal Storage: 10 GB (Dynamically allocated storage)NIC1: NAT Network (İnternet qoşulması üçün)NIC2: Host-Only Adapter (SSH qoşulmaları üçün)OS: CentOS 7Oracle üçün tələb edilən proqram təminatlarını rəsmi səhifəsi download.oracle.com olanünvandan əldə edə bilərsiniz.VirtualBox üçün proqram təminatını https://www.virtualbox.org/wiki/Downloads səhifəsindənəldə edə bilərsiniz.DNS və NTP üçün tələb edilən əməliyyat sistemini rəsmi sos/x86 64/CentOS-7-x86 64-DVD-1511.isoünvanından əldə edə bilərsiniz.Virtual maşınların yaradılmasıOracle VirtualBox-un CLI (Command Line Interface) üçün çoxlu ümumi əmrlər toplusumövcuddur. Orda virtual maşınların idarə edilməsi və dəyişikliyin edilməsi üçün qrafikgörünüşə heç də ehtiyac yoxdur. Oracle Real Application Cluster-in qurulması üçünaşağıdakı əmrləri host maşının CMD mühitində yerinə yetirmək lazımdır (Xahiş olunurnəzərə alasınız ki, hal-hazırda VirtualBox 64 bit istifadə edilir və PATH TO ISO ünvanını özünüzdə olanla əvəz etməyi unutmayın. Bu əməliyyat sistemləri üçün ISO ünvanınıtəyin edir.):Virtual NAT şəbəkənin oxManage.exe" natnetwork add --netname "vmracnat" -network "192.168.15.0/24" –enableCentOS7(DNS və NTP server) üçün tələb edilən əmrlər:

"%programfiles%\Oracle\VirtualBox\VBoxManage.exe" createvm --register --name "vmDNS" -ostype RedHat " storagectl "vmDNS" --name "IDE" --addide --bootable " storagectl "vmDNS" --name "SATA" --addsata --controller IntelAhci --bootable " createhd --filename"%userprofile%\VirtualBox VMs\vmDNS\vmDNS-localdisk.vdi" --size 20480 --format e" storageattach "vmDNS" --storagectl"IDE" --port 0 --device 0 --type dvddrive --medium " PATH TO ISO ""%programfiles%\Oracle\VirtualBox\VBoxManage.exe" storageattach "vmDNS" --storagectl"SATA" --port 0 --device 0 --type hdd --medium "%userprofile%\VirtualBox e\VirtualBox\VBoxManage.exe" modifyvm "vmDNS" --boot1 disk --boot2dvd --boot3 none --memory 1024 --cpus 1 --cpuexecutioncap 80 --vram 12 --nic1 natnetwork--nat-network1 "vmracnat" --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-OnlyEthernet Adapter" --audio noneOracle node-lar üçün tələb edilən age.exe" createvm --register --name "vmrac1" -ostype Oracle " storagectl "vmrac1" --name "IDE" --addide --bootable " storagectl "vmrac1" --name "SATA" --addsata --controller IntelAhci --bootable " createhd --filename"%userprofile%\VirtualBox VMs\vmrac1\vmrac1-localdisk.vdi" --size 30720 --format e" storageattach "vmrac1" --storagectl"IDE" --port 0 --device 0 --type dvddrive --medium " PATH TO ISO ""%programfiles%\Oracle\VirtualBox\VBoxManage.exe" storageattach "vmrac1" --storagectl"SATA" --port 0 --device 0 --type hdd --medium e.exe" modifyvm "vmrac1" --boot1 disk --boot2dvd --boot3 none --memory 4096 --cpus 2 --cpuexecutioncap 80 --vram 12 --nic1 natnetwork--nat-network1 "vmracnat" --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-OnlyEthernet Adapter" --nic3 intnet --audio xe" createvm --register --name "vmrac2" -ostype Oracle " storagectl "vmrac2" --name "IDE" --addide --bootable " storagectl "vmrac2" --name "SATA" --addsata --controller IntelAhci --bootable " createhd --filename"%userprofile%\VirtualBox VMs\vmrac2\vmrac2-localdisk.vdi" --size 30720 --format e" storageattach "vmrac2" --storagectl"IDE" --port 0 --device 0 --type dvddrive --medium " PATH TO ISO ""%programfiles%\Oracle\VirtualBox\VBoxManage.exe" storageattach "vmrac2" --storagectl"SATA" --port 0 --device 0 --type hdd --medium e.exe" modifyvm "vmrac2" --boot1 disk --boot2dvd --boot3 none --memory 4096 --cpus 2 --cpuexecutioncap 80 --vram 12 --nic1 natnetwork--nat-network1 "vmracnat" --nic2 hostonly --hostonlyadapter2 "VirtualBox Host-OnlyEthernet Adapter" --nic3 intnet --audio none

Əməliyyat sistemlərinin yüklənməsiSiz əməliyyat sistemini əlinizlə adi qaydada addım-addım yükləyə ya da Kickstartvasitəsilə qısa bir zamanda yükləyə bilərsiniz. Tövsiyyə olunur ki, Kickstart vasitəsiləedəsiniz çünki, vaxtınıza qənaət etmiş olacaqsınız.Siz Linux Kickstart avtomatlaşdırılmış yüklənməsi üçün öncədən hazırlanmış anacondaks.vmdns.cfg, anaconda-ks.vmrac1.cfg və anaconda-ks.vmrac2.cfg fayllarını vmDNS, vmrac1və vmrac2 üçün uyğun olaraq istifadə edə bilərsiniz. Kickstart start-files ünvanından əldə edə biərsiniz. Asanyol, kiçik Http File Server (HFS) işə salmaq və kickstart faylları ora yükləməkdir. HTTPfile serveri işə saldıqdan sonra, açılan pəncərədə Menu - IP address - 192.168.56.1 İPünvanını seçmək lazımdır. Bu yüklənəcək virtual maşınların Kickstart faylını şəbəkəüzərindən görməsi üçün tələb edilir. Sonra Kickstart fayllarınızı Virtual File Systempəncərəsinin içinə dartıb, yüklənəcək maşın üçün tələb ediləni seçirik və Open in browserqarşısında olan linki yadda saxlayırıq. Bu linki birazdan virtual maşını yüklədikdə,boot: sətirin qarşısında yazacayıq.Qeyd: Bütün virtual maşınlarda Kickstart faylllarında root istifadəçisinin şifrəsi oracletəyin edilmişdir.Nəzərimizdə tutduğumuz Virtual maşınları yükləmək üçün öncə VirtualBox-a məxsus olan"VBoxManage.exe startvm" əmrini öz host maşınınızda işə salmalı, ardınca virtual maşınınLinux yüklənəcək İSO-dan yüklənməsindən sonra, virtual maşının konsolundan ESC-i sıxın və"boot:" sətirin qarşısında hər virtual maşın üçün uyğun olaraq aşğıdakı sətirləri yazıbETNER sıxın.vmDNSHost maşından virtual maşını işə nage.exe" startvm "vmDNS"Virtual maşının konsolundan kickstart əmri işə salırıq:linux inst.ks t maşından virtual maşını işə nage.exe" startvm "vmrac1"Virtual maşının konsolundan kickstart əmri işə salırıq:linux inst.ks st maşından virtual maşını işə nage.exe" startvm "vmrac2"Virtual maşının konsolundan kickstart əmri işə salırıq:linux inst.ks http://192.168.56.1/anaconda-ks.vmrac2.cfgQeyd: Nəzərə alın ki, DNS server qurulmayanadək vmrac1 və vmrac2 maşınlarda DNSişləməyəcək.NTP və DNS server üçün CentOS7-nin yüklənməsinin məntiqi strukturuTarix və vaxt: Asia/Baku Time zone

Proqram təminatının seçilməsi: Susmaya görəYüklənmə mənbəsi: Local mediaDisin parçalanması: AutoŞəbəkə quraşdırılması: NIC1 (onboot yes) – 192.168.15.0/24 (gw - 192.168.15.1,nameserver - 8.8.8.8, 8.8.4.4, domain - rac.lan)NIC2 (onboot yes) – 192.168.56.0/24 (Gateway və DNS yoxdur)Hostname:vmdnsIP:nic1 - 192.168.15.101, nic2 – 192.168.56.101Oracle Linux-un yüklənməsinin məntiqi strukturuOracle Linux-u hər bir node üçün aşağıdakı xüsusiyyətlərə əsaslanaraq yükləyin:Tarix və vaxt: Asia/Baku Time zoneProqram təminatının seçilməsi: Minimal installYüklənmə mənbəsi: Local mediaKDUMP: DisabledDiskin parçalanması:/boot – 500 MBswap – 4 GB/ - qalan bütün həcmŞəbəkə quraşdırılması: NIC1 (onboot yes) – 192.168.15.0/24 (gw - 192.168.15.1,nameserver - 192.168.15.101, domain - rac.lan)NIC2 (onboot yes) – 192.168.56.0/24 (Gateway və DNS yoxdur)NIC3 (onboot yes) – 192.168.10.0/24 (Gateway və DNS yoxdur)Hostname və IP: vmrac1 (nic - 192.168.15.110, nic2 – 192.168.56.110, nic3 –192.168.10.110)vmrac2 (nic - 192.168.15.111, nic2 – 192.168.56.111, nic3 –192.168.10.111)DNS və NTP sevrerin qurulmasıPlanlaşdırılır ki, sizin artıq DNS və NTP nəzərdə tutduğunuz CentOS7 virtual maşınıyüklənmiş və hazır vəziyyətdədir. Siz həmin maşın üzərindən aşağıda göstərilən qaydalaraəsasən Python kodlar vasitəsilə NTP və DNS serveri qurursunuz. Putty klient-lə CentOS7maşınımıza 192.168.56.20 İP ünvanına qoşuluruq.Məqsədimiz sınaq quraşdırma olduğu üçün SELinux və firewall-ı söndürürük.Firewall-u söndürürük və yenidənyüklənməsinin qarşısını alırıq.[[email protected] ]# systemctl stop firewalld[[email protected] ]# systemctl disable firewalldSELinux-u söndürürük.[[email protected] ]# cp /etc/selinux/config /etc/selinux/config.bkp. date %Y%m%d%H%M%S [[email protected] ]# sed -i "s/SELINUX enforcing/SELINUX disabled/g" /etc/selinux/configSistemdə olan kernel və paketləri yeniləyirik:[[email protected] ]# yum upgrade -yProblemlərin araşdırılması üçün net-tools və telnet-i yukləyirik:[[email protected] ]# yum install -y net-tools telnetGİT və wget alətlərini sistemimizə yükləyirik:[[email protected] ]# yum -y install git wget

SELinux-un tətbiq edilməsi üçün sistemi yenidənyüklənmə edirik:[[email protected] ]# rebootGIT serverdən tələb edilən anbarı öz daxili qovluğumuza endiririk, həmin anbara daxilolub Python yüklənəcək scripti işə salırıq:[[email protected] ]# git clone r-oracle[[email protected] ]# cd ntp-and-dns-for-oracle/[[email protected] ntp-and-dns-for-oracle]# ./python-installer.shArdınca ntp-dns-oracle.py scriptini işə salıb DNS və NTP serverimizi quraşdırırıq.Scriptin yerinə yetirilməsinin çıxışında aşağıdakı sətirlər çap ediləcək:[[email protected] ntp-and-dns-for-oracle]# ./ntp-dns-oracle.pyThis script downloads and installs NTP and DNS servers automatically.Edit the ./jinja2temps/iplist file to provide an IP configuration.Please input the following details:IP address of DNS server (local or remote): 192.168.15.101User name: rootPassword: gizli şifrə(yəni oracle)Domain name for RAC public network: rac.lanInstallation and configuration of DNS server is in progress .DNS Server installed and configured successfully.Installation and configuration of NTP server is in progress .NTP Server installed and configured successfully.Host maşınınızdan adların IP ünvanlara çevrilməsini yeni qurulan DNS server üzərindənetmək üçün CMD əmrini Run as admin ilə işə salın. Ardınca ipconfig /all əmri ilə şəbəkəkartınızı təyin edin və aşağıdakı əmrlərlə əsas şəbəkə kartı və VirtualBox-un yaratdığıvirtual şəbəkə kartına həmin DNS serverin IP üvanını təyin edin:C:\Windows\system32 netsh interface ipv4 add dns "VirtualBox Host-Only Network"192.168.56.101C:\Windows\system32 netsh interface ipv4 add dns " adapter name " primary dns ip C:\Windows\system32 netsh interface ipv4 add dns " adapter name " 192.168.56.101 index 2C:\Windows\system32 ipconfig /registerdnsC:\Windows\system32 ipconfig /flushdnsC:\Windows\system32 ping vmrac1.rac.lanPinging vmrac1.rac.lan [192.168.56.110] withReply from 192.168.56.110: bytes 32 time 1msReply from 192.168.56.110: bytes 32 time 1msReply from 192.168.56.110: bytes 3