iToverDose/Yazılım· 2 HAZIRAN 2026 · 08:02

NAS'inizi Gürültülü Yapan Docker Sorunu ve Çözüm Yolu

NAS cihazınızdan gelen sürekli tıkırtı ve uğultuların Docker yüzünden olduğunu biliyor muydunuz? Mekanik disklerinizi korumak ve sessiz bir sistem elde etmek için yapılması gerekenleri adım adım açıklıyoruz.

DEV Community4 dk okuma0 Yorumlar

NAS cihazınızı satın almanızın en önemli nedenlerinden biri, sessiz ve sürekli çalışan bir depolama çözümü olmasıydı. Oysa Docker kurduktan sonra, disklerin sürekli çalıştığını ve içerisindekilerin neredeyse hiç durmadığını fark ettiniz. Peki, bu gürültünün kaynağı nedir ve nasıl çözülebilir?

Aylar boyunca bu sorunla boğuşan biri olarak, size deneyimlerimi aktarıyorum: Docker'ın varsayılan ayarlarıyla çalışan bir NAS, mekanik disklerinizin sürekli olarak okuma/yazma işlemleri yapmasına neden oluyor. Sonuç? Sürekli bir tıkırtı ve uğultu. Neyse ki, bu sorunu çözmek için uyguladığım yöntemlerle diskleriniz artık neredeyse tamamen sessiz çalışıyor. İşte adım adım çözüm süreci.

Gürültünün Gerçek Nedeni: Docker ve Mekanik Diskler

Mekanik disklerdeki gürültünün ana sebebi, okuma/yazma kafasının sürekli hareket etmesi. Diskin farklı bölgelerine dağılmış küçük dosya işlemleri (rastgele I/O), kafanın daha fazla hareket etmesine ve dolayısıyla daha fazla gürültüye yol açıyor. Docker ise bu durumu iyice kötüleştiriyor.

Docker'ın overlay2 Sürücüsü ve Sürekli I/O

Docker'ın varsayılan depolama sistemi olan overlay2, her bir konteynerin katmanlı dosya sistemleri üzerinde çalışmasını sağlıyor. Her konteyner çalıştırıldığında, Docker, üzerinde değişiklik yapılan dosyaları kopyalayarak yeni bir katman oluşturuyor. Bu işlem, özellikle mekanik disklerde sürekli arama ve okuma/yazma hareketlerine neden oluyor.

  • Her konteyner çalıştırıldığında, Docker'ın metadata dosyaları okunuyor ve güncelleniyor.
  • Konteyner logları sık sık yazılıyor ve bu da sürekli rastgele I/O'ya yol açıyor.
  • Sağlık kontrolleri ve cron işlemleri de sürekli olarak küçük dosyalara erişiyor.

Tüm bu işlemler, disklerinizin asla durmadan çalışmasına ve sürekli gürültü yapmasına neden oluyor. Çok sayıda konteyner çalıştırdığınızda ise bu durum iyice artıyor.

Diğer Sistem İşlemlerinin Katkısı

Docker'ın yanı sıra, tipik bir ev laboratuvarı NAS'ında çalışan diğer sistem işlemleri de disk gürültüsünü artırıyor:

  • Sistem izleme araçları (her 5-10 dakikada bir istatistikleri kaydediyor)
  • systemd günlüklerinin sürekli olarak diske yazılması
  • NAS işletim sisteminin yaptığı otomatik bakım işlemleri

Bu işlemler tek başlarına fazla gürültüye neden olmasa da, Docker'ın sürekli I/O'suyla birleştiğinde, disklerin asla dinlenememesine yol açıyor.

Problemin Kaynağını Belirleme

Docker'ı optimize etmeden önce, hangi işlemlerin disk I/O'sunu en çok artırdığını belirlemek gerekiyor. Bunun için aşağıdaki komutları kullanabilirsiniz:

# Anlık I/O performansı (sysstat gerekli)
sudo iotop -o

# Disk kullanımının zaman içindeki durumu
iostat -x 2 10

Çoğu Docker kurulumunda, Docker daemon'unun en yüksek I/O kullanan işlem olduğunu göreceksiniz. Ayrıca, cron işlemlerinin de periyodik olarak disk I/O'sunu artırdığını fark edebilirsiniz.

Çözüm: Docker Verilerini HDD'den SSD'ye Taşıma

Disklerinizin sürekli gürültü yapmasının temel nedeni, aslında onlardan beklenenden fazla I/O işlemi yapılması. Bu sorunu çözmenin en etkili yolu, Docker verilerini mekanik disklerden, sessiz ve hızlı bir SSD'ye taşımak.

