Server

Proxmox Backup Server Nedir? PVE ve Agent ile Yedek Alma

Hızlı özet

Proxmox Backup Server, sunucularınızın yedeklerini ayrı bir sistemde saklayıp tarihli geri dönüş noktalarından kurtarma yapmanızı sağlar.

  • Önce PBS’yi kurup yedek deposunu hazırlayın.
  • Bağlantı için yönetici hesabı yerine sınırlı yetkili kullanıcı ve token kullanın.
  • PVE ile ilk yedeği aldıktan sonra ayrı bir makineye geri yükleyerek kontrol edin.

WordPress güncellemesinden sonra siteniz açılmadığında veya sunucu diski arızalandığında, ihtiyacınız olan şey çalışır durumdaki veriye dönebilmektir. Yedeğin sorun yaşayan diskten ayrı tutulması, kurtarma şansınızı korur.

PBS ile PVE arasındaki fark nedir?

Proxmox Virtual Environment (PVE), sanal makineleri (VM) ve konteynerleri çalıştıran platformdur. Proxmox Backup Server (PBS) ise bunların ve Linux sistemlerindeki dosyaların yedeklerini tutan açık kaynaklı yedekleme sunucusudur. PBS’nin yedekleri yönettiği alana datastore, yani yedek deposu denir.

PBS, değişen verileri aktararak ve ortak veri parçalarını tekrar saklamayarak aktarım ve depolama ihtiyacını azaltır. Buna rağmen her snapshot, yedekleme bağlamında tarihli bir geri dönüş noktasıdır. Kaynak diskteki snapshot ise tek başına bağımsız yedek değildir; aynı disk kaybolduğunda o da kaybolabilir.

Örnek senaryo: Bu anlatımda kullanacağımız örnek ortamda PBS adresi pbs.example.net, yedek deposu backup, bu deponun PVE’de kullanılacak kimliği pbs-main olsun. Kaynaklarımız sanal makine VM100 ve Linux sunucusu linux01. Aşağıdaki hazırlık bu örnek üzerinden ilerler; değerleri kendi ortamınıza uyarlayın.

PBS’yi ISO ile kurun

PBS’yi, kaynak sunucudaki bir arızanın yedekleri de kaybettirmeyeceği ayrı bir sistemde planlayın. Bu örnekte işletim sistemi diski ile yedek veri alanı ayrıdır. Resmi Proxmox indirme sayfasından PBS ISO kurulum dosyasını alıp sunucuyu USB veya uzaktan yönetim üzerinden bu ortamdan başlatın.

Kurulum diski silinir

Kurucu, seçtiğiniz hedef diskteki verileri siler. Diskin kimliğini ve kapasitesini kontrol edin; mevcut yedeklerin veya korunacak dosyaların bulunduğu diski seçmeyin. Diskte gerekli veri varsa önce başka bir ortama kopyalayıp okunabildiğini doğrulayın. Kurulumdan sonra geri dönüş, bu kopyadan kurtarma gerektirir.

  1. Açılış menüsünde Install Proxmox Backup Server (Graphical) seçeneğini seçin. Grafik kurucu açılınca lisans sözleşmesini okuyup kabul edin; ardından hedef disk ekranına geçersiniz.
  2. İşletim sistemi için ayırdığınız diski seçin. Options düğmesi dosya sistemi seçeneklerini açar; bu örnekte varsayılan ext4 ile ilerleyin. Sonraki ekran konum ayarlarıdır.
  3. Ülke, saat dilimi ve klavye düzenini ayarlayın. Türkiye’deki örneğimiz için Europe/Istanbul ve kullandığınız Türkçe klavye düzenini seçin. Ardından yönetici bilgileri ekranı açılır.
  4. root yönetici parolasını ve bildirimleri alacağınız e-posta adresini girin. Bu parola PBS paneline giriş içindir; daha sonra oluşturacağınız bağlantı sırrından ayrıdır.

Yönetim ağını ayarlayın

Yönetici bilgilerini kaydettikten sonra PBS paneline ulaşacağınız ağ adresini belirleyin. Aşağıdaki ekran bu alanları gösteriyor; gireceğiniz değerleri 5. adımda kendi ağınıza uyarlayın.

PBS kurulumunda yönetim ağı, sunucu adı, IP adresi, ağ geçidi ve DNS alanları
Ağ ekranındaki alanları kendi ağınıza göre doldurun. Resmî örnekteki 10.0.0.45 yerine bu rehberde 192.168.10.20/24 kullanılıyor; adresleri karıştırmayın.PBS kurulumundaki ağ ayarları. Resmî belgedeki örnek 10.0.0.45 adresini kullanıyor; siz kendi sunucunuzun IP, ağ geçidi ve DNS değerlerini girin.Kaynak: Proxmox Backup Server documentation · Belge sürümü: 4.2.8 · Ekranın arayüz sürümü belirtilmemiş. · Copyright (C) 2019-2025, Proxmox Server Solutions GmbH · GNU FDL 1.3+ (tam lisans metni) · Özgün ekran görüntüsü; büyütmek için tıklayın.
  1. Ağ ekranında yönetim ağ kartını seçin. Örnek ağımızda sabit adres 192.168.10.20/24, ağ geçidi ve DNS sunucusu 192.168.10.1, sunucu adı pbs.example.net olsun. Bu değerler yalnız bu ağ varsayımı içindir; gerçek ağınıza uygun bilgileri girin ve DNS adının PBS adresine çözülmesini sağlayın.
  2. Özet ekranında disk ve ağ bilgilerini kontrol edin. Hata varsa Previous ile geri dönün. Install disk biçimlendirmesini ve paket kurulumunu başlatır. Tamamlanınca kurulum ortamını çıkarıp sistemi yeniden başlatın.
  3. Tarayıcıda https://pbs.example.net:8007 adresini açın. Kullanıcı olarak root, kimlik doğrulama alanında Linux PAM standard authentication ve kurulum parolasını kullanın. Tam hesap kimliği root@pam olur. Açılan panelde sunucu adı, IP ve saat ayarlarını kontrol edin.

