1000 Çekirdekli TR-GRID Altyapısı Nasıl Kuruldu? Onur BEKTAŞ onur at ulakbim.gov.tr 1
İç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 2
TR-Grid e-altyapı Projesi Süreç 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 750.000$ 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. TR-Grid e-altyapı Projesi Başlangıcı TR-Grid Altyapısının Çalışmaya Başlaması EGEE-2 Projesi Başlangıç 2004 SEE-Grid Projesi Başlangıç 2005 2006 Geant Bağlantısı 622 Mbps SEE-Grid-2 Projesi Başlangıç 2008 2007 LHC Başlangıç A Tipi Sistemlerin Bağlantısı UlakNet 1 Gbps Siteler Arası 20 Gbps 3
TR-Grid Siteleri SİTE İSİM Çekirdek Veri Alanı TİPİ TÜBİTAK ULAKBİM TR-01-ULAKBIM 114 5 Tbyte EGEE, SEE-GRID, EUMEDGRID ODTÜ TR-03-METU 300 20 Tbyte EGEE Erciyes Üniversitesi TR-04-ERCIYES 64 1 Tbyte EGEE Boğaziçi Üniversitesi TR-05-BOUN 64 1 Tbyte EGEE Pamukkale Üniversitesi TR-07-PAMUKKALE 64 1 Tbyte EGEE Çukurova Üniversitesi TR-08-CUKUROVA 64 1 Tbyte EGEE İstanbul Teknik Üniversitesi TR-09-ITU 64 1 Tbyte EGEE TÜBİTAK ULAKBİM TR-10-ULAKBIM 300 20 Tbyte EGEE 1034 50 Tbyte TOTAL 50 Tbyte =~ 11100 DVD veya 14.285.000 mp3 4
Topoloji 5
Altyapı Bileşenlerinin Seçimi ve Sayıları 6
Ç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? 7
Donanım 1 - Sunucu Altyapısı Hesaplama ve Servis Düğümleri 256 Adet 1U Sunucu 2 adet çift çekirdekli Intel Xeon 5110 1.6 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 5110 1.6 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 8
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ı 9
Sitelerin Kurulumu ve Donanım Testleri 10
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 11
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 12
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 255.255.255.0 broadcast 193.140.99.255 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 1048573 & else echo "NPtcp calisiyor " fi bekle } bonding ana 13
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="193.140.99.21:/storage/etc/logs" echo "ETH0 MAC: $ETH0MAC " >> $DOSYA1 echo "ETH1 MAC: $ETH1MAC " >> $DOSYA1 ## TCP/IP optimizisasyonu echo "Tcp/ip optimize ediliyor" echo 8388608 > /proc/sys/net/core/wmem_max echo 8388608 > /proc/sys/net/core/rmem_max echo 65535 > /proc/sys/net/core/rmem_default echo 65535 > /proc/sys/net/core/wmem_default echo "4096 87380 4194304" > /proc/sys/net/ipv4/tcp_rmem echo "4096 87380 4194304" > /proc/sys/net/ipv4/tcp_wmem echo "4194304 4194304 4194304" > /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 255.255.255.0 broadcast 193.140.99.255 up /sbin/ifenslave bond0 eth0 /sbin/ifenslave bond0 eth1 echo "tamam" sleep 15 ### Gecici olarak mail atabilmesi icin route ekleniyor #route add default gw 193.140.99.1 ## Ag testi basliyor echo "Ag testi basliyor"./nptcp 2 -l 1048573 -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" onur@ulakbim.gov.tr ## 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 193.140.99.1 14
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 "0 == kapat\n1 == ac \n" ; } else { \n" ; $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"); } } 15 print
Üş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 : 193.140.99.230 Sistem bilgisi System Information Manufacturer: HP Product Name: ProLiant DL140 G3 Version: 409855-001 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: 4090800 CPU: Intel(R) Xeon(R) CPU 5110 @ 1.60GHz Intel(R) Xeon(R) CPU 5110 @ 1.60GHz Intel(R) Xeon(R) CPU 5110 @ 1.60GHz Intel(R) Xeon(R) CPU 5110 @ 1.60GHz 16
DISK : MODEL="ATA ST3808110AS" --------------------------------------------------------------------------------------------------Send and receive buffers are 87380 and 87380 bytes (A bug in Linux doubles the requested buffer sizes) Now starting the main loop 0: 1048570 bytes 6 times --> 999.30 Mbps in 8005.58 usec 1: 1048573 bytes 6 times --> 982.21 Mbps in 8144.91 usec 2: 1048576 bytes 6 times --> 945.83 Mbps in 8458.18 usec 3: 1572856 bytes 5 times --> 1057.99 Mbps in 11342.20 usec 4: 1572859 bytes 5 times --> 1066.17 Mbps in 11255.19 usec 5: 1572862 bytes 5 times --> 1073.15 Mbps in 11182.01 usec 6: 2097142 bytes 1098.48 Mbps in 14565.48 usec 7: 2097145 bytes 1105.18 Mbps in 14477.17 usec 8: 2097148 bytes 1107.33 Mbps in 14449.16 usec 9: 3145714 bytes 1248.34 Mbps in 19225.51 usec 10: 3145717 bytes 1259.37 Mbps in 19057.15 usec 11: 3145720 bytes 1257.90 Mbps in 19079.34 usec 12: 4194286 bytes 1279.36 Mbps in 25012.34 usec 13: 4194289 bytes 1268.64 Mbps in 25223.68 usec 14: 4194292 bytes 1275.27 Mbps in 25092.66 usec 15: 6291430 bytes 1328.33 Mbps in 36135.51 usec 16: 6291433 bytes 1322.81 Mbps in 36286.16 usec 17: 6291436 bytes 1310.91 Mbps in 36615.66 usec 18: 8388574 bytes 1325.22 Mbps in 48293.51 usec 19: 8388577 bytes 1322.95 Mbps in 48376.51 usec 20: 8388580 bytes 1313.40 Mbps in 48728.19 usec 17
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 18
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 19
Fotoğraflar 20
Fotoğraflar-1 21
Fotoğraflar-2 22
Fotoğraflar-3 23
Fotoğraflar-4 24
Fotoğraflar-5 25
Sorular? 26