220 likes | 503 Views
Grid Veri Yönetimi. Aslı Zengin asli@ulakbim.gov.tr. Grid Veri Yönetimi N edir?. Kullanıcı ve uygulamaların ürettiği ya da ihtiyaç duyduğu verilerin Grid ortamında saklanması amaçlanır. Grid verilerle dosya seviyesinde ilgilenir. Veri yapıları ele alınmıyor.
E N D
Grid Veri Yönetimi Aslı Zenginasli@ulakbim.gov.tr
Grid Veri Yönetimi Nedir? • Kullanıcı ve uygulamaların ürettiği ya da ihtiyaç duyduğu verilerin Grid ortamında saklanması amaçlanır. • Grid verilerle dosya seviyesinde ilgilenir. Veri yapıları ele alınmıyor. • Depolama kaynaklarında saklanan Grid dosyaları salt-okunurdur: (read-only) • Değiştirilemez. • Silinip yerine yenisi konulabilir. • Dosyalar heterojen yapıdadır. (ascii, binary...)
Depolama Elemanları (Storage Element) • Storage Element kullanıcı ya da uygulamanın gelecekte kullanmak üzere Grid’de veri depolamasını sağlayan Grid servisidir. • Storage Element tarafından kullanılan protokoller: • GSIFTP Storage Element ve kullanıcı arasında güvenli, hızlı ve verimli dosya transferini sağlar. • RFIO(Remote File Input/Output protocol) ve Gsidcap(GSI dCache Access Protocol) farklı tip StorageElement’lerde depolanan dosyalara direk uzaktan erişimi sağlar.
Depolama Elemanları (Storage Element) • Grid’de 4 farklı tip Storage Element mevcut: • Classic SE (Şu an TR-Grid altyapısında kullanılan SE tipi. GSIFTP sunucusunu içerir.) • CASTOR • dCache • LCG Disk Pool Manager • Depolama Kaynak Yönetimi (Storage Resource Management – SRM): Classic SE dışındaki SE tipleri SRM arayüzü içerir. SRM arayüzü, depolama kaynaklarının karmaşıklığını kullanıcıdan gizler.
gLite Ortakatmanında Dosya Adları • Grid Unique IDentifier (GUID) : • guid:<belirli bir dosyaya ait 36 Byte uzunluğunda character dizisi> • guid:38ed3f60-c402-11d7-a6b0-f53ee5a37e1d • Logical File Name (LFN) : • GUID’si belli olan bir dosyayı çağırmak için kullanılan, kullanıcının belirlediği alias • lfn:/grid/<MyVO>/<MyDirs>/<MyFile> • Storage URL (SURL) ya da Physical File Name (PFN) : • Dosyanın Storage Element’teki gerçek yeri • sfn://se.ulakbim.gov.tr/data/dteam/dosya1 • Transport URL (TURL) : • Dosyanın depolama elemanındaki anlık geçici yeri • gsiftp://se.ulakbim.gov.tr/data/dteam/dosya1
gLite Ortakatmanında Dosya Kataloğu(LCG File Catalogue – LFC) • Kullanıcılar doyalarını Grid’de saklamaya ihtiyaç duyar. • LFC; GUID, LFN ve SURL’ler arasında eşleştirme yapmayı sağlayan Grid servisidir. • LFC kendisine kaydı yaptırılmış tüm dosyaların bilgisini tutar ve bilgi servisinde yayınlar. • LFC lokal çalışarak sadece belirli site ve sanal organizasyonlardan gelen dosyaların kayıtlarını tutabilir ya da global çalışarak altyapıda yer alan tüm dosyaların bilgisini tutabilir. • Grid dosyası: Hem fiziksel olarak Storage Element’te depolanan, hem de mantıksal olarak kaydı LFC’ye yapılmış olan dosya
gLite Ortakatmanında Dosya Kataloğu(LCG File Catalogue – LFC) Sistem Meta Verisi “size” => 10234 “cksum_type” => “MD5” “cksum” => “yy-yy-yy” Replika Replika Replia srm://host.example.com/foo/bar host.example.com srm://host.example.com/foo/bar host.example.com srm://host.example.com/foo/bar host.example.com Kullanıcı Meta Verisi Kullanıcı Tanımlı Meta Veri GUID /grid/dteam/dir1/dir2/file1.root Xxxxxx-xxxx-xxx-xxx- Sembolik Bağlantı Replika /grid/dteam/mydir/mylink sfn://host.example.com/foo/bar host.example.com
LFC Komutları Dosya kataloğunun kullanılabilmesi için, • Geçerli bir proxy sertifikası oluşturmuş olmak gerekir. • $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ını kullanırken LFC üzerinde işlem yapabileceğimiz dizinin /grid/sanal_organizasyon_adi (Örn: /grid/sgdemo) olduğunu unutmamalıyız. Eğer böyle bir dizin yoksa LFC bu sanal organizasyonu desteklemiyor demektir.
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 -rw-rw-r-- 1 4401 4400 0 Jun 21 09:38 user.example -rw-rw-r-- 1 4401 4400 0 Jun 21 09:38 user.example ... -rw-rw-r-- 1 4401 4400 0 Jun 21 09:39 tutor14 -rw-rw-r-- 1 4401 4400 0 Jun 21 09:40 tutor16-mytxt -rw-rw-r-- 1 4401 4400 0 Jun 21 09:36 uploadfile -rw-rw-r-- 1 4401 4400 0 Jun 21 09:36 uploadfilelfn -rw-rw-r-- 1 4401 4400 0 Jun 21 09:38 user.example -rw-rw-r-- 1 4401 4400 0 Jun 21 09:38 user.example2 ... Kullanıcı tarafından tanımlanır LFC İsimlendirmesi • lfc-ls : Verilen bir dizindeki LFN’leri listele. • /grid/<VO_adı>/<kullanıcının oluşturduğu dizinler> $ lfc-ls –l /grid/sgdemo/ $ lfc-ls –l /grid/sgdemo/user.example $ export LFC_HOME=/grid/sgdemo/ $ lfc-ls –l user.example
LFC Komutları - Örnekler Orijinal dosya Sembolik link • lfc-ln –s dosya/dizin link_adı : Sembolik link yarat. • $ lfc-ln -s /grid/sgdemo/user.example /grid/sgdemo/linkler/link_to_user.example • lfc-mkdir : Dizin yarat. • $ lfc-mkdir /grid/sgdemo/Examples Yarattığınız dizini görmek için: $ lfc-ls -l /grid/sgdemo
LFC Komutları - Örnekler • metaveribilgisi ekleme/çıkartma lfc-setcomment path açıklama (LFC’deki bir dosya ya da dizine ilişkin açıklama ekler.) lfc-delcomment path (LFC’deki bir dosya ya da dizine ait açıklamayı siler.) $lfc-setcomment /grid/sgdemo/user.example “Merhaba” Eklediğimiz yorumu görmek için: $lfc-ls --comment /grid/sgdemo/user.example /grid/gilda/user.example Merhaba $lfc-delcomment /grid/sgdemo/user.example Sildiğiniz yorumu görmek için: $lfc-ls –l --comment /grid/sgdemo/user.example -rw-rw-r-- 1 4401 4400 0 Jun 21 09:38 /grid/sgdemo/user.example
Dosya ve Replika Yönetimi • lcg-* komutlarını çalıştırabilmek için geçerli bir proxy sertifikasına sahip olmak gerekir. • lcg-* dosya ve replika komutlarının çalışması için$LCG_GFAL_INFOSYS çevre değişkeninin tanımlanmış olması gerekmektedir: $export LCG_GFAL_INFOSYS=bdii.ulakbim.gov.tr:2170 • $LCG_GFAL_VO çevre değişkeni tanımlanırsa, komutlarda kullanıcının –vo opsiyonuyla dahil olduğu sanal organizasyonu belirtmesine gerek kalmaz. $export LCG_GFAL_VO=sgdemo • $VO_<VO>_DEFAULT_SE çevre değişkeni tanımlanırsa, komutlarda kullanıcının Storage Element belirtmesine gerek kalmaz. $export VO_sgdemo_DEFAULT_SE=se.ulakbim.gov.tr
Dosya ve Replika Yönetimi • lcg-cp Bir grid dosyasını lokale kopyalar (download) • lcg-cr Lokaldeki bir dosyayı SE’ye kopyalar ve LFC’ye kaydeder (upload) • lcg-del SE’dek 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 alias ekler • lcg-ra Verilen bir GUID’nin LFC’deki alias’ını 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 alias’ları 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
Dosya ve Replika Yönetimi - Örnekler • lcg-cr: $lcg-cr -v -d se.ulakbim.gov.tr -l lfn:/grid/sgdemo/test.out --vo sgdemo file:///home/egitim20/test.out => sgdemoVO’sunun kullanıcısına ait, kullanıcı arayüzündeki (lokaldeki) /home/egitim20/test.out dosyasını lfn:/grid/sgdemo/test.outLFC kaydı altında, se.ulakbim.gov.tr depolama elemanına kopyala. (-v verbose özelliğini kullanarak) • Komutun çıktısı olarak bize se.ulakbim.gov.tr’ye kopyalanan test.out dosyası için oluşturulmuş GUID geri döner: guid:5dfb82d2-c26a-444a-8c83-9d2c35d84d05gibi...
Akademik Bilişim 2007, Dumlupınar Üniversitesi16/32 Dosya ve Replika Yönetimi - Örnekler • lcg-rep: $lcg-rep -v --vo sgdemo –dse02.grid.acad.bgguid:5dfb82d2-c26a-444a-8c83-9d2c35d84d05 => sgdemoVO’sunun kullanıcısına ait, guid:5dfb82d2-c26a-444a-8c83-9d2c35d84d05 ile saklanan dosyanın se02.grid.acad.bgisimli Strorage Element’te replikasını oluştur. $lcg-rep -v --vo sgdemo –dse02.grid.acad.bglfn:/grid/sgdemo/test.out => sgdemoVO’sunun kullanıcısına ait, lfn:/grid/sgdemo/test.outile saklanan dosyanın se02.grid.acad.bgisimli Strorage Element’te replikasını oluştur. $lcg-rep -v --vo sgdemo –dse02.grid.acad.bgsfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/2006-11-10/fileX => sgdemoVO’sunun kullanıcısına ait, sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/2006-11-10/fileX ile saklanan dosyanın se02.grid.acad.bgisimli Strorage Element’te replikasını oluştur.
Akademik Bilişim 2007, Dumlupınar Üniversitesi17/32 Dosya ve Replika Yönetimi - Örnekler • lcg-lr: $ lcg-lr --vo sgdemo lfn:/grid/sgdemo/test.out => sgdemoVO’sunun kullanıcısına ait, LFC’de lfn:/grid/sgdemo/test.outalias’ıile saklanan tüm replikaları listele. • Komutun çıktısı: sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/2006-11-10/fileX sfn:// se02.grid.acad.bg /storage/sgdemo/generated/2007-02-11/fileY
Akademik Bilişim 2007, Dumlupınar Üniversitesi18/32 Dosya ve Replika Yönetimi - Örnekler • lcg-lg: $ lcg-lg --vo sgdemo sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/2006-11-10/fileX => sgdemoVO’sunun kullanıcısına ait, SE’de sfn://se.ulakbim.gov.tr/storage3/sgdemo/generated/2006-11-10/fileX ile saklanan dosyanın GUID’sini getir YA DA $ lcg-lg --vo sgdemo lfn:/grid/sgdemo/test.out => sgdemoVO’sunun kullanıcısına ait, LFC’de lfn:/grid/sgdemo/test.out ile kayıtlı dosyanın GUID’sini getir
Akademik Bilişim 2007, Dumlupınar Üniversitesi19/32 Dosya ve Replika Yönetimi - Örnekler • lcg-cp: $ lcg-cp --vo sgdemo -t 100 -v lfn:/grid/sgdemo/test.out file:///tmp/test.kopya => sgdemoVO’sunun kullanıcısına ait, LFC’de lfn:/grid/sgdemo/test.out ile kayıtlı dosyayı, timeout 100 saniye olacak şekilde, lokale (kullandığım kullanıcı arayüz makinasına) /tmp/ altına test.kopya olarak kopyala. (verbose ederek) • Diğer komutlarda da olduğu gibi lfn yerine guid ya da sfn de kullanılabilir.
Akademik Bilişim 2007, Dumlupınar Üniversitesi20/32 Dosya ve Replika Yönetimi - Örnekler • lcg-del: $ lcg-del --vo sgdemo -s se.ulakbim.gov.tr guid:91b89dfe-ff95-4614-bad2-c538bfa28fac => sgdemoVO’sunun kullanıcısına ait, 91b89dfe-ff95-4614-bad2-c538bfa28fac GUID’li grid dosyasının se.ulakbim.gov.tr’deki replikasını sil. $ lcg-del --vo sgdemo–a guid:91b89dfe-ff95-4614-bad2-c538bfa28fac => sgdemoVO’sunun kullanıcısına ait, 91b89dfe-ff95-4614-bad2-c538bfa28fac GUID’li grid dosyasının tüm replikalarını sil.
Akademik Bilişim 2007, Dumlupınar Üniversitesi21/32 Dosya ve Replika Yönetimi - Örnekler • lcg-aa: $ lcg-aa --vo sgdemo guid:91b89dfe-ff95-4614-bad2-c538bfa28fac lfn:/grid/sgdemo/yeni_alias => sgdemoVO’sunun kullanıcısına ait, 91b89dfe-ff95-4614-bad2-c538bfa28fac GUID’li grid dosyası için LFC’de lfn:/grid/sgdemo/yeni_aliasisimli yeni bir alias tanımla. $lcg-la --vo sgdemo guid:91b89dfe-ff95-4614-bad2-c538bfa28fac(Belirtilen GUID’ye ait bütün alias’ları listele.) Komutun çıktısı: lfn:/grid/sgdemo/test.out (eski alias) lfn:/grid/sgdemo/yeni_alias (eklenen yeni alias)
Akademik Bilişim 2007, Dumlupınar Üniversitesi22/32 Dosya ve Replika Yönetimi - Örnekler • lcg-ra: $ lcg-ra --vo sgdemo guid:91b89dfe-ff95-4614-bad2-c538bfa28faclfn:/grid/sgdemo/test.out => sgdemoVO’sunun kullanıcısına ait, 91b89dfe-ff95-4614-bad2-c538bfa28fac GUID’li grid dosyası için LFC’deki lfn:/grid/sgdemo/test.out alias’ınısil. $lcg-la --vo sgdemo guid:91b89dfe-ff95-4614-bad2-c538bfa28fac(Belirtilen GUID’ye ait bütün alias’ları listele.) Komutun çıktısı: lfn:/grid/sgdemo/yeni_alias(test.out alias’ı silindiği için artık listede görünmüyor.)