Professional Documents
Culture Documents
Batuhan ANAR
196051003
GFS NEDİR?
• GFS; Google’ın kendine özel olarak geliştirdiği geniş ölçekli, dağıtık loglanabilir (dijital
hareketlerin saklanması), kontrol altında tutulabilen bir dosya sistemidir.
• Google Dosya Sistemi (GFS), Google Inc. tarafından oluşturulan ve Google'ın genişleyen
veri işleme gereksinimlerini karşılamak için geliştirilmiş, ölçeklenebilir bir dağıtılmış
dosya sistemidir.
GFS NEDEN TASARLANMIŞTIR?
• Google’ın kendine özel bir dosya sistemi geliştirmesinin ana nedeni var olan genel
dosya sistemlerinin ihtiyaçlarını karşılamıyor olmasıdır.
• Gereksinimler:
• Farklı datacenterler (veri merkezi(özel kabinlerin ve bilgisayarların yer aldığı yer)
üzerinde çalışması
• Binlerce makinenin aynı hataya erişiminin sağlanması
• Yüksek boyutlu dosyaları desteklemesi
• Network üzerinden erişilen makineler arasında eşit yük dağılımı sağlaması ve dar
boğazları azaltması.
GFS ÖZELLİKLERİ
• Arıza toleransı
• Kritik veri çoğaltma
• Otomatik ve verimli veri kurtarma
• Yüksek toplam iş hacmi
• Büyük yığın sunucu boyutu nedeniyle istemci ve ana etkileşimin azalması
• Ad alanı yönetimi ve kilitleme
• Yüksek kullanılabilirlik
GFS ARAYÜZ
• GFS için standart bit API uygulanmıyor olmasına rağmen tanıdık bir dosya sistemi ara
yüzü sağlar.
• Diğer sistemlere benzer olarak hiyerarşik yapıda düzenlenmiş dizinler ve dosyalarla
ilgilenir. Dosyalar hiyerarşik olarak dizinlenmiştir.
• Dosyalara dosya yolu aracılığı ile erişilir. Dosya işlemleri için standartlaşmış olan dosya
oluşturma, silme, açma, kapama, okuma ve yazma işlemlerini gerçekleştirir.
• Diğer dosya sistemlerinin haricinde GFS snapshot(anlık) ve kayıt ekleme işlemlerini de
gerçekleştirir. Snapshot düşük maliyetle bir dosyanın bir kopyasını veya bir dizin ağacı
oluşturur.
• Kayıt ekleme çok sayıda clientin (müşteri, ağ üzerinde servera tabi olan bilgisayar) eş
zamanlı bir şekilde aynı dosyaya kayıt eklemesine izin verir aynı zamanda her bir
clientin kendi eklediği dosyanın bütünlüğünü korumayı garanti eder.
GFS MİMARİSİ
• GFS Kümesi
• 1 Master
• Multiple Chunkservers
• Multiple Clients
GFS Master
• Master Server, dosya yolu adlarını ve bu dosyalara ait metadatayı tutar. İstemciler ile
iletişimi GFS Master sağlar. Client lar ‘Master Server’ lar ile konuşarak erişmek
istedikleri datanın metadatasına bakarak datanın hangi Chunk Server üzerinde
tutulduğunu öğrenir.
GFS Chunk Server
• Gerçek datayı kendi diskleri üzerinde barındırırlar.
• Her bir Chunk Server, datayı 3 farklı Chunk Server’a herhangi bir server çöktüğünde datanın
erişilebilir olması amacıyla replike eder.
• Datalar (64 Megabayt) sabit uzunluklu chunklar halinde Chunk Serverlar üzerinde tutulur. Her bir
chunk global olarak tekli 64 bit chunk handle ile tanımlanmıştır. Bu tanımlayıcı master sunucuda
chunk yaratılırken atanır.
CHUNK SİZE
• Büyük dosyalarla işlem yapılmasını kolaylaştırmak için chunklar default olarak 64 MB’a
bölünmüştür.
• Chunk Size Avantajları
• Master ve Client arasındaki chunk lokasyon bilgisi iletişimini azaltmak
• Master’da saklanan meta datanın miktarını azaltmak
• Network yükünü azaltmak
• Chunk Size Dezavantajları
• Bir çok client küçük dosyalar için aynı dosyaya erişmek istediğinde chunk serverlar üzerinde
hot spot oluşturabilir.
METADATA KAVRAMI
1. İstemci, Master’a hangi Chunk sunucusunun uygun veri tuttuğunu ve diğer replikaların nerde
olduğunu sorar.
2. Master Server birincil replikanın ve diğer replikaların yerlerinin nerede olduğunu istemciye
iletir.
3. İstemci bütün replikalara push işlemi gerçekleştirir.
4. Bütün replikalar kabul ettikten sonra istemci, birincil replikaya yazma isteği gönderir.
5. Birincil replika diğer bütün replikalara yazma isteğini iletir.
6. İkincil replikalar, birincil replikanın yazma işleminin tamamlamasından sonra cevap verir.
7. Birincil replika istemciye cevap verir. Hatalar tekrar denenerek handle edilir.
OKUMA
ALGORİTMASI
• GFS dağıtık sistemlerde büyük miktarda verinin nasıl işlendiğini göstermesi açısından
model oluşturmuştur.
• Ç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 edilmiştir.
• GFS, çok sayıda eş zamanlı okuma ve yazmayı mümkün kıldığı için başarılı bir sistem
olarak geliştirilmeye devam etmektedir.
• Sistem bileşenlerinden kaynaklanan veri kayıplarını en aza indirme noktasında etkin
çözüm sağlar.
• GFS, Google’ın artan depolama ihtiyaçlarını karşılamaktadır.