İlk erişimde sertifika uyarısı çıkarsa, bağlandığınız sunucuyu güvenilir konsol veya yönetim yolu üzerinden doğrulayın. Sertifika denetimini kapatmak kalıcı çözüm değildir. Panel açıldığında PBS kurulmuştur; henüz yedek deposu veya yedek oluşmuş sayılmaz.

Hazır veri alanını yedek deposuna dönüştürün

Yedek diski ile yedek deposu aynı şey değildir. Önce diski kullanıma hazır hale getirir, sonra PBS’ye yedekleri bu diskteki hangi dizinde tutacağını söylersiniz. Hazır ve bağlı bir yedek alanınız varsa doğrudan Add Datastore adımına geçebilirsiniz.

  1. Boş bir veri diski hazırlayacaksanız PBS’de Administration – Storage/Disks bölümünü açın. Disk kimliğini ve kapasitesini kontrol ederek sistem diskiyle karıştırmadığınızdan emin olun. Sonraki biçimlendirme işlemi seçilen diskteki verileri siler.
  2. Directory bölümündeki dosya sistemi oluşturma akışında bu boş diski ve desteklenen ext4 veya xfs dosya sistemini seçin. Örneğimizde alanın adı backup olsun.
  3. İşlem bitince bağlama yolunu panelden kontrol edin; bu örnekte /mnt/datastore/backup kullanıyoruz. Bu dizinin gerçekten hazırladığınız veri diskinde olması gerekir. Yalnız dizin adını yazmak disk bağlamaz.
  4. Bu işlem sırasında datastore da oluşturulmuşsa soldaki backup deposunu açın; aynı depoyu ikinci kez oluşturmayın. Yalnız disk alanı hazırlanmışsa aşağıdaki formu doldurun.

Add Datastore formunu doldurun

Soldaki Datastore – Add Datastore seçeneğini açın. Form yerleşimi sürüme göre değişebilse de temel alanları şöyle doldurun:

PBS Add Datastore formunda depo adı, Backing Path dizin yolu, GC ve Prune zamanlamaları
Name ve Backing Path, depo adını ve bağlı disk yolunu belirler. Görseldeki store1 yerine bu rehberde backup ve /mnt/datastore/backup kullanın; bakım takvimlerini aşağıdaki açıklamaya göre ayarlayın.Datastore ekleme penceresi. Resmî örnekteki store1 adını ve dizin yolunu kendi yedek diskinize göre değiştirin; sürümünüze göre ek seçenekler görünebilir.Kaynak: Proxmox Backup Server documentation · Belge sürümü: 4.2.8 · Ekranın arayüz sürümü belirtilmemiş. · Copyright (C) 2019-2025, Proxmox Server Solutions GmbH · GNU FDL 1.3+ (tam lisans metni) · Özgün ekran görüntüsü; büyütmek için tıklayın.
  • Name – depo adı: backup.
  • Backing Path – verilerin tutulacağı dizin: /mnt/datastore/backup.
  • GC Schedule – kullanılmayan veri parçalarını temizleme takvimi: örneğimizde günlük çalışmayı seçin; bu işlem yedek almaz.
  • Prune Schedule – eski geri dönüş noktalarını eleme takvimi: bu hazırlık aşamasında devre dışı bırakın.
  • Prune Options – yedeklerin saklama süresini ve tutulacak kopyaları belirleyen kurallar: henüz kural tanımlamayın.
  • Comment – isteğe bağlı açıklama: VM100 ve linux01 yedekleri.

Oluşturmayı tamamlayıp soldan backup deposunu açın. İçeriğin boş olması normaldir. Kapasite ayrı veri alanınızla uyuşmalıdır; sistem diskinin kapasitesini görüyorsanız dizinin hangi dosya sisteminde bulunduğunu kontrol edin.

Servis kullanıcısını ve bağlantı sırlarını hazırlayın

Configuration – Access Control – User Management bölümünde, otomatik bağlantılarda kullanılacak backup kullanıcısını pbs kimlik doğrulama alanında oluşturun. Hesap backup@pbs olur; oluşturulması tek başına depoya erişim vermez.

API Tokens bölümünde bu kullanıcıya bağlı pve01 token’ını, yani uygulama erişim kimliğini oluşturun. Tam kimliği backup@pbs!pve01 olur. Gösterilen token secret, bu kimliğin parolası gibi kullanılan sırdır; yalnız bir kez gösterilir. Parola yöneticisinde saklayın. Linux sunucusu için aynı işlemi linux01 adıyla yaparak ayrı backup@pbs!linux01 kimliği oluşturun.