Hangi Verilerin Taşınması Gerekiyor?

  1. Docker data-root dizini: Konteyner katmanları, görüntü önbelleği ve konteyner yazılabilir katmanları burada bulunuyor. Bu dizin, Docker'ın en fazla rastgele I/O yaptığı yerdir.

Docker ayarlarını değiştirmek için /etc/docker/daemon.json dosyasını düzenleyin ve aşağıdaki gibi bir yapılandırma ekleyin:

   {
     "data-root": "/mnt/external-ssd/@docker"
   }
  1. Bağlama noktası (bind mount) hacimleri: Konteynerlerinizin okuduğu ve yazdığı sürekli veriler (örneğin, veritabanları ve yapılandırma dosyaları). Bu verileri de SSD'ye taşımak, konteynerlerin HDD'ye erişimini azaltacaktır.

Bağlama noktalarını taşımak için sembolik bağlantılar kullanabilirsiniz. Bu sayede konteynerler aynı yolları kullanmaya devam ederken, veriler SSD'ye kaydırılmış olur:

   ln -s /mnt/external-ssd/volumes /original/volumes/path

HDD'lerde Kalan Veriler

  • NAS işletim sistemi ve sistem dosyaları
  • Sistem günlükleri
  • Asıl veri dosyalarınız (medya, belgeler, yedeklemeler) — bu veriler genellikle sıralı I/O işlemleriyle çalıştığı için HDD'ler için idealdir ve sürekli arama gürültüsüne neden olmaz.

UGOS Pro Kullanıcıları İçin Önemli Uyarı

Eğer NAS cihazınızda UGREEN'in UGOS Pro işletim sistemi çalışıyorsa, dosya kopyalama işlemlerinde dikkatli olun. rsync komutu kullanırken, bazı durumlarda dosya izinleri bozulabiliyor. Bunun nedeni, UGOS Pro'nun çekirdek düzeyinde ekstra özellikler barındırması.

Bu sorunu çözmek için, dosya kopyalarken rsync yerine aşağıdaki komutu kullanın:

tar --xattrs-exclude='ug.*' -cvf /backup/destination.tar /source/path

Bu komut, özel dosya özniteliklerini koruyarak dosyaların doğru şekilde kopyalanmasını sağlıyor.

SSD'nin Doğru Bir Şekilde Bağlanması

SSD'yi sisteme bağlarken, /etc/fstab dosyasını düzenleyerek otomatik bağlama işlemini ayarlayın:

UUID=<ssd-uuid> /mnt/external-ssd ext4 defaults,noatime,nofail 0 2

Önemli olan iki parametre:

  • noatime: Dosyalar okunduğunda erişim zamanının güncellenmesini engeller. Bu sayede gereksiz yazma işlemleri azalır.
  • nofail: SSD bağlantısı kesildiğinde sistemin düzgün bir şekilde açılmasını sağlar. Aksi takdirde, sistem fstab hatası nedeniyle açılmayabilir.

Sonuç: Tamamen Sessiz Bir NAS Deneyimi

Yapılan bu değişikliklerin ardından, disk gürültüsünde ciddi bir azalma olduğunu göreceksiniz. Önceden sürekli bir tıkırtı ve uğultu varken, artık diskler sadece nadiren (örneğin, sistem günlükleri yazılırken) çalışıyor. Evdeki sessizlik, artık asıl amacına uygun olarak korunuyor.

Unutmayın: Bu çözüm, sadece Docker kullanıyorsanız değil, sisteminizin genel performansını ve disk ömrünü de olumlu yönde etkileyecektir. Artık hem sessiz hem de verimli bir NAS deneyimi yaşayabilirsiniz.

Günümüzde birçok kullanıcı, evlerinde bulut hizmetlerine bağımlı olmaktansa kendi sunucularını kullanmayı tercih ediyor. Docker gibi araçlar sayesinde, bu kurulumlar hem maliyet hem de esneklik açısından büyük avantajlar sağlıyor. Ancak, doğru ayarları yapmadığınızda, beklenmeyen sorunlarla karşılaşabilirsiniz. Bu rehberde paylaştığımız adımları izleyerek, kendi NAS cihazınızı sessiz ve verimli bir şekilde kullanabilirsiniz.

Yapay zeka özeti

Docker kullanan NAS cihazlarınızda oluşan sürekli disk gürültüsünün nedenini ve HDD'leri sessize almak için uygulayabileceğiniz adımları öğrenin.

Yorumlar

00
YORUM BIRAK
ID #R7CVT5

0 / 1200 KARAKTER

İnsan doğrulaması

6 + 9 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.