"Enter"a basıp içeriğe geçin

Oracle Cluster (RAC) Başlangıç Aşamaları

Oracle RAC (Real Application Clusters) altyapı olarak birden fazla nodu birbirine bağlayarak tek bir sunucu gibi çalışmasını sağlayan Oracle Clusterware adlı yazılımı kullanır. Oracle RAC ortamında, Oracle Clusterware yazılımı instance ve listener gibi tüm Oracle bileşenlerini izler. Eğer bir sorun veya çökme olursa Oracle Clusterware otomatik olarak sorun olan bileşeni yeniden başlatır ve bu bileşene ait operasyonları çalışan başka bir bileşene iletir.

Oracle Cluster Registry (OCR)

OCR kütüğü, cluster içindeki herhangi bir cluster veritabanı ile ilgili cluster yapılandırma bilgilerini tutan bir dosyadır. OCR, cluster node listesi ve instance – node eşleme bilgilerini içerir. Özelleştirilmiş kaynaklar için Clusterware kaynak profilleri ile ilgili bilgiler de OCR’de tutulur. OCR, cluster içindeki tüm nodların erişebileceği paylaşılan bir depolama alanında bulunur. Oracle Clusterware, OCR kütüğünün birden fazla kopyasını oluşturabilir. Yüksek kullanılabilirliği (High Availability) sağlamak için Oracle bu özelliğin kullanılmasını önermektedir.

Oracle Local Registry (OLR)

Cluster içindeki her bir nod, OCR kütüğünün Oracle Local Registry (OLR) olarak adlandırılan ve Oracle Clusterware kurulduğunda oluşturulan lokal bir kopyasını tutar. Her bir nod üzerindeki birden fazla prosesin, üzerinde bulunduğu noda özel OLR dosyasına eşzamanlı olarak okuma ve yazma erişimi vardır. Varsayılan olarak OLR dosyası nod makine üzerinde "GRID_HOME/cdata/$HOSTNAME.olr" konumunda bulunur. OLR, RAC ayağa kalkarken açılan ve okunan ilk dosyadır. OLR, voting diskinin nerede saklandığına ilişkin bilgileri içerir.

Voting Disk

Voting Disk, nodlara ait üyelik bilgilerini yönetir. Cluster içindeki tüm üye nodlar tarafından erişilebilir paylaşılan bir disktir. Oylama diskleri doğrudan ASMDISK’e yerleştirilir. Oracle Clusterware bu diski, oylama dosyalarını tutan bir disk grubu içinde depolar. Voting Disk, tüm nodlar için merkezi bir referans olarak kullanılır ve nodlar arasındaki heartbeat bilgisini tutar. Cluster içindeki tüm nodlar voting diske ping yaparak canlı olduklarını bildirir. Nodlardan herhangi biri voting diske ping işlemi yapamazsa, cluster hemen bunu bir iletişim hatası olarak saptar ve nodu clusterdan çıkarır.

Oracle Cluster Başlatma Sırası