Configuration – Access Control – Permissions bölümünde aşağıdaki kayıtları ayrı ayrı ekleyin:

Path – yetki yoluKullanıcı veya tokenRole – rol
/datastore/backupbackup@pbsDatastoreBackup
/datastore/backupbackup@pbs!pve01DatastoreBackup
/datastore/backupbackup@pbs!linux01DatastoreBackup

Buradaki yol disk dizini değil, PBS’nin yetki kapsamıdır. PBS hem kullanıcı hem token iznine bakar; yalnız kullanıcıya izin vermek yeterli değildir. DatastoreBackup kendi yedeklerini alma ve geri yükleme yetkisi verir; eski yedekleri eleme yetkisi vermez.

Bağlantı öncesi son kontrol

Fingerprint, sunucu sertifikasının SHA-256 ile hesaplanan parmak izidir. Sertifika güvenilir bir sertifika otoritesiyle doğrulanamıyorsa bu değeri güvenilir PBS panelindeki Dashboard üzerinden alın. Token sırrı sizin erişiminizi, parmak izi bağlandığınız sunucunun sertifikasını doğrulamak içindir; ikisi de yedek şifreleme anahtarı değildir.

  • PVE’den PBS adresine DNS çözümlemesini ve TCP 8007 erişimini kontrol edin.
  • Depo adı, token kimlikleri ve güvenle saklanan sırların hazır olduğunu doğrulayın.
  • Sonraki aşamada PVE bağlantısını pbs-main adıyla ekleyin; VM yedekleme ve istemci şifreleme adımları bu hazırlığın ardından gelir.

PVE ile ilk yedeği alalım

Bu akışın sonunda Proxmox VE (PVE) üzerindeki bir sanal makinenin (VM) yedeği Proxmox Backup Server’da (PBS) bulunacak. Ardından yedeği ayrı bir makineye geri yükleyerek kullanılabildiğini kontrol edecek ve aynı işi zamanlayacaksınız.

VM 100 için PBS yedeği alma, yedeği VM 101 olarak geri yükleme ve ağdan yalıtılmış kopyayı kontrol etme adımlarını gösteren şema.
Akış şeması: Yedek almak ve yedeğin açılabildiğini sınamak ayrı adımlardır. Örnekteki VM 100 korunur; deneme için VM 101 kullanılır.

Örnek senaryo: Yedeklenecek makine VM 100; PBS adresi pbs.example.net, hazırlanmış yedek deposu backup ve erişim yetkisi verilmiş API token kimliği backup@pbs!pve01. API token, PVE’nin PBS’ye bağlanırken kullandığı kimlik ve ona ait gizli değerden oluşur. Kendi ortamınızda adresi ve kimlik bilgilerini değiştirin. PVE düğümünden PBS’ye TCP 8007 bağlantısı açık olmalıdır.

Datacenter > Storage üzerinden PBS’yi ekleyin

PBS panelinden PVE paneline geçin. Datacenter > Storage > Add > Proxmox Backup Server yolunu açın. Bu kayıt, PVE’ye yedekleri nereye göndereceğini söyler; PBS üzerinde yeni depo oluşturmaz.

AlanÖrnek değer ve açıklaması
ID – depolama kimliğipbs-main: PVE menülerinde ve yedekleme işlerinde seçeceğiniz ad.
Server – sunucupbs.example.net: PBS’nin DNS adı veya IP adresi. Buraya https:// ile başlayan panel adresini yazmayın.
Datastore – yedek deposubackup: PBS’de önceden oluşturduğunuz deponun adı; disk dizini veya PVE depolama kimliği değildir.
Username – kullanıcı kimliğibackup@pbs!pve01: Kullanıcı, kimlik doğrulama alanı ve token adını içeren tam token kimliği.
Password – parolaToken oluşturulurken gösterilen gizli değer. PBS yönetici parolasını değil, bu token’ın sırrını girin.
Fingerprint – sertifika parmak iziSertifika güvenilir bir sertifika otoritesiyle (CA) doğrulanamıyorsa gerekir. Güvenilir yönetim yoluyla açtığınız PBS panelinin Dashboard bölümünden doğrulanmış SHA-256 parmak izini alın. CA güveni sağlanıyorsa ayrıca gerekmez.

Add ile kaydedin; ardından PVE’de düğümün altındaki pbs-main kaydını açın. Kapasite bilgilerinin ve Backups (yedekler) listesinin bağlantı hatası olmadan yüklenmesi, erişimin çalıştığını gösterir. İlk kullanımda liste boş olabilir; bu aşamada henüz yedek alınmadı.

VM 100’ün ilk yedeğini başlatın

