Sunucu migrasyonu, bir uygulamayı, web sitesini veya veritabanını yeni bir donanıma, sağlayıcıya ya da bulut altyapısına taşıma sürecidir ve doğru planlanmadığında saatlerce süren kesintiye yol açabilir. Bu rehber DNS TTL, blue-green deployment ve veritabanı replikasyonu kavramlarını açıklar, envanter çıkarmadan son DNS geçişine kadar sıfıra yakın kesintiyle taşıma sürecini adım adım anlatır.
Kesintisiz bir taşıma, dört temel kavramın doğru birleştirilmesiyle mümkün olur.
TTL, bir DNS kaydının tarayıcı ve çözümleyicilerde ne kadar süreyle önbelleğe alınacağını belirler; migrasyondan önce TTL değerinin düşürülmesi, geçiş anındaki DNS yayılım süresini kısaltır.
Eski (blue) ve yeni (green) ortamın aynı anda ayakta tutulup trafiğin tek bir anahtarla, DNS veya yük dengeleyici üzerinden, yeni ortama yönlendirildiği dağıtım modelidir.
Kaynak veritabanından hedef veritabanına sürekli artımlı senkronizasyon kurmak, son geçiş anında yalnızca birkaç saniyelik farkın kapatılmasını sağlar.
Bakım penceresinde site geçici olarak salt okunur veya erişilemez hale getirilir; gerçek sıfır kesintili migrasyonda ise kullanıcı hiçbir şey fark etmeden, yazma işlemleri dahil, hizmet kesintisiz devam eder.
Migrasyon sırasındaki her dakikalık kesinti, doğrudan ölçülebilir bir maliyete dönüşür.
E-ticaret ve SaaS uygulamalarında kesinti süresi, doğrudan kaybedilen sipariş ve abonelik geliriyle orantılıdır.
Arama motoru botlarının migrasyon sırasında siteye erişememesi veya hatalı yanıt kodları alması, geçici veya kalıcı sıralama kayıplarına yol açabilir.
Beklenmedik bir sunucu hatasıyla karşılaşan kullanıcılar, siteye ve markaya olan güvenini hızla kaybeder.
Planlanmamış bir geçişte kaynak ve hedef veritabanı arasında senkronize olmayan yazma işlemleri, veri kaybına veya çakışmasına yol açabilir.
Sıfıra yakın kesintili bir migrasyon doğaçlama değildir; her adımı önceden test edilmiş bir sıra gerektirir.
Taşınacak tüm dosyaları, veritabanlarını, cron işlerini, ortam değişkenlerini ve üçüncü taraf entegrasyonları (ödeme, e-posta, CDN) listeleyin.
Geçiş tarihinden en az 24-48 saat önce TTL değerini 300 saniye veya altına indirerek geçiş anında hızlı yayılım sağlayın.
Yeni sunucuda uygulama ortamını hazırlayın ve dosyaları rsync ile kaynak sunucudan artımlı olarak kopyalamaya başlayın.
Kaynak veritabanını hedefe sürekli olarak yansıtan bir replikasyon (örneğin MySQL master-slave) kurarak geçiş anındaki farkı saniyeler seviyesine indirin.
Gerçek DNS'i değiştirmeden, hosts dosyası veya test alan adıyla yeni sunucunun tüm işlevlerinin (form gönderimi, ödeme, giriş) doğru çalıştığını doğrulayın.
Kısa bir salt-okunur pencerede son farkları senkronize edin, DNS kaydını yeni sunucuya çevirin, trafiği ve hata oranlarını yakından izleyin; sorun çıkarsa TTL'nin düşük olması sayesinde hızlıca eski sunucuya geri dönebilirsiniz.
rsync -avz --delete -e ssh /var/www/site/ user@newserver:/var/www/site/
CHANGE MASTER TO MASTER_HOST='old-server-ip', MASTER_USER='repl_user', MASTER_PASSWORD='********', MASTER_LOG_FILE='mysql-bin.000123', MASTER_LOG_POS=4; START SLAVE;
SHOW SLAVE STATUS\G
dig +short yourdomain.com dig yourdomain.com | grep -i "ttl"
curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" https://yourdomain.com/healthrsync -avz --delete -e ssh /var/www/site/ user@newserver:/var/www/site/ mysqldump --single-transaction old_db | mysql -h newserver new_db
Web sunucusu ve statik dosyalar için gerçek sıfır kesinti mümkündür; ancak yazma işlemi yoğun bir veritabanı için genellikle birkaç saniyelik ile birkaç dakikalık bir salt-okunur pencere gerekir. Doğru planlamayla bu süre kullanıcılar tarafından fark edilmeyecek kadar kısaltılabilir.
TTL değerini geçiş tarihinden en az mevcut TTL süresi kadar önce, ideal olarak 24-48 saat önceden düşürmelisiniz; böylece geçiş anında çoğu çözümleyici zaten kısa TTL'yi almış olur.
CDN kullanıyorsanız DNS yayılımını beklemeniz gerekmez; DNS kaydı zaten CDN'e işaret eder, siz sadece CDN panelinde origin sunucu IP'sini güncellersiniz ve değişiklik CDN önbelleğine bağlı olarak çok daha hızlı yayılır.
TTL'yi önceden düşürdüyseniz ve eski sunucuyu bir süre daha çalışır durumda tuttuysanız, DNS kaydını eski sunucunun IP'sine geri çevirerek dakikalar içinde geri dönebilirsiniz; bu yüzden eski sunucuyu geçişten sonra en az birkaç gün kapatmamak önemlidir.
Salt okuma ağırlıklı uygulamalarda replikasyonla neredeyse kesintisiz geçiş mümkündür; ancak veri tutarlılığını garanti altına almak için son yazma işlemlerinin durdurulduğu kısa bir pencere genellikle en güvenli yaklaşımdır.
Doğru yapılandırılmış bir migrasyon (aynı URL yapısı, doğru yönlendirmeler, kesintisiz erişim) SEO'yu etkilememelidir; ancak uzun kesintiler, kırık bağlantılar veya yanlış yönlendirmeler geçici veya kalıcı sıralama kayıplarına yol açabilir.
DNS TTL değerinin ne olduğunu ve yayılım süresini nasıl etkilediğini anlatan referans kaynak.
MySQL replikasyon mimarisi ve yapılandırması için resmî referans.
rsync komutunun tüm parametreleri için resmî belge.
NVMe disk, yüksek bant genişliği ve anlık kurulumla migrasyon sürecinize hazır Linux VPS paketlerimizi inceleyin.