Real Application Clusters Yazılımı Mimarisi
Bu makalede, Oracle Real Application Cluster özgü mimari bileşenleri'nden bahsedelim. Bu bileşenlerden bazıları, Oracle veritabanı yazılımı ile temin edilebilirken bazıları da vendor-specific(sağlayıcıya özgüdür)’tir.
Bu makaledeki başlıca konular Real Application Cluster bileşenlerini tanımlamaktadır.
Bunlar:
-
Operating System-Dependent Clusterware
- Real Application Cluster Paylaşılan Disk Bileşenleri
- Real Application Cluster-Specific Daemon ve Instance Processes(Real Application Cluster’a özgü İşletim Sistemlerinde Geri Planda Çalışan Program ve Instanceİşlemleri)
- Global Cache and Global Enqueue Service(Genel ön Arabellek ve Kuyruğa Ekleme Servisi)
- Cluster Manager(Küme yöneticisi)
- Düğüm monitor(gözleyicisi)
- Interconnect

Cluster manager, düğüm monitor(gözleyicisi) olarak bilinen bir fonksiyonellik altkümesi

- Düğüm yönetimi arabirim modülleri sağlar.
- Düğümlerin üyelik durumunu, küme üzerinde düğüm üyeliğinin genel bir görünümünü sağlayarak araştırır ve bulur.
- Aktif düğümlerdeki durum değişimlerini ortaya çıkarır ve teşhis eder, ve bu değişim olayları hakkında bilgiyi bildirir.
Cluster File System(Küme Dosya Sistemi)/Küme Veritabanı işlemi
Selamlar...
Rac ile ilgili ne kadar çok şeyden bahsedersek edelim aslında iş dönüp dolaşıp mimariye geliyor. Ve ben de aklıma geldikçe mimari ile ilgili yazılarımı paylaşmayı düşünüyorum. Çünkü işin özü mimaride...
Aslında database ve özellikle Datawarehouse zaten mimari ile güçlenmişlerdir.Zaten bu işin Dünyada onlardan sorulduğu kişi bu şekilde(modelleme üzerine) çalışmalarla ön plana çıkmışlardır.
Onlardan biri olan Dr. Kimball incelemek isterseniz:
http://www.rkimball.com/ tavsiye ederim.
her neyse konumuza dönecek olursak:
Recovery Manager, Online Yedeklemeler ve Arşivleme
Real Application Clusters, Recovery Manager(RMAN)’ın ve Oracle Enterprise Manager’ın tüm fonksiyonelliğini destekler.Ayrıca, Real Application Clusters tek Oracle instance’ına sahip Oracle veritabanlarında bulunan bütün Oracle yedekleme ve arşivleme özelliklerini destekler.Bu; bütün veritabanının veya tek bir tablo alanın hem on-line hem de off-line yedeklerini içermektedir.
Eğer Oracle’ı ARCHIVELOG modunda çalıştırıyorsanız , log dosyası dolduğu zaman Oracle bu log dosyasının üzerine herhangi bir bilgi yazılmadan bir arşiv dosyasına dönüştürür.Real Application Cluster’larda , her Oracle instance’ı kendi redo log dosyalarını otomatik olarak arşivler, veya bir yada daha fazla Oracle instance’ları redo log dosyalarını bazı Oracle instance’ları veya tüm Oracle instance’ları için arşivleyebilir.
Eğer veritabanınızı NOARCHIVELOG modunda çalıştırıyorsanız , sadece off-line yedeklemeler yapabilirsiniz.Eğer veri kaybetmek istemiyorsanız, Oracle ARCHIVELOG modunu kullanmanızı önemle tavsiye ediyor.
Bu bölümdeki diğer üniteler Real Application Cluster’ların Mimarisini ve onun ölçeklenirlik özelliklerini açıklamaktadır.
Recovery işlemi için örnek gösterim
REAL APPLICATION CLUSTERS SİSTEMLERİN MİMARİSİ
Bu bölüm pek çok cluster(küme) veritabanı ortamlarında benzer olan sistem bileşenlerini ve mimari modelleri tanımlar.Düğümler için gerekli donanım ile birlikte düğümleri küme veritabanı haline getiren yazılımı da tanımlar.
• Küme Veritabanı Sistem Bileşenlerini gözden geçirme
• Bellek, Interconnect ve Depolama
• Yüksek hızlı IPC Interconnect
• Paylaşılan Disk Deposu ve Cluster File System(Küme Dosya Sistemi) Avantajı
CLUSTER(küme) Veritabanı sistem Bileşenlerine Genel Bir bakış
Bir küme Veritabanı bir Interconnect ile bağlanan iki ya da daha fazla düğümden oluşur.Interconnect, küme Veritabanı içindeki her bir düğüm arasında iletişim yolu olarak görev yapar. Her Oracle instance’ı, her bir Oracle instance’ının paylaşılan kaynakları kullanımını senkronize eden mesajlaşma için Interconnect kullanır. Ayrıca; Oracle, Interconnect çoklu Oracle anlarının paylaştığı veri Bloklarını iletmek için kullanır. Kullanılan kaynağın ana tipi bütün düğümlerin eriştiği veri dosyalarıdır.
Şekil bir küme veritabanında Interconnect’ın düğümleri nasıl bağladığına ve kümenin depolama araçları üzerindeki paylaşılan veri dosyaları üzerindeki erişimine yüksek seviyede bir bakıştır.
Küme ve onun Interconnect’i depolama araçlarına yada paylaşılan disk alt-sisteme depolama alan ağı ile bağlıdır. Aşağıdaki bölümler düğümleri ve Interconnect’i daha detaylı bir biçimde tanımlar:
• Düğümler ve onların bileşenleri
• Cluster Interconnect ve Interprocess Communication(Düğümden düğüme)
Düğümler ve Onların bileşenleri
Bir düğümün ana bileşenleri şunlardır:
• CPU-Bilgisayarın ana belleğinden okuyan ve ana belleğine yazan bir ana işleme birimidir.
• Bellek – Veriyi arabelleğe alma ve programatik yürütme için kullanılan bileşendir.
• Interconnect – Düğümler arasındaki iletişim bağlantısıdır.
• Storage(Depolama sistemi) – Veriyi depolayan bir araçtır.Bu; içeriklerini değiştirmek için okuma-yazma işlemleri tarafından erişilmesi gereken genellikle kalıcı veri deposudur.
Bu bileşenleri çok farklı konfigürasyonlarla satın alabilirsiniz.Bu bileşenler düğümlerin veri depolarına ve anabelleğe nasıl erişeceğini belirler.
NOT: Oracle Corporation, Real Application Cluster’ı , Real Application Clusters veritabanları ile kullanmak için onaylanmış konfigürasyonlarla birlikte konuşlandırmanızı tavsiye eder.
Cluster Interconnect ve Interprocess Communication (düğümden Düğüme)
Real Application Clusters, düğümler arası iletişim için yüksek hızlı interprocess communication(IPC) bileşenlerini kullanır.IPC , Real Application Clusters ortamlarının Oracle instance’ları arası mesajların iletmesi için gerekli arabirim ve protokolleri tanımlar.Mesajlar, bu arabirimdeki temel iletişim birimleridir.IPC’nin ana fonksiyonu, asenkron ve mesaj kuyruğu modeli oluşturmasdır.
Bellek, Interconnect ve Depolama
Bütün veritabanları genelde aynı yolla CPU’ları kullanır. Fakat; Belleğin, depolamanın ve Interconnect’nın farklı konfigürasyonlarını farklı amaçlar için konuşlandırabilirsiniz. Real Application Clusters’ı konuşlandırdığınız mimari, sizin işleme amaçlarınıza bağlıdır.
Küme veritabnındaki her bir düğümün bir yada daha fazla CPU’ları vardır. Çoklu CPU’lu düğümler tipik olarak ana belleği paylaşmak için konfigüre edilmiştir. Bu size daha ölçeklenebilir bir sistem sağlar.
Yüksek hızlı IPC Interconnect
Yüksek hızlı Interprocess Communication(IPC) Interconnect’lı bir yüksek geniş bantlı, kümedeki düğümleri bağlayan düşük düşük gecikmeli bir iletişim kolaylığıdır.Interconnect her bir düğümün kaynaklara erişimini koordine etmek için mesajların ve diğer küme iletişimleri trafiğinin yönünü belirler.
Interconnect için Ethernet, bir Fiber Distributed Data Interface(FDDI), yada diğer uygun donanımları kullanabilirsiniz.Ana Interconnect’ınızda aksama olma durumları için, yedek bir Interconnect yüklenmesini de hesaba katmalısınız. Yedek Interconnect, Yüksek kullanılırlığı artırır, Interconnect’ın başarısızlıktaki tek nokta olma olasılığını azaltır.
Real Application Clusters’lar, user-mode(kullanıcı modlu) ve memory- mapped(eşlenmiş bellek) IPC’leri destekler. Bu tür IPC’ler, CPU tüketimini ve IPC gecikmelerini oldukça azaltır.
Paylaşılan Disk Deposu ve Cluster File System(Küme Dosya Sistemi) Avantajı
Real Application Clusters’lar , Oracle anlarına veritabanına eşzamanlı erişimi vermek için bütün düğümlerin aynı anda paylaşılan disklere erişimine ihtiyaç duymaktadır. Paylaşılan disk altsistemi gerçekleştirilmesi işletim sistemimize bağlıdır: bir cluster file system(küme dosya sistemi) kullanabilir veya dosyaları işlenmemiş makineler üzerine koyabilirsiniz. Cluster File System(küme dosya sistemi) , Real Application Clusters’ların kurulumunu ve yönetimini büyük ölçüde kolaylaştırır.
Real Application Clusters’lar için bellek erişim konfigürasyonları belirgin biçimde tekdüzedir.Bu , kümedeki her düğüm için belleğe erişimde gereken ek yükün aynı olduğu anlamına gelir. Bununla birlikte, tipik depo erişim konfigürasyonları hem birbiçimli hemde tersi olmaktadır. Kullandığınız depo erişim konfigürasyonu, bellek konfigürasyonunuzdan bağımsızdır.
Bellek konfigürasyonlarında olduğu gibi, çoğu sistemler Real Application Clusters veritabanları için tekdüze disk erişimini kullanırlar.Bir küme veritabanında tekdüze disk erişim konfigürasyonları, disk erişim yönetimini kolaylaştırır.
RAC(Real Application Cluster) ARCHITECTURE(MİMARİSİ) uygulama
Oracle'ın Yüksek Kullanılabilirliği(High Availability/HA) Çözüm Yığını
Paylaşılan Depolama Seçenekleri
- NFS Monte Depolama (Netapp)
- SCSI Paylaşılan depolama; OCFS, OFS, Raw Cihazlar ile
- Yapı Mimarisi ile Fiber Kanal depolama
11i ADIM-1
-
Tüm düğümlere RED HAT 2.1 yüklemek
-
11i Apps Tier tek bir düğüm olarak yüklemek
-
Paylaşılan Depolama Eklemek ve HBA için Sürücüler Yüklemek
11i ADIM -2 (OS Yamalar kurulum)
- rpm -Uv tar-1.13.25-9.i386.rpm
- Bu Tar(Technical Assistance Request )'ın güncel versiyonuna ulaşımı sağlar
- OCFS üzerinde çalışan bir veritabanından tar(Technical Assistance Request) dosyalarına bir kullanıcı sağlar
- Örnekler,
- tar --o_direct -cvf /tmp/backup.tar
11i ADIM -2 ( OS Yamalar Kurulum)
- rpm -Uv fileutils-4.1-4.2.i386.rpm
- Bu dd(default date) ve Cp(command with web logic) nin güncelleştirlmiş Sürümünü Sağlar
- OCFS üzerinde çalışan bir veritabanı dosyaları kopyalamak için bir kullanıcı sağlar
- examples :
- cp --o_direct /ocfs/quorum.dbf /tmp/backup/quorum.dbf
- dd o_direct=yes if=/ocfs/quorum.dbf of=/tmp/backup/quorum.dbf
11i ADIM -3 RPM(Remote Preemptive Monitor) nin Oracle Sağlayıcılıarını Yüklemek
- ocfs-support-1.0.9-11.i686.rpm
- ocfs-tools-1.0.9-11.i686.rpm
- j2sdk-1_3_1_09-linux-i586.rpm.bin
- unzip-5.50-30.i386.rpm
- zip-2.3-10.i386.rpm
- wu-ftpd-2.6.1-21.i386.rpm
- hangcheck-timer-2.4.9-e.10-0.4.0-2.i686.rpm
- hangcheck-timer-2.4.9-e.10-enterprise-0.4.0-2.i686.rpm
11i ADIM -4 Bağlantı ( interconnect)
- ifconfig eth0:0 192.168.2.100
- route add -host 192.168.2.100 dev eth0:0
- Do this on each node
- Create watchdog file (oracle installer checks for this to install cluster option) # touch /dev/watchdog
- Setup hangcheck-timer module -# vi /etc/modules.conf -- options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 --# modprobe hangcheck-timer
11i ADIM -5 OCFS.conf – 5
- # ocfstool ( from x windows)
- # ocfs config
- # Ensure this file exists in /etc
- # node_name = linux3.home.com
node_number =
ip_address = 192.168.1.100
ip_port = 7000
comm_voting = 1
guid = 9D3B77AF2FF26E92E25D00E04CA44B58
11i ADIM -6 OCFS Kurulumu
- mkfs.ocfs -F -b 128 -L /s01 -m /s01 -u 500 -g 500 0755 /dev/sda1
- srvconfig_loc=/s01/oragsd-config ( touch this file)
11i ADIM -7 OCM
- $ ls
- If cmcfg.ora exists:
- $ cp cmcfg.ora cmcfg.ora.original
- If cmcfg.ora does not exist:
- $ cp cmcfg.ora.tmp cmcfg.ora
- $ echo HostName=dc1node3inter >> cmcfg.ora
- $ vi cmcfg.ora
- [comment out WatchdogSafetyMargin and WatchdogTimerMargin]
- PrivateNodeNames=linux22 linux33
- PublicNodeNames=linux2 linux3
- MissCount=210
- KernelModuleName=hangcheck-timer
- CmDiskFile=/u02/oracm-qourum
- $ vi ocmargs.ora
- [comment out first line, which contains the word “watchdogd”]
- $ cd ../bin
- $ cp ocmstart.sh ocmstart.sh.original
- $ vi ocmstart.sh
- [remove words “watchdog and” from line containing “Sample startup script...”]
- [remove every line containing “watchdogd”, uppercase or lowercase. If it’s in a if/then/fi then remove the whole if/then/fi.]
- $ su – root
- export ORACLE_HOME=/d02/oracle/proddb/9.2.0
- /d02/oracle/proddb/9.2.0/oracm/bin/ocmstart.sh
- Configure and Start Cluster Manager
- $ cd $HOME/product/9.2/oracm/admin
11i ADIM -8 ( cp/dd - DB files to shared storage )
- cp --o_direct /d03/oracle/proddata/* /s01/oracle/proddata/
- Kontrol Dosyaları Yenileme
11i ADIM -8 – init.ora / spfile
- Diğer örnekler için UNDO TBS Yaratmak
- Örnek-2 için örnekleme 1 ve yerine versa(Menagement Systems)'den thread aktif ve pasifleştirme
11i ADIM - 9 – Örnek 1
- # RAC-specific Parameters
- #
- #########
- cluster_database = true
- cluster_database_instances=2
- thread = 1
- instance_number = 1
- instance_name = PRODi1
- service_names = PROD
- local_listener = PRODi1
- remote_listener = PRODi2
11i ADIM -10 – Örnek 2
- cluster_database = true
- cluster_database_instances=2
- thread = 2
- instance_number = 2
- instance_name = PRODi2
- service_names = PROD
- local_listener = PRODi2
- remote_listener = PRODi1
11i Apps tier – 806/iAS tnsnames.ora
- PROD = (DESCRIPTION=
- (ADDRESS_LIST =
- (ADDRESS=(PROTOCOL=tcp)(HOST=linux1)(PORT=1521))
- (ADDRESS=(PROTOCOL=tcp)(HOST=linux2)(PORT=1521))
- )
- (CONNECT_DATA=(SERVICE_NAME=PROD)(SERVER=DEDICATED))
- )
- PRODi2 = (DESCRIPTION=
- (ADDRESS=(PROTOCOL=tcp)(HOST=linux2)(PORT=1521))
- (CONNECT_DATA=(INSTANCE_NAME=PRODi2)(SERVICE_NAME=PROD))
- )
- PRODi1 = (DESCRIPTION=
- (ADDRESS=(PROTOCOL=tcp)(HOST=linux1)(PORT=1521))
- (CONNECT_DATA=(INSTANCE_NAME=PRODi1)(SERVICE_NAME=PROD))
- )
Failover için DBC Dosya Düzeltme
- APPS_JDBC_DRIVER_TYPE=THIN
- FND_MAX_JDBC_CONNECTIONS=100
- # Setup at Apps Tier
- APPS_JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=
- (ADDRESS_LIST=(LOAD_BALANCE=ON)
- (ADDRESS=(PROTOCOL=TCP)(HOST=linux1)(PORT=1521))
- (ADDRESS=(PROTOCOL=TCP)(HOST=linux2)(PORT=1521)))
- (CONNECT_DATA=(SERVICE_NAME=prod)))
Failove ile ne Yapılabilir ve Ne Yapılamaz
- SQL* PLUS TAF kullanarak Bağlanabilir
- JDBC Failover ile Bağlanacak
- Formların Çalışma Zamanı Bağlantılandırması Yapılamaz , Kullanıcılar Bağlantı Koparabilir
Soru ve Görüşleriniz için:
Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir
Saygılarımla...
RAC(Real Application Cluster) Architecture(Mimarisi)
İKİ NODE MİMARİSİ, KORUMASIZ
İKİ NODE MİMARİSİ ,KORUMALI UYGULAMA KATMANI VE KORUMASIZ DATABASE KATMANI
İKİ NODE MİMARİSİ ,KORUMALI UYGULAMA KATMANI VE DATABASE KATMANI
ARIZA TESPİTİ KÜMESİ
- temel yapıyı izleme ve kaynakların durumunu kontrol ederek arıza tespiti
- Küme yöneticisinde küme üyelikleri yeniden düzenleme
- Birincil düğümden ikincil düğüme disk mülkiyet transferi
- İkincil düğümde FS(failsafe) montaj
- Database(DB) örneği başlatmak
- Veritabanı(DB) ve kaydedilmemiş verilerin geri alınması(Recovery)
- Düğüme istemci bağlantıları kurmak için yük devretme
BAZI YÜK DEVRETME KÜME TEKLİFLERİ(Şirketler bazında)
- VERITAS küme sunucusu
- HP servis koruması
- Oracle Failsafe ile MICROSOFT Servis Kümesi
- RedHat Linux Advanced Server 2.1
- Oracle temsilcisi ile SUN kümesi
- Compaq, şimdi HP, ayrık kümeler
- HACMP
RAC
ÖLÇEKLENEBİLİR RAC(real application cluster)
REAL APPLICATION CLUSTER(RAC)
- Bir-kaç Nod'da Oracle durumu üzerinde çalışma
- Birden fazla olayda tek bir veritabanı(Database) paylaşımı
- Tüm olaylarda ortak veri , kontrol ve başlatma dosyaları
- Her durumun birbirinden ayrı, ortak log dosyaları ve geri alma segmentleri veya undo tabloları vardır.
- Tüm durumlardan aynı anda tek bir veritabanına karşı işlemler yürütülebilir
- Önbellekler Oracle'ın Küresel Önbellek Yönetimi teknolojisi (Cache Fusion) kullanılarak eşitlenir.
RAC YAPI TAŞLARI
- Veritabanı ve Durum dosyaları
- OCFS(Oracle cluster file system) , CFS(cluster file system) veya hassas cihazlar ile paylaşılan depolama
- HOST başına Yedek HBA(dönem ana veri yolu bağdaştırıcısı) kartları
- Küme bağlantısı için bir ve LAN bağlantısı için bir olmak kaydıyla, HOST başına Yedek NIC kartları
- ORACLE_HOMES(OCFS oracle_home kurulumunu desteklemez) için Yerel RAID korumalı sürücüler
KÜME GİRİŞLİ BAĞLANTI
FONKSİYONLAR(FUNCTION)
- Durum ve ileti senkronizasyonunda izleme pozisyonu
- Dağıtılmış Kilit yönetici mesajları Taşıma
- Uzak dosya sistemi Erişimi
- Trafiğe özel uygulama taşıma
- Küme adı yönlendirimi sağlama
ARA BAĞLANTI ÜRÜNLERİ
- Memory Channel
- Smp Bus
- Myrinet
- Sun SCI
- Gigabit Ethernet
- yüksek performanslı bilgi işlem(Infiband interconnect)
ARA BAĞLANTI PROTOKOLLERİ
- TCP/IP
- UDP
- VIA
- RDG
- HMP
- Adaptec
- DPT
- LSI Logic
- Interphase
- Qlogic
- Emulex
- JNI
- mcDATA
- EMC
- QLOGIC
- BROCADE
SYMETRIC MULTIPROCESSOR(SMP)
- Paylaşılır sistem yolu ve giriş çıkış
- Pahalı ve ölçeklenebilir problemler
- Fazladan eklenen CPU mimari parçalar yükseltme işlemine sonuç döndürebilir.
- DELL ve HP-Compaq
- Egenera'dan(sanallaştırma yazılımı) BladeFram sistemi
- Egenera- gereksiz merkezi kontrolörler, gereksiz yüksek hızlı bağlantılar
- Egenera- PAN manager handles
Bir sonraki paylaşımımda bağlantı kurulumunu adım adım özetlemeye çalışacağım.
sonrakine dek görüşmek üzere...