220 likes | 443 Views
Kullan ıcı Pratik Eğitimi. Kullanıcı Arayüzüne Erişim. Kullanıcı arayüzüne ssh ile bağlanın ssh –l egitim(1-20) somon.ulakbim.gov.tr .globus dizininin varlığını kontrol edin ls –laR .globus .globus: total 16 drwxr-xr-x 2 root root 4096 Aug 15 13:57 .
E N D
Kullanıcı Arayüzüne Erişim • Kullanıcı arayüzüne ssh ile bağlanın • ssh –l egitim(1-20) somon.ulakbim.gov.tr • .globus dizininin varlığını kontrol edin • ls –laR .globus • .globus: • total 16 • drwxr-xr-x 2 root root 4096 Aug 15 13:57 . • drwx------ 31 root root 4096 Feb 10 15:32 .. • -rw-r--r-- 1 root root 0 Mar 14 2006 usercert.pem • -rw-r--r-- 1 root root 1322 Mar 14 2006 usercert_request.pem • -rw------- 1 root root 963 Mar 14 2006 userkey.pem • Pratik eğitim için gerekli örnek dosyaları kullanıcı dizininize açın: • cd ~ • tar zxvf /home/egitim.tar.gz
Çalışabileceğiniz Kaynakları Görüntülemek • Herhangi bir sanal organizasyon için o an geçerli çalışabileceğiniz kaynakları görüntülemek için: • lcg-infosites –vo <VO> • komutunu kullanabilirsiniz. • sgdemo sanal organizasyonunda çalışılabilecek işlemcileri görmek için: • lcg-infosites –vo sgdemo ce • sgdemo sanal organizasyonunda veri saklama alanını görmek için: • lcg-infosites –vo sgdemo se • Sorgulanabilecek diğer özellikleri görmek için: • Lcg-infosites –list-attrs
Kullanıcı Sertifikanız • Bir X.509 sertifikası şu bilgileri içerir: • Kullanıcı açık anahtarı; • Kullanıcı hakkında bilgi; • Sertifika otoritesi bilgisi; • Geçerlilik süresi; • Sertifika otoritesinin imzası • Sertifikanızı incelemek için: openssl x509 –in usercert.pem –text veya grid-cert-info Açık Anahtar Subject: C=TR, O=TRGrid, OU=TUBITAK-ULAKBIM, CN=Onur Temizsoylu Issuer: C=TR, O=TRGrid, CN=TR-Grid CA • Validity • Not Before: Feb 5 10:05:58 2007 GMT • Not After : Feb 5 10:05:58 2008 GMT Sertifika Otoritesi İmzası
Globus Grid Security Infrastructure (GSI) • GSI PKI kullanarak ortakatman yazılımları için bir güvenlik standardı oluşturur. • Önemli bazı özellikler getirir: • “Single sign-on”: Her seferinde şifre girmek gerekmez. • Atama: Servisler kullanıcı adına çalışabilir. • Proxy sertifikaları sayesinde çalışırlar.
GSI Çevre Değişkenleri • Kullanıcı Sertifikaları: • Açık Anahtar: X509_USER_CERT ($HOME/.globus/usercert.pem) • ÖzelAnahtar: X509_USER_KEY ($HOME/.globus/userkey.pem) • Proxy: X509_USER_PROXY (/tmp/x509up_u<id>) • Sunucu Sertifikaları: • Açık Anahtar: X509_USER_CERT (/etc/grid-security/hostcert.pem) • Özel Anahtar: X509_USER_KEY (/etc/grid-security/hostkey.pem) • Sertifika Otoriteleri: • X509_CERT_DIR (/etc/grid-security/certificates)
Proxy Oluşturmak • Çalışmak için proxy oluşturun: • voms-proxy-init --voms sgdemo • Oluşturduğunuz proxy hakkında bilgi edinin • voms-proxy-info -all • Oluşturduğunuz proxy’i yok edin • voms-proxy-destroy
İşinizi Çalıştırmadan Önce • Bilmeniz gerekenler: • Hangi programlar gönderilecek? • Hangi veriye erişilecek, veri program ile birlikte mi gidecek? • Herhangi bir işletim sistemi, kütüphane bağımlılığı var mı? • Gönderdiğiniz uygulama: • Bilinmeyen bir sistemde çalışabilmeli • Çalışma dizini dışında yer alacak şekilde sabit olarak belirlenmiş dizinler ve dosyalar içermemelidir.
Grid Dünyasının Dili - JDL • Job Description Language (JDL) • Condor ClassAd dili standardında geliştirilmiştir • Bir JDL dosyası niteliklerle oluşturulur: • <nitelik> = <anahtar>; • # ile JDL içine açıklama satırları yazılabilir. • Nitelikler temel olarak ikiye ayrılabilir: • İş nitelikleri, işin kendini tanımlar • Kaynak nitelikleri, işe uygun kaynakların bulunmasını sağlar.
JDL Dosyası • Bir JDL dosyası en azından aşağıdaki nitelikleri içerir: • Çalışacak uygulamanın adı • İşin standart çıktısının ve hatasının yazılacağı dosyaları • Gerekli ise iş için gerekli argümanları • Girdi ve çıktı torbalarında yer alacak dosyaları • ornek1.jdl • Executable = “ls”; • StdError = “stderr.log”; • StdOutput = “stdout.log”; • Arguments = “-al”; • OutputSandbox = {“stderr.log”, “stdout.log”};
JDL Nitelikleri • JobTypeNormal (basit, seri iş), Interactive, MPICH, Checkpointable • Executable – Çalıştırılacak komut • Arguments – Komuta verilecek argümanlar • StdInput, StdOutput, StdError – Standart girdi, çıktı ve hata dosyaları • Environment – Çevre değişkenleri • InputSandbox– Kullanıcı arayüzünden çalışacağı siteye gönderilecek dosyalar • OutputSandbox– İş bitiminde alınacak dosyalar • Requirements– Gerekli kaynak nitelikleri • Rank– Bulunan kaynakların sıralanması
JDL Dosyası • ornek2.jdl • [ • Executable = "/bin/sh"; • Arguments = "HelloWorld.sh"; • Stdoutput = "stdoutput"; • StdError = "stderror"; • InputSandbox = {"HelloWorld.c","HelloWorld.sh"}; • OutputSandbox = {"stdoutput","stderror"}; • Requirements = (other. GlueHostOperatingSystemName == “linux") && (other.GlueCEPolicyMaxWallClockTime > 10000); • Rank = other.GlueCEStateFreeCPUs; • ]
Bir İşin Hayat Hikayesi Girditorbası Veri Bilgisi UI JDL Çıktı torbası Expanded JDL İş Gönderme İş Sorgulama İş Durumu SE Globus RSL İş Durumu İş Durumu WMS (RB) LFC voms-proxy-init SE & CE Bilgisi Çıktı Torbası VOMS BDII Girdi torbası + Planlama Bilgisi İş Gönderme Servisi CE LB
İşi göndermeden önce • JDL dosyasında yer alan niteliklere göre işin çalışabileceği • siteleri görebilirsiniz. • glite-job-list-match<job.jdl> • İşinizin belli bir sitede çalışması için Requirement satırı • ekliyebilirsiniz. • Requirements = other.GlueCEUniqueID == • "ce.ulakbim.gov.tr:2119/jobmanager-lcgpbs-sgdemo";
İş Göndermek • glite-job-submit [-vo <VO>] [-o <dosya_ismi>]<job.jdl> • -vo Sanal organizasyon, proxy oluşturulurken tanımlandı ise gerek yoktur • -o Oluşacak JobID bu dosyaya yazılır • glite-job-status –i<dosya_ismi> (veya jobId) • -i İş gönderilirken verilen dosya ismi burada kullanılabilir
İş Göndermek glite-job-submit testJob.jdl **** Warning: UI_VOMS_OVERRIDE **** The Virtual Organisation name "dteam" you have specified with the UI conf file will be overriden by the default VO in your proxy credentials: "sgdemo" Selected Virtual Organisation name (from proxy certificate extension): sgdemo Connecting to host wms.ulakbim.gov.tr, port 7772 Logging to host wms.ulakbim.gov.tr, port 9002 ********************************************************************************************* JOB SUBMIT OUTCOME The job has been successfully submitted to the Network Server. Use glite-job-status command to check job current status. Your job identifier is: - https://wms.ulakbim.gov.tr:9000/2n33HIg63quJXLKgHG2m-A JobID *********************************************************************************************
İş Göndermek • glite-job-cancel <jobid> • Belirtilen işi iptal eder • glite-job-status <jobid> • İş hakkında bilgi verir • glite-job-output <jobid> • İşin çıktı torbasını getirir • glite-job-logging-info <jobid> • İş hakkında detaylı bilgi verir, hata gidermek için yararlı bir komuttur
İnteraktif İşler İnteraktif iş, standart girdi, çıktı ve hataları iş gönderilen istemciye yönlendiren iş tipidir: • KullanıcıJobType niteliğiniinteractive olarak ayarlamalıdır. • Bir interaktif iş gönderildiğinde glite-job-submit komutu arka planda bir gölge konsol işi başlatır. • Konsolun kullanacağı port,ListenerPort niteliği ile değiştirilebilir. • DISPLAY çevre değişkeni düzgün ayarlanmalı veya –nogui parametresi kullanılmalıdır • OutputSandbox niteliğini tanımlamaya gerek yoktur. İnteraktif pencereye çıktılar gelecektir.
MPICH İşleri • Paralel iş koşturmak için birçok kütüphane vardır. gLite orta katmanında MPICH tercih edilmiştir. • Kullanıcı JobType niteliğini MPICH olarak ayarlamalı ve NodeNumber niteliği ile gerekli işlemci sayısını ayarlamalıdır. • Bir sitede MPICH işi çalışması için sitenin uygun şekilde düzenlenmesi dışında: • Sitenin MPICH desteklediğinin işaretlenmesi gerekmektedir • İstenen işlemci miktarı sitedeki mevcut işlemci sayısından az olmalıdır
MPICH İşleri [ JobType = “MPICH"; Executable = "cpi"; NodeNumber = 2; StdOutput = "test.out"; StdError = "test.err"; InputSandbox = {"cpi"}; OutputSandbox = {"test.out","test.err"}; ] • NodeNumber işin çalışacağı işlemci sayısını belirtir. • İşlemci sayısı arttıkça işin kuyrukta bekleme süresi de artacaktır