
İki sunucunuz var, aynı şekilde kurulmuşlardı. Bugün birinde çalışan bir şey diğerinde çalışmıyor. Kimse ne zaman ve neden farklılaştıklarını hatırlamıyor.
Buna yapılandırma sürüklenmesi denir ve zamanla her sistemde oluşur. Bu yazı, VDS sunucu yapılandırmalarının nasıl ayrıştığını ve bunu nasıl kontrol altına alacağınızı anlatıyor.
Sürüklenme Nasıl Oluşur?
Tek bir büyük değişiklikle değil, küçük ve unutulan müdahalelerle:
| Tipik müdahale | Neden unutulur |
|---|---|
| Acil bir sorunu çözmek için ayar değiştirme | Kriz anında belge tutulmaz |
| Test amaçlı bir paket kurma | Kaldırılması unutulur |
| Geçici bir güvenlik duvarı kuralı | Kalıcı hâle gelir |
| Elle eklenen bir zamanlanmış görev | Belgelenmez |
| Bir güncellemenin değiştirdiği varsayılan | Fark edilmez |
Son satır en sinsi olanıdır çünkü kimse bir şey yapmamıştır: bir paket güncellemesi, sizin düzenlediğiniz yapılandırma dosyasının yeni sürümünü getirebilir ve varsayılan ayarlar geri gelir.
Sürüklenmenin Belirtileri
- "Bende çalışıyor" sorunları. Aynı kod farklı sunucularda farklı davranıyor.
- Yeniden kurulamayan sistem. Sunucuyu sıfırdan kurmanız istense yapamazsınız.
- Açıklanamayan ayarlar. Kimsenin nedenini bilmediği yapılandırmalar.
- Yeniden başlatma korkusu. Sunucuyu yeniden başlatmaya çekiniliyor.
- Değişiklik yapmaktan kaçınma. "Neyi bozarım bilmiyorum" düşüncesi.
İkinci madde en net testtir: sunucunuzu sıfırdan kurup aynı hâle getirebilir misiniz? Cevap hayırsa, ciddi bir sürüklenme birikmiş demektir — ve bu, felaket kurtarma planınızın da çalışmayacağı anlamına gelir.
Neden Sorun?
- Kurtarma imkânsızlaşır. Sunucu kaybedilirse yerine aynısını koyamazsınız.
- Ölçekleme zorlaşır. İkinci bir sunucu eklemek, bilinmeyen bir yapılandırmayı kopyalamak demektir.
- Test ortamı güvenilmez olur. Test ortamı canlıyı yansıtmaz.
- Teşhis zorlaşır. Sorunun kaynağı bilinmeyen bir ayar olabilir.
- Bilgi tek kişide kalır. O kişi ayrılınca sistem anlaşılamaz hâle gelir.
Üçüncü madde günlük operasyonda en çok hissedilenidir: testte çalışan bir değişiklik canlıda çalışmıyorsa, ortamlar arasında bilinmeyen bir fark var demektir.
Sürüklenmeyi Önlemek
Yapılandırmayı Kod Olarak Tutmak
En etkili yaklaşım, sunucu yapılandırmasını elle değil, tanımlanmış dosyalar üzerinden yapmaktır.
Bunun anlamı:
- Yapılandırma dosyaları sürüm kontrolünde tutulur
- Değişiklikler önce dosyada yapılır, sonra uygulanır
- Kim ne zaman neyi değiştirdi görünür
- Aynı yapılandırma başka bir sunucuya uygulanabilir
Bu, karmaşık bir otomasyon aracı gerektirmez. Basit bir depo ve bir kurulum betiği bile büyük fark yaratır.
Değişiklikleri Kaydetmek
Otomasyon kuramıyorsanız bile, yapılan her değişikliği kaydeden basit bir günlük tutun:
- Ne değiştirildi
- Neden değiştirildi
- Kim değiştirdi
- Ne zaman
İkinci madde en değerlisidir: bir ayarın gerekçesi yazılı değilse, ileride biri onu gereksiz sanıp kaldırır.
Yapılandırma Dosyalarını Yedeklemek
Sistem yapılandırma dizinini düzenli olarak yedekleyin. Bu, hem geri dönüş imkânı verir hem de neyin ne zaman değiştiğini karşılaştırma imkânı sağlar.
Güncelleme Sonrası Kontrol
Paket güncellemeleri yapılandırma dosyalarını değiştirebilir. Güncelleme sonrası:
- Değiştirilen yapılandırma dosyalarını kontrol edin
- Yeni sürüm dosyaları bırakılmışsa inceleyin
- Kritik ayarlarınızın korunduğunu doğrulayın
Sürüklenmeyi Tespit Etmek
Mevcut durumu ölçmek için yapılabilecekler:
- Sunucular arası karşılaştırma. İki sunucunun yapılandırma dosyalarını karşılaştırın.
- Kurulu paket listesi karşılaştırması. Hangi sunucuda fazladan ne var?
- Çalışan servis listesi karşılaştırması.
- Zamanlanmış görev karşılaştırması.
- Değiştirilmiş dosya tespiti. Paket yöneticileri, kurulumdan sonra değişen dosyaları listeleyebilir.
Beşinci madde güçlü bir araçtır ve az bilinir: paket yöneticisi, kurulu paketlerin dosyalarını orijinal hâlleriyle karşılaştırabilir. Çıkan liste, sistemde elle yapılmış tüm değişiklikleri gösterir.
Birikmiş Sürüklenmeyi Temizlemek
Zaten sürüklenmiş bir sistemi düzene sokmak kademeli bir iştir:
- Önce belgeleyin. Mevcut durumu olduğu gibi kaydedin — düzeltmeden önce anlayın.
- Her ayarı sorgulayın. Bu neden böyle? Hâlâ gerekli mi?
- Kullanılmayanları kaldırın. Gereksiz paketler ve servisler.
- Kalanları kod hâline getirin. Yapılandırmayı dosyalara taşıyın.
- Temiz bir sunucuda doğrulayın. Yazdığınız yapılandırmayla sıfırdan kurup test edin.
Son madde en değerli doğrulamadır ve tek gerçek testtir: yazdığınız yapılandırmayla temiz bir sunucu kurabiliyorsanız, sürüklenmeyi gerçekten kontrol altına almışsınız demektir.
Kalıcı Alışkanlıklar
Sürüklenme tamamen önlenemez ama yavaşlatılabilir. Ekip alışkanlıkları:
- Acil müdahaleyi sonradan belgeleyin. Kriz anında belge tutulmaz ama sonrasında tutulabilir.
- Geçici değişikliklere son tarih koyun. "Geçici" olan kalıcı olur.
- Test ortamında da aynı değişikliği yapın. Ortamlar ayrışmasın.
- Düzenli yeniden başlatın. Kalıcılaştırılmamış ayarlar ortaya çıkar.
- Periyodik denetim yapın. Yılda bir yapılandırma gözden geçirmesi.
Dördüncü madde beklenmedik bir faydadır: düzenli yeniden başlatılan bir sunucu, yalnızca kalıcı yapılandırmalarla ayakta durabilen bir sunucudur. Elle yapılmış ve kaydedilmemiş her ayar, yeniden başlatmada kaybolur ve fark edilir.
Beşinci madde ise sürüklenmeyi yönetilebilir tutar: yılda bir yapılan bir denetim, birikimi küçük parçalar hâlinde temizler ve büyük bir sorun hâline gelmesini önler. Yeni bir VDS sunucu kurarken ise bu alışkanlıkları ilk günden başlatmak, sonradan temizlik yapmaktan çok daha kolaydır.
Sonuç
Yapılandırma sürüklenmesi tek bir büyük hatayla değil, küçük ve belgelenmemiş müdahalelerle oluşur — ve en sinsi kaynağı kimsenin bir şey yapmadığı durumdur: bir paket güncellemesi, sizin düzenlediğiniz ayarları varsayılana döndürebilir. Durumunuzu ölçmek için tek bir soru yeterlidir: sunucunuzu sıfırdan kurup aynı hâle getirebilir misiniz? Cevap hayırsa, felaket kurtarma planınız da çalışmayacak demektir. Karmaşık otomasyon araçlarına gerek yok — basit bir depo ve kurulum betiği bile büyük fark yaratır.
Sıkça Sorulan Sorular (SSS)
Yapılandırma sürüklenmesi nedir?
Sunucuların zamanla, belgelenmemiş küçük müdahalelerle birbirinden ve başlangıç hâlinden ayrışmasıdır. Acil müdahaleler, test amaçlı kurulumlar, geçici kurallar ve güncellemelerin değiştirdiği varsayılanlar birikerek oluşur.
Sürüklenme olup olmadığını nasıl anlarım?
En net test şudur: sunucunuzu sıfırdan kurup aynı hâle getirebilir misiniz? Yapamıyorsanız ciddi bir birikim var demektir. Ayrıca paket yöneticiniz, kurulumdan sonra elle değiştirilmiş dosyaları listeleyebilir.
Önlemek için karmaşık araçlar gerekir mi?
Gerekmez. Yapılandırma dosyalarını bir depoda tutmak ve değişiklikleri önce orada yapıp sonra uygulamak bile büyük fark yaratır. Otomasyon kuramıyorsanız bile, her değişikliğin gerekçesini kaydeden basit bir günlük tutun.
Düzenli yeniden başlatma neden yardımcı olur?
Kalıcılaştırılmamış her ayar yeniden başlatmada kaybolur ve fark edilir. Böylece düzenli yeniden başlatılan bir sunucu, yalnızca kalıcı yapılandırmalarla ayakta durabilen bir sunucu hâline gelir — bu da öngörülebilirlik demektir.