Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

OpenUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ ve BÜTÜNCÜL KÜMELEME ÇALIŞMASI Mustafa YAVUZ Uzman Araştırmacı TÜBİTAK-BİLGEM Kamu Sertifikasyon Merkezi.

Benzer bir sunumlar


... konulu sunumlar: "OpenUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ ve BÜTÜNCÜL KÜMELEME ÇALIŞMASI Mustafa YAVUZ Uzman Araştırmacı TÜBİTAK-BİLGEM Kamu Sertifikasyon Merkezi."— Sunum transkripti:

1 openUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ ve BÜTÜNCÜL KÜMELEME ÇALIŞMASI Mustafa YAVUZ Uzman Araştırmacı TÜBİTAK-BİLGEM Kamu Sertifikasyon Merkezi

2 Konu Başlıkları PostgreSQL ve Kümeleme Çözümleri openUP - SAN Tabanlı Aktif-Pasif Cluster Çözümü Bütüncül Cluster Çalışması Örnekleri

3 PostgreSQL ve Kümeleme Çözümleri

4 PostgreSQL ve Kümeleme Çözümleri Veritabanı Cluster larına neden ihtiyaç duyarız ? - Temel hususlar. Veritabanı Hizmeti Sürekliliği Veritabanı Yedekliliği Veritabanı Hizmeti Yönetilebilirliği ( Bakım ) Veritabanı Performansı ve Cluster Verimliliği

5 Veritabanı Hizmeti Sürekliliği Veritabanında kabul edilebilir süreklilik yüzdesi nedir? Örn. : %99,9 iyi mi ?

6 Veritabanı Hizmeti Sürekliliği Oran Bir Yılda Toplam Kesinti %99: 3 gün 16 saat %99.9: 8 saat 45 dk. %99.99: 52 dk. %99.999: 5 dk.

7 Veritabanı Hizmeti Sürekliliği Oran Bir Yılda Toplam Kesinti %99: 3 gün 16 saat %99.9: 8 saat 45 dk. %99.99: 52 dk. %99.999: 5 dk. Planlı - Plansız kesintinin etkisi Aralıklı - Sürekli kesintinin etkisi Bölen - Çarpan

8 Veritabanı Hizmeti Sürekliliği İdeal durum : Veritabanı vardır ve hep çalışır ( Durduğu hiç görülmemiştir ).

9 Veritabanı Hizmeti Sürekliliği İdeal durum : Veritabanı yöneticisi vardır ve hep yatar ( Çalıştığı hiç görülmemiştir ).

10 Veritabanı Yedekliliği Commit edilmiş veriyi kaybetme !

11 Veritabanı Yedekliliği Tüm yumurtaları aynı sepete koyma * Cihaz yedekliliği * Lokasyon yedekliliği * Çözüm Yedekliliği

12 Veritabanı Hizmeti Yönetilebilirliği ve Bakım Veritabanı Clusterı mümkün olduğunca basit olmalıdır.

13 Veritabanı Hizmeti Yönetilebilirliği ve Bakım Clusterı yönetmek gerektiğinden fazla çaba gerektirmemelidir.

14 Veritabanı Hizmeti Yönetilebilirliği ve Bakım Cluster veritabanı upgradelerini ve uygulamalarını destekleyebilecek esneklikte olmalıdır.

15 Veritabanı Performansı ve Cluster Verimliliği * Kullanılan veritabanı cluster yönetemi performansı düşürmemeli mümkünse artırmalıdır. * Performans ta okuma-yazma isteği farkı ( > %95 okuma ) ( aktif - pasif ve aktif - aktif cluster durumları ) * Clusterda atıl unsur mümkünse bırakılmamalıdır.

16 PostgreSQL ve Kümeleme Çözümleri ( avantaj-dezavantaj ) SAN(ortak disk tabanlı) tabanlı -heartbeat vb. ( aktif-pasif / aktif-aktif ( ? ) )

17 PostgreSQL ve Kümeleme Çözümleri ( avantaj-dezavantaj ) SAN(ortak disk tabanlı) tabanlı -heartbeat vb. Avantajları : * Replikasyon olmadığından replikasyon kaynaklı veri kaybı riski yok. * Replikasyon kaynaklı performansa ( yazma) olumsuz etkisi yok. Dezavantaj : * Henüz aktif-aktif güvenilir bir çözüm yok * Verinin tek bir cihaz ( SAN ) üzerinde tutulması.(Cihazdan bağımsızlık yok ) * Pasif sunucunun atıl beklemesi