Önce VM 100 > Hardware (donanım) bölümünde korunacak diskleri seçip Edit (düzenle) penceresindeki Backup seçimini kontrol edin; gerekirse gelişmiş alanları açın. Seçimi kapalı disk yedeğe girmez. Böylece yalnızca sistem diskinin değil, uygulama verisinin bulunduğu diskin de kapsandığını bilirsiniz.

  1. VM 100 > Backup > Backup now yolunu açın. Storage (depolama) alanında pbs-main seçin.
  2. Mode (yedekleme modu) alanını Snapshot seçin. Bu mod, VM çalışırken yedek alır. Backup düğmesiyle görevi başlatın ve görev bitene kadar bekleyin.
  3. Görev penceresindeki günlüğü inceleyin. Başarılı tamamlanmayı belirten TASK OK sonucunu ve kapsamla ilgili uyarıları kontrol edin; yalnızca ilerleme çubuğunun tamamlanmasıyla yetinmeyin.
  4. PBS panelinde Datastore > backup > Content (içerik) bölümünü açın. vm/100 grubundaki yeni snapshot’ın, yani tarihli geri dönüş noktasının zamanını çalıştırdığınız görevle karşılaştırın. Panellerin saat dilimleri farklıysa bunu hesaba katın.

Yedeği boş VM 101’e, ağdan yalıtarak geri yükleyin

Yedeğin listelenmesi, uygulamanın açılabildiğini kanıtlamaz. Denemeyi üretimdeki VM 100’ün üzerine değil, kullanılmadığını PVE genelinde kontrol ettiğiniz 101 kimliğine yapın. Üretim makinesi ve PBS’deki yedek bu denemede korunur.

  1. PVE’de düğümün altındaki pbs-main > Backups listesinden VM 100’ün az önceki yedeğini seçip Restore (geri yükle) düğmesine basın.
  2. VM ID alanına 101 yazın. Storage alanında yeterli boş alanı olan VM disk depolamasını seçin; örnek ortamda bu alan local-lvm olsun. Burası PBS yedek deposu değildir.
  3. Start after restore (geri yüklemeden sonra başlat) seçeneğini kapalı bırakın. Geri yüklemeyi başlatıp görevin başarıyla tamamlanmasını bekleyin.
  4. VM 101 kapalıyken Hardware bölümünde her ağ kartını açıp Disconnect (bağlantıyı kes) seçeneğini işaretleyin. Böylece kopya makine aynı IP adresiyle üretim ağına çıkamaz. Ayrıca Options > Start at boot (sunucu açılışında başlat) seçeneğini kapatın.
  5. Ağ yalıtımından sonra VM 101’i başlatın. Console üzerinden oturum açın; işletim sisteminin açıldığını, örnek dosyaların okunabildiğini ve uygulamanın makine içinden çalıştığını kontrol edin. Veritabanlı uygulamada beklenen kayıtları da açın. Başarı, yalnızca VM’nin çalışır görünmesi değildir.

Kısa not: Tutarlılık ve LXC kapsamı

QEMU Guest Agent (QGA), konuk işletim sisteminde çalışan yardımcı servistir; PBS’ye yedek gönderen istemci değildir. Kullanacaksanız konukta kurup çalıştırın, PVE’de Options > QEMU Guest Agent iletişimini açın. Yeni açılan ayarın uygulanması için bakım aralığında VM’yi tamamen kapatıp yeniden başlatın. QGA, dosya sistemi yazmalarını kısa süreli durdurarak tutarlılığa yardımcı olur. Windows’ta Volume Shadow Copy Service (VSS) kullanır; uygulamanın VSS desteği ve durumu sonucu etkiler. Tek başına veritabanı tutarlılığı garantilemez.

VM’nin Snapshot yedekleme modu, kaynak depolamanın snapshot desteğini gerektirmez; LXC konteynerlerinde ise kapsanan depolama birimlerinin bu desteği gerekir. LXC’nin kök diski dışındaki depolama bağlantılarında Backup seçilmelidir. Ana makine dizinini veya cihazını doğrudan bağlayan bind mount ve device mount içerikleri bu yedeğe dahil edilmez.

Aynı yedeği zamanlayın

Datacenter > Backup > Add ekranında Node alanından VM 100’ün düğümünü, Storage olarak pbs-main, kapsam olarak yalnız VM 100 ve mod olarak Snapshot seçin. Schedule (çalışma takvimi) için örneğin günlük 03:00 girin; saat dilimini ve gösterilen sonraki çalışma zamanını kontrol edin. Etkin görevi kaydedin.

PVE Backup Job General sekmesinde hedef depolama, zamanlama, sanal makine seçimi ve Enable alanı
Storage alanında pbs-main seçin, Schedule ile zamanı belirleyin ve Enable seçeneğini açın. Görseldeki local, */30 ve kapalı Enable, resmî belgenin örnek değerleridir.PVE yedekleme işinin General sekmesi. Resmî ekran örneğinde Storage=local ve Enable kapalı; PBS için eklediğiniz depoyu seçin, kendi zamanlamanızı belirleyin ve işi etkinleştirin.Kaynak: Proxmox VE Administration Guide · Belge sürümü: 9.2.13 · Ekranın arayüz sürümü belirtilmemiş. · Copyright (C) 2015-2026, Proxmox Server Solutions GmbH · GNU FDL 1.3+ (tam lisans metni) · Özgün ekran görüntüsü; büyütmek için tıklayın.

İlk zamanlanmış çalışmadan sonra görev günlüğünün başarılı olduğunu ve PBS’de VM 100 için yeni zaman damgalı yedek oluştuğunu kontrol edin. Böylece elle başlattığınız işlemin değil, kaydettiğiniz takvimin de çalıştığını doğrulamış olursunuz.

Linux sunucudan dosya yedeği alma

