Çekirdekli TR-GRID Altyapısı Nasıl Kuruldu ? Onur BEKTAŞ onur at ulakbim.gov.tr
2 İçerik TR-Grid e-Altyapı Projesi Altyapı Bileşenlerinin Seçimi ve Sayıları Uçların Seçimi Sitelerin Kurulumu ve Donanım Testleri Kullanılan Yazılım ve Teknolojiler Fotoğraflar
3 TR-Grid e-Altyapı Projesi TÜBİTAK Bilim Kurulu tarafından 2005 Kasım ayında kabul edilmiş bir altyapı projesidir. ● Projenin donanım maliyeti yaklaşık $ olmuştur. ● Projede gerekli kaynakları belirlerken YEF gruplarının dahil oldukları deneylerdeki ihtiyaçları, ULAKBİM YBBİM’nin kullanıcılarının gereksinimleri dikkate alınmıştır. ● Proje takvimi belirlenirken uluslararası projeler dikkate alınmıştır Geant Bağlantısı 622 Mbps Geant Bağlantısı 622 Mbps TR-Grid e-Altyapı Projesi Başlangıcı TR-Grid e-Altyapı Projesi Başlangıcı LHC Başlangıç A Tipi Sistemlerin Bağlantısı UlakNet 1 Gbps – Siteler Arası 20 Gbps A Tipi Sistemlerin Bağlantısı UlakNet 1 Gbps – Siteler Arası 20 Gbps SEE-Grid Projesi Başlangıç SEE-Grid Projesi Başlangıç TR-Grid Altyapısının Çalışmaya Başlaması TR-Grid Altyapısının Çalışmaya Başlaması SEE-Grid-2 Projesi Başlangıç SEE-Grid-2 Projesi Başlangıç EGEE-2 Projesi Başlangıç EGEE-2 Projesi Başlangıç TR-Grid e-Altyapı Projesi – Süreç
4 TR-Grid Siteleri SİTEİSİMÇekirdekVeri AlanıTİPİ TÜBİTAK ULAKBİMTR-01-ULAKBIM1145 TbyteEGEE, SEE-GRID, EUMEDGRID ODTÜTR-03-METU30020 TbyteEGEE Erciyes ÜniversitesiTR-04-ERCIYES641 TbyteEGEE Boğaziçi ÜniversitesiTR-05-BOUN641 TbyteEGEE Pamukkale ÜniversitesiTR-07-PAMUKKALE641 TbyteEGEE Çukurova ÜniversitesiTR-08-CUKUROVA641 TbyteEGEE İstanbul Teknik ÜniversitesiTR-09-ITU641 TbyteEGEE TÜBİTAK ULAKBİMTR-10-ULAKBIM30020 TbyteEGEE TOTAL Tbyte 50 Tbyte =~ DVD veya mp3
5 Topoloji
6 Altyapı Bileşenlerinin Seçimi ve Sayıları
7 Çift Çekirdek mi Çıtır Çekirdek mi? Deniz kümesini kurarken yaşadığımız problemler,ihtiyaçlar, sorunlar. Sabit bütçe ile en uygun fiyat / performans ve kullanıcı memnuniyeti için: –Çift çekirdek ? –Çift işlemci ? –Alınacak bilgisayar sayısı ? –Toplam depolama alanı ? –Ağ bağlantı kapasitesi ? –Anahtarlama cihazı yetenekleri ?
8 Donanım 1 - Sunucu Altyapısı Hesaplama ve Servis Düğümleri –256 Adet 1U Sunucu 2 adet çift çekirdekli Intel Xeon Ghz işlemci 4Gbyte FB-DIMM 80 Gbyte SATA Sabit Disk 2 x Gigabit Ethernet Depolama Düğümü –4 Adet 2U Sunucu 2 adet çift çekirdekli Intel Xeon Ghz işlemci 4Gbyte FB-DIMM 80 Gbyte SAS Sabit Disk 3 Adet Gigabit Ethernet 8 Adet Disk Kutusu 12 Adet 500 Gbyte Sata Disk Toplam 46 Tbyte
9 Donanım 2 – Ağ Altyapısı Orta Doğu Teknik Üniversitesi ve ULAKBİM’deki kümelerde toplam iki adet 144 arabirimli gigabit ethernet omurga anahtarlama cihazı 64 çekirdekli kümelerde 48 arabirimli gigabit ethernet anahtarlama cihazı
10 Sitelerin Kurulumu ve Donanım Testleri
11 Sistem yöneticisi iş yapma algoritması ## sistem yöneticisi ana iş yürütme programı while (1) do if (iş == "oturarak otomatik yapilabiliyor" ) then yap(iş) return göbek_büyüt ; elsif (iş == “oturak otomatik yapılcak hale gelebilir”) yap(iş) return göbek_büyüt ; else oturarak_otomatik_yapılacak_hale_getir(iş) fi
12 Sitelerin Kurulumu ve Donanım Testleri Tamamı ile ağ üzerinden Scientific Linux Kickstart kurulumu. Ethernet kartı testleri –Linux channel bonding ile iki ethernet beraber test edildi –Nptcp ağ test programı kullanıldı Disk Testleri –Badblocks –scsi_info Bellek testleri –Memtest86+ Bios güncellemesi ve Bios sürüm kontrolu –Dmidecode İşlemci kontrolü –/proc/cpuinfo
13 Test betikleri-Sunucu #!/bin/bash #Onur BEKTAS onur at ulakbim.gov.tr 16/11/2006 function bonding { INT="eth0" IP=`ifconfig $INT | grep -i inet | awk -F: '{print $2}' | awk '{print $1}'` echo "Bonding islemi basliyor" modprobe bonding arp_interval=60 miimon=1000 mode=0 /sbin/ifconfig bond0 $IP netmask broadcast up /sbin/ifenslave bond0 eth0 /sbin/ifenslave bond0 eth1 echo "Bonding islemi tamamlandi“ } function bekle { sleep 3 ana } function ana { if [ -z `pidof NPtcp` ] then echo "Nptcp Calismiyor" echo "Nptcp Baslatiliyor.."./NPtcp 2 -l & else echo "NPtcp calisiyor " fi bekle } bonding ana
14 Test Betikleri-İstemci #!/bin/bash echo "bonding yukleme betigi" if [ -z "$1" ] then echo echo "Kullanim./nettestclient.sh sunucu.ip" echo else ## Tanimlar INT="eth0" IP=`ifconfig $INT | grep -i inet | awk -F: '{print $2}' | awk '{print $1}'` RAM=` free | grep Mem | awk '{print $2}'` CPUSAYISI=` cat /proc/cpuinfo | grep -i "model name" | awk -F: '{print $2}'` DOSYA="tukur.txt" DOSYA1="tukur1.txt" ETH0MAC=`ifconfig eth0 | grep HWaddr | awk -F HWaddr '{print $2}'` ETH1MAC=`ifconfig eth1 | grep HWaddr | awk -F HWaddr '{print $2}'` #DISKMODEL=`cat /proc/ide/ide0/hda/model` DISKMODEL=`scsi_info /dev/sda |grep -i model ` DISK=/dev/hda #BIOSVERSION=`dd if=/dev/mem bs=64k skip=15 count=1 | strings -n 20 | grep "HP FEATURES" | awk -F: '{print $2}'` #BIOSVERSION=`dd if=/dev/mem bs=64k skip=15 count=1 | strings | grep -i 2006 | grep -i "(" ` dmidecode | head -34 > tukur2.txt BIOSVERSION=`head -10 tukur2.txt | tail -4` SYSINFO=`tail -7 tukur2.txt` MOUNTLOC=" :/storage/etc/logs" echo "ETH0 MAC: $ETH0MAC " >> $DOSYA1 echo "ETH1 MAC: $ETH1MAC " >> $DOSYA1 ## TCP/IP optimizisasyonu echo "Tcp/ip optimize ediliyor" echo > /proc/sys/net/core/wmem_max echo > /proc/sys/net/core/rmem_max echo > /proc/sys/net/core/rmem_default echo > /proc/sys/net/core/wmem_default echo " " > /proc/sys/net/ipv4/tcp_rmem echo " " > /proc/sys/net/ipv4/tcp_wmem echo " " > /proc/sys/net/ipv4/tcp_mem echo 1 > /proc/sys/net/ipv4/route/flush echo "Tamam" ## Bonding islemi basliyor echo "Bonding islemi basliyor" modprobe bonding arp_interval=20 miimon=1000 mode=0 /sbin/ifconfig bond0 $IP netmask broadcast up /sbin/ifenslave bond0 eth0 /sbin/ifenslave bond0 eth1 echo "tamam" sleep 15 ### Gecici olarak mail atabilmesi icin route ekleniyor #route add default gw ## Ag testi basliyor echo "Ag testi basliyor"./NPtcp 2 -l h $1 2&> $DOSYA #Raporlama kismi echo "Bilgisayar ip : $IP" >> $DOSYA1 echo -e "Sistem bilgisi \n $SYSINFO " >> $DOSYA1 echo "BIOSVERSION: $BIOSVERSION" >> $DOSYA1 echo "RAM: $RAM" >> $DOSYA1 echo -e "CPU: \n $CPUSAYISI" >> $DOSYA1 echo "DISK : $DISKMODEL" >> $DOSYA1 echo " " >> $DOSYA1 #Rapor tukurma secenekleri ## Mail at #cat $DOSYA1 $DOSYA | mail -s "Grid network testi $IP" ## NFS disk mount edip icine yaz mount -t nfs -w $MOUNTLOC /mnt cat tukur.txt >> tukur1.txt cp tukur1.txt /mnt/$IP.txt ## Sabit disk testi icin Badblocks calistir #echo "badblocks calistiriliyor" # /sbin/badblocks -n -o /mnt/"$IP.disktest.txt" $DISK rm -f tukur.txt rm -f tukur1.txt rm -f tukur2.txt #sleep 30 #route delete default gw
15 Sunucu kapama betiği #!/usr/local/bin/perl #onur at ulakbim.gov.tr #Hp ilo 100 uzaktan acma kapama use Net::Telnet (); $t = new Net::Telnet; $ip = $ARGV[0]; $username =$ARGV[1] ; $password =$ARGV[2] ; $ackapa =$ARGV[3] ; if ( "$ip" == "" ) { print "kullanim./ilo.pl ip username password 1/0 \n" ; print "0 == kapat\n1 == ac \n" ; } else { $t = new Net::Telnet (Timeout => 10 ); $t->open("$ip"); $t->login($username, $password); if ($ackapa == "1") { $t->cmd("cd system1"); $t->cmd("start system1"); } if ($ackapa == "0") { $t->cmd("cd system1"); $t->cmd("stop system1"); } }
16 Üşengeç Adam Yaratıcı Olur - Betik raporları ETH0 MAC: 00:18:FE:28:4F:A0 ETH1 MAC: 00:18:FE:28:4F:A1 Bilgisayar ip : Sistem bilgisi System Information Manufacturer: HP Product Name: ProLiant DL140 G3 Version: Serial Number: GB8641PMS0 UUID: 6E6FC60D-6EFF-E306-6EFF-E306737F660E Wake-up Type: Power Switch BIOSVERSION: BIOS Information Vendor: HP Version: O08 Release Date: 10/26/2006 RAM: CPU: Intel(R) Xeon(R) CPU 1.60GHz
17 DISK : MODEL="ATA ST AS" Send and receive buffers are and bytes (A bug in Linux doubles the requested buffer sizes) Now starting the main loop 0: bytes 6 times --> Mbps in usec 1: bytes 6 times --> Mbps in usec 2: bytes 6 times --> Mbps in usec 3: bytes 5 times --> Mbps in usec 4: bytes 5 times --> Mbps in usec 5: bytes 5 times --> Mbps in usec 6: bytes 3 times --> Mbps in usec 7: bytes 3 times --> Mbps in usec 8: bytes 3 times --> Mbps in usec 9: bytes 3 times --> Mbps in usec 10: bytes 3 times --> Mbps in usec 11: bytes 3 times --> Mbps in usec 12: bytes 3 times --> Mbps in usec 13: bytes 3 times --> Mbps in usec 14: bytes 3 times --> Mbps in usec 15: bytes 3 times --> Mbps in usec 16: bytes 3 times --> Mbps in usec 17: bytes 3 times --> Mbps in usec 18: bytes 3 times --> Mbps in usec 19: bytes 3 times --> Mbps in usec 20: bytes 3 times --> Mbps in usec
18 Kullanılan Yazılım ve Teknolojiler - 1 İşletim sistem kurulumu,donanım testleri,bilgisayar açılıp kapanması uzaktan otomatik hale getirildi Sunucuların iş yükü, sıcaklık, yük durumu gibi parametrelerini incelemek için Ganglia, Ağ cihazlarının durumunu incelemek için MRTG, Paket güncelleme durumlarını incelemek için PAKITI, Sistemlerin periyodik bakım işleri için geliştirilmiş ev yapımı betikler
19 Kullanılan Yazılım ve Teknolojiler - 2 Grid orta katman yazılımı olarak gLite 3.0 İş planlayıcı Torque / Maui GNU, Intel Derleyiciler Matematik kütüphaneleri MPICH desteği Kullanıcı dizinleri ve geçici dosyalar için düğümlere paylaştırılmış NFS dosya sistemi Yeni ! – Dağıtık dosya sistemi - Lustre
20 Fotoğraflar
21 Fotoğraflar-1
22 Fotoğraflar-2
23 Fotoğraflar-3
24 Fotoğraflar-4
25 Fotoğraflar-5
26 Sorular ?