Oracle Clusterware birçok sunucu ve sunucu sistemlerinin tek bir sunucuymuş gibi çalışmasını ve yönetilmesini sağlayan bir yazılımdır denerek çok genel bir tanım yapılabilir. Oracle Clusterware Oracle Real Application Cluster’ın (RAC) çalışması için temel altyapıyı oluşturur.
Clusterware Software Stack
RAC düğümü başladığında Oracle Clusterware otomatik olarak başlatılır. Bu başlatma işlemi birkaç işlemden geçiyor
Oracle Clusterware Yönetimi (Clusterware Management)
Grid Infrastructure Universal Installer, Oracle Clusterware’in ve ASM Instance nin kurulumunu ve konfigürasyonunu üstlenir. Bu kurulumdan sonra, Clusterware ve ASM her seferinde otomatik olarak yeniden başlatılır. Sunucu başlatıldığında genellikle manuel müdehaleye gerek kalmadan otomatik çalışır.
Oracle, Oracle Grid Infrastructure yönetimi için kullanılabilecek bir dizi araç ve yardımcı program sunmaktadır. Yaygın olarak kullanılan araç, Oracle’ı yönetmek için bir komut satırı aracı olan Clusterware kontrol yardımcı programı crsctl’dir. CRS küme yazılımının çalışmasını herhangi bir düğümden başlatılabilir, durdurulabilir ve kontrol edilebilir. Tüm komutu yazdırmak için crsctl –help komutunu kullanın.
$ crsctl -help
Usage: crsctl add – add a resource, type, or other entity
crsctl backup – back up voting disk for CSS
crsctl check – check a service, resource, or other entity
crsctlconfig – output autostart configuration
crsctl debug – obtain or modify debug state
crsctl delete – delete a resource, type, or other entity
crsctl disable – disable autostart
crsctl discover – discover DHCP server
crsctl enable – enable autostart
crsctleval – evaluate operations on resource or other entity…
crsctl get – get an entity value
crsctlgetperm – get entity permissions
crsctllsmodules – list debug modules
crsctl modify – modify a resource, type, or other entity
crsctl query – query service state
crsctl pin – pin the nodes in the nodelist
crsctl relocate – relocate a resource, server, or other entity
crsctl replace – replace the location of voting files
crsctl release – release a DHCP lease
crsctl request – request a DHCP lease or an action entrypoint
crsctlsetperm – set entity permissions
crsctl set – set an entity value
crsctl start – start a resource, server, or other entity
crsctl status – get status of a resource or other entity
crsctl stop – stop a resource, server, or other entity
crsctl unpin – unpin the nodes in the nodelist
crsctl unset – unset a entity value, restoring its default
Diğer bir komut satırı aracı ise srvctl dir. Bir srvctl komutu dört bölümden oluşur:
$ srvctl <command> <object> [<options>]
Yardım almak için
$ srvctl <command> -h or
$ srvctl <command> <object> -h
Başka yardımcı programlar da vardır:
• oifcfg, ağ arayüzlerini yapılandırmak için kullanılabilecek bir komut satırı aracıdır.
• ocrconfig, OCR ve OLR’yi yönetmek için kullanılabilecek bir komut satırı aracıdır.
• ocrcheck, OCR’nin durumunu kontrol etmek için OCR Kontrolü aracıdır.
• ocrdump, Oracle Clusterware Kayıt Defteri Dökümü aracıdır OCR
• Oracle Cloud Contol, Oracle Clusterware ortamını yönetmek için kullanılabilir.
Start Up and Stop Clusterware
OS başatıldığında Clusterware de otomatik olarak başlar, ancak crsctl ile manuel olarakta clusterware durdurulup başlatılabilir
$ crsctl start cluster [-all | - n server1[,..]]
Örnek
$crsctl start cluster –all
$crsctl start cluster –n k2r720n1
Local sunucuda Oracle High Availability Services daemon (OHASD) ve Clusterware servislerini çalıştırmak için
$crsctl start crs
Bu iki komutunda Linux/Unix sistemlerde çalışabilmesi için root yetkilerine ihtiyaç duymaktadır. Durdurmak içinse aşağıdaki komutlar kullanılır -f option kullanılırsa durdurmaya zorlar;
$ crsctl stop cluster [-all | -n server_name [...]] [-f]
Local sunucu için ise;
$ crsctl stop crs [-f]
Cluster Drumunu kontrol etmek için;
$ crsctl check cluster {-all}
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
CRS durumunu control etmek için;
$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
OHASD durumunu kontrol etmek için;
$GRID_HOME/bin/crsctl check has
CRS-4638: Oracle High Availability Services is online
Tüm kaynakların durumunu kontrol etmek için;
# crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.FRA.GG_VOLUME.advm
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.chad
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.fra.gg_volume.acfs
ONLINE ONLINE rac1 mounted on /oggdir,S
TABLE
ONLINE ONLINE rac2 mounted on /oggdir,S
TABLE
ora.net1.network
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ons
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.proxy_advm
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac2 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE rac1 Started,STABLE
2 ONLINE ONLINE rac2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE rac2 STABLE
ora.qosmserver
1 ONLINE ONLINE rac2 STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.racdb.db
1 ONLINE ONLINE rac1 Open,HOME=/u01/app/o
racle/product/19.0.0
.0/db,STABLE
2 ONLINE ONLINE rac2 Open,HOME=/u01/app/o
racle/product/19.0.0
.0/db,STABLE
ora.scan1.vip
1 ONLINE ONLINE rac1 STABLE
ora.scan2.vip
1 ONLINE ONLINE rac2 STABLE
ora.scan3.vip
1 ONLINE ONLINE rac2 STABLE
rac1-gg-vip
1 ONLINE ONLINE rac2 STABLE
xag.gg_orders.goldengate
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
Bu komutlar root, grid ve oracle tarafından execute edilebilir.
OCR ve VOTING DISK YÖNETİMİ
Oracle, OCR’yi yönetmek için üç araç sunar:
- ocrconfig
- ocrdump ve
- ocrcheck
$ ocrcheck
Status of Oracle Cluster Registry is as follows:
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 3192
Available space (kbytes) : 258928
ID : 1707636078
Device/File Name : +VOCR
Ocrdump komutu, OCR içeriğini bir .txt veya .xml dosyasına dökmek için kullanılabilir.
$ ./ocrdump
$ ls -l OCRDUMPFILE
-rw------- 1 root root 212551 Dec 28 20:21 OCRDUMPFILE
OCR her bir nodda en az 4 saatte bir yedeklenir Yedekler $GRID_HOME/cdata/ dizininde saklanır, ocrconfig -showbackup komutu ile backuplar görüntülenebilir.
$GRID_HOME/bin/ocrconfig -showbackup
rac2 2021/02/17 11:28:50 +DATA:/rac-cluster/OCRBACKUP/backup00.ocr.277.1064748521 724960844
rac2 2021/02/16 19:13:19 +DATA:/rac-cluster/OCRBACKUP/backup01.ocr.276.1064689985 724960844
rac2 2021/02/16 15:13:02 +DATA:/rac-cluster/OCRBACKUP/backup02.ocr.281.1064675575 724960844
rac2 2021/02/16 11:12:51 +DATA:/rac-cluster/OCRBACKUP/day.ocr.280.1064661173 724960844
rac1 2021/02/09 19:02:37 +DATA:/rac-cluster/OCRBACKUP/week.ocr.273.1064084559 724960844
rac2 2021/03/08 15:23:03 +DATA:/rac-cluster/OCRBACKUP/backup_20210308_152303.ocr.278.1066663383 724960844
OCR ı backuptan tekrar restore etmek için;
- Hangi backup ı kullanacağımızı ocrconfig -showbackup komutu ile tespiti yapılır
- Tüm nodlar için clusterweare kapatılır.
- ocrconfig -restore file_name komutu ile restore işlemi yapılır
- Crs yeniden başlatın ve cluvfy comp ocr kullanarak bir OCR bütünlük kontrolü yapılır.
Voting Disk (VD) kontrolü yapmak için aşağıdaki komut kullanılabilir.
$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 2302b41653a64fb0bffabe7ff3cf10d8 (/dev/oracleasm/disks/DATA1) [DATA]
Located 1 voting disk(s).
VD’yi başka bir konuma taşımak için aşağıdaki crsctl komutunu kullanabilirsiniz:
$GRID_HOME/bin/crscrsctl replace votedisk +DATA3
srvctl komutu ile Clusterware kaynakları yönetilebilir, Bu kaynaklar; database, instance, service, nodeapps, vip, asm, diskgroup, listener, scan, scan listener, serer pool, server, oc4j, home, file system, ve gns. Bu yönetilecek olan kaynak komutun <object> bölümünde belirtilmiştir. Komutun <action> bölümünde belirtilen kaynaktaki yönetim işlemini belirtir enable, disable, start, stop, relocate, status, add, remove, modify, getenv, setenv, unsetenv, config, convert ve upgrade.
srvctl <action> <object> [<options>]
$srvctl config scan
SCAN name: knewrac-scan.kcloud.dblab.com, Network: 1
Subnet IPv4: 172.16.0.0/255.255.0.0/eth0
Subnet IPv6:
SCAN 0 IPv4 VIP: -/scan1-vip/172.16.150.40
SCAN name: knewrac-scan.kcloud.dblab.com, Network: 1
Subnet IPv4: 172.16.0.0/255.255.0.0/eth0
Subnet IPv6:
SCAN 1 IPv4 VIP: -/scan2-vip/172.16.150.83
SCAN name: knewrac-scan.kcloud.dblab.com, Network: 1
Subnet IPv4: 172.16.0.0/255.255.0.0/eth0
Subnet IPv6:
SCAN 2 IPv4 VIP: -/scan3-vip/172.16.150.28
knewracn1 nodunun VIP durumunu kontrol etmek için:
$ srvctl status vip -n knewracn1
VIP 172.16.150.37 is enabled
VIP 172.16.150.37 is running on node: knewracn1
Cluster a Node Ekleme ve Çıkarma (Adding and Removing Cluster Nodes)
İki nodlu bir cluster olduğunu ve üçüncü bir node (rac3 isimli) eklemek istediğimizi varsayalım. Mevcut bir cluster a yeni bir node eklmek genellikle aşağıdaki aşamalardan oluşur.
- Grid Infrastructure Home (cluster/ASM) clonlama.
- Cluster configürasyonu.
- RDBMS home clonlama.
Node Ekleme
Yeni eklenecek node ağ yapılandırması, dizin yapılandırılması vs. gibi diğer nodlarla aynı duruma getirildiğinde yeni eklenecek olan nodda aşağıdaki komut çalıştırılır.
$ cluvfy stage –pre nodeadd –n rac3 –fixup -verbose
Eğer hata almaz isek aşağıdaki komut ile node ekleme işlemini başlatırız.
$ $GRID_HOME/oui/bin/addNode.sh –silent "CLUSTER_NEW_NODES={rac3}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3_vip}"
$ cluvfy stage –post nodeadd –n rac3
$ crsctl check cluster –all –- verify the cluster health from all nodes
$ olsnodes –n -- to list all existing nodes in a cluster
$ORACLE_HOME/oui/bin/addNode.sh "CLUSTER_NEW_NODES={rac3}"
$ ./cluvfy stage –post addnode –n rac3 -verbose
Node Çıkarma
Üç nodlu bir küme olduğunu ve rac3 isimli nodu cluster dan çıkarmak istediğimizi varsayalım.
$ olsnodes –n –s -t
rac1 1 Active Pinned
rac2 2 Active Pinned
rac3 3 Active Pinned
Üç nodda actif ve pinned hadedir. çıkarmak istediğimiz düğümü unpin yapmamız gerek
$ crsctl unpin css –n rac3
root user ile rac3 nodunda aşağıdaki komutu çalıştırılır.
$crsctl delete node –n rac3
Güncellemenin yapılabilmesi için tüm aktif düğümlerde aşağıdaki komut çalıştırılır.
$GRID_HOME/oui/bin/runInstaller –updateNodeList ORACLE_HOME=$GRID_HOME
cluster_nodes={rac1,rac2} CRS=TRUE -silent
Slient modda herhangi bir etkilşim ekranı olamayacağı için. Silme işlemi sonrasında herhangi bir etkin düğümden silme işlemi doğrulanır.
$cluvfy stage –post nodedel –n rac3 –verbose
$olsnodes –n –s -t
Troubleshooting Clusterware Stack Start-Up Failure
Örneğin Cluster beklenildiği gibi başlatılamıyor, Cluster ve CRS durumu DBA tarafından doğrulandıktan sonra aşağıdaki hatayı aldığını düşünelim.
$GRID_HOME/bin/crsctl check cluster
CRS-4639: Could not contact Oracle High Availability Services
CRS-4639: Could not contact Oracle High Availability Services
CRS-4000: Command Check failed, or completed with errors
veya
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager
ohasd start up failures – OHAS daemon process ile ilgili sorunlar başlıca aşağıdaki gibidir;
- CRS-4639: Could not contact Oracle High Availability Services
veya
- CRS-4124: Oracle High Availability Services startup failed
- CRS-4000: Command Start failed, or completed with errors
İlk olarak başlatmanın neden başarısız olduğunu anlamak için Clusterware alert mesajı ve ohasd.log dosyası incelenir.
Otomatik başlatma yapılandırmasını doğrulamak için root user ile aşağıdaki komutu kullanın:
$ GRID_HOME/bin/crsctl config has -- High Availability Service
$ GRID_HOME/bin/crsctl config crs -- Cluster Ready Service
$ GRID_HOME/bin/crsctl enable has – turns on auto startup option of ohasd
$ GRID_HOME/bin/crsctl enable crs - turns on auto startup option of crs
$ GRID_HOME/bin/crsctl start has – initiate OHASD daemon startup
$ GRID_HOME/bin/crsctl start crs – initiate CRS daemon startup
Buna rağmen, ohasd daemon süreci başlamazsa ve sorun devam ederse, İşletim sistemindeki ohasd daemon sürecinin varlığını doğrulayın. Komut satırı isteminden, aşağıdakileri yürütün
ps -ef |grep init.ohasd
$GRID_HOME/log/hostname/ohasd altındaki ohasd.log dosyasına bakılır.
Trace file larda rapor edilen OLR sorunları giderilir. OLR bozulması veya erişilemezliği varsa uygun yöntem ile sorun çözülür. Geri yükleme (restore) yapılacak ise aşağıdaki komut ile daha önceki geçerli bir yedekten geri yüklenir.
$ocrconfig -local –restore $backup_location/backup_filename.olr
OS seviyesinde GRID Infrastructure dizininin izinlerini ve sahipliklerini gözden geçirin.
GENEL OLARAK KOMUTLARI VE NE İŞE YARADIKLARINI ÖZETLERSEK;
Start Stop …
crsctl start crs --Clusterware üzerinde olduğunuz node için açma işlemi
crsctl stop crs --Clusterware üzerinde olduğunuz node için kapama
crsctl enable crs --Clusterware üzerinde olduğunuz node için aktif etme
crsctl disable crs --Clusterware üzerinde olduğunuz node için pasif işlemi
Cechk
crsctl check crs --Tüm clusterware durmunu kontrol eder
crsctl check cluster --CSS servisleri kontrol eder
crsctl check <daemon> --Belli bir cluster servisini kontrol etme. (crsd,evmd,cssd)
Configürasyon dosyalarını bulma için;
crsctl query css votedisk --Voting disk yerini belirleme
cat /etc/oracle/ocs.loc --OCR dosyalarının yerini bulma
ocrcheck --Oracle Cluster registry durumunu kontrol eder.
Vote Disk Ekleme Çıkarma;
crsctl add css votedisk new_vote_disk_path ##vote disk ekleme
crsctl delete css votedisk new_vote_disk_path ##votedisk silme
crsctl add votedisk asm_disk_group ##asm diske votedisk eklemek
crsctl replace votedisk asm_diskgroup / vote_disk_path ##votedisk taşımak
OCR Backup Locasyonu;
ocrconfig –showbackup auto
##ocrbackupları hangi node ‘ a ve nereye alınır
ocrconfig –backuploc shared_path_by_all node
##ocr backup lokasyonu değiştirme
ocrconfig –add path_of_location
##ocr lokasyon ekleme.path asm veya filesystem olabilir.
ocrconfig –replace new_path ##OCR lokasyonu değiştirme
ocrconfig –repair –add +DATA1 ##OCR locasyonu repair etme.
Manuel OCR backup alma
ocrconfig –manuelbackup ##Fiziksel olarak ocr backup alma işlemi.
ocrconfig –showbackup manuel ##Manuel alınmış backupları gösterir.
ocrconfig –export /path_of_export ##Mantıksal ocr backup alma işlemi
OCR Recover
ocrconfig –showbackup (Son alınan backup belirlenir).
crsctl stop cluster –all (Tüm nodlarda cluter kapatılır)
crsctl stop crs (TÜüm nodlarda High availability servisleri kapatılır)
ocrconfig -restore /path_of_ocr_backup (Restore işlemi yapılır)
crsctl start crs (High availabilty servisleri tüm nodlarda çalıştırılır)
cluvfy comp ocr -n all (OCR entegrasyonu kontrol edilir)
OLR (OCR Local Registry)
Cluster daki her bir node oüzerinde o noda ait OLR bulunur, Clusterware kurulduğunda herbir nodda OLR oluşturulur. Cluterware o nodda çalışmasada komutları çalıştırmamızı ve işlemlere erişimi OLR sayesinde yapılabilir. OR ve Voting Disk ASM içerisndeyse Clusterware başlatılabilmesi için OLR gerekir. OLR node ile Cluster arasında köprü vazifesi görür. $GRID_HOME/cdata /hostname.olr konumundadır. ocrcheck, ocrconfig, ocrdump gibi komutların sonuna -local opsiyonu getirilerek OLR yönetimi yapılabilir.
ocrcheck –local
ocrdump –local –stdout
ocrconfig -local –export file_name
ocrconfig –local –import file_name
ocrconfig –local –repair olr filename
Clusterware Network Ayarları
oifcfg iflist –p –n ##cluster ip listesini gösterir
oifcfg getif ##cluster public ve private ipleri listeler
srvctl config nodeapps –a ##VIP IP,host subnetmask vb. listeler
Public VIP Adress Değiştirme
- Değiştirmyi istediğimiz noddaki tüm servisler kapatılır
srvctl stop service –d RDBA –s crm,hr –n rac1
- Vip adress için kaydedilecek mevcut ip adress konfigurasyonu yapılır.
srvctl config vip –n rac1
- VIP servisi durudurlur.
srvctl stop vip –n host1
- kontrolleri yapılır.
ifconfig –a
- Tüm nodlarda /etc/hosts dosyasına gerekli ip adresleri ayarlanır.
- ilgili node için gerekli düzenleme yapılır.
srvctl modify nodeapps –n rac1 –A new_vip_ip
- Node VIP servisi çalıştırılır.
srvctl start vip –n rac1
- Tüm adımlar herbir node için tekrarlanır.
- Cluster haberleşmesi kontrol edilir.
cluvfy comp nodecon –n all-verbose
Scan VIP ve Scan Listener için;
srvctl add scan –n racdb-scan --Scan vip ekleme
srvctl remove scan –f --Scan vip kaldırma
srvctl add scan_listener --scan listener eklemek
srvctl add scan_listener –p port --nondefault port scan listener ekleme
srvctl remove scan_listener –f --scan listener silme
srvctl modify scan –n cluster01-scan --mevcut scan başka bir scan ile eşlemek.
srvctl modify scan_listener –u --mevcut scan_listener ‘ı var olan scan ile eşlemek.
Bir yanıt yazın