Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

openUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ BÜTÜNCÜL KÜMELEME ÇALIŞMASI

Benzer bir sunumlar


... konulu sunumlar: "openUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ BÜTÜNCÜL KÜMELEME ÇALIŞMASI"— Sunum transkripti:

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

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 2 2

3 PostgreSQL ve Kümeleme Çözümleri
3 3 3

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 4 4

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

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. % : 5 dk. 6 6

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

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

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

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

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

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

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

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

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. 15 15

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

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 17 17

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

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ı. 19 19

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 20 20

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ı 21 21

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 ) 22 22

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

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

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

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 26 26

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

28 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü
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ı 28 28

29 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü
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 29 29

30 openUP Kurulum Adımları – Ön İşlemler
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 30 30

31 openUP Kurulum Adımları – Ön İşlemler
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 31 31

32 openUP Kurulum Adımları – Ön İşlemler
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 32 32

33 openUP Kurulum Adımları – Ön İşlemler
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 33 33

34 openUP Kurulum Adımları – Konfigurasyon
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 34 34

35 openUP Kurulum Adımları – Konfigurasyon
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 35 35

36 openUP Kurulum Adımları – Kurulum
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. 36 36

37 openUP Kurulum Adımları – Kurulum
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 37 37

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 38 38

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 39 39

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 40 40

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" 41 41

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

43 43 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ı 44 44

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 45 45

46 openUP Yönetim - Bakım ve Sürüm Yükseltme
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 ) 46 46

47 openUP - SAN Tabanlı Aktif-Pasif Kümeleme Çözümü
openUP Testler Test Gerçekleşen Olaylar Kesinti 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 sn 7 - Slave sunucuda ssh servisinin durmasi. - Master calismaya devam ediyor sn 8 - Slave sunucu reboot olmasi - Master calismaya devam ediyor sn 9- Slave sunucu kapandi Master calismaya devam ediyor sn 10- Slave sunucuda openUP servisi durdu. - Master calismaya devam ediyor sn 11- Switch te sorun yasanmasi - Master ve slave sunucu kaynaklari kapatiyor switch in geri gelmesini bekliyor. switch geri gelene kadar 47 47

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

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 49 49

50 50 50

51 51 51

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

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


"openUP KÜMELEME ( CLUSTER ) ÇÖZÜMÜ BÜTÜNCÜL KÜMELEME ÇALIŞMASI" indir ppt

Benzer bir sunumlar


Google Reklamları