Sanallaştırma & Bulut

    Proxmox Backup Server Kurulumu

    PBS kurulumu, datastore tanımlama, PVE entegrasyonu ve bakım görevlerinin tamamı.

    11 dk okuma Güncellendi: 25 Ağustos 2026

    Klasik vzdump yedeklemesi işini görür ama bir noktadan sonra duvara toslar: her gece 200 GB'lık bir sanal makinenin tamamını baştan sona okuyup sıkıştırıp hedefe yazmak hem saatler alır hem de her seferinde aynı verinin yeni bir kopyasını üretir. Proxmox Backup Server kurulumu tam olarak bu iki problemi çözer — artımlı yedekleme sayesinde yalnızca değişen blokları gönderir, tekilleştirme (deduplication) sayesinde aynı veriyi tekrar tekrar saklamaz.

    Pratikte bu farkın büyüklüğünü tarif etmek gerekirse: vzdump ile her gece saatler süren ve her seferinde tam boyut kadar yer kaplayan bir yedek işi, PBS ile dakikalar süren ve yalnızca değişimin kadar yer kaplayan bir işe dönüşür. Bu rehberde PBS'i sıfırdan kurmayı, datastore oluşturmayı, Proxmox VE'ye bağlamayı, kullanıcı ve yetki tanımlamayı, prune/garbage collect/verify üçlüsünü ve dosya düzeyinde geri yüklemeyi anlatacağım. Klasik yedekleme yöntemlerini henüz incelemediyseniz önce Proxmox yedekleme ve geri yükleme yazısına göz atmanız faydalı olur.

    PBS'i Ayrı Bir Makineye Kurmak#

    İlk ve en önemli karar: PBS'i nereye kuracaksınız. Teknik olarak Proxmox VE'nin üzerine bir paket olarak kurabilirsiniz, hatta bir LXC konteynerine bile sığdırabilirsiniz. Ama üretimde bunu yapmayın. Yedek sunucusunun tek işlevsel amacı, üretim sunucusu öldüğünde hayatta kalmaktır; ikisini aynı donanıma koyarsanız bu amacı en baştan iptal etmiş olursunuz.

    Doğru kurulum, PBS'in kendi ISO'suyla ayrı bir fiziksel makineye ya da en azından ayrı bir sanal makineye kurulmasıdır. Donanım seçerken şu üç şeye dikkat edin: bol disk (verinin birkaç katı değil, tekilleştirme sayesinde çoğu zaman tek katına yakın), yeterli RAM (ZFS kullanacaksanız ARC için hesaba katın) ve hızlı bir indeks diski. Tekilleştirme, verinin küçük parçalara (chunk) bölünüp özetlerinin (hash) indekslenmesiyle çalışır; bu indeksin hızlı bir SSD üzerinde durması garbage collect süresini kökten kısaltır.

    Kurulum, Proxmox VE kurulumuyla neredeyse aynıdır: ISO'yu indirin, USB'ye yazın, açılışta disk düzenini seçin ve ağ ayarlarını girin. Kurulumdan sonra web arayüzüne 8007 portundan erişirsiniz — VE'nin 8006'sıyla karıştırmayın:

    # Kurulumdan sonra sürümü doğrula
    proxmox-backup-manager version
    
    # Servislerin durumu
    systemctl status proxmox-backup proxmox-backup-proxy --no-pager
    
    # Abonelik yoksa no-subscription deposunu ekle
    echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" \
      > /etc/apt/sources.list.d/pbs-no-subscription.list
    apt update && apt full-upgrade -y
    

    Mevcut bir Debian üzerine kurmak isterseniz proxmox-backup-server paketi de vardır, ama ISO ile kurulum disk düzenini ve ZFS seçeneklerini sizin için hazırladığı için daha az sürtünme üretir.

    Datastore Oluşturma ve Disk Düzeni#

    Datastore, yedeklerin fiziksel olarak yazıldığı yerdir. PBS bir datastore içinde verileri parçalara böler, her parçayı özetiyle adlandırıp .chunks dizinine yazar; iki farklı sanal makinede aynı içerik varsa parça bir kez saklanır. Tekilleştirmenin sırrı budur.

    Datastore için ZFS kullanmanızı öneririm; anlık görüntü, checksum ve sıkıştırma özellikleri yedek verisi için biçilmiş kaftandır. Havuzu oluşturup datastore'u üzerine kurun:

    # İki diski aynalı (mirror) havuz olarak kur
    zpool create -f -o ashift=12 backuppool mirror /dev/sdb /dev/sdc
    
    # Yedek verisi için uygun ayarlar
    zfs set compression=zstd backuppool
    zfs set atime=off backuppool
    # PBS zaten parçaları özetliyor; ZFS dedup AÇMAYIN, RAM'i yer
    zfs set dedup=off backuppool
    
    # Datastore'u oluştur
    proxmox-backup-manager datastore create store1 /backuppool/store1
    
    # Doğrula
    proxmox-backup-manager datastore list
    

    Disk düzenini seçerken kapasite ile dayanıklılık arasındaki dengeyi bilinçli kurun:

    DüzenKullanılabilir kapasiteArıza toleransıNe zaman
    Tek disk%100YokAsla (yedek sunucusunda)
    Mirror (2 disk)%501 diskKüçük/orta ortam, en hızlı yeniden yapılanma
    RAIDZ1 (3+ disk)(N-1)/N1 diskKapasite önceliği, orta risk
    RAIDZ2 (4+ disk)(N-2)/N2 diskBüyük diskler, uzun resilver süreleri

    Büyük kapasiteli mekanik disklerle çalışıyorsanız RAIDZ2 tercih edin. Tek diskli RAIDZ1'de bir disk arızalandığında yeniden yapılanma (resilver) günler sürebilir ve bu süre boyunca ikinci bir arıza tüm veriyi götürür. ZFS ayarlarının detaylarına Proxmox'ta ZFS depolama yapılandırması yazısında girdim.

    Datastore oluşturulduktan sonra saklama politikasını da tanımlayın; PBS bunu datastore düzeyinde tutar:

    proxmox-backup-manager datastore update store1 \
      --keep-daily 14 --keep-weekly 8 --keep-monthly 12 --keep-yearly 2
    

    Kullanıcı, API Token ve Yetkilendirme#

    PBS'e root@pam ile bağlanmak kurulumu hızlandırır ama üretimde yapılmaz. Yedek alan bir sunucunun yedekleri silme yetkisi olmamalıdır — fidye yazılımı bulaşan bir hipervizör, PBS'e tam yetkiyle bağlıysa yedeklerinizi de silebilir. Bu yüzden her PVE düğümü için ayrı bir kullanıcı ve sınırlı yetki tanımlayın.

    # Yedek alacak kullanıcıyı oluştur
    proxmox-backup-manager user create pve-backup@pbs --email [email protected]
    
    # Sadece yedek yazma yetkisi ver (silme yok)
    proxmox-backup-manager acl update /datastore/store1 DatastoreBackup \
      --auth-id pve-backup@pbs
    
    # Parola yerine API token kullan — daha güvenli ve iptal edilebilir
    proxmox-backup-manager user generate-token pve-backup@pbs pve1
    # Çıktıdaki "value" alanını kaydedin; BİR DAHA GÖSTERİLMEZ
    
    # Token'a da ACL ver (kullanıcı yetkisi token'a otomatik geçmez)
    proxmox-backup-manager acl update /datastore/store1 DatastoreBackup \
      --auth-id 'pve-backup@pbs!pve1'
    

    PBS'in rol tablosu, kimin ne yapabileceğini net biçimde ayırır:

    RolYedek yazarYedek okur/geri yüklerYedek silerPrune/GC
    DatastoreBackupEvetKendi yedekleriniHayırHayır
    DatastoreReaderHayırEvetHayırHayır
    DatastorePowerUserEvetEvetEvetHayır
    DatastoreAdminEvetEvetEvetEvet

    Üretim önerisi şudur: PVE düğümlerine DatastoreBackup, geri yükleme yapacak yöneticilere ayrı bir hesapla DatastoreReader ya da DatastorePowerUser, prune ve GC işlerini ise PBS'in kendi zamanlanmış görevleriyle çalıştırın. Böylece hipervizör tarafı ele geçirilse bile geçmiş yedekler korunur.

    PVE Tarafında PBS Depolamasını Tanımlama#

    Bağlantı kurmadan önce PBS'in sertifika parmak izini almanız gerekir; PVE bunu doğrulamak için ister.

    # PBS sunucusunda çalıştır
    proxmox-backup-manager cert info | grep -i fingerprint
    # Örnek: Fingerprint (sha256): a1:b2:c3:...:ff
    

    Ardından Proxmox VE tarafında depolamayı ekleyin. Web arayüzünde Datacenter → Storage → Add → Proxmox Backup Server yolunu izleyebilir ya da doğrudan komut satırını kullanabilirsiniz:

    pvesm add pbs pbs-store1 \
      --server 10.10.40.10 \
      --datastore store1 \
      --username 'pve-backup@pbs!pve1' \
      --password 'TOKEN_DEGERI' \
      --fingerprint 'a1:b2:c3:...:ff' \
      --content backup
    
    # Bağlantıyı doğrula
    pvesm status | grep pbs-store1
    

    Bu tanım /etc/pve/storage.cfg dosyasına yazılır ve küme genelindeki tüm düğümlere yayılır — yani her düğümde ayrı ayrı eklemenize gerek yoktur. Küme yapısını henüz kurmadıysanız Proxmox cluster kurulumu yazısı bu adımı anlatıyor.

    Depolama eklendikten sonra yedek işini normal şekilde tanımlarsınız; tek fark hedef olarak pbs-store1 seçmenizdir. İlk yedek tam boyut kadar veri gönderir çünkü henüz hiçbir parça hedefte yoktur; ikinci yedekten itibaren yalnızca değişen bloklar gider. Şifreleme kullanmak isterseniz PVE tarafında bir anahtar üretin:

    # İstemci tarafında şifreleme anahtarı üret
    proxmox-backup-client key create /etc/pve/priv/pbs-store1.enc --kdf none
    
    # Anahtarın kağıt yedeğini üret ve GÜVENLİ BİR YERDE SAKLA
    proxmox-backup-client key paperkey /etc/pve/priv/pbs-store1.enc
    

    Şifreleme anahtarını kaybederseniz yedekleriniz kurtarılamaz. Anahtarın bir kopyasını PBS sunucusunun dışında, tercihen fiziksel olarak farklı bir yerde saklayın.

    Prune, Garbage Collect ve Verify#

    PBS'in bakımı üç işten oluşur ve bunların ne yaptığını karıştırmak, "prune çalıştırdım ama disk boşalmadı" şikayetinin kaynağıdır.

    Prune, saklama politikasına göre hangi yedek anlık görüntülerinin (snapshot) tutulacağına karar verir ve fazlalıkları indeksten siler. Ancak diski boşaltmaz — yalnızca işaretleri kaldırır.

    Garbage collect (GC), artık hiçbir snapshot tarafından referans verilmeyen veri parçalarını fiziksel olarak siler. Diskin boşalması bu adımda olur. GC iki aşamada çalışır: önce tüm indeksleri tarayıp kullanılan parçaları işaretler, sonra 24 saat 5 dakikadan uzun süredir dokunulmamış işaretsiz parçaları siler. Bu bekleme süresi kasıtlıdır; o sırada devam eden bir yedek işinin parçalarını silmemek için vardır. Yani prune'dan hemen sonra GC çalıştırsanız bile alan aynı gün boşalmayabilir.

    Verify, saklanan parçaların özetlerini yeniden hesaplayıp bozulma (bit rot) olup olmadığını kontrol eder. Bozuk bir parça bulursa snapshot'ı başarısız olarak işaretler, böylece geri yüklemeye kalktığınızda değil, çok önce haberiniz olur.

    # Prune: politikayı uygula (önce --dry-run ile ne silineceğini gör)
    proxmox-backup-manager prune store1 --dry-run \
      --keep-daily 14 --keep-weekly 8 --keep-monthly 12
    
    # Garbage collect: gerçek alanı boşalt
    proxmox-backup-manager garbage-collection start store1
    proxmox-backup-manager garbage-collection status store1
    
    # Verify: bütünlük kontrolü
    proxmox-backup-manager verify store1
    
    # Zamanlanmış görevler
    proxmox-backup-manager prune-job create gunluk-prune --store store1 \
      --schedule 'daily' --keep-daily 14 --keep-weekly 8 --keep-monthly 12
    proxmox-backup-manager verify-job create haftalik-dogrulama --store store1 \
      --schedule 'sat 03:00' --ignore-verified true --outdated-after 30
    

    Önerdiğim zamanlama şablonu şöyledir:

    GörevSıklıkTipik saatNot
    Yedek işiGünlük02:30PVE tarafında tanımlanır
    PruneGünlük04:00Yedek bittikten sonra
    Garbage collectHaftalıkPazar 05:00Disk ve CPU yoğun
    VerifyHaftalıkCumartesi 03:00--outdated-after ile tekrarı azaltın

    --ignore-verified true --outdated-after 30 kombinasyonu, son 30 gün içinde zaten doğrulanmış snapshot'ları atlar; böylece haftalık doğrulama tüm arşivi baştan taramaz.

    Geri Yükleme ve Dosya Düzeyinde Kurtarma#

    PBS'in en sevdiğim tarafı, tam bir sanal makineyi geri yüklemeden içinden tek bir dosya çıkarabilmenizdir. Web arayüzünde yedeğin yanındaki File Restore düğmesiyle sanal diskin içinde dosya gezgini gibi dolaşıp klasör ya da dosya indirebilirsiniz. Bu, "kullanıcı bir dosyayı silmiş" tipi taleplerin çözüm süresini saatlerden dakikalara indirir.

    Komut satırından da aynısını yapabilirsiniz:

    # Depodaki yedekleri listele
    proxmox-backup-client list --repository 'pve-backup@[email protected]:store1'
    
    # Bir snapshot'ın içeriğini listele
    proxmox-backup-client snapshot files vm/101/2026-08-24T02:30:00Z \
      --repository 'pve-backup@[email protected]:store1'
    
    # Tam VM geri yükleme (PVE tarafında, yeni ID'ye)
    qmrestore pbs-store1:backup/vm/101/2026-08-24T02:30:00Z 999 --storage local-lvm
    

    Geri yükleme hızını etkileyen en büyük faktör ağdır. PBS'i üretim hipervizörleriyle aynı hızlı ağa koyun; 1 GbE bir hat büyük geri yüklemelerde ciddi bir darboğaz olur. Ağ planlamasını Proxmox ağ yapılandırması: bridge ve VLAN yazısında ele aldım.

    Tesis dışı kopya için PBS'in sync job özelliği vardır: bir PBS örneği, başka bir PBS örneğinden datastore'u çeker. İkinci bir lokasyonda küçük bir PBS kurup gece senkronizasyonu tanımlamak, 3-2-1 kuralının "1"ini karşılamanın en pratik yoludur.

    Sık Yapılan Hatalar#

    PBS'i yedeklenecek hipervizörün üzerine kurmak. Aynı donanım, aynı elektrik, aynı arıza. Yedek sunucusu ayrı olmalı; ideal olarak ayrı bir odada ya da lokasyonda.

    ZFS dedup açmak. PBS zaten parça düzeyinde tekilleştirme yapar. Üstüne ZFS dedup açmak devasa RAM tüketir ve hiçbir ek kazanç sağlamaz. dedup=off bırakın, compression=zstd açın.

    Prune çalıştırıp GC beklememek. Alan prune ile değil GC ile boşalır, GC de 24 saatlik güvenlik penceresi uygular. Diskin dolduğu gün panikle prune çalıştırıp "işe yaramadı" demeden önce GC'yi başlatın ve sabırlı olun.

    Şifreleme anahtarını yalnızca hipervizörde tutmak. Anahtar /etc/pve/priv/ altındaysa ve hipervizör tamamen kaybolursa yedekleriniz açılmaz. Kağıt yedeğini üretip fiziksel olarak ayrı bir yerde saklayın.

    Yedek kullanıcısına DatastoreAdmin vermek. Ele geçirilen bir hipervizör, yedekleri de silebilir hâle gelir. DatastoreBackup rolü yedek almaya yeter ve silme yetkisi içermez.

    Verify işini hiç kurmamak. Sessiz veri bozulması yıllarca fark edilmez; ilk fark ettiğiniz an geri yüklemeye çalıştığınız andır. Haftalık verify, bu riski erken haber verir.

    Sıkça Sorulan Sorular#

    Proxmox Backup Server ücretsiz mi#

    Yazılımın kendisi açık kaynaktır ve ücretsiz kullanılabilir. Ücretli olan kısım, kurumsal depoya erişim ve resmi destek içeren abonelik paketidir. Abonelik almadan kullanmak isterseniz kurulumdan sonra pbs-no-subscription deposunu tanımlamanız yeterlidir; tüm özellikler çalışır, yalnızca web arayüzünde abonelik uyarısı görürsünüz.

    PBS ile vzdump arasındaki fark nedir#

    vzdump her seferinde tam bir yedek alır ve dosya olarak saklar; PBS ise ilk tam yedekten sonra yalnızca değişen blokları gönderir ve verileri parçalara bölüp tekilleştirir. Sonuç olarak PBS hem çok daha hızlıdır hem de çok daha az yer kaplar. Ayrıca dosya düzeyinde geri yükleme, bütünlük doğrulama ve uzak senkronizasyon gibi özellikler yalnızca PBS'te vardır.

    PBS için ne kadar disk alanı gerekir#

    Tekilleştirme ve sıkıştırma sayesinde toplam ham veriden belirgin biçimde az yer kaplar, ama oran veri tipine göre çok değişir: benzer işletim sistemlerine sahip çok sayıda sanal makinede kazanç yüksektir, birbirinden çok farklı ve sürekli değişen verilerde düşüktür. Sağlıklı bir başlangıç noktası, saklamak istediğiniz aktif veri toplamının yaklaşık iki katı kadar alan ayırmak ve ilk aylarda gerçek kullanım oranını ölçmektir.

    PBS'i sanal makine olarak çalıştırabilir miyim#

    Evet, ama yedeklediğiniz kümenin dışındaki bir donanımda olmalıdır. Kendi yedeklediği hipervizörün üzerinde çalışan bir PBS, o hipervizör öldüğünde yedeklerle birlikte gider. Ayrı bir fiziksel makine ya da başka bir lokasyondaki bir sanal makine kabul edilebilir çözümlerdir.

    Yedek şifrelemesi performansı düşürür mü#

    Şifreleme istemci tarafında, yani Proxmox VE düğümünde yapılır ve modern işlemcilerin donanım hızlandırması sayesinde maliyeti genellikle düşüktür. Asıl dikkat etmeniz gereken performans değil anahtar yönetimidir: anahtarı kaybederseniz yedekleriniz kurtarılamaz. Anahtarın kağıt yedeğini üretip güvenli bir yerde saklayın.

    Garbage collect çalıştırdım ama disk boşalmadı, neden#

    GC, artık kullanılmayan parçaları silmeden önce yaklaşık 24 saatlik bir güvenlik penceresi uygular; bu süre, o sırada devam eden yedek işlerinin parçalarını yanlışlıkla silmemek içindir. Ayrıca prune çalıştırmadıysanız silinecek bir snapshot da yoktur, dolayısıyla GC boşa çalışır. Doğru sıra şudur: önce prune, sonra en az bir gün sonra GC.

    Kapanış#

    Proxmox Backup Server, yedeklemeyi "her gece saatlerce süren bir yük" olmaktan çıkarıp arka planda sessizce çalışan bir servise dönüştürür. Kurulumda aklınızda tutmanız gereken dört şey var: PBS'i mutlaka ayrı bir donanıma kurun, yedek alan kullanıcıya silme yetkisi vermeyin, prune ve garbage collect'in farklı işler olduğunu unutmayın ve haftalık verify ile sessiz bozulmayı erken yakalayın. Şifreleme kullanıyorsanız anahtarın kağıt yedeğini üretmeyi de listeye ekleyin.

    Yedek sunucusu için ayrı bir donanım arıyorsanız dedicated sunucu ve colocation seçeneklerimiz uygun bir zemin sunar; tesis dışı ikinci kopya için bulut sunucu üzerinde küçük bir PBS örneği çalıştırabilirsiniz. Yedekleme altyapısını hiç kurmadan doğrudan hizmet olarak almak isterseniz yedekleme sayfamıza, işletim tarafını devretmek isterseniz sunucu yönetimi hizmetimize göz atabilirsiniz.

    ProxmoxPBSYedekleme

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.