2. Sunum Plan脹
GFS Dosya Sistemi Nedir
GFS Neden Tasarlanm脹t脹r
Tasar脹ma Genel Bak脹
Aray端z
Mimari
Master Server
Chunk Server
Metadata
Okuma/Yazma Algoritmalar脹
Master 聴lemleri
旦p Toplama Mekanizmas脹
Hata T旦lerans脹
Veri B端t端nl端端
Sonu巽lar
3. GFS; Google脹n kendine 旦zel olarak gelitirdii geni
旦l巽ekli(large scale), da脹t脹k loglanabilir (distributed
transaction log), kontrol alt脹nda tutulabilen(structured)
bir dosya sistemidir.
Google Dosya Sistemi Nedir?
4. Google脹n kendine 旦zel bir dosya sistemi
gelitirmesinin ana nedeni var olan genel dosya
sistemlerinin ihtiya巽lar脹n脹 kar脹lam脹yor olmas脹d脹r.
Gereksinimler:
Farkl脹 datacenter ler 端zerinde 巽al脹mas脹
Binlerce makinenin ayn脹 dataya eriiminin salanmas脹
(read, also write)
Y端ksek boyutlu dosyalar脹 desteklemesi
Network 端zerinden eriilen makineler aras脹nda
eit y端k da脹l脹m脹 salamas脹(distrubiton of operations) ve dar
boazlar脹 azaltmas脹(reduce bottlenecks).
GFS Neden Tasarlanm脹t脹r?
5. GFS i巽in standart bir API uygulanm脹yor olmas脹na ramen tan脹d脹k bir
dosya sistemi aray端z端 salar. Dier sistemlere benzer olarak
hiyerarik yap脹da d端zenlenmi dizinler ve dosyalarla ilgilenir. Dosyalar
hiyerarik olarak dizinlenmitir. Dosyalara dosya yolu ad脹(pathname)
arac脹l脹脹yla eriilir. Dosya ilemleri i巽in standartlam脹 olan dosya
oluturma, silme, a巽ma, kapama, okuma ve yazma ilemlerini
ger巽ekletirir.
Dier dosya sistemlerinin haricinde GFS snapshot(anl脹k) ve kay脹t
ekleme ilemlerini de ger巽ekletirir. Snapshot d端端k maliyetle bir
dosyan脹n bir kopyas脹n脹 veya bir dizin aac脹 oluturur. Kay脹t
ekleme(Record append) 巽ok say脹da clientin e zamanl脹 bir ekilde ayn脹
dosyaya kay脹t eklemesine izin verir ayn脹 zamanda her bir clientin
kendi ekledii dosyan脹n b端t端nl端端n端 korumay脹 garanti eder. ok
y旦nl端 birletirme, bir 巽ok clientin ayn脹 anda locklama olmadan
ekleme yapabilmesini salar.
Aray端z
7. GFS Master
Master Server, dosya yolu adlar脹n脹 ve bu dosyalara ait
metadatay脹 tutar. 聴stemciler ile iletiimi GFS Master salar.
Client lar `Master Server` lar ile konuarak erimek istedikleri
datan脹n metadatas脹na bakarak datan脹n hangi Chunk Server
端zerinde tutulduunu 旦renir.
8. GFS Chunk Server
Ger巽ek datay脹 kendi diskleri 端zerinde bar脹nd脹r脹rlar.
Her bir Chunk Server, datay脹 3 farkl脹 Chunk Servera herhangi bir server
巽旦kt端端nde datan脹n eriilebilir olmas脹 amac脹yla replike eder.
Datalar (64 Megabyte) sabit uzunluklu chunklar halinde Chunk Server lar
端zerinde tutulur. Her bir chunk global olarak tekil 64 bit chunk handle ile
tan脹mlanm脹t脹r. Bu tan脹mlay脹c脹 master sunucuda chunk yarat脹l脹rken atan脹r.
9. Chunk Size
B端y端k dosyalarla ilem yap脹lmas脹n脹 kolaylat脹rmak i巽in chunklar
default olarak 64 MBa b旦l端nm端t端r. Konfig端re edilebilir.
Chunk Size Avantajlar脹
Master ve Client aras脹ndaki chunk lokasyon bilgisi iletiimini azaltmak.
Masterda saklanan metadata n脹n miktar脹n脹 azaltmak.
Network y端k端n端 azaltmak.
Chunk Size Dezavantajlar脹
Bir 巽ok client k端巽端k dosyalar i巽in ayn脹 dosyaya erimek istediinde
chunk serverlar 端zerinde hot spot oluturabilir.
10. Metadata Kavram脹
Master Server, 3 tip metadata bilgisi saklar.
1. Dosya ad脹 ve bal脹 olduu Chunk ad脹
2. Dosyalardan Chuncklara Haritalama
3. Her bir Chunck replikalar脹n脹n yerleri
B端t端n metadata Master Serverin haf脹zas脹nda saklan脹r.
聴lk 2 tip metadata loglama ilemi i巽inde kullan脹l脹r.
11. Masterin G旦rev ve Sorumluluklar脹
Metadata bilgilerini tutar.
Namespace y旦netimini salar.
Periyodik olarak her bir Chunk sunucusuyla HeartBeat
(Kalp at脹脹) ismi verilen mesajlarla iletiime ge巽erek,
onlar脹n durumlar脹n脹 s端rekli kontrol eder.
Yeni bir Chunk Sunucu oluturma.
Veriye eriim h脹z脹n脹 ayarlar, kontrol eder.
Veriler eer belli bir eiin alt脹na d端m端se verileri
yeniden 巽oaltmak, re-replikasyon.
12. Masterin G旦rev ve Sorumluluklar脹
旦p toplama mekanizmas脹n脹n 巽al脹t脹r脹lmas脹.
Eskiyen kopyalar脹n silinmesi.
13. Sistem Etkileimleri
1. 聴stemci, Mastera hangi Chunk
sunucunun uygun yeri tuttuunu ve
dier replikalar脹n nerde olduunu
sorar.
2. Master Server birincil replikan脹n ve
dier replikalar脹n yerlerinin nerede
olduunu istemciye iletir.
3. 聴stemci b端t端n replikalara push ilemi
ger巽ekletirir
4. B端t端n replikalar kabul ettikten sonra
istemci, birincil replikaya yazma istei
g旦nderir.
5. Birincil replika dier b端t端n replikalara
yazma isteini iletir.
6. 聴kincil replikalar, birincil replikan脹n
yazma ileminin tamamlamas脹ndan
sonra cevap verir.
7. Birincil replika istemciye cevap verir.
Hatalar tekrar denenerek handle edilir.
14. Okuma Algoritmas脹
1. Uygulama, GFS istemciye okuma istei oluturur.
2. GFS istemci, Mastere istei iletir.
3. Master, Chunk handle ve replika lokasyonlar脹n脹
cevap olarak d旦ner.
15. Okuma Algoritmas脹
4. 聴stemci okuma yapaca脹 yeri se巽er ve istek g旦nderir.
5. Chunk sunucu datay脹 GFS istemciye g旦nderir.
6. 聴stemci okuma yapaca脹 verileri uygulamaya iletir.
16. Yazma Algoritmas脹
1. Uygulama istek oluturur.
2. GFS istemci, Mastere istei iletir.
3. Master, GFS istemciye Birincil ve 聴kincil Replika
yerlerini yan脹t olarak d旦ner.
18. Yazma Algoritmas脹
5. 聴stemci, birincil replikaya yazma komutu g旦nderir.
6. Birincil replika yazma komutunun gelmesiyle data
旦rneini kendi buffera al脹r ve chunk a yazar.
7.Birincil replika yaz脹ld脹ktan sonra ikincil replikalara yazma
ileminin yap脹lmas脹 i巽in seri komutlar g旦nderir.
19. Snapshot
Sistemin o an i巽in bir kopyas脹n脹n oluturulduu anl脹k
g旦r端nt端d端r.
ok b端y端k veri setlerinin kopyalar脹n脹n oluturulmas脹
Yap脹lan deiiklii basit bir ekilde geri almak i巽in kontrol noktas脹 g旦revi
g旦r端r.
Master bir snapshot istei ald脹脹 zaman, ilk olarak Chunk
sunucular脹ndaki tamamlanmam脹 g旦revleri iptal ederek
Chunk serverin anl脹k g旦r端nt端s端 al脹n脹r.
20. Replica Management
Veri kullan脹labilirlii ve
g端venilirliini maksimize
etmek.
Bant genilii
kullan脹m脹n脹 maksimize
etmek
Chunk replikalar脹n脹n
makine ve racklar
aras脹nda da脹t脹m脹n脹
salar.
21. Creation, Re-replication and Rebalancing
Replikalar 3 sebeple oluturulur.
Chunk Oluturma
Re-replikasyon
Y端k dengeleme(Load balancing)
Creation
Disk kullan脹m脹 ortalaman脹n alt脹na d端t端端nde replika oluturulur.
Re-replikasyon
Kullan脹labilir replika say脹s脹 kullan脹c脹 taraf脹ndan belirlenen
deerin alt脹na d端t端端nde yeniden replika oluturulur.
Rebalancing
Y端k da脹l脹m脹 GFS Master taraf脹ndan periyodik olarak incelenir ve
daha uygun disk alan脹 bulunduunda y端k dengeleme amac脹yla
replikalar uygun diske ta脹nabilir.
22. 旦p Toplama Mekanizmas脹
Dosya ilk olarak gizli dosya olarak iaretlenir.
聴aretlenen bu gizli dosyalar 3 g端n ge巽tikten sonra silinir.
Dosya silindikten sonra, bellekteki metadatas脹 da silinir.
D端zenli olarak Chunk namespace i taran脹r, ve sahipsiz
chunklar da silinir.
Chunk server lar periyodik olarak sahip olduklar脹 kopyalar脹
raporlar. GFS Master de, masterin metadatas脹nda mevcut
olan b端t端n chunk kimliklerini chunkserver a g旦nderir. Eer
chunk id si master metadatas脹nda bulunmuyorsa
aralar脹nda ba olmayaca脹 i巽in chunk server ilgili replikay脹
silebilir.
23. Hata 旦z端mleri ve nlemleri
Y端ksek Eriebilirlik - S端reklilik
H脹zl脹 kurtarma
Master and Chunkservers birka巽 saniyede yeniden
balat脹labilme.
Chunk Replikasyonu
Her bir chunk farkl脹 chunkserverlar 端zerindeki farkl脹
tracklere kopyalanabilir. Kullan脹c脹lar dosya ad脹n脹n farkl脹
par巽alar脹 i巽in farkl脹 seviyeler belirleyebilir.
Default olarak 3 replika olarak belirlenmitir.
Shadow masters
Verib端t端nl端端n端 kontrol eder.
Her bir Chunk i巽in 64 KB salama blou vard脹r.
24. Veri B端t端nl端端
Her Chunk sunucusu depolanan verilerin bozulup
bozulmad脹脹n脹 tespit etmek checksumming(salama)
kullan脹r.
Checksumlar bellekte tutulur.
Datadan ayr脹 olarak tutulur.
Okuma hatas脹 ald脹脹nda bunu Mastere bildirir.
Master Chunk u tekrar kopyalar.
Dier replikalar okunur ve kar脹lat脹r脹l脹r.
25. Sonu巽lar
GFS da脹t脹k sistemlerde b端y端k miktarda verinin nas脹l ilendiini
g旦stermesi a巽脹s脹ndan model oluturmutur.
ok y端ksek kapasiteli serverlar ve maliyeti fazla olan serverlar
yerine 巽ok say脹da maliyeti uygun serverlar da脹t脹k ve e zamanl脹
olarak kullan脹larak y端ksek performans elde edilmitir.
GFS, 巽ok say脹da e zamanl脹 okuma ve yazmay脹 m端mk端n k脹ld脹脹
i巽in baar脹l脹 bir sistem olarak gelitirilmeye devam etmektedir.
Sistem bileenlerinden kaynaklanan veri kay脹plar脹n脹 en aza
indirme noktas脹nda etkin 巽旦z端m salar.
GFS, Google脹n artan depolama ihtiya巽lar脹n脹 kar脹lamaktad脹r.
26. Data Integrity
Each chunkserver uses checksumming to detect
corruption of stored data.
Checksums are kept in memory.
Separate from data.
On read error, error is reported to master.
Master will re-replicate the chunk.
Requestor read from other replicas
Teekk端rler
Editor's Notes
Google'脹n kendi sistemlerinde kulland脹脹, 巽ok say脹da donan脹m ve cihaz 端zerinde da脹t脹k olarak 巽al脹abilen dosya sistemidir.