18 PostgreSQL ve Kümeleme Çözümleri ( avantaj-dezavantaj ) Replikasyon tabanlı Trigger base (Slony), Statement Base(pgpool), Archive base ( Hot Standby ) vb.

19 PostgreSQL ve Kümeleme Çözümleri ( avantaj-dezavantaj ) Replikasyon tabanlı Avantajları : * Veri otomatikman yedeklenmiş oluyor. * Replikasyon kaynaklı performansa ( okuma) olumlu etki. Dezavantaj : * Replikasyon kaynaklı tutarlılık sorunları. * Replikasyondan kaynaklı performans ( Yazma ) kaybı.

20 PostgreSQL ve Kümeleme Çözümleri ( avantaj-dezavantaj ) Replikasyon tabanlı Sync mu Async mu olmalı ? Maliyet Hesabı : Veri Kaybı > Erişilebilirlik -> Sync Erişilebilirlik > Veri Kaybı -> Async

21 PostgreSQL ve Kümeleme Çözümleri * Cluster sistemler ( tedbir ve paranoyaklık arasında ) * Maliyet-tedbir grafiği ( Güvensiz-tedbirli-Paranoyak ) * Maliyet ve prestij unsurları

22 PostgreSQL ve Kümeleme Çözümleri * Veritabanı cluster çözümünde geniş perspektifli olmak ( Veritabanı, System, Uygulama, Storage ) * Değişik çözümleri bir arada kullanmak ( Standby - aktif/pasif )

23 PostgreSQL ve Kümeleme Çözümleri İhtiyaç ne ?

24 openUP - SAN tabanlı aktif-pasif Kümeleme Çözümü

25 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü Basitlik-Yönetilebilirlik-Güvenilirlik

26 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü ortak disk tabanlı aktif-pasif cluster sistemlerdeki üç temel unsur ( kaynak ) * ortak(Service) ip * Veritabanı servisi * disk mount işlemi

27 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü

28 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Nedir ? 2 sunuculu aktif-pasif SAN tabanlı cluster çözümüdür. Niçin ihtiyaç duyulmuştur? Sürekliliğin üst düzeyde olduğu basit ve güvenilir bir cluster çözümü ihtiyacı Nerede kullanılmaktadır? TC E-kimlik sertifika veritabanları KKTC E-kimlik sertifika veritabanları

29 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Hangi programlama dili yile yazılmıştır? Python Desteklediği işletim sistemleri nelerdi? Redhat/Centos/OEL 5 ve 6 (32 veya 64 bit) Desteklediği veritabanları nelerdir? PostgreSQL, MySQL İhtiyaç duyulan donanımlar ve yazılımlar nelerdir. Donanım : 2 Sunucu ve hba kartları, SAN storage, ntp server Yazılım : sshd, python

30 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Ön İşlemler 1 - Master ve slave sunucuda fdisk -l komutu ile data dizini için kullanılacak diskin işletim sistemi tarafından her iki sunucudada aynı isimle görürebildiği kontrol edilir. SAN disk formatlanmamış ise mkfs ile formatlanır. ## fdisk -l ## mkfs.ext4 [Disk_adı] 2 - Master ve slave sunucuların root kullanıcılarının birbirlerine şifresiz ssh bağlantısı yapabilmesi için aralarında ssh-keygen paylaşımı yapılır. Master # ssh-keygen Slave # ssh-keygen Master # scp /root/.ssh/id_rsa.pub [slave_ip]:/root/.ssh/authorized_keys Slave # scp /root/.ssh/id_rsa.pub [master_ip]:/root/.ssh/authorized_keys

31 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Ön İşlemler 3 - postgresql rpm leri master ve slave sunucuya yüklenir. root # rpm -ivh postgresql93-libs.rhel6.x86_64 root # rpm -ivh postgresql93.rhel6.x86_64 root # rpm -ivh postgresql93-server.rhel6.x86_64 vb. 4 - Master ve slave sunucuda /pgdata dizini oluşturulur. Owner ı postgres yapilir. root # mkdir /pgdata root # chown postgres.postgres /pgdata

32 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Ön İşlemler 5 - Master ve slave sunucuda /etc/init.d/ dizini altındaki postgresql servis dosyasında aşağıdaki satırlar gerekli şekilde düzenlenir. PGPORT=5432 PGDATA=/pgdata/data PGLOG=/pgdata/pgstartup.log düzenleme yapıldıktan sonra her iki sunucuda aşağıdaki komut çalışıtırılarak postgresql servisini kendiliğinde çalışmayacağından emin olunur. root # chkconfig postgresql off

33 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Ön İşlemler 6 - Master sunucuda aşağıdaki komut ile san disk /pgdata dizini altına mount edilir. root # mount [san_disk_adı] /pgdata mount işleminden sonra aşağıdaki komut ile postgresql data yapısı oluşturulur. root # service postgresql initdb daha sonra data dizini altındaki pg_hba.conf ve postgresql.conf gerekli şekilde düzenlenerek disk umount edilir. root # umount /pgdata 7 - Her iki sunucuda crontab a ntp senkronizasyonu için aşağıdaki satır eklenir. root # crontab -e 1 * * * * /usr/sbin/ntpdate [ntp_server_ip] > /dev/null

34 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Konfigurasyon 8 - openUP.tar.gz dosyasi master sunucuya kopyalanir ve aşağıdaki komutla açılır. root # tar -xvf openUP.tar.gz oluşan openUP klasörü içerisindeki configBuild.py dosyasının aşağıdaki değişken parametreleri gerekli şekilde düzenlenir. ##################NODE SPECIAL PARAMETERS################ MASTER_NODE="[master_ip]" # # degisecek SLAVE_NODE="[slave_ip]" # degisecek

35 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Konfigurasyon ##################SHARED PARAMETERS################# SW_IP="[swicth_ip]" #Networkte baglanılan switch in ipsi # degisecek VIRTUAL_IP="[ortak_ip]" #Ortak ip ( Service IP ) # degisecek NETWORK_INT="bond0" # degisecek DB_SERVICE_NAME="postgresql" # degisebilir DB_DATA="/pgdata/data/" # degisebilir DB_FILE="PG_VERSION" # degisebilir SAN_DISK_NAME="/dev/mapper/mpathg" # degisecek SAN_DISK_MOUNT_NAME="/pgdata/" # degisebilir MOUNT_CONTROL_FILE=SAN_DISK_MOUNT_NAME+"MOUNT_CONTROL" #degismese iyi olur HA_SERVICE="openUP" #degismese iyi olur SSH_USER="root" #degismese iyi olur

36 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Kurulum 9 - Master sunucuda aşağıdaki komut kullanılarak cluster yazılımının kurulumu yapılır. root # python configBuild.py Alınması gereken çıktı aşağıdaki gibidir. root # Network konfigurasyonu gecerli. OK root # SSH konfigurasyonu gecerli. OK root # db service konfigurasyonu gecerli. OK root # SAN disk konfigurasyonu gecerli. OK root # uygulama dizinleri olusturuldu.(/etc/openUP) root # uygulama programi kopyalandi.(/etc/openUP/openUP.py) root # servis dosyasi kopyalandi.(/etc/init.d/openUP) root # config dosyalari olusturuldu. root # config dosyalari kopyalandi. root # openUP servis baslatma scripti rc.local e yazildi. root # Cluster configurasyonu basariyla sonuclandi. OK (service openUP start) root # - service openUP start - komutunu calistirabilirsiniz.

37 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Kurulum Adımları – Kurulum 9 - Master sunucuda aşağıdaki komut kullanılarak cluster yazılımının kurulumu yapılır. root # python configBuild.py kurulum sorunsuz tamamlandıysa her iki sunucuda aşağıdaki komut çalıştırılarak cluster yazılımı başlatılır. root # service openUP start

38 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim Kurumlum Sonrası Oluşan Üç temel Dosya ( Her iki sunucuda da ) : Konfigürasyon Dosyası : /etc/openUP/config.py Program Dosyası : /etc/openUP/openUP.py Service Dosyası: /etc/init.d/openUP

39 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim Diğer Dosyalar : Log dosyası: /var/log/openUP.log Aktif node dosyası: /etc/openUP/ACTIVE SAN disk Kontrol dosyası: /pgdata/MOUNT_CONTROL

40 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim - Konfigurasyon dosyası /etc/openUP/config.py ##################NODE SPECIAL PARAMETERS################ IS_MASTER=True ## 1 = True, 0 = False LOCALE_NODE=" " #Bu sunucu REMOTE_NODE=" " #Diger cluster sunucusu

41 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim - Konfigurasyon dosyası /etc/openUP/config.py ##################SHARED PARAMETERS################# SW_IP=" " #Networkte baglanilan switch in ipsi VIRTUAL_IP=" " #Ortak ip 1 Service IP NETWORK_INT="bond0" #Kullanilan networke göre degisecek. DB_SERVICE_NAME="postgresql" DB_DATA="/pgdata/data/" DB_FILE="PG_VERSION" ACTIVE_FILE='/etc/openUP/ACTIVE' LOG_FILE="/var/log/openUP.log" RUN_FILE="/var/run/openUP.pid" SAN_DISK_CONTROL=True SAN_DISK_CONTROL_TIME=60 # SAN diskin ne kadar sure sonra devir alinabilecegi SAN_DISK_NAME="/dev/mapper/mpathg" ##mount /dev/mapper/mpathg /pgdata/ SAN_DISK_MOUNT_NAME="/pgdata/" MOUNT_CONTROL_FILE=SAN_DISK_MOUNT_NAME+"MOUNT_CONTROL" HA_SERVICE="openUP" SSH_USER="root"

42 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim Program Dosyası /etc/openUP/openUP.py Program akış diagramı

43

44 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim SAN disk Kontrol dosyası : /pgdata/MOUNT_CONTROL İçeriği : Son Master ip si en son erisim zamanı

45 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim Log dosyası : /var/log/openUP.log * ( :5:17) ::: ortak ipler atandi:) * ( :5:17) ::: Kaynaklar acildi * ( :5:30) ::: sw koptu * ( :5:30) ::: Switch e ulasilamiyor. Kaynaklar kapatilacak. * ( :5:32) ::: Kaynaklar serbes birakildi. * ( :5:37) ::: switch baglantisi yok. * ( :5:46) ::: ortak ipler atandi:) * ( :5:46) ::: Kaynaklar acildi

46 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Yönetim - Bakım ve Sürüm Yükseltme root # service openUP stop ( Master veya slave )

47 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü openUP Testler TestGerçekleşen OlaylarKesinti Süresi 1 - Master sunucuda network baglantisinin gitmesi.- Master kaynaklari kapatti. Slave devreye girdi sn. 2 - Master sunucuda ssh servisinin durmasi.- Master kaynaklari kapatti. Slave devreye girdi sn. 3 - Master sunucu reboot olmasi.- Master kaynaklari kapatti. Slave devreye girdi sn. 4 - Master sunucu kapandi. Master kaynaklari kapatti. Slave devreye girdi sn. 5 - Master sunucuda openUP servisi durdu.- Master kaynaklari kapatti. Slave devreye girdi sn. 6 - Slave sunucuda network baglantisinin gitmesi- Master calismaya devam ediyor.0 sn 7 - Slave sunucuda ssh servisinin durmasi.- Master calismaya devam ediyor.0 sn 8 - Slave sunucu reboot olmasi- Master calismaya devam ediyor.0 sn 9- Slave sunucu kapandi.- Master calismaya devam ediyor.0 sn 10- Slave sunucuda openUP servisi durdu.- Master calismaya devam ediyor.0 sn 11- Switch te sorun yasanmasi- Master ve slave sunucu kaynaklari kapatiyor switch in geri gelmesini bekliyor. switch geri gelene kadar

48 Bütüncül Kümeleme Çalışması Örnekleri

49 Bütüncül Kümeleme Çalışması Örnekleri Örnek Veritabanı Öngörülen okuma yazma yüzdesi: Read > %99 Write < %1 Öngörülen maximum günlük kayit ekleme: 1 Milyon satır Öngörülen kayit sayisi: 225 Milyon sertifika Öngörülen maksimum data büyüklüğü : 2TB Öngörülen maximum günlük sorgu sayisi : 200 Milyon Öngörülen destekleyebileceği günlük sorgu sayısı: 500 Milyon

50

51

52 Sorular ??? openUP link https://github.com/veritabanci/openUP OpenUP.tar.gz : https://drive.google.com/file/d/0B77ARrUQN1J7eUdMblhDM0VwNjQ/view?usp=sharinghttps://drive.google.com/file/d/0B77ARrUQN1J7eUdMblhDM0VwNjQ/view?usp=sharing Postgresql link : https://drive.google.com/folderview?id=0B77ARrUQN1J7cHVodk9zN1drNGc&usp=sharing

53 openUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ ve BÜTÜNCÜL KÜMELEME ÇALIŞMASI Mustafa YAVUZ Uzman Araştırmacı TÜBİTAK-BİLGEM Kamu Sertifikasyon Merkezi


"OpenUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ ve BÜTÜNCÜL KÜMELEME ÇALIŞMASI Mustafa YAVUZ Uzman Araştırmacı TÜBİTAK-BİLGEM Kamu Sertifikasyon Merkezi." indir ppt

Benzer bir sunumlar


Google Reklamları