Tüm Sistemler Çalışıyor
Network Durumu
Ana Sayfa Blog Linux Sunucuda Disk Alanı Yönetimi: Adım Adım Rehber ve En İyi Uygulamalar

Linux Sunucuda Disk Alanı Yönetimi: Adım Adım Rehber ve En İyi Uygulamalar

Linux Sunucuda Disk Alanı Yönetimi: Adım Adım Rehber ve En İyi Uygulamalar

Giriş: Disk Alanı Sorunları Neden Kritik?

Bir Linux sunucusunda disk doluluğu, sadece depolama kapasitesinin tükenmesi anlamına gelmez; aynı zamanda performans düşüşü, yedekleme hataları ve hatta hizmet kesintileri gibi ciddi riskleri beraberinde getirir. Özellikle VDS sunucu paketleri gibi paylaşımlı ortamlar, kaynak sınırları nedeniyle disk alanı yönetimini ihmal eden kullanıcılar için %30‑40 daha yüksek maliyet oluşturabilir. Bu makalede, disk alanı yönetiminin temellerinden ileri seviye LVM (Logical Volume Manager) işlemlerine kadar kapsamlı bir rehber sunacağız.

Yaygın hatalar arasında “/var/log” klasörünün kontrol edilmemesi, eski yedeklerin silinmemesi ve gereksiz paketlerin sistemde kalması yer alır. Bu hatalar, yıllık bakım maliyetinizi 5 kat artırabilir. Aşağıda, bu sorunları önlemek ve disk kullanımını optimize etmek için adım adım bir yol haritası bulacaksınız.

Disk Kullanımını Analiz Etme: Temel Araçlar ve Komutlar

Disk Kullanımını Analiz Etme: Temel Araçlar ve Komutlar - Linux Sunucuda Disk Alanı Yönetimi
Disk Kullanımını Analiz Etme: Temel Araçlar ve Komutlar

Disk alanı yönetiminin ilk adımı, mevcut kullanım durumunu doğru bir şekilde analiz etmektir. Linux'ta bu iş için df ve du komutları vazgeçilmezdir. df -h komutu, dosya sistemlerinin toplam, kullanılan ve boş alanını insan tarafından okunabilir formatta (GB, MB) gösterir. Örneğin:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   38G   10G  80% /

Bu çıktıda, kök (/) dosya sisteminin %80 dolu olduğu görülür; bu oran, acil bir temizlik veya genişletme gerektirebilir. du -sh /var/log gibi komutlar ise belirli bir dizinin ne kadar yer kapladığını özetler. -h parametresi insan dostu bir format sağlar, -s ise sadece toplamı verir.

Bir diğer etkili araç WordPress hosting müşterileri için ncdu (NCurses Disk Usage)’dır. Bu interaktif arayüz, klasörleri ve dosyaları boyutlarına göre sıralayarak hızlı bir temizlik imkanı tanır. Disk analizi sırasında “inode” tüketimini de unutmamak gerekir; df -i komutu inode kullanımını gösterir ve çok sayıda küçük dosya nedeniyle inode tükenmesi durumlarını önler.

Gereksiz Dosyaları Temizleme: Log, Cache ve Paket Yönetimi

Disk alanı sorunlarını çözmenin en hızlı yolu, gereksiz dosyaları temizlemektir. Sistem logları, paket önbellekleri ve geçici dosyalar genellikle en büyük tüketicilerdir. /var/log klasöründe eski log dosyalarını logrotate ile otomatik döndürmek, disk kullanımını %15‑20 oranında azaltabilir. Örneğin, /etc/logrotate.d içinde ilgili ayarları kontrol edin ve “rotate 7” gibi bir değerle haftalık döndürme yapın.

Paket yöneticisi önbelleklerini temizlemek için Debian/Ubuntu tabanlı sistemlerde apt-get clean, RedHat/CentOS tabanlılarda ise yum clean all komutlarını kullanabilirsiniz. Bu komutlar, indirilen .deb ve .rpm paketlerini silerek birkaç gigabayt boş alan yaratır.

