VPS Sunucuda Yedek Sunucu Kurulumu

VPS sunucularında yedek sunucu kurulumu, işletmelerin dijital altyapısını kesintisiz hale getirmek için vazgeçilmez bir adımdır.

VPS sunucularında yedek sunucu kurulumu, işletmelerin dijital altyapısını kesintisiz hale getirmek için vazgeçilmez bir adımdır. Ana sunucuda oluşabilecek arızalar, donanım sorunları veya bakım işlemleri sırasında hizmetlerin aksamaması adına yedek bir sunucu yapılandırması, yüksek erişilebilirlik sağlar. Bu rehberde, iki VPS sunucusu kullanarak pratik bir yedekleme sistemi kurulumunu adım adım ele alacağız. Ubuntu tabanlı sunucular üzerinden örnekleyerek, rsync ve cron işleri ile dosya senkronizasyonu, MySQL replikasyonu gibi somut yöntemleri açıklayacağız. Bu yaklaşım, web siteleri, veritabanları ve uygulama sunucuları için uygundur ve minimum maliyetle maksimum güvenilirlik sunar.

Hazırlık Aşaması

Yedek sunucu kurulumuna başlamadan önce, her iki VPS’in de aynı konfigürasyona sahip olması şarttır. Ana sunucu (primary) ve yedek sunucu (secondary) için en az 2 GB RAM, 2 CPU çekirdeği ve 50 GB SSD depolama önerilir. Sunucuları aynı veri merkezinden seçmek gecikmeyi minimize eder. İşletim sistemi olarak Ubuntu 22.04 LTS kullanın, çünkü stabilite ve paket desteği üst düzeydedir.

İlk adımda SSH erişimini sağlayın ve güvenlik duvarını yapılandırın. UFW ile yalnızca 22 (SSH), 80 (HTTP) ve 443 (HTTPS) portlarını açın. Ana sunucuda sudo ufw allow 22,80,443/tcp komutunu çalıştırın. Yedek sunucuda da aynı ayarları yapın. Ayrıca, root erişimini devre dışı bırakarak wheel grubu ile sudo kullanıcı oluşturun: sudo adduser yedekadmin; sudo usermod -aG sudo yedekadmin. Bu hazırlıklar, kurulum sürecini güvenli kılar ve olası güvenlik açıklarını önler.

Sunucu Eşitleme Araçları

Sunucuları eşitlemek için rsync aracını önceden yükleyin. Ana sunucuda sudo apt update && sudo apt install rsync openssh-server ile başlayın. Yedek sunucuda da aynı paketi kurun. SSH anahtarlarını oluşturup paylaşın: Ana sunucuda ssh-keygen -t rsa ve ssh-copy-id yedekadmin@yedek-ip. Bu sayede parola olmadan senkronizasyon sağlanır. Eşitleme testi için rsync -avz /var/www/ yedekadmin@yedek-ip:/var/www/ komutunu deneyin; bu, web dosyalarının kopyalanmasını doğrular ve kurulum öncesi olası sorunları ortaya çıkarır.

Güvenlik ve Erişim Kontrolleri

Güvenlik için fail2ban kurun: sudo apt install fail2ban. Varsayılan konfigürasyonu /etc/fail2ban/jail.local ile uyarlayın ve SSH için [sshd] bölümünü etkinleştirin. IP kısıtlaması ekleyin; yalnızca belirli IP’lerden erişime izin verin. Bu adımlar, brute-force saldırılarını engeller ve yedek sunucunun ana sunucu gibi korunmasını sağlar. Toplam hazırlık süresi yaklaşık 30 dakika sürer ve kurulumun temelini güçlendirir.

Kurulum ve Senkronizasyon Adımları

