Grid Veri Yönetimi Emrah Akkoyun, Feyza Eryol,
İçerik Grid Veri Yönetimi Nedir? –Depolama Elemanları gLite Orta Katmanı –Dosya Adları ve Kataloğu –LFC ve Komutları –LFC Komutları-Örnekler Dosya ve Replika Yönetimi –LCG ve Komutları –LCG Komutları-Örnekler 1.Kısım 2. Kısım
Grid Veri Yönetimi Nedir? Grid Veri Yönetimi: –İşletim sistemi seviyesinde değil, dosya seviyesinde veriler ile ilgilenir. –Veriler salt-okunurdur ve farklı formatlarda olabilirler Değiştirilemezler Silinebilir, sonrasında yeniden oluşturulabilirler Kullanıcı Uygulamalar Veri Depolama Alanı
Depolama Elemanları Depolama Elemanı (Storage Element) –JDL (İş Tanımlama Dili) ile ancak 20 MB boyutundan küçük veriler gönderilebilir. –Büyük boyutta dosyaların tutulduğu bilgisayara Depolama Elemanı (SE) denir. –Depolama Elemanı, Hesaplama Elemanları(CE) ile neredeyse tüm sitelerde bulunur. –Kullanıcılar gibi uygulamalar da veri isteğinde bulunup, veri üretebilirler.
Depolama Elemanları Depolama Elemanı (Storage Element) –Grid üzerinde veri depolanmasını sağlayan servisleri içerir. –Kullandığı protokoller: GSIFTP: Depolama elemanı ve uygulamalar arasında güvenli, hızlı ve verimli dosya transferini sağlar. RFIO & gsiDCap: Depolama elemanlarında depolanan dosyalara doğrudan uzaktan erişimi sağlarlar.
Depolama Elemanları Grid ortamında 4 farklı tip depolama elemanı mevcuttur: –ClassicSE –CASTOR –dCache –LCG Disk Pool Manager Depolama Kaynak Yönetimi (SRM) –Pratik kullanımı sağlar
gLite Orta Katmanında Dosya Adları Grid Unique IDentifier (GUID) –Grid de bulunan her bir dosya mutlaka bir GUID ile belirtilir –Dosyanın tüm replikaları aynı GUID ile paylaştırılır –guid: guid:38ed3f60-c402-11d7-a6b0-f53ee5a37e1d Logical File Name (LFN) –GUID’si belirli olan kullanıcının belirlediği takma isim –lfn:/grid/ / / lfn:/grid/sgdemo/deneme
gLite Orta Katmanında Dosya Adları Storage URL(SURL) ya da Physical File Name(PFN) –Dosyanın depolama elemanındaki gerçek alanına verilen isim (Dosyanın Grid'de fiziksel yerini tanımlar) –Replika Yönetim Sistemi (RMS) tarafından dosyanın nerede tutulduğunu öğrenmek amacıyla kullanılır. –sfn:// / / sfn://se.ulakbim.gov.tr/data/trgridb/dosya1 Transport URL (TURL) –Dosyanın depolama elemanında geçici olarak tutulduğu alan – :// / / gsiftp://se.ulakbim.gov.tr/data/trgirdb/dosya1
gLite Orta Katmanında Dosya Kataloğu LCG File Catalogue - LFC LFC –Grid servisi –GUID, LFN ve SURL’ler arasında eşleştirmeyi sağlar –Kayıt yaptırmış tüm dosyaların bilgisini tutar ve yayınlar –Yerel ya da genel olarak servis verebilir Grid Dosyası: Fiziksel olarak depolama elemanında yer alan, ve mantıksal olarak LFC kaydı yapılmış dosyalardır.
gLite Orta Katmanında Dosya Kataloğu GUID Xxxxxx-xxxx-xxx-xxx- Sistem Meta Verisi “size” => “cksum_type” => “MD5” “cksum” => “yy-yy-yy” Replika srm://host.example.com/foo/bar host.example.com Replika sfn://host.example.com/foo/bar host.example.com Sembolik Bağlantı / grid/dteam/mydir/mylink / grid/dteam/dir1/dir2/file1.root Kullanıcı Meta Verisi Kullanıcı Tanımlı Meta Veri
Veri Yönetimi Sistemi (Özet) Veri Yönetimini iki temel seviye altında özetlenebilir. –Fiziksel Seviye : Depolama Elemanı (SE) –Mantıksal Seviye: Dosya Katalogu (LFC) Depolama Elemanları verilerin fiziksel olarak tutulduğu bilgisayarlardır. LFN'ler dosyaların metadata bilgisi ile (Dosyanın gerçek ismi, boyutu, erişim izinlri, düzenlenme zamanı gibi) birlikte Kataloga kaydedilir. Böylece, kullanıcılara tek bir UNIX sistem kullanılıyormuş izlenimi verilir.
LFC Komutları Dosya katalogunun kullanılabilmesi için –Geçerli bir proxy sertifikasının oluşturulması gereklidir. –$LFC_CATALOG_TYPE, $LFC_HOST çevre değişkenlerinin tanımlanmış olması gerekmektedir: export LCG_CATALOG_TYPE=lfc export LFC_HOST=lfc.ulakbim.gov.tr –lfc-* komutları kullanılırken, LFC üzerinde işlem yapabileceğimiz dizinin /grid/sanal_organizasyon_adi (Örn: /grid/sgdemo) olduğunu unutmamalıyız. Dizin yok ise, bu sanal organizasyon, depolama elamanı tarafından desteklenmiyordur.
LFC Komutları – lfc-chmod: LFC dosya ya da dizininin erişim haklarını değiştirir – lfc-chown: LFC dosya ya da dizininin sahiplik bilgilerini değiştirir – lfc-delcomment : LFC dosya ya da dizininin eklenmiş yorum bilgisini siler – lfc-getacl: LFC dosya ya da dizininin erişim kontrol listesini alır – lfc-ln: LFC dosya ya da dizinine sembolik Link yaratır – lfc-ls : LFC’de dosya ve dizinleri listeler – lfc-mkdir: LFC dizin yaratır – lfc-rename: LFC dosya ya da dizininin dosya/dizin ismini değiştirir – lfc-rm: LFC dosya ya da dizinini siler – lfc-setacl: LFC dosya ya da dizininin erişim kontrol listesini tanımlar – lfc-setcomment: LFC dosya ya da dizininin üzerine yorum bilgisi ekler
LFC Komutları – Örnekler lfc-ls: Verilen bir dizindeki LFN’leri listeler /grid/ / LFC İsimlendirmesi Kullanıcı tarafından tanımlanır $ lfc-ls –l /grid/sgdemo/... -rw-rw-r Jun 21 09:39 tutor14 -rw-rw-r Jun 21 09:40 tutor16-mytxt -rw-rw-r Jun 21 09:36 uploadfile -rw-rw-r Jun 21 09:36 uploadfilelfn -rw-rw-r Jun 21 09:38 user.example -rw-rw-r Jun 21 09:38 user.example2...
LFC Komutları – Örnekler $ lfc-ls –l /grid/sgdemo/user.example -rw-rw-r Jun 21 09:38 user.example –Çalışmak istediğiniz ev dizinini belirtirseniz, her zaman girmek zorunda kalmazsınız. $ export LFC_HOME=/grid/sgdemo/ $ lfc-ls –l user.example -rw-rw-r Jun 21 09:38 user.example
LFC Komutları – Örnekler lfc-ln –s dosya/dizin link_adı : Sembolik bağlantı oluşturur: $ lfc-ln -s user.example link_to_user lfc-mkdir : Dizin oluşturur. $ lfc-mkdir Ekim2007-user Oluşturulan dizini görmek için: $ lfc-ls -l Orijinal Dosya Sembolik Bağlantı
LFC Komutları - Örnekler Meta verisi eklenmesi/çıkartılması –lfc-setcomment path aciklama LFC’deki bir dosya/dizine ilişkin açıklama ekler –lfc-delcomment path LFC’deki bir dosya dizine ait açıklamayı siler
LFC Komutları - Örnekler lfc-setcomment $lfc-setcomment user.example “Merhaba” Eklediğimiz yorumu görmek için: $lfc-ls --comment user.example /grid/gilda/user.example Merhaba lfc-delcomment $lfc-delcomment user.example Sildiğiniz yorumu görmek için: $lfc-ls –l --comment user.example -rw-rw-r Jun 21 09:38 /grid/sgdemo/user.example
İçerik Grid Veri Yönetimi Nedir? –Depolama Elemanları gLite Orta Katmanı –Dosya Adları ve Kataloğu –LFC ve Komutları –LFC Komutları-Örnekler Dosya ve Replika Yönetimi –LCG ve Komutları –LCG Komutları-Örnekler 1.Kısım 2. Kısım
Dosya ve Replika Yönetimi LCG –Basit ve etkin dosya transfer yöntemidir. –Grid ortamına veri aktarımı ve grid ortamından veri alımı için kullanılır. –Aynı zamanda grid ortamında bulunan verilerin işlenmesini sağlar.
LCG Komutları lcg-* komutlarını çalıştırabilmek için: –Geçerli bir proxy sertifikasına sahip olmak gereklidir. –$LCG_GFAL_INFOSYS çevre değişkenin tanımlanmış olması gerekmektedir. export LCG_GFAL_INFOSYS=bdii.ulakbim.gov.tr:2170 $LCG_GFAL_VO çevre değişkenin tanımlanması, lcg-* komutlarının kullanılmasında kolaylık sağlar. export LCG_GFAL_VO=sgdemo
LCG Komutları $VO_ _DEFAULT_SE çevre değişkeni: komutlarda kullanıcının depolama elemanı belirtmesine gerek kalmaz. export VO_sgdemo_DEFAULT_SE=se.ulakbim.gov.tr
LCG Komutları lcg-cp: Bir grid dosyasını yerel makinaya kopyalar ( download ) lcg-cr: Yerel makinadaki bir dosyayı SE’ye kopyalar ve LFC’ye kaydeder ( upload ) lcg-del: SE’deki bir dosyayı siler (bir replika ya da tüm replikalar olabilir) lcg-rep: Bir dosyayı bir SE’den başka bir SE’ye kopyalar ve LFC’ye kaydeder ( replicate ) lcg-aa: Verilen bir GUID’ye LFC’de takma isim ( alias ) ekler lcg-ra: Verilen bir GUID’nin LFC’deki takma ismini kaldırır lcg-rf: SE’deki bir dosyayı LFC’ye kaydeder lcg-uf: SE’deki bir dosyanın LFC’deki kaydını siler lcg-la: Verilen bir LFN, GUID ya da SURL takma isimlerini listeler lcg-lg: Verilen bir LFN ya da SURL’nin GUID’sini getirir lcg-lr: Verilen bir LFN, GUID ya da SURL’nin replikalarını listeler
LCG Komutları - Örnekler lcg-cr: $lcg-cr -d se.ulakbim.gov.tr –l lfn:/grid/sgdemo/egitim.out -v --vo sgdemo file:/home/egitim20/egitim.out –sgdemo VO’sunun kullanıcısına ait –kullanıcı arayüzündeki /home/egitim20/egitim.out dosyasını –lfn:/grid/sgdemo/egitim.out LFC kaydı altında –se.ulakbim.gov.tr depolama elemanına –-v verbose özelliğini kullanarak kopyalar Komutun çıktısı –se.ulakbim.gov.tr’ye kopyalanan egitim.out dosyası için oluşturulmuş GUID geri döner: guid:5dfb82d2-c26a-444a-8c83-9d2c35d84d05
LCG Komutları - Örnekler lcg-rep: $lcg-rep –d se02.grid.acad.bg -v --vo sgdemo guid:5dfb82d2-c26a-444a-8c83-9d2c35d84d05 –sgdemo VO’sunun kullanıcısına ait, –guid:5dfb82d2-c26a-444a-8c83-9d2c35d84d05 ile saklanan dosyanın, –se02.grid.acad.bg isimli depolama elamanına replikasını oluşturur.
LCG Komutları - Örnekler $lcg-rep –d se02.grid.acad.bg -v --vo sgdemo lfn:/grid/sgdemo/egitim.out –sgdemo VO’sunun kullanıcısına ait, –lfn:/grid/sgdemo/egitim.out ile saklanan dosyanın –se02.grid.acad.bg isimli depolama elemanına replikasını oluşturur.
LCG Komutları - Örnekler $lcg-rep –d se02.grid.acad.bg -v --vo sgdemo sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/ /fileX sgdemo VO’sunun kullanıcısına ait, sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/ /fileX ile saklanan dosyanın, se02.grid.acad.bg isimli depolama elemanına replikasını oluşturur.
LCG Komutları - Örnekler lcg-lr: $ lcg-lr --vo sgdemo lfn:/grid/sgdemo/egitim.out –sgdemo VO’sunun kullanıcısına ait, –LFC’de lfn:/grid/sgdemo/test.out takma ismi ile saklanan, –tüm replikaları listeler. Komutun çıktısı: sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/ /fileX sfn://se02.grid.acad.bg /storage/sgdemo/generated/ /fileY
LCG Komutları - Örnekler lcg-lg: $ lcg-lg --vo sgdemo sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/ /fileX –sgdemo VO’sunun kullanıcısına ait, –SE’de lfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/ /fileX ile saklanan dosyanın, –GUID’sini göster. $ lcg-lg --vo sgdemo lfn:/grid/sgdemo/egitim.out –sgdemo VO’sunun kullanıcısına ait, –LFC’de lfn:/grid/sgdemo/egitim.out ile kayıtlı dosyanın, –GUID’sini göster.
LCG Komutları - Örnekler lcg-cp: $ lcg-cp -t 100 -v --vo sgdemo lfn:/grid/sgdemo/egitim.out file:///tmp/egitim.kopya –sgdemo VO’sunun kullanıcısına ait, –LFC’de lfn:/grid/sgdemo/egitim.out ile kayıtlı dosyayı, –-t timeout 100 saniye olacak şekilde, – kullandığımız kullanıcı arayüz makinasında /tmp/ altına egitim.kopya olarak, –- v verbose modda kopyalar. Diğer komutlarda da olduğu gibi lfn yerine guid ya da sfn de kullanılabilir.
LCG Komutları - Örnekler lcg-del: $ lcg-del -s se.ulakbim.gov.tr --vo sgdemo guid:91b89dfe-ff bad2-c538bfa28fac –sgdemo VO’sunun kullanıcısına ait, –91b89dfe-ff bad2-c538bfa28fac GUID’li grid dosyasının, –se.ulakbim.gov.tr’deki replikasını siler. $ lcg-del –a --vo sgdemo guid:91b89dfe-ff bad2-c538bfa28fac –sgdemo VO’sunun kullanıcısına ait, – 91b89dfe-ff bad2-c538bfa28fac –GUID’li grid dosyasının tüm replikalarını siler.
LCG Komutları - Örnekler lcg-aa: $ lcg-aa --vo sgdemo guid:91b89dfe-ff bad2-c538bfa28fac lfn:/grid/sgdemo/yeni_alias –sgdemo VO’sunun kullanıcısına ait, –91b89dfe-ff bad2-c538bfa28fac GUID’li grid dosyası için, –LFC’de lfn:/grid/sgdemo/yeni_alias isimli yeni bir takma isim (alias) tanımlanmasını sağlar. lcg-la: Belirtilen GUID’ye ait bütün takma isimleri listeler. $lcg-la --vo sgdemo guid:91b89dfe-ff bad2-c538bfa28fac Komutun çıktısı: lfn:/grid/sgdemo/test.out (eski alias) lfn:/grid/sgdemo/yeni_alias (eklenen yeni alias)
LCG Komutları - Örnekler lcg-ra: $ lcg-ra --vo sgdemo guid:91b89dfe-ff bad2-c538bfa28fac lfn:/grid/sgdemo/egitim.out –sgdemo VO’sunun kullanıcısına ait, –91b89dfe-ff bad2-c538bfa28fac GUID’li grid dosyası için, –LFC’deki lfn:/grid/sgdemo/test.out alias’ını siler. $lcg-la --vo sgdemo guid:91b89dfe-ff bad2-c538bfa28fac –Belirtilen GUID’ye ait bütün takma isimlerini listeler. –Komutun çıktısı: lfn:/grid/sgdemo/yeni_alias test.out takma ismi silindiği için artık listede görünmemektedir.