Cache dosyaları da göz ardı edilmemelidir. /var/cache altında biriken apt, yum ve web sunucu (nginx, apache) cache’leri, rm -rf /var/cache/* gibi temizlik komutlarıyla güvenle kaldırılabilir. Ancak, silmeden önce hizmetlerin durdurulması (ör. systemctl stop nginx) önerilir.

LVM ile Disk Genişletme: Mantıksal Hacimleri Dinamik Olarak Artırma

Linux sunucularda en esnek depolama yönetimi LVM (Logical Volume Manager) ile sağlanır. LVM, fiziksel diskleri (PV) birleştirerek bir veya birden fazla mantıksal hacim (LV) oluşturmanıza imkan tanır. Bu sayede, disk alanı dolduğunda yeni bir disk ekleyip mevcut LV’yi genişletebilirsiniz. Aşağıda, adım adım LVM genişletme süreci anlatılmıştır:

  1. Yeni Disk Ekleyin: Fiziksel sunucuda yeni bir SSD takın ve fdisk /dev/sdb ile bölümlendirin.
  2. PV Oluşturun: pvcreate /dev/sdb1 komutu, yeni bölümü LVM için hazırlar.
  3. VG’ye Ekleyin: Mevcut volume group (ör. vg01) içine vgextend vg01 /dev/sdb1 komutuyla yeni PV’yi ekleyin.
  4. LV’yi Genişletin: lvextend -l +100%FREE /dev/vg01/lv_root komutu, tüm boş alanı kök (root) hacmine ekler.
  5. Dosya Sistemini Yeniden Boyutlandırın: Ext4 için resize2fs /dev/vg01/lv_root, XFS için xfs_growfs / kullanın.

Bu adımlar, sunucunuzun kesintisiz çalışmasını sağlar; çünkü LVM, genişletme sırasında dosya sistemini kapatmadan büyütebilir. Ancak, kritik bir veri kaybını önlemek için her zaman veri merkezimiz üzerinden yedek almanız önerilir.

Dosya Sistemi Kontrolü ve Onarımı: fsck ve Btrfs Özellikleri

Dosya Sistemi Kontrolü ve Onarımı: fsck ve Btrfs Özellikleri - Linux Sunucuda Disk Alanı Yönetimi
Dosya Sistemi Kontrolü ve Onarımı: fsck ve Btrfs Özellikleri

Disk alanı sorunları bazen dosya sistemi bozulmasından kaynaklanır. Özellikle beklenmedik kapanışlar, fsck (file system check) aracını kullanarak dosya sistemi bütünlüğünü kontrol etmeyi zorunlu kılar. fsck -f /dev/sda1 komutu, dosya sistemini zorlayarak hataları tarar ve onarır. Bu işlem, özellikle ext4 ve ext3 dosya sistemlerinde kritik öneme sahiptir.

Btrfs gibi modern dosya sistemleri ise btrfs check ve btrfs scrub gibi yerleşik araçlarla daha gelişmiş bütünlük kontrolü sunar. btrfs scrub /mnt/data komutu, veri bloklarını kontrol eder ve bozuk blokları otomatik olarak düzeltir. Bu sayede, disk hatalarının %90’ı önceden tespit edilerek veri kaybı riski azaltılır.

Dosya sistemi kontrolü sırasında, sunucunun tek kullanıcı (single‑user) modunda olması önerilir. systemctl isolate rescue.target komutu, minimum hizmetle çalışarak güvenli bir kontrol ortamı sağlar.

Disk Bölümlendirme ve Montaj Stratejileri: Performans ve Güvenlik

Doğru bölümlendirme, hem performans hem de güvenlik açısından kritik bir rol oynar. Örneğin, /var, /home ve /tmp gibi dizinleri ayrı ayrı bölümlere ayırmak, bir dizindeki aşırı doluluk durumunun diğer sistem dizinlerini etkilemesini engeller. Ayrıca, /tmp için noexec ve nodev gibi mount seçenekleri eklemek, kötü amaçlı script çalıştırma riskini %70 azaltabilir.

Aşağıda, tipik bir web sunucusu için önerilen bölümlendirme şeması ve mount seçenekleri yer almaktadır:

DizinBoyutMount Seçenekleri
/20Gdefaults
/var30Gdefaults,noatime
/home50Gdefaults,nodev
/tmp5Gdefaults,noexec,nodev
/var/www100Gdefaults,nosuid

Bu yapı, web uygulamalarının veri dosyalarını /var/www içinde tutarak, diğer sistem dosyalarından izole eder ve nosuid seçeneği ile set‑uid programlarının çalıştırılmasını engeller. Böyle bir konfigürasyon, SEO hosting hizmetlerinde de güvenilir performans sağlar.

Gerçek Dünya Senaryosu: Bir E‑Ticaret Sitesinin Disk Krizi ve Çözümü

Bir e‑ticaret sitesinin yoğun kampanya döneminde, /var/www dizinindeki ürün görselleri ve günlük yedek dosyaları nedeniyle disk %95 doldu. Bu durum, siparişlerin işlenmesini durdurdu ve %12 gelir kaybına yol açtı. Sorunu çözmek için aşağıdaki adımlar uygulandı:

  • Log dosyaları logrotate ile haftalık döndürülerek 12 GB boş alan yaratıldı.
  • Eski yedekler rsync ile ayrı bir NAS cihazına taşındı, --remove-source-files parametresiyle yerel kopyalar silindi.
  • Yeni 200 GB SSD takıldı, LVM üzerinden vgextend ve lvextend komutlarıyla /var/www hacmi genişletildi.
  • Dosya sistemi resize2fs ile genişletildi ve df -h çıktısı %45’e indi.

Bu müdahaleler sonucunda, site 2 saat içinde tekrar hizmete açıldı ve kampanya süresince %5 daha fazla sipariş alındı. Bu örnek, disk yönetiminin sadece teknik bir gereklilik değil, aynı zamanda iş sürekliliği ve gelir üzerinde doğrudan etkisi olduğunu gösteriyor.

Sıkça Sorulan Sorular

Disk alanı %100 dolduğunda sunucu otomatik olarak kapanır mı?

Hayır, Linux çekirdeği disk doluluğunu algıladığında yeni dosya yazma işlemlerini reddeder, ancak sistem kapanmaz. Ancak, kritik hizmetler (ör. veritabanları) hatalar verebilir ve performans ciddi şekilde düşer.

LVM genişletme sırasında veri kaybı riski var mı?

Doğru adımlarla (pvcreate, vgextend, lvextend, resize2fs) veri kaybı riski çok düşüktür. Yine de, işlemlere başlamadan önce rsync veya tar ile tam yedek almanız önerilir.

ext4 yerine XFS dosya sistemi kullanmak daha iyi mi?

XFS, büyük dosyalar ve yüksek paralel I/O için daha iyidir, ancak ext4 daha geniş bir uyumluluk sunar. Seçim, kullanım senaryonuza ve donanımınıza bağlıdır.

Disk temizliği sırasında hangi dosyalar silinmemeli?

Sistemin çalışması için kritik olan /etc, /bin, /sbin ve /boot dizinleri asla silinmemelidir. Ayrıca, veritabanı veri dosyaları (/var/lib/mysql gibi) ve uygulama konfigürasyonları da korunmalıdır.

Sonuç: Disk Alanı Yönetimini Sürekli Bir Süreç Haline Getirin

Linux sunucularda disk alanı yönetimi, bir kerelik bir temizlikten çok, düzenli izleme ve proaktif genişletme adımlarını içeren bir süreç olmalıdır. İlk adım olarak df -h ve du -sh komutlarıyla haftalık raporlar oluşturun. İkinci adım gereksiz dosyaları temizlemek ve log rotasyonunu yapılandırmak; üçüncü adım ise LVM ve dosya sistemi genişletme planlarını önceden hazırlamaktır.

Eğer disk yönetimi konusunda daha fazla destek veya profesyonel bir çözüm arıyorsanız, fiziksel sunucu (dedicated server) seçeneklerimizi inceleyebilir, ihtiyaçlarınıza uygun kapasite ve yedekleme politikalarıyla sorunsuz bir altyapı oluşturabilirsiniz. Unutmayın, disk alanı yönetimi sadece teknik bir görev değil, işletmenizin kesintisiz çalışması için kritik bir stratejidir.