İşletim sistemi önyükleme işlemini bitirdikten hemen sonra,init veya init.d olarak adlandırılan ve bütün süreçlerin atası olan başlangıç arka plan programı aracılığıyla /etc/init.d kütüğünü okur ve buradaki komutları sırayla çalıştırır. init’in öncelikli görevi, Oracle High Availability Service Daemon (OHASD) arkaplan servisinin de tanımlı olduğu, /etc/inittab içinde bulunan komutlardan prosesler oluşturmaktır. Oracle 11g ile birlikte kullanıma sunulan OHASD, tüm Clusterware kaynaklarını yönetir. Cluster içindeki tüm yerel Oracle Clusterware arkaplan servislerini başlatmak ve izlemekle sorumludur. Tüm prosesler için bir çapadır diyebiliriz. Buna göre Oracle RAC Clusterware başlangıç aşamalarını kısaca şöyle sıralayabiliriz.

  1. Oracle Clusterware kümesindeki bir nod başladığında, OHASD işletim sistemi platformuna özgü araçlarla (Linux’ta init.d vs.) başlatılır. OHASD, Oracle Clusterware için kök prosestir. OHASD’nin üzerinde çalıştığı nodun yerel dosya sisteminde depolanan OLR (Oracle Local Registry) adlı bir kütük vardır. OHASD’nin bu kütüğe erişimi vardır. OLR kütüğü, OHASD’nin başlatılmasını sağlamak için gerekli verileri sağlar.
  2. OHASD, GPnPD (Grid Plug and Play Daemon) ve CSSD (Cluster Synchronization Service Daemon) arkaplan servislerini başlatır. CSSD servisinin yerel dosya sisteminde depolanan GPnP Profiline erişimi vardır. GPnP profili, profile.xml adıyla "GRID_HOME/gpnp/<hostname>/profiles/peer" konumunda bulunan küçük bir XML dosyasıdır. Bu dosya, nodun özelliklerini tanımlayan çeşitli öznitelik girdilerinden oluşur. Nodun global kimliğinin düzgün bir şekilde oluşturulması için kullanılır. Her nod, GPnP Profilinin yerel bir kopyasını tutar ve bu profil GPnP Deamon tarafından kullanılır. Bu profil önemli önyükleme verilerini içerir. Bunlar: ASM Disk grubu keşif dizesi, ASM SPFILE’ın konumu (Disk grubu adı), Voting dosyalarını tutan ASM Disk grubunun adı.
  3. CSSD, ASM Disk başlık bilgilerinde bulunan iyi tanımlı dosya işaretçilerini okuyarak ASM Diskleri üzerindeki Voting dosyalarının konumlarına erişebilir durumdadır. CSSD bu aşamada artık başlangıç sürecini tamamlamıştır. Kendisi bir cluster başlatabilir veya mevcut bir clustera katılabilir.
  4. OHASD, bir ASM instance’ını başlatır, ardından ASM, daha önce başlatılmış ve çalışır durumda olan CSSD ile birlikte çalışabilir duruma gelir. ASM instance’ı ASM SPFILE içeriğini, bir Diskgroup’ta depolandığını varsayarak, bulmak için özel kod kullanır.
  5. CRSD (Cluster Resources Services Daemon) artık ASM çalışır durumda olduğundan ve disk grupları mount edilmiş olduğundan Clusterware’ın OCR kütüğüne erişebilir.
  6. OHASD, ASM Disk grubundaki OCR kütüğüne erişerek CRSD’yi başlatır.
  7. Oracle Clusterware yazılımı başlangıç işlemlerini tamamlar ve diğer servisleri kontrolü altına alır.

Oracle belgelerine göre Clusterware’ın yüksek seviyeli adımları şöyledir:

INIT prosesi init.ohasd respawn opsiyonu ile çalıştırarak OHASD (Oracle Yüksek Kullanılabilirlik Hizmetleri Daemon) arkaplan prosesini başlatır.

Seviye 1: OHASD şu prosesleri başlatır:

  • cssdagent – CSSD’yi oluşturmaktan sorumlu ajan.
  • orarootagent – Root’un sahip olduğu tüm ohasd kaynaklarının yönetiminden sorumlu ajan.
  • oraagent – Oracle’a ait tüm ohasd kaynaklarının yönetiminden sorumlu ajan.
  • cssdmonitor – CSSD’yi ve düğümün sağlık durumunu izler (cssdagent ile birlikte).

Seviye 2: OHASD rootagent şu prosesleri başlatır:

  • CRSD – Küme kaynaklarını yönetmekten sorumlu birincil arka plan programı. CRS arka plan programı (crsd), her kaynak için OCR’de depolanan yapılandırma bilgilerine göre küme kaynaklarını yönetir. Kaynağın başlatılmasından, durdurulmasından, izlenmesinden ve devredilmesinden sorumludur. Yük devri gerçekleştiğinde kaynağı yeniden başlatır.
  • CTSSD – Küme Zaman Senkronizasyon Hizmetleri Arka Plan Programı. ntpd yokluğunda küme için zaman senkronizasyonu sağlar. ntpd yapılandırılırsa, CTSSD gözlemci modunda çalışır.
  • Diskmon – Disk izleme arka plan programı, ocssd başladığında sürekli olarak çalışır. Exadata depolama sunucusu için I/O eskrimini izler ve gerçekleştirir (Bu sunucu, Exadata’ya göre hücre olarak adlandırılır). Bu işlem, ocssd başladığından beri çalışacaktır çünkü exadata hücresi herhangi bir zamanda herhangi bir kümeyi doldurabilir.
  • ACFS (ASM Küme Dosya Sistemi) Sürücüleri.

Seviye 2: OHASD oraagent şu prosesleri başlatır:

  • MDNSD – DNS araması için kullanılır.
  • GIPCD – Prosesler arası ve nodlar arası iletişim için kullanılır.
  • GPNPD – Grid Plug & Play Profili Arkaplan prosesi.
  • EVMD – Olay İzleme Arkaplan prosesi.
  • ASM – ASM instance izleme kaynağı.

