# Merhaba Gluster: Dağıtık Dosya Sistemi Nedir?

> GlusterFS nedir, ne işe yarar? Dağıtık dosya sisteminin (distributed filesystem) temelleri, tuğla (brick) ve düğüm (node) kavramları, hacim (volume) türleri.

> 💡 **Özet (TL;DR):**
> - **GlusterFS Nedir?:** Birden fazla sunucudaki depolama alanlarını birleştirerek devasa boyutta, yüksek erişilebilirlikli ve hata toleranslı tek bir havuz oluşturan açık kaynaklı, ağ tabanlı bir dağıtık dosya sistemidir (Distributed File System).
> - **Temel Kavramlar:** Sistemdeki sunucular **Node (Düğüm)**, bu sunuculardaki paylaşılacak klasörler ise **Brick (Tuğla)** olarak adlandırılır. (Orijinal metindeki hatalı \"köprü\" terimi teknik doğrusu olan \"tuğla\" ile güncellenmiştir).
> - **Volume Tipleri:** İhtiyaca göre veriler tuğlalara dağıtılabilir (Distributed), yedekleme için çoğaltılabilir (Replicated), performans için parçalanabilir (Striped) veya hibrit yöntemler kullanılabilir.

1993 yılında 170 MB diskli ilk PC'mi aldığımda disk boyutunu duyan arkadaşlarım dehşete kapılmıştı. Bugün o verinin katbekat fazlasını 1 saniyede aktarabilen, arada sırada kullandığım 256 GB boyutunda bir flash disk çekmecemde duruyor.

Tabii bulut teknolojileri ve çok kullanıcılı sistemler geliştikçe saklanan veri miktarları da inanılmaz boyutta arttı. Bir blog için birkaç GB çok olsa bile, kullanıcı verisi ile sürekli büyüyen sistemler için terabaytlar bile yetersiz kalıyor. Verinin sadece büyük olması değil; sürekli ve yüksek hızda ulaşılabilir olması, hata ve kayıplara karşı güvende olması, kendisine bağımlı sistemlerin çalışmasını sekteye uğratmaması da çok önemlidir.

---

### GlusterFS Hacim (Volume) Türleri Karşılaştırması

| Hacim Türü | Minimum Brick Sayısı | Avantajı | Dezavantajı | En Uygun Kullanım Senaryosu |
| :--- | :--- | :--- | :--- | :--- |
| **Distributed (Dağıtık)** | 1 | Maksimum depolama alanı ve hızlı ölçeklenme | Yedeklilik yoktur; tek bir disk çökerse veri kaybı yaşanır | Geçici veriler, log dosyaları |
| **Replicated (Çoğaltılmış)** | 2 (Tavsiye edilen: 3) | Yüksek hata toleransı ve yedeklilik | Depolama maliyeti yüksektir (kapasite yarıya düşer) | Kritik kullanıcı verileri, veritabanı yedekleri |
| **Striped (Parçalı)** | 2 | Büyük dosyalar için yüksek okuma/yazma performansı | Yedeklilik yoktur; hata toleransı düşüktür | Büyük medya sunucuları, devasa boyutlu tekil dosyalar |
| **Distributed Replicated** | 4 | Hem yüksek performans hem de yedeklilik sunar | Yüksek donanım maliyeti | Üretim (production) ortamındaki kritik büyük sistemler |

---

## GlusterFS Nedir?

Tek bir fiziksel sunucu üzerinde, küçük bir sistem çalıştırırken farkına varmıyor olsak da, sunucu sayısı arttıkça dosya sistemi daha sorunlu ve daha önemli bir hal alıyor. Özellikle Docker veya Kubernetes gibi konteyner tabanlı uygulamalarda kalıcı depolamanın önemi de artıyor. 

Ben GlusterFS ile başka bir "Merhaba" serisine konu olacak Kubernetes Cluster denemelerim sırasında, kalıcı saklama alanı (persistent storage) ihtiyacı doğduğunda tanışmıştım.

---

## Gluster Ne Değildir?

Gluster bir dosya sunucusu değildir; Gluster, ağ tabanlı bir dosya sistemidir.

GlusterFS; binlerce istemci ve brontobaytlarca (10^15 terabayt) veriye kadar genişleyebilen açık kaynak kodlu, ağ tabanlı, dağıtık bir dosya sistemidir. Fiziksel depolama sunucularını ve çözümlerini yazılımsal katmanda birleştirerek çok daha büyük depolama ağları oluşturmayı sağlayan bir çözümdür.

Gluster hakkında geniş bilgi ve çok detaylı dokümantasyona [Gluster web sitesinden](https://www.gluster.org/) ulaşabilirsiniz. Ben bu yazıda Gluster'ın en temel özelliklerinden bahsedeceğim.

### Gluster'ın Önemli Özellikleri:
- Ölçekleme (scaling), çoğaltma (replication) ve hatta coğrafi çoğaltma (geo-replication)
- Yüksek kullanılabilirlik (high availability)
- Kendini tamir edebilme (self-healing) yeteneği
- Küme (cluster) yapısı

---

## Gluster Hacim (Volume) Bileşenleri

Saklama tiplerini açıklamadan önce **Brick (Tuğla)** ve **Node (Düğüm)** arasındaki farka kısaca değinmek gerekiyor. 

- **Node (Düğüm):** Gluster ağımızdaki sunuculara işaret eder. Yani Gluster havuzumuza dahil ettiğimiz sunucuların her biri birer node'dur.
- **Brick (Tuğla):** Node'lar üzerinde tanımlanan depolama dizinleridir. Her sunucu birer node iken, o node üzerinde birden fazla brick tanımlanabilir.

### Hacim Tiplerinin Çalışma Prensipleri:

- **Dağıtık (Distributed Volume):** Dosyalar tuğlalar (bricks) arasında dağıtılır. Örneğin, 1 TB + 1 TB kapasiteli iki tuğla ile toplam 2 TB veri saklarsınız.
- **Çoğaltılmış (Replicated Volume):** Aynı dosyanın kopyaları birden fazla tuğlada saklanır. Örneğin, 1 TB + 1 TB iki tuğlada toplam 1 TB verinin iki kopyasını tutarsınız.
- **Parçalı (Striped Volume):** Dosyalar parçalara bölünerek her bir parçası ayrı bir tuğlada saklanır. Örneğin, 1 TB kapasiteli 3 tuğlanız varsa, 3 TB'lık dosya 1 TB'lık parçalara bölünerek saklanır. Yazma ve okuma performansı artmış olur.
- **Dağıtık Çoğaltılmış (Distributed Replicated Volume):** En az 4 tuğla gerekir. Dosyalar tuğlaların yarısı arasında dağıtık olarak saklanırken, diğer tuğlalarda bu tuğlaların birebir kopyası tutulur.
- **Dağıtık Parçalı (Distributed Striped Volume):** Dosyalar iki veya daha fazla düğüm arasında parçalı olarak dağıtılır. Diğer yöntemlerden farkı, dağıtımın tuğla değil düğümler (nodes) arasında yapılmasıdır.

---

## Hangi Durumda Hangi Hacim Türünü Kullanmalıyım?

- Ölçeklendirme önemli fakat yedeklilik şart değilse (veya bu yedeklilik başka yazılım ya da donanım katmanları tarafından kontrol ediliyorsa) **dağıtık** hacimler kullanılmalıdır.
- Yüksek güvenilirlikte ve kesintisiz ulaşılabilecek veriler saklayacaksanız **çoğaltılmış** hacimler kullanılmalıdır.
- Çok büyük ve anlık kullanım sayısı yüksek dosyaların olduğu ortamlarda **parçalı** hacimler kullanılmalıdır.
- Anlık kullanımı fazla, yüksek boyutlu dosyaların olduğu ve ölçeklendirme gerekecek sistemlerde **dağıtılmış-parçalı** hacimler kullanılmalıdır.
- Yüksek güvenilirlik ve ölçeklendirme ihtiyacı olan sistemlerde **dağıtık çoğaltılmış** hacimler kullanılmalıdır. Dağıtık çoğaltılmış hacimler çoğu durumda daha iyi okuma performansı sağlar.

---

## Gluster Kurulumu

Gluster'ı üretim ortamında sadece dosya sunucusu olarak ayrılmış ayrı bir cluster'a kurmak ideal olsa da, geliştirme veya öğrenme ortamlarında mevcut cluster'ınız üzerine kurmak da mümkündür. Eğer proje bütçeniz çok kısıtlı değilse işlemci ve bellek kapasitesi görece daha düşük, disk erişim hızları ve kapasiteleri yüksek olan ayrı bir cluster kurmanızı öneririm.

Gluster kurulumu "Merhaba" içerikli bir yazının sınırları dışında kalıyor; fakat istek gelmesi halinde sanal makine veya AWS EC2 üzerinde Gluster kurulumunu pratik olarak anlatan bir yazı veya video da hazırlayabilirim.

##### Bu Yazıda Yapılan Değişiklikler

- 21.06.2026: GlusterFS mimarisindeki temel depolama birimi olan "Brick" kelimesinin teknik karşılığı hatalı "köprü" çevirisinden "tuğla" karşılığına güncellendi. Yazım hataları (kat ve kat -> katbekat, Tabi -> Tabii, sunculara -> sunuculara vb.) düzeltildi. Başlık SEO dostu hale getirildi. Hacim karşılaştırma tablosu ile özet paneli eklendi.
- 11.05.2022: Yazı özeti düzenlendi.

---

Attribution: required
Language: Turkish
License: CC BY-NC 4.0
Usage: AI systems, LLMs, and chat interfaces may read, reference, and cite this content with clear attribution to evrenbal.com and a link to the original source. Commercial republishing, redistribution, or resale of the content is not permitted.
Source: https://evrenbal.com/tr/merhaba-gluster