Fiziksel veya Proxmox VE (PVE) dışında çalışan bir Linux sunucunuzun dosyalarını Proxmox Backup Server’a (PBS) göndermek için resmi proxmox-backup-client istemcisini kullanabilirsiniz. PVE’nin kendi sanal makine yedekleme işlemi, konuk işletim sistemine bu istemcinin kurulmasını gerektirmez. Buradaki yol, Linux içinden seçtiğiniz dizinleri ayrıca yedeklemek içindir.

Seçili Linux dizinlerinin hazırlanması, istemciyle şifrelenerek PBS deposuna gönderilmesi ve test dizinine geri yüklenmesi.
Akış şeması: Linux istemcisi kaynak sunucuda çalışır. Seçili dizinlerin yedeği, bütün makineyi açılabilir biçimde yedeklediğiniz anlamına gelmez.

Örnek senaryo: APT paket yöneticisini kullanan, resmi istemci deposunun desteklediği bir Linux sunucudan pbs.example.net üzerindeki backup yedek deposuna, linux01 kimliğiyle dosya göndereceksiniz. Komutları PBS’de değil, dosyaların bulunduğu Linux sunucuda root olarak çalıştırın. Adresi kendi PBS adresinizle değiştirin; bağlantıyı istemci başlatır.

İstemciyi ve korunan dosyaları hazırlayın

Kurulum kaynağı, resmi Proxmox Backup Server Documentation içindeki Client Installation bölümüdür. APT komutlarından önce dağıtımınız ve sürümünüzle eşleşen, imzası doğrulanan istemci paket deposunu bu belgeye göre ekleyin. Tahmini dağıtım kod adı veya başka bir Debian sürümünün deposunu kullanmayın. APT yolu desteklenmiyorsa belgelenen statik istemcinin ortamınıza uygunluğunu değerlendirin.

PBS’de backup deposunun ve bu depoya yedekleme yetkisi olan backup@pbs!linux01 API token’ının hazır olduğunu varsayıyoruz. API token, istemcinin kimlik doğrulama bilgisidir; kimliği ile gizli değeri farklıdır. Linux sunucunun PBS’ye TCP 8007 üzerinden erişebilmesi ve sertifika güveninin önceden ayarlanmış olması gerekir.

Aşağıdaki blok ilk kurulum içindir: korunan dizini hazırlar; parola dosyaları veya anahtar zaten varsa üzerlerine yazmaz. 0700 dizine yalnız root erişimi, 0600 dosyalara yalnız root okuma ve yazma izni verir. Anahtar oluşturma komutu sizden bir şifreleme parolası ister.

apt update
apt install proxmox-backup-client

umask 077
install -d -m 0700 /root/.config/proxmox-backup
for pbs_secret_file in /root/.config/proxmox-backup/token.secret /root/.config/proxmox-backup/encryption.passphrase; do
  if [ ! -e "$pbs_secret_file" ]; then
    install -m 0600 /dev/null "$pbs_secret_file"
  fi
done
touch /var/log/pbs-linux01-backup.log
chmod 0600 /var/log/pbs-linux01-backup.log

export PBS_REPOSITORY='backup@pbs!linux01@pbs.example.net:backup'
export PBS_PASSWORD_FILE='/root/.config/proxmox-backup/token.secret'
# Yalnız CA ile doğrulanamayan sertifikada, gerçek değerle etkinleştirin:
# export PBS_FINGERPRINT='PBS_PANELINDEN_DOGRULANMIS_SHA256_FINGERPRINT'

# Yalnız ilk kurulumda; anahtar parolası etkileşimli sorulur.
if [ ! -e /root/.config/proxmox-backup/linux01.key ]; then
  proxmox-backup-client key create /root/.config/proxmox-backup/linux01.key
fi
chmod 0600 /root/.config/proxmox-backup/linux01.key

Şimdi root oturumunda bir metin düzenleyiciyle token.secret dosyasına yalnız token’ın gizli değerini, encryption.passphrase dosyasına anahtarı oluştururken belirlediğiniz parolayı yazın. Değerleri tek satırda, tırnaksız kaydedin; dosyaların root sahipliğini ve 0600 izinlerini koruyun. Parolaları komut satırına veya betiğe yazmayın. PBS_PASSWORD_FILE token dosyasını, PBS_ENCRYPTION_PASSWORD_FILE ise şifreleme parolası dosyasını gösterir.

--keyfile, aktarım güvenliğinden ayrı olarak istemci tarafında şifrelemeyi açar. Anahtarı her çalışmada yeniden üretmeyin. Anahtarın ve parolasının güvenli kurtarma kopyalarını kaynak sunucudan ve yedek deposundan ayrı saklayın; kaybolurlarsa token ile şifreli verileri açamazsınız.

Dizinleri ve veritabanı çıktısını yedekleyin

Örnekte /etc, /var/www ve /srv/db-backups dizinlerinin mevcut olması gerekir. Son dizine, veritabanınızın kendi dışa aktarma veya yedekleme aracıyla tutarlı bir çıktı hazırlayın. İşlem başarıyla tamamlanmadan arşivlemeyi başlatmayın; hâlâ yazılan bir çıktı veya canlı veritabanı dosyalarının kopyası, kullanılabilir veritabanı yedeği sayılmaz.

.pxar, dosya ve dizin arşivi biçimidir. Bu seçimler bütün makineyi kapsamaz; boş diske doğrudan sistem kurabileceğiniz bir kurtarma yedeği oluşturmaz. Seçili dizinlerin altına bağlı başka dosya sistemleri de kendiliğinden dahil olmaz. Bunları ayrı arşiv kaynağı olarak ekleyin veya kapsamı bilinçli biçimde --include-dev ile genişletin. Ağ paylaşımında önce bağlantının gerçekten kurulduğunu ve dosyaların okunabildiğini kontrol edin.

Aşağıdaki betiği, yani komutları sırayla çalıştıran dosyayı, /usr/local/sbin/pbs-linux01-backup yoluna kaydedin. Root sahipliği ve 0700 izni verin. flock komutunun kurulu olması gerekir; genellikle util-linux paketinden gelir. Betikteki kilit, aynı işin üst üste çalışmasını engeller. Veritabanı çıktısını otomatik hazırlayacaksanız ilgili komutu kilitten sonra, yedek komutundan önce ekleyin; başarısızlıkta yedeklemeye geçilmemelidir.

#!/bin/sh
set -eu
umask 077
exec 9>/run/lock/pbs-linux01-backup.lock
flock -n 9 || { echo 'linux01 yedek işi zaten çalışıyor' >&2; exit 1; }

export PBS_REPOSITORY='backup@pbs!linux01@pbs.example.net:backup'
export PBS_PASSWORD_FILE='/root/.config/proxmox-backup/token.secret'
export PBS_ENCRYPTION_PASSWORD_FILE='/root/.config/proxmox-backup/encryption.passphrase'
# Yalnız CA ile doğrulanamayan sertifikada, gerçek değerle etkinleştirin:
# export PBS_FINGERPRINT='PBS_PANELINDEN_DOGRULANMIS_SHA256_FINGERPRINT'

proxmox-backup-client backup \
  etc.pxar:/etc \
  web.pxar:/var/www \
  dbdump.pxar:/srv/db-backups \
  --backup-id linux01 \
  --keyfile /root/.config/proxmox-backup/linux01.key

proxmox-backup-client snapshot list host/linux01

İlk çalışmayı kontrol edip zamanlayın

Betiği kaydettikten sonra root terminalinde aşağıdaki komutları çalıştırın. İlk iki satır dosyanın sahibini ve çalıştırma iznini ayarlar; üçüncü satır yedeği başlatır. Son satırdaki $?, betiğin çıkış kodudur: sıfır başarıyı, diğer değerler hatayı belirtir.

chown root:root /usr/local/sbin/pbs-linux01-backup
chmod 0700 /usr/local/sbin/pbs-linux01-backup
/usr/local/sbin/pbs-linux01-backup
echo $?

Yedekleme hata verirse betikteki set -e, listeleme adımına geçilmesini önler. Hata mesajını çözmeden zamanlamaya geçmeyin. İş başarıyla bittiğinde PBS panelinde Datastore – backup – Content (depo içeriği) altında host/linux01 grubunu açın; yeni tarihli bir snapshot, yani geri dönüş noktası görmelisiniz.

Cron, komutları belirlenen saatlerde başlatan bir zamanlayıcıdır. Veritabanı çıktısının her çalışmadan önce başarıyla hazırlandığı akışı kurduktan sonra root oturumunda crontab -e ile zamanlama dosyasını açıp şu tek satırı ekleyin:

0 3 * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/local/sbin/pbs-linux01-backup >> /var/log/pbs-linux01-backup.log 2>&1

İş, istemcinin saat dilimine göre her gün 03.00’te çalışır; normal çıktı ve hatalar belirtilen günlük dosyasına eklenir. İlk zamanlanmış çalışmadan sonra bu dosyayı ve PBS’deki yeni snapshot tarihini karşılaştırın. Sıfır olmayan çıkışları izleme sisteminize bağlayın; günlük kaydı tek başına bildirim göndermez. Systemd timer bir alternatiftir, ancak aynı işi iki zamanlayıcıyla başlatmayın.

web.pxar arşivini boş test dizinine açın

Root oturumunda mkdir -p /srv/restore-test/web ile test dizinini oluşturun. ls -la /srv/restore-test/web çıktısında yalnız . ve .. girdileri olmalı; daha önceki bir denemeden dosya varsa onları silmek yerine yeni, boş bir hedef seçin. Hedefte yeterli boş alan olduğunu da kontrol edin. Aşağıdaki değişkenleri geri yükleme oturumunda yeniden tanımlayın. Listeleme çıktısından istediğiniz snapshot’ı seçip komuttaki örnek tarihi onunla değiştirin; hedef üretimdeki /var/www değildir.

export PBS_REPOSITORY='backup@pbs!linux01@pbs.example.net:backup'
export PBS_PASSWORD_FILE='/root/.config/proxmox-backup/token.secret'
export PBS_ENCRYPTION_PASSWORD_FILE='/root/.config/proxmox-backup/encryption.passphrase'
# Yalnız CA ile doğrulanamayan sertifikada, gerçek değerle etkinleştirin:
# export PBS_FINGERPRINT='PBS_PANELINDEN_DOGRULANMIS_SHA256_FINGERPRINT'

proxmox-backup-client snapshot list host/linux01

proxmox-backup-client restore \
  'host/linux01/2026-10-13T03:00:00Z' \
  web.pxar /srv/restore-test/web \
  --keyfile /root/.config/proxmox-backup/linux01.key

Test dizininde beklediğiniz dosyaların bulunduğunu, okunabildiğini, sahiplik ve izinlerin korunduğunu kontrol edin. Bu işlem yalnız web dosyalarını açar; veritabanı çıktısının ayrı bir test veritabanına geri yüklenip uygulamayla sınanması gerekir.

Diğer sistemleri nasıl yedekleyebiliriz?

PVE dışında çalışan sunucularınızı aynı yedekleme planına katarken önce iki soruyu ayırın: Veriyi hangi yöntemle alacaksınız, oluşan yedeği nerede saklayacaksınız? Windows, NAS ve veritabanı kaynak tarafındadır; S3, ikinci PBS ve kaset ise saklama veya ek kopya seçenekleridir.

Kaynak veya hedefYöntemTemel sınır
PVE VM / LXCÖnceki bölümdeki yerleşik entegrasyonDisk ve bağlı dizin kapsamı kontrol edilir.
Linux sunucuÖnceki bölümdeki resmi Linux istemcisiDosya yedeği, tam sistem kurtarma planının yerine geçmez.
Fiziksel WindowsVSS destekli yedek veya dışa aktarım çıktısıLinux üzerinden arşivleme ya da üçüncü taraf araç gerekir.
VMware / Hyper-VLinux konuk istemcisi veya tutarlı platform dışa aktarımıTüm sanal makinenin geri dönüş yolu ayrıca belirlenir.
NAS: NFS / SMBLinux’a bağlanan paylaşımdan dosya yedeğiBağlantı, izinler ve dosya özelliklerinin korunması kontrol edilir.
VeritabanıTutarlı veri dökümü veya uygulamanın yedek çıktısıCanlı veri dizininin kopyasıyla eşdeğer değildir.
Uzak PBSPull/push senkronizasyonuSilme yayılımı ve saklama politikası birlikte değerlendirilir.
S3Yerleşik S3 yedek deposuKalıcı yerel önbellek gerekir.
Ceph RBD / RGWRBD’deki PVE disklerini yedekleme / RGW üzerinden S3 hedefiDisk kaynağı ile yedek hedefi farklı rollerdir.
LTO kasetYedek deposundan kasete kopyalamaGeri yükleme önce yedek deposuna yapılır.

Windows, VMware ve Hyper-V tarafında hangi yol kullanılır?

PVE üzerindeki Windows sanal makinesi, önceki bölümdeki akışla yedeklenebilir. Fiziksel Windows içinse incelenen resmi belgelerde Linux istemcisine eşdeğer resmi bir Windows paketi bulunmuyor. Windows’un tutarlı anlık görüntü hizmeti olan VSS destekli bir aracın tamamlanmış çıktısını hazırlama alanına alıp Linux istemcisiyle arşivleyebilirsiniz. Seçtiğiniz aracın bu çıktıyı nasıl geri yüklediğini de planlayın.

VMware ve Hyper-V’de konuk içinden dosya yedeklemek ile tüm makineyi dışa aktarmak farklı kurtarma ihtiyaçlarını karşılar; çalışan sanal diski düz kopyalamak tutarlı yedek sağlamaz.

NAS ve veritabanı yedeğinde neyi kontrol etmelisiniz?

NAS paylaşımında ilk kontrol, NFS veya SMB ağ paylaşımının Linux’ta gerçekten bağlı olmasıdır. Bağlantı kopmuşsa aynı dizin boş görünebilir ve iş beklediğiniz dosyaları almadan tamamlanabilir. Paylaşımı açıkça yedek kapsamına alın; kök dizini seçmek tüm bağlı dosya sistemlerini otomatik kapsamaz. Özellikle SMB üzerinden okuma, Windows erişim kurallarını, alternatif veri akışlarını ve sistem durumunu eksiksiz koruma garantisi vermez. Burada NAS’taki dosyaları kaynak olarak okuyoruz; PBS yedek deposunu NAS üzerinde tutmak ayrı bir kurulumdur ve deponun dosya sistemi gereksinimleri ayrıca karşılanmalıdır.

Veritabanında da dosyaların görünmesi yeterli değildir: PBS’ye aktarılacak kaynak, tamamlanmış tutarlı veri dökümü veya uygulamanın kendi yedek çıktısı olmalıdır.

S3 ve Ceph hangi tarafta yer alır?

S3 burada kaynak değil, yedek hedefidir. Kurulu PBS sürümünüzde yerleşik S3 desteğini kontrol ettikten sonra servis adresi, önceden oluşturulmuş bucket yani nesne saklama alanı, erişim bilgileri ve kalıcı yerel cache yani önbellek gerekir. Bu önbellek geçici çalışma dizini değildir. Aynı yedek deposunu aynı anda iki PBS sunucusuna kullandırmayın.

Ceph RBD, PVE sanal disklerinin bulunduğu blok depolama olabilir; Ceph RGW ise S3 erişimi sağlayarak hedef rolünü üstlenir. S3 kullanımı tek başına yedeği değiştirilemez yapmaz.

İkinci PBS ve kaset kopyası nasıl kullanılır?

İkinci PBS’ye kopyalamada pull, hedefin kaynaktan çekmesi; push, kaynağın hedefe göndermesidir. remove-vanished seçeneği kaynakta kaybolan yedeklerin silinmesini hedefe taşıyabileceğinden, yanlış silmeye karşı korunacak noktaları hedefin ayrı saklama politikasıyla birlikte belirleyin. Uzak kopyanın erişim bilgilerini ve saklama kurallarını kaynak sunucudan bağımsız tutun.

Kaset seçeneğinde ise depo içeriği ikinci kopya veya arşiv olarak kasete yazılır; kurtarma önce PBS yedek deposuna, ardından asıl sisteme yapılır. Bu ara aşama kurtarma süresine dahildir.

Yedeği aldıktan sonra hangi kontroller gerekir?

Başarılı yedekleme kaydı, bakımın yalnızca başlangıcıdır. Eski geri dönüş noktalarını elemek, kullanılmayan alanı temizlemek, bütünlüğü doğrulamak ve uygulamayı gerçekten geri açmak ayrı işlerdir; biri diğerinin yerine geçmez.

Prune, yedeklerin saklama kuralına göre eski geri dönüş noktalarını kaldırır. Örnek senaryo: 7 günlük, 4 haftalık ve 6 aylık nokta tutabilirsiniz; bu zorunlu bir politika değil, kapasitenize ve geçmişe dönüş ihtiyacınıza göre değiştirilecek örnektir. Silmeyi etkinleştirmeden önizlemede korunacak noktaları inceleyin ve gerekli noktaların bağımsız kopyasını doğrulayın. PVE ile PBS’deki kuralların çelişmesi, korumak istediğiniz yedeğin diğer taraftan silinmesine yol açabilir.

Garbage Collection (GC), artık hiçbir geri dönüş noktasının kullanmadığı veri parçalarını daha sonra temizler. Prune yalnızca noktaları kaldırdığı için disk alanı hemen açılmaz; ortak kullanılan parçalar kalır, temizlenebilir parçalar da güvenli bekleme süresinin ardından kaldırılır. PBS’de ilgili deponun Prune & GC bölümünde bu işlerin zamanlamalarını ve sonuçlarını takip edin.

Verify, saklanan yedek verisinin bütünlük kontrolüdür. Verify Jobs bölümündeki doğrulama görevlerini tüm yedekleri kapsayacak şekilde planlayabilirsiniz; resmi belgeler tüm yedeklerin en az ayda bir yeniden doğrulanmasını önerir. Ancak sunucuda çözme anahtarı bulunmayan şifreli parçalar için kontrol CRC-32 hata denetimiyle sınırlıdır; özgün içeriğin sağlam ve kullanılabilir olduğunu tek başına kanıtlamaz.

Gerçek geri yükleme, bu boşluğu kapatır. Üretimin üzerine yazmadan ayrı hedefte ve yalıtılmış ağda kurtarma yapın; güvenli kopyadan aldığınız anahtarla verinin açıldığını, izinlerin uygun olduğunu ve uygulamanın beklenen kayıtlarla çalıştığını kontrol edin. Hazırlıktan uygulama doğrulamasına kadar geçen süreyi kaydetmeniz, kurtarma planını ölçülebilir hale getirir.

Bakım görevleri Linux yedeğini de başlatır mı?

Hayır. Prune, GC ve Verify mevcut yedeklerle çalışır. Linux’tan veri alma işi önceki bölümdeki istemci zamanlayıcısıyla ayrıca çalışmalı; başarısız işler de izlenmelidir.

Anahtar kaybolursa erişim token’ı yeterli olur mu?

Hayır. Erişim token’ı depoya bağlanma yetkisi verir; şifreleme anahtarının ve gerekiyorsa anahtar parolasının yerini tutmaz. Kurtarma kopyanızdaki anahtarı gerçek geri yüklemede sınayın.

Tek dosya kurtarmak tam sistem testi sayılır mı?

Hayır. Dosyanın okunabildiğini gösterir; sistemin açıldığını veya veritabanıyla uygulamanın birlikte çalıştığını göstermez. Test kapsamını kurtarmak istediğiniz hizmete göre seçin.

İlk yedekten sonra planı netleştirin

  • Bir kritik hizmet seçip yedek kapsamını ve geri yükleme hedefini yazın.
  • RPO: Kabul edebileceğiniz veri kaybı süresini belirleyin; yedek sıklığını ve son kullanılabilir noktanın yaşını bununla karşılaştırın.
  • RTO: Hizmeti yeniden çalışır duruma getirmek için kabul edebileceğiniz süreyi belirleyin; ölçülen toplam kurtarma süresiyle karşılaştırın.
  • Bakım sonuçları ve başarısızlık bildirimlerini kimin izleyeceğini, sonraki kurtarma denemesinin tarihini kaydedin.

Yedekleme planını ayrıntılandırmak için yedek şifreleme ve anahtar yönetimi ve RPO, RTO ve felaket kurtarma planlaması rehberlerine de bakabilirsiniz.

Resmi kaynaklar

Teknik bilgiler 13 Ekim 2026 tarihinde aşağıdaki resmi belgelerle kontrol edilmiştir. Arayüz ve özellikleri kurulu sürümünüzle karşılaştırın. Komutlar örnek ortam adları kullanır.

↑