Seviye 3: CRSD şu prosesleri başlatır:

  • orarootagent – Root’un sahip olduğu tüm ohasd kaynaklarının yönetiminden sorumlu ajan.
  • oraagent – Oracle’ın sahip olduğu tüm crsd kaynaklarını yönetmekten sorumlu aracı.

Seviye 4: CRSD orarootagent şu prosesleri başlatır:

  • Ağ kaynağı – Kümeyi başlatmak için gerekli ağ kaynakları.
  • SCAN VIP (Single Client Access Name Virtual IP)’leri – SCAN, Oracle 11gR2 RAC özelliğidir. Statik küme nod adlarına olan bağımlılıkları ortadan kaldırır. Bunun faydası, kümeye yeni bir nod eklendiğinde veya kümeden bir nod çıkarıldığında, SCAN kullanan istemcilerin tarafında herhangi bir değişikliğe gerek olmamasıdır. Bu, bir küme içinde çalışan Oracle Veritabanına erişen istemcilere tek bir ad sağlar. üye nodlarda DHCP sunucusu tarafından atanan IP adresi kullanılarak üç SCAN IP’si başlatılır.
  • Nod VIP’leri – Veri tabanına bağlantı talep eden istemci programına TCP zaman aşımı olan yanıt gecikmesini ortadan kaldırmaktan sorumlu bir nod uygulamasıdır. Her nod VIP’ne kullanılmayan bir IP adresi atanır. DHCP aracılığıyla yapılır, ancak manuel olarak da atanabilir. Her küme başlangıcında bir nod VIP vardır, küme nodu erişilemez olduğunda, kalan nod VIP başarısız olur ve bağlantı erişilemez noddan kalan noda yeniden yönlendirilir.
  • ACFS Registry – ASM Cluster Dosya Sistemini mount etmek için.
  • GNS VIP (isteğe bağlı) – GNS sanal IP adresi, DNS’de yapılandırılmış statik bir IP adresidir. GNS, kümeye yönelik istemci talebini çözümlemek için kullanılır. DNS, sorguları GNS sanal IP adresine devreder ve GNS daemon, bu adresten gelen ad çözümleme isteklerine yanıt verir. Subdomain içinde, GNS, DNS’de ek ana bilgisayar yapılandırması gerektirmeden, kümenin ana bilgisayar adlarını ve IP adreslerini dinamik olarak eşleştirmesini sağlamak için Oracle Clusterware’de bulunan çok noktaya yayın Etki Alanı Adı Hizmeti’ni (mDNS) kullanır.

Seviye 4: CRSD oraagent şu prosesleri başlatır:

  • ASM Kaynağı – ASM instance(lar)ının kaynağı
  • Diskgroup – ASM disk gruplarını yönetmek / izlemek için kullanılır.
  • DB Kaynağı – Veritabanı ve bulut sunucularının izlenmesi ve yönetilmesi için kullanılır.
  • SCAN Listener – SCAN VIP üzerinde dinleme yapan dinleyici.
  • Listener – Nod VIP üzerinde dinleme yapan nod dinleyicisi.
  • Hizmetler – Hizmetleri izlemek ve yönetmek için kullanılır.
  • ONS – Oracle Bildirim Hizmeti. Hızlı Uygulama Bildirimi (FAN) olayları için bildirim yayınlar.
  • eONS – Gelişmiş Oracle Bildirim Hizmeti
  • GSD – 9i geriye dönük uyumluluk için
  • GNS (isteğe bağlı) – Grid Adlandırma Hizmeti – Ad çözümleme gerçekleştirir.

Aşağıdaki komut, tüm küme kaynaklarının durumunu gösterecektir:

$ ./crsctl status resource -t

Kaynaklar

  1. Oracle RAC Clusterware Startup Sequence in detail – orahow, URL: https://orahow.com/oracle-rac-clusterware-startup-sequence/
  2. Rafik Mulla’s Oracle Blog: ORACLE RAC STARTUP SEQUENCE, URL: http://rafik-dba.blogspot.com/2019/02/oracle-rac-startup-sequence.html
  3. RAC : 11gR2 Clusterware Startup Sequence – ORACLE-HELP, URL: http://oracle-help.com/oracle-rac/rac-11gr2-clusterware-startup-sequence/

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir