VPS ve VDS sunucu taşıma: DNS, veri ve geri dönüş planı
Bu rehberin sonunda: Eski sunucudan yenisine hangi sırayla geçeceğinizi ve sorun olursa veriyi nasıl koruyacağınızı belirlemiş olacaksınız. Eski sunucu halen çalışan ortam, yeni sunucu ise hazırladığınız hedeftir.
Sunucu taşıma, dosyaları yeni IP adresine kopyalamaktan daha kapsamlıdır. Veritabanı, arka plan işleri, e-posta gönderimi, SSL, yetkilendirme ve dış sistemlerin IP izinleri de yeni ortamla uyumlu olmalıdır. Bu rehber Linux VPS, VDS ve fiziksel sunucudaki uygulamaları taşımadan önce bir geçiş planı oluşturmanıza yardımcı olur.
Hazır cPanel hesabı taşıyorsanız önce web sitesi taşıma rehberini kullanın. Aşağıdaki komut örnekleri dig ve curl bulunan bir bilgisayar içindir; uygulamanıza özgü dosya veya veritabanı aktarım komutu içermez.
Dosya kopyalamanın yanında erişim, veri ve uygulama kontrolleri de gerekir.
- Plan ve yedek
Bağımlılıkları listeleyin; geri yüklenebilir ayrı bir kopya hazırlayın.
- Yeni ortamı deneyin
Genel DNS değişmeden yeni sunucuyu ve uygulamayı kontrollü test edin.
- Son veriyi eşitleyin
Yazmaları kontrol altına alın; son kayıtları aktarın ve karşılaştırın.
- DNS ve doğrulama
Hedefi değiştirin; iki ortamı ve yeni kayıtların gittiği yeri izleyin.
Eski sunucuyu, yeni uygulama ve yedekleme düzeni doğrulanmadan iptal etmeyin.
1. Eski ortamı ve geri dönüş yolunu kaydedin
Tek bir taşıma notu oluşturup şunları yazın:
- Eski sunucu IP'si ve yeni sunucu IP'si.
- Taşınacak alan adları, uygulamalar ve veritabanları.
- Son yedeğin yeri ve geri yüklemeyi yapacak kişi.
- DNS değişikliğini yapacak kişi ve bakım zamanı.
Kontrol: Eski sunucuya, yeni sunucuya ve DNS yönetimine erişiminiz olmalı. Eksik erişimi taşıma günü beklemeden tamamlayın.
Alan adları, A/AAAA kayıtları ve TTL değerleriyle başlayın. İşletim sistemi, çalışma sürümleri, veritabanı sürümü, kurulu servisler, zamanlanmış görevler, veri boyutu ve lisansları listeleyin. SMTP, ödeme, webhook, API ve IP izin listelerini ayrıca not edin. DNS'i değiştirme yetkiniz ve eski sunucuya erişiminiz bulunmalıdır.
Güncel, sunucudan ayrı bir yedek alın ve geri yükleme planını hazırlayın. Eski sunucuyu geçiş doğrulanmadan iptal etmeyin. Sunucunun taşınması, alan adının kayıt firmasını değiştirmenizi gerektirmez.
2. Yeni sunucuyu DNS değişmeden hazırlayın
Amaç: Ziyaretçiler eski sunucuyu kullanırken yeniyi hazırlayıp test etmek. Aşağıdaki curl komutu kendi bilgisayarınızda çalışır; genel DNS ayarını değiştirmez.
Uyumlu işletim sistemi ve uygulama bileşenlerini hazırlayın. Dosyaları, veritabanını ve gerekli ayarları taşıyın. Dosya izinlerini koruyun; herkese açık web dizinine yedek veya veritabanı dökümü bırakmayın. Yeni ortamda e-posta, ödeme veya yinelenen görevleri kontrolsüz çalıştırmayın: aynı işin iki sunucudan yapılması müşteriye çift bildirim veya çift işlem üretebilir.
Örnek alan adı example.com, hedef IP 203.0.113.10 yerine kendi değerlerinizi kullanın. Bilgisayarınızda aşağıdaki komut yalnız bu HTTPS isteğini belirtilen IP'ye gönderir; genel DNS kaydını değiştirmez:
curl --resolve example.com:443:203.0.113.10 -I https://example.com/
Bu, doğru alan adıyla TLS bağlantısını ve HTTP başlıklarını kontrol eder. Sertifika o alan adı için geçerli olmalıdır; sertifika hatasını atlamak için -k kullanmayın. Sertifikayı uygun doğrulama yöntemiyle hazırlayın veya korumalı bir test ortamı kullanın.
Başarılı başlık yanıtı, giriş ve sipariş akışının çalıştığı anlamına gelmez; tarayıcı önizlemesiyle uygulamanın temel işlemlerini ayrıca test edin. HEAD isteğini desteklemeyen uygulamalarda bu kontrolün sonucunu o kısıtla değerlendirin.
| Komut parçası | Anlamı |
|---|---|
--resolve example.com:443:203.0.113.10 | Bu istekte alan adını yeni IP'ye yönlendirir |
443 | HTTPS portudur |
-I | Sayfa yerine HTTP başlıklarını ister |
https://example.com/ | Test edilen adres; kendi alan adınızla değiştirin |
Kontrol: Sertifika hatası olmadan beklenen HTTP yanıtını inceleyin. 200 veya uygulamanızın beklenen yönlendirmesi yararlı işarettir; bütün işlevlerin çalıştığını kanıtlamaz.
3. Son veri aktarımı için yazmayı tek yerde tutun
Taşıma sırasında yazma yetkisinin hangi ortamda olduğunu açıkça belirleyin.
- Eski sunucu
Son aktarımda yeni yazmaları durdurun. Geri dönüş için eski kopyayı koruyun.
- Yeni sunucu
Son veri doğrulanınca yazmayı burada açın. Yeni sipariş ve kayıtları izleyin.
DNS'i geri çevirmek yeni kayıtları eski sunucuya taşımaz; geri dönüşte bu verileri ayrıca koruyun.
“Yazma” ne demek? Yeni sipariş, üyelik, yorum veya dosya yükleme gibi veri ekleyen işlemlerdir. Geçişte bunların iki sunucuya da dağılmasını önlemek gerekir.
- Eski ortamda yeni yazmaları kontrollü durdurun.
- Son veriyi yeni ortama aktarın.
- Kayıt sayılarını ve önemli kayıtları karşılaştırın.
- Yazmayı yalnız belirlediğiniz yeni ortamda açın.
Kuyruklar ve zamanlanmış görevler de veri değiştirebilir; onları aynı plana dahil edin.
Sipariş, kullanıcı kaydı veya dosya yüklemesi alan uygulamalarda kısa bir bakım aralığı ya da uygulamaya uygun kontrollü senkronizasyon planlayın. Eski ve yeni veritabanına aynı anda yazılması, daha sonra birleştirilmesi zor kayıtlar oluşturabilir.
Eski ortamda yeni yazmaları durdurduktan sonra son veriyi aktarın, kayıt sayılarını ve kritik kayıtları karşılaştırın. Kuyruk ve zamanlanmış görevlerin hangi sunucuda çalışacağını belirleyin. Yeni ortamda yazmayı açma anını ve geri dönüşte yeni kayıtların nasıl korunacağını önceden kararlaştırın.
4. DNS'i değiştirin ve iki ortamı izleyin
Küçük sözlük: A, IPv4 adresini; AAAA, IPv6 adresini; MX, e-posta sunucusunu belirtir. TTL, kaydın önbellekte tutulabileceği süredir.
DNS değişikliğini yetkili DNS yönetiminde yapın. Aşağıdaki dig komutları değişiklik yapmaz; bilgisayarınızdan sonucu sorgular.
TTL'yi düşürmek istiyorsanız bunu mevcut TTL süresi dolacak kadar önceden yapın; değişiklik eski önbellekleri hemen silmez. Web hizmetine ait A ve varsa AAAA kayıtlarını kontrol edin. Çalışmayan eski AAAA kaydı, bazı ziyaretçileri eski IPv6 hedefine gönderebilir.
E-posta ayrı hizmette kalıyorsa MX, SPF, DKIM ve DMARC kayıtlarını koruyun. Nameserver değişiyorsa yalnız web kaydını değil tüm DNS bölgesini hazırlayın. Değişiklik sonrası bilgisayarınızdan:
dig example.com A +noall +answer
dig example.com AAAA +noall +answer
dig example.com MX +noall +answer
Bu çıktılar kullandığınız DNS çözümleyicinin yanıtıdır; bütün dünyanın aynı değeri gördüğünü kanıtlamaz. Yetkili DNS yanıtını ve farklı ağlardan erişimi de kontrol edin. Eski ve yeni sunucunun erişim/hata kayıtlarını izleyin.
Kontrol: A/AAAA planladığınız web hedefine, MX planladığınız e-posta hizmetine ait olmalı. IPv6 kullanmıyorsanız AAAA cevabının boş olması beklenebilir. Eski kayıtları hangi hizmetin kullandığını doğrulamadan silmeyin.
5. Geçişin tamamlandığını doğrulayın
Kontrolleri sırayla yapın:
- HTTPS ve yönetici girişi.
- Dosya yükleme ve formlar.
- E-posta ve güvenli ödeme testi.
- Yeni veritabanındaki kayıtlar.
- Zamanlanmış işler ve yeni yedekleme.
Bitiş koşulu: Temel işlemler ve veri bütünlüğü doğrulanmadan eski sunucuyu kapatmayın.
HTTPS, yönetici girişi, dosya yükleme, form, e-posta gönderimi, ödeme entegrasyonunun test akışı ve zamanlanmış görevleri kontrol edin. Hassas testleri uygulamanın deneme modu veya kontrollü hesapla yapın. Yeni veritabanına yazıldığını doğrulayın. Yeni yedekleme düzeni çalışmadan eski kopyaları kaldırmayın.
Sorun çıkarsa yalnız DNS'i geri çevirmek yeterli olmayabilir: yeni sunucuda oluşan sipariş ve kayıtlar korunmalıdır. Önce yazmaları kontrol altına alın, iki ortamın farkını değerlendirin ve belirlediğiniz veri geri dönüş planını uygulayın. DNS önbellekleri nedeniyle geri dönüş de anlık değildir.