Yedek sunucuyu ana sunucunun tam kopyası haline getirmek için sistematik bir kurulum izleyin. Web sunucusu olarak Nginx ve PHP-FPM, veritabanı için MySQL kullanacağız. Ana sunucudaki konfigürasyonları yedek sunucuya aktarın. Cron işleri ile otomatik senkronizasyon kurarak, her 15 dakikada bir dosya ve veritabanı yedeği alın.

  • Nginx kurun: sudo apt install nginx php8.1-fpm php8.1-mysql.
  • MySQL: sudo apt install mysql-server ve master-slave replikasyonunu etkinleştirin.
  • Rsync scripti oluşturun: /root/backup.sh dosyasına #!/bin/bash
    rsync -avz --delete /var/www/ yedekadmin@yedek-ip:/var/www/
    mysqldump -u root -pDB_PASS db_adi > /backup/db.sql
    rsync /backup/db.sql yedekadmin@yedek-ip:/backup/
    yazın.

Cron ile otomatize edin: crontab -e ile */15 * * * * /root/backup.sh ekleyin. Bu script, dosyaları silme ile senkron tutar (–delete) ve veritabanını dump ederek aktarır. Replikasyon için MySQL’de master’ı ayarlayın: server-id=1; log_bin=/var/log/mysql/mysql-bin.log my.cnf’ye ekleyin ve slave olarak yedek sunucuyu bağlayın: CHANGE MASTER TO MASTER_HOST='ana-ip', MASTER_USER='repl_user';.

Veritabanı Replikasyonu

MySQL replikasyonu için repl_user oluşturun: Ana sunucuda CREATE USER 'repl'@'%' IDENTIFIED BY 'guclu_sifre'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';. Slave status’ü SHOW SLAVE STATUS\G ile kontrol edin; Seconds_Behind_Master 0 olmalı. Bu yöntem, gerçek zamanlı veri senkronizasyonu sağlar ve yedek sunucunun anında devreye girmesini mümkün kılar. Hata durumunda STOP SLAVE; START SLAVE; ile düzeltin.

Dosya ve Uygulama Senkronizasyonu

Uygulamalar için Composer bağımlılıklarını her iki sunucuda çalıştırın: sudo apt install composer; composer install. .env dosyalarını rsync hariç tutun (rsync –exclude=’.env’). Log dosyalarını /var/log’a senkronize etmeyin, yoksa disk dolabilir. Bu detaylı senkronizasyon, production ortamında sorunsuz geçişi garanti eder ve haftalık tam yedek için /backup klasörünü genişletin.

Test Etme ve Sürekli Bakım

Kurulum tamamlandıktan sonra kapsamlı testler yapın. Ana sunucuyu durdurun (sudo systemctl stop nginx mysql) ve DNS’i yedek IP’ye yönlendirin. Hizmetlerin 30 saniye içinde erişilebilir olması hedefleyin. Araçlar olarak htop, netstat ve mysqlcheck kullanın. Başarılı test sonrası failover scripti yazın: Bir bash dosyası ile IP swap ve servis başlatma.

Bakım için haftalık güncellemeleri cron’a ekleyin: 0 2 * * 0 apt update && apt upgrade -y. Monitöring için Prometheus ve Grafana kurun, CPU/disk kullanımını izleyin. Log rotasyonu etkinleştirin: logrotate ile günlük logları sıkıştırın. Bu rutinler, sistemin uzun vadeli stabilitesini korur ve arıza oranını %99’a çıkarır.

Sonuç olarak, VPS sunucuda yedek sunucu kurulumu ile işletmeniz kesintisiz hizmet sunar. Bu rehberdeki adımları takip ederek, kendi altyapınızı güçlendirin ve olası riskleri minimize edin. Düzenli testler ve güncellemelerle sisteminizi optimize tutun, böylece rekabet avantajı elde edin.

Kategori: Blog
Yazar: Editör
İçerik: 686 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 22-03-2026
Güncelleme: 22-03-2026
Benzer Hizmetler
Blog kategorisinden ilginize çekebilecek benzer hizmetler