PBS: API ve şifreleme yoluyla güvenli PVE bağlantısı
Giriş
Bu eğitim, Proxmox VE'nin Proxmox Backup Server'a Proxmox API token'ları, namespace ile sınırlandırılmış izinler ve istemci tarafı şifreleme kullanılarak nasıl bağlanacağını açıklar. Bu yaklaşım Proxmox VE güvenliğini artırır, çünkü Proxmox VE'nin tam bir PBS kullanıcı parolasına ihtiyacı yoktur ve yedekleme sunucusunun şifrelenmemiş VM yedek verilerine erişimi bulunmaz.
Güvenli API token kimlik doğrulamasını yapılandıracak, Proxmox Backup Server storage'ını Proxmox VE'ye ekleyecek, istemci tarafı yedek şifrelemesini etkinleştirecek ve datastore'un tüm kullanılabilir alanı tüketmesini önlemek için prune ve garbage collection zamanlamalarını ayarlayacaksınız.
Ön Koşullar
Hedef kitle: Orta seviyedeki sistem yöneticileri.
Tahmini tamamlanma süresi: 45 ila 60 dakika.
Hedef: Bu eğitimin sonunda, kısıtlı API token erişimi, şifrelenmiş VM yedekleri ve depolama kapasitenize uygun saklama (retention) ayarlarıyla Proxmox VE'ye bağlı güvenli bir Proxmox yedekleme deposuna sahip olacaksınız.
Gerekli ortam:
- Proxmox VE 8.x veya üzeri.
- Proxmox Backup Server 3.x veya üzeri.
- Proxmox VE web arayüzüne veya kabuğuna (shell) yönetici erişimi.
- Proxmox Backup Server web arayüzüne veya kabuğuna (shell) yönetici erişimi.
- Mevcut bir PBS datastore'u.
- Proxmox VE'den PBS'ye TCP 8007 portu üzerinden ağ bağlantısı.
- Planlanan yedek saklama süresi için yeterli datastore kapasitesi.
Bu eğitimde kullanılan örnek değerler:
| Yer tutucu | Örnek değer | Açıklama |
|---|---|---|
<PBS_HOST> |
pbs.example.com |
PBS ana bilgisayar adı veya IP adresi |
<PBS_PORT> |
8007 |
Varsayılan PBS API portu |
<DATASTORE> |
backup-store |
PBS datastore adı |
<NAMESPACE> |
pve-prod |
Bu Proxmox VE kaynağı için namespace |
<PBS_USER> |
pve-backup@pbs |
Proxmox VE için oluşturulan PBS kullanıcısı |
<TOKEN_NAME> |
pve-token |
API token adı |
<TOKEN_ID> |
pve-backup@pbs!pve-token |
Tam PBS API token kimliği |
<PVE_STORAGE_ID> |
pbs-secure |
Proxmox VE'de görünen storage kimliği |
<PBS_FINGERPRINT> |
AA:BB:CC:... |
PBS sertifika parmak izi (fingerprint) |
Proxmox Backup Server API token'ları bir token kimliği ve bir secret'tan oluşur. Secret yalnızca token oluşturulurken bir kez gösterilir, bu nedenle hemen bir parola yöneticisinde saklayın. Proxmox dokümantasyonuna göre API token'ları kolay iptal edilebilir ve istemci başına izinleri sınırlamak için kullanışlıdır.
Adım 1: Güvenli Proxmox Yedekleme Tasarımını Planlayın
Herhangi bir yapılandırmayı değiştirmeden önce Proxmox VE'nin PBS'ye nasıl erişeceğini belirleyin.
Bu tasarımı kullanın:
| Bileşen | Önerilen ayar |
|---|---|
| Kimlik doğrulama | Kullanıcı parolası yerine API token |
| Erişim kapsamı | Tüm datastore yerine datastore içindeki namespace |
| PBS rolü | DatastoreBackup ve geri yükleme için içerik gezinmesi gerekiyorsa DatastoreReader |
| Şifreleme | Proxmox VE'de istemci tarafı şifreleme etkin |
| Saklama (retention) | PBS prune işi veya datastore saklama politikası |
| Alan temizliği | Prune işleminden sonra zamanlanmış garbage collection |
| Güvenlik ihlaline müdahale | Token'ı iptal edin ve yenisini oluşturun |
Bu tasarım en az ayrıcalık ilkesini izler. Proxmox Backup Server, rol tabanlı ve yol tabanlı izinler kullanır. Erişim, belirli bir datastore'a veya /datastore/<DATASTORE>/<NAMESPACE> gibi bir namespace yoluna atanabilir.
Adım 2: Özel Bir PBS Kullanıcısı Oluşturun
PBS kabuğuna root veya başka bir yönetici olarak giriş yapın.
Proxmox VE için özel bir PBS realm kullanıcısı oluşturun:
proxmox-backup-manager user create <PBS_USER> \ --comment "Proxmox VE backup user"
Beklenen sonuç: boş çıktı veya mesaj
User '<PBS_USER>' created.
Kullanıcının var olduğunu doğrulayın:
proxmox-backup-manager user list
Beklenen sonuç:
userid enable expire comment <PBS_USER> 1 Proxmox VE backup user root@pam 1 Superuser
Yeni oluşturulan bir PBS kullanıcısı veya API token'ı varsayılan olarak hiçbir izne sahip değildir. Proxmox VE'nin kullanabilmesi için açıkça erişim atamanız gerekir.
Adım 3: Proxmox VE Yedekleri için Bir Namespace Oluşturun
Namespace, aynı datastore içinde bir Proxmox VE ana bilgisayarını veya kümesini diğer yedek kaynaklarından ayırmanızı sağlar. İzinler yalnızca o namespace ile sınırlandırılabildiği için bu, güvenli Proxmox yedek kimlik doğrulaması açısından faydalıdır.
Namespace'i PBS web arayüzünden oluşturabilirsiniz:
- PBS web arayüzünü açın.
- Datastore bölümüne gidin.
<DATASTORE>öğesini seçin.- Content sekmesini açın.
- Add Namespace düğmesine tıklayın.
<NAMESPACE>değerini girin.- Create düğmesine tıklayın.

Beklenen sonuç: PBS, seçilen datastore altında namespace'i oluşturur.
Komut satırını tercih ediyorsanız PBS istemcisinin namespace komutunu kullanın:
proxmox-backup-client namespace create <NAMESPACE> \ --repository root@pam@localhost:<DATASTORE>
Namespace oluştururken parolayı girmeniz gerekir. Otomatik betikler için PBS_PASSWORD ve PBS_FINGERPRINT ortam değişkenlerini ayarlayın.
Beklenen sonuç: boş çıktı veya mesaj
Namespace '<NAMESPACE>' created.
Adım 4: Bir API Token Oluşturun
PBS kullanıcısı için web arayüzünde Configuration → Access Control → API Token → Add yolunu izleyerek bir API token oluşturun:

Alternatif olarak PBS kullanıcısı için CLI üzerinden bir API token oluşturun:
proxmox-backup-manager user generate-token <PBS_USER> <TOKEN_NAME>
Beklenen çıktı:
{ "tokenid": "<TOKEN_ID>", "value": "<TOKEN_SECRET>" }
<TOKEN_SECRET> değerini hemen kaydedin. Oluşturulduktan sonra tekrar görüntülenemez.
Token secret'ını sohbet sistemlerine, dokümantasyona, kabuk geçmişine, destek talebi sistemlerine veya ekran görüntülerine yapıştırmayın. Bir parola yöneticisinde veya onaylı başka bir secret deposunda saklayın.
Adım 5: En Az Ayrıcalıklı İzinleri Atayın
PBS'de API token izinleri, token ACL'sinden hesaplanır ve ardından üst kullanıcının izinleriyle kesiştirilir. Pratikte hem kullanıcının hem de token'ın uygun erişime ihtiyacı vardır ve token hiçbir zaman üst kullanıcısından daha fazlasını yapamaz.
Üst kullanıcıya yalnızca istenen namespace için yedekleme erişimi verin:
proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <PBS_USER>
Token'a aynı yedekleme rolünü verin:
proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <TOKEN_ID>
Proxmox VE'nin aynı namespace'teki mevcut ve kendisine ait yedekleri gezip geri yükleyebilmesini istiyorsanız DatastoreReader rolünü de ekleyin:
proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <PBS_USER> proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <TOKEN_ID>
ACL'leri doğrulayın:
proxmox-backup-manager acl list
Beklenen çıktı:
ugid path roleid <PBS_USER> /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup <TOKEN_ID> /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup <PBS_USER> /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader <TOKEN_ID> /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader
Adım 6: PBS Sertifika Parmak İzini Kaydedin
PBS kendinden imzalı bir sertifika kullanıyorsa Proxmox VE'nin PBS parmak izine (fingerprint) güvenmesi gerekir.
PBS sunucusunda şunu çalıştırın:
proxmox-backup-manager cert info | grep Fingerprint
Beklenen çıktı:
Fingerprint (sha256): <PBS_FINGERPRINT>
Parmak izini bir sonraki adım için kaydedin.
Proxmox dokümantasyonu, Proxmox VE'ye PBS storage eklerken kendinden imzalı PBS sertifikaları için parmak izi iş akışını gösterir.
Adım 7: Proxmox VE'ye PBS Storage Ekleyin
Proxmox VE kabuğuna root olarak giriş yapın.
PBS storage'ını, kullanıcı adı olarak API token kimliğini kullanarak ekleyin. İstendiğinde token secret'ını girin:
pvesm add pbs <PVE_STORAGE_ID> \ --server <PBS_HOST> \ --port <PBS_PORT> \ --datastore <DATASTORE> \ --namespace <NAMESPACE> \ --username <TOKEN_ID> \ --fingerprint <PBS_FINGERPRINT> \ --password
İstendiğinde API token secret'ını yapıştırın:
Enter Password: <TOKEN_SECRET>
Beklenen sonuç: Proxmox VE, PBS storage yapılandırmasını ekler.
Storage'ı doğrulayın:
pvesm status --storage <PVE_STORAGE_ID>
Beklenen çıktı:
Name Type Status Total Used Available % <PVE_STORAGE_ID> pbs active ...
Namespace ile kısıtlı bir API token kullanıldığında, durum active olsa bile Total, Used ve Available değerleri 0 olarak görünebilir. Bu davranış normaldir.
Bunu Proxmox VE web arayüzünden de yapılandırabilirsiniz:
- Datacenter bölümünü açın.
- Storage bölümüne gidin.
- Add düğmesine tıklayın.
- Proxmox Backup Server seçeneğini seçin.
- ID alanını
<PVE_STORAGE_ID>olarak ayarlayın. - Server alanını
<PBS_HOST>olarak ayarlayın. - Datastore alanını
<DATASTORE>olarak ayarlayın. - Namespace alanını
<NAMESPACE>olarak ayarlayın. - Username alanını
<TOKEN_ID>olarak ayarlayın. - Password alanını API token secret'ı olarak ayarlayın.
- Gerekirse Fingerprint alanını
<PBS_FINGERPRINT>olarak ayarlayın. - Add düğmesine tıklayın.

Beklenen sonuç: Storage, Proxmox VE storage listesinde görünür ve etkin (active) olarak raporlanır.
Adım 8: İstemci Tarafı Şifrelemeyi Etkinleştirin
İstemci tarafı şifreleme, yedek verilerini Proxmox VE'den çıkmadan önce korur. PBS şifrelenmiş VM yedeklerini saklar, ancak şifreleme anahtarı Proxmox VE tarafında kalır. Tek başına ele geçirilmiş bir PBS datastore'u VM disk içeriklerini ifşa etmediği için bu, Proxmox VE yedek güvenliğini artırır.
Proxmox VE web arayüzünden:
- Datacenter bölümünü açın.
- Storage bölümüne gidin.
<PVE_STORAGE_ID>öğesini seçin.- Edit düğmesine tıklayın.
- Encryption sekmesine gidin ve Auto-generate a client encryption key seçeneğini seçin.
- Bu yeni bir güvenli yedekleme deposuysa yeni bir anahtar oluşturun.
- Şifreleme anahtarının bir yedek kopyasını parola yöneticisinde veya çevrimdışı bir secret kasasında saklayın.
- OK düğmesine tıklayın.

Beklenen sonuç: Bu PBS storage'ına yapılan yeni yedekler istemci tarafında şifrelenir.
Şifreleme anahtarının kaybedilmesi, şifrelenmiş yedekleri kurtarılamaz hale getirebilir. Anahtarı Proxmox VE ana bilgisayarından ayrı saklayın ve yedek kümesine güvenmeden önce geri yükleme erişimini test edin.
Önerilen anahtar yönetimi:
| Uygulama | Gerekçe |
|---|---|
| Anahtarı Proxmox VE kümesinin dışında saklayın | Küme kaybına karşı korur |
| Dosya izinlerini kısıtlayın | Yerel maruziyeti azaltır |
| Anahtarı çevrimdışı yedekleyin | Felaket kurtarmayı mümkün kılar |
| Anahtarı yalnızca PBS üzerinde saklamayın | PBS kaybı veya ele geçirilmesi kurtarmayı engellememelidir |
| Anahtarla geri yüklemeyi test edin | Bir olaydan önce kurtarmanın çalıştığını doğrular |
Adım 9: Bir Proxmox VE Yedekleme İşi Oluşturun
Şifrelenmiş PBS storage'ına yazan bir yedekleme işi oluşturun.
Proxmox VE web arayüzünden:
- Datacenter bölümünü açın.
- Backup bölümüne gidin.
- Add düğmesine tıklayın.
- Korunacak düğümleri, VM'leri veya konteynerleri seçin.
- Storage alanını
<PVE_STORAGE_ID>olarak ayarlayın. - Her gün saat 02:00 gibi bir zamanlama seçin.
- Modu iş yükünüze göre ayarlayın.
- Prune işlemini PBS yönetecekse saklama (retention) ayarını boş bırakın.
- Create düğmesine tıklayın.

Beklenen sonuç: Proxmox VE, PBS'ye şifrelenmiş yedekler yazan zamanlanmış bir yedekleme işi oluşturur.
Adım 10: Prune Ayarlarını Yapılandırın
Prune, hangi yedek snapshot'larının görünür ve geri yüklenebilir kalacağını belirler. Başvurusu kalmayan tüm chunk'ları diskten hemen kaldırmaz. PBS prune işleri Prune & GC sekmesinden veya proxmox-backup-manager prune-job ile yapılandırılabilir. Proxmox dokümantasyonuna göre prune işi yapılandırması /etc/proxmox-backup/prune.cfg dosyasında saklanır.
Günlük VM yedekleri için yaygın bir saklama politikası şöyledir:
| Ayar | Değer | Anlamı |
|---|---|---|
keep-daily |
7 | Son 7 gün için günde bir yedek sakla |
keep-weekly |
4 | Son 4 hafta için haftada bir yedek sakla |
keep-monthly |
6 | Son 6 ay için ayda bir yedek sakla |
Bu politikayı datastore üzerinde yapılandırın:
proxmox-backup-manager prune-job create <JOB_ID> \ --store <DATASTORE> \ --ns <NAMESPACE> \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6 \ --prune-schedule "03:00"
Beklenen sonuç: PBS saklama politikasını uygular ve prune işlemini her gün 03:00'te çalıştırır.
Daha küçük bir datastore için daha kısa bir politika kullanın:
proxmox-backup-manager prune-job create <JOB_ID> \ --store <DATASTORE> \ --ns <NAMESPACE> \ --keep-daily 3 \ --keep-weekly 2 \ --keep-monthly 1 \ --prune-schedule "03:00"
Beklenen sonuç: PBS daha az geri yükleme noktası saklar ve daha az alan tüketir.
Gereken kapasiteyi hesaplamadan keep-daily 90, keep-weekly 52 ve keep-monthly 36 gibi büyük değerler ayarlamayın. Yedek tekilleştirme (deduplication) yardımcı olur, ancak depolamayı sınırsız yapmaz.
Adım 11: Yedek Depolama Hacmini Tahmin Edin
PBS chunk'ları tekilleştirir, bu nedenle depolama tüketimi basitçe tam VM boyutunun yedek sayısıyla çarpımı değildir. Yine de temkinli bir tahmin yapmanız gerekir.
Bu formülü kullanın:
Estimated required capacity = initial full protected data + changed data per backup * retained backup points + safety margin
Örnek 1: Küçük ortam
| Değer | Miktar |
|---|---|
| Korunan VM verisi | 600 GiB |
| Ortalama günlük değişim oranı | yüzde 3 |
| Günlük değişen veri | 18 GiB |
| Saklama (retention) | 7 günlük, 4 haftalık, 6 aylık |
| Saklanan yaklaşık nokta sayısı | 17 |
| Değişen veri tahmini | 306 GiB |
| Güvenlik payı | yüzde 30 |
Hesaplama:
600 GiB + (18 GiB * 17) = 906 GiB 906 GiB * 1.30 = 1177.8 GiB
Önerilen datastore kapasitesi: en az 1,2 TiB, tercihen 1,5 TiB veya daha fazla.
Örnek 2: Daha büyük üretim ortamı
| Değer | Miktar |
|---|---|
| Korunan VM verisi | 4 TiB |
| Ortalama günlük değişim oranı | yüzde 5 |
| Yedek başına değişen veri | 204.8 GiB |
| Saklama (retention) | 14 günlük, 8 haftalık, 12 aylık |
| Saklanan yaklaşık nokta sayısı | 34 |
| Değişen veri tahmini | 6.8 TiB |
| Güvenlik payı | yüzde 30 |
Hesaplama:
4 TiB + (204.8 GiB * 34) = 10.8 TiB 10.8 TiB * 1.30 = 14.04 TiB
Önerilen datastore kapasitesi: en az 14 TiB, tercihen 16 TiB veya daha fazla.
Bu örnekler bilinçli olarak temkinlidir. Gerçek kullanım; VM değişim hızına, konuk dosya sistemi davranışına, sıkıştırmaya, tekilleştirmeye, yedekleme sıklığına ve konuk sistemler içinde büyük dosyaların ne sıklıkla yeniden yazıldığına bağlıdır.
Adım 12: Garbage Collection'ı Yapılandırın
Garbage collection (GC), başvurusu kalmayan chunk'ları datastore'dan gerçekten kaldıran işlemdir. Prune, yedek snapshot'larını saklama kurallarına göre kaldırır, ancak diğer snapshot'lar hâlâ başvuruyorsa veya chunk'lar güvenlik penceresi içindeyse chunk'lar diskte kalabilir.
PBS garbage collection iki aşamadan oluşur:
| Aşama | Ne olur |
|---|---|
| Mark | PBS dizin dosyalarını okur ve başvurulan chunk'ların erişim zamanını günceller |
| Sweep | PBS chunk'ları tarar ve hiçbir snapshot başvurmuyorsa kesme zamanından eski chunk'ları kaldırır |
PBS, çalışan en eski yedek yazıcısına veya GC başlangıcından 24 saat 5 dakika öncesine dayanan bir kesme zamanı kullanır. Bu ek süre içindeki chunk'lar hemen silinmek yerine bekleyen kaldırmalar olarak günlüğe kaydedilir. Bu, çalışmakta olan yedekleri korur ve dosya sisteminin relatime davranışını hesaba katar.
GC'yi prune işleminden sonraya zamanlayın:
proxmox-backup-manager datastore update <DATASTORE> \ --gc-schedule "04:30"
Beklenen sonuç: PBS garbage collection'ı her gün 04:30'da çalıştırır.
Her gün 02:00'de yapılan yedekleme için önerilen zamanlama:
| Görev | Örnek saat | Amaç |
|---|---|---|
| Proxmox VE yedeklemesi | 02:00 | Şifrelenmiş VM yedekleri oluşturma |
| PBS prune | 03:00 | Saklama politikasını uygulama |
| PBS garbage collection | 04:30 | Güvenli olduğunda başvurusu kalmayan chunk'ları geri kazanma |
GC'yi prune işleminden hemen sonra çalıştırmak, disk alanının anında geri kazanılacağını garanti etmez. Bazı chunk'lar, güvenle silinecek kadar eskiyene dek bilinçli olarak bekleyen kaldırmalar olarak tutulur.
GC durumunu kontrol edin:
proxmox-backup-manager garbage-collection status <DATASTORE>
Gerektiğinde GC'yi elle başlatın:
proxmox-backup-manager garbage-collection start <DATASTORE>
Beklenen sonuç: PBS, datastore düzeyinde bir garbage collection görevi başlatır. Resmî PBS dokümantasyonu bu komutları ve datastore'un Prune & GC sekmesindeki web arayüzü seçeneğini de sunar.
Adım 13: Test Yedeklemesi Çalıştırın
Yedekleme işini Proxmox VE'den elle çalıştırın:
- Datacenter bölümünü açın.
- Backup bölümüne gidin.
- Yedekleme işini seçin.
- Run now düğmesine tıklayın.
- İşlemi onaylayın.
Beklenen sonuç: Yedekleme görevi başarıyla tamamlanır.
Ayrıca Proxmox VE kabuğundan da kontrol edebilirsiniz:
pvesm status --storage <PVE_STORAGE_ID>
Beklenen çıktı:
Name Type Status <PVE_STORAGE_ID> pbs active
PBS'de şunu açın:
- Datastore.
<DATASTORE>.- Content.
<NAMESPACE>.
Beklenen sonuç: Yeni VM veya konteyner yedeği namespace içinde görünür.
Doğrulama
PBS üzerinde token izinlerini doğrulayın:
proxmox-backup-manager user permissions <TOKEN_ID> \ --path /datastore/<DATASTORE>/<NAMESPACE>
Beklenen sonuç: Token yalnızca hedef namespace için datastore izinleri gösterir.
Proxmox VE'den storage erişimini doğrulayın:
pvesm status --storage <PVE_STORAGE_ID>
Beklenen sonuç:
<PVE_STORAGE_ID> pbs active
Yedeklerin şifrelendiğini doğrulayın:
- Proxmox VE'yi açın.
- PBS storage'ındaki VM yedeğini seçin.
- Geri yükleme işlemlerinin Proxmox VE'den kullanılabilir olduğunu doğrulayın.
- Anahtarın küme dışında yedeklendiğini doğrulayın.
Prune ve GC yapılandırmasını doğrulayın:
proxmox-backup-manager datastore show <DATASTORE>
Beklenen sonuç: Datastore yapılandırması prune ve garbage collection zamanlamalarını gösterir.
API Token Ele Geçirilirse Ne Yapmalı
Token secret'ı ifşa olduysa hemen iptal edin.
PBS'de token'ı silin:
proxmox-backup-manager user delete-token <PBS_USER> <TOKEN_NAME>
Beklenen sonuç: PBS token'ı kaldırır.
Ardından yedek bir token oluşturun:
proxmox-backup-manager user generate-token <PBS_USER> <NEW_TOKEN_NAME> proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup --auth-id '<PBS_USER>!<NEW_TOKEN_NAME>' proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader --auth-id '<PBS_USER>!<NEW_TOKEN_NAME>'
Proxmox VE storage parolasını güncelleyin:
pvesm set <PVE_STORAGE_ID> --username '<PBS_USER>!<NEW_TOKEN_NAME>' pvesm set <PVE_STORAGE_ID> --password
İstendiğinde yeni token secret'ını yapıştırın.
Beklenen sonuç: Proxmox VE, güvenli API token kimlik doğrulaması için yeni token'ı kullanır.
API token'ları, bir istemci ele geçirildiğinde kolayca iptal edilebilmesi için tasarlanmıştır. Proxmox VE'de kullanıcı parolası saklamak yerine token kullanmanın başlıca nedenlerinden biri budur.
Değişiklikleri Geri Alma
Storage'ı silmeden önce şifreleme anahtarının bir kopyasını küme dışında saklayın.
Proxmox VE storage kaydını kaldırın:
pvesm remove <PVE_STORAGE_ID>
Beklenen sonuç: Proxmox VE, PBS storage yapılandırmasını kaldırır. PBS üzerindeki mevcut yedekler datastore'da kalır.
API token'ı silin:
proxmox-backup-manager user delete-token <PBS_USER> <TOKEN_NAME>
Beklenen sonuç: PBS, API token'ı iptal eder.
ACL kayıtlarını kaldırın:
proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <ID> --delete 1 proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <ID> --delete 1
Beklenen sonuç: PBS, namespace izinlerini kaldırır.
Artık gerekmiyorsa özel kullanıcıyı kaldırın:
proxmox-backup-manager user remove <PBS_USER>
Beklenen sonuç: PBS kullanıcıyı kaldırır.
Yedek verilerini bilerek kaldırmak istemiyorsanız namespace'i veya datastore'u silmeyin. Erişim yapılandırmasını kaldırmak, yedekleri silmekten farklıdır.
Sorun Giderme
Proxmox VE, PBS Storage'ını Etkin Değil Olarak Gösteriyor
Ağ erişimini kontrol edin:
nc -vz <PBS_HOST> 8007
Beklenen çıktı:
Connection to <PBS_HOST> 8007 port [tcp/*] succeeded!
PBS parmak izini kontrol edin:
proxmox-backup-manager cert info | grep Fingerprint
Parmak izi değiştiyse Proxmox VE'de güncelleyin:
pvesm set <PVE_STORAGE_ID> --fingerprint <PBS_FINGERPRINT>
API Token ile Kimlik Doğrulama Başarısız Oluyor
Kullanıcı adının tam token kimliği olduğunu doğrulayın:
<PBS_USER>!<TOKEN_NAME>
Örnek:
pve-backup@pbs!pve-token
Parola alanının, PBS kullanıcı parolasını değil token secret'ını içerdiğini doğrulayın.
İzinleri doğrulayın:
proxmox-backup-manager acl list
Token'ın namespace yolunda ACL kayıtları olmalıdır ve üst kullanıcının da uyumlu izinlere sahip olması gerekir.
Yedekleme İzin Hatalarıyla Başarısız Oluyor
Namespace yolunu kontrol edin:
/datastore/<DATASTORE>/<NAMESPACE>
ACL atarken datastore'un dosya sistemi yolunu, örneğin /mnt/datastore/<DATASTORE> yolunu kullanmayın. PBS ACL yolları /datastore/<DATASTORE> biçimini kullanır.
Datastore Prune Sonrasında Büyümeye Devam Ediyor
GC henüz çalışmadıysa veya chunk'lar hâlâ güvenlik penceresi içindeyse bu genellikle beklenen bir durumdur. PBS, chunk'ları prune sonrasında hemen silmez; çünkü chunk'lara başka snapshot'lar hâlâ başvuruyor olabilir veya chunk'lar GC kesme zamanı penceresiyle korunuyor olabilir.
GC durumunu kontrol edin:
proxmox-backup-manager garbage-collection status <DATASTORE>
GC zamanlanmamışsa yapılandırın:
proxmox-backup-manager datastore update <DATASTORE> \ --gc-schedule "04:30"
Şifrelenmiş Yedekler Geri Yüklenemiyor
Proxmox VE storage'ının şifreleme anahtarına hâlâ erişimi olduğunu doğrulayın.
Dahili yedek anahtarı envanterinizi kontrol edin. Özgün Proxmox VE kümesi kaybolduysa geri yükleme için kaydedilmiş şifreleme anahtarı gerekir. Anahtar olmadan istemci tarafı yedek şifrelemesi kurtarmayı engelleyebilir.
Sonuç
Özel bir PBS kullanıcısı, Proxmox API token'ları, namespace ile sınırlandırılmış izinler ve istemci tarafı şifreleme kullanarak Proxmox VE'den Proxmox Backup Server'a güvenli bir bağlantı yapılandırdınız. Ayrıca yedek geçmişi büyüdükçe Proxmox'taki yedek şifrelemesinin sürdürülebilir kalması için prune ve garbage collection zamanlamalarını da yapılandırdınız.
Bu yapılandırma, Proxmox VE yedek kimlik doğrulamasını iyileştirir, şifrelenmiş VM yedeklerini sunucu tarafında ifşadan korur ve uzun vadeli Proxmox Backup Server yapılandırması için pratik, güvenli bir yedekleme deposu sağlar.
Önerilen sonraki adımlar:
- Tam bir VM geri yüklemesini test edin.
- Dosya düzeyinde bir geri yüklemeyi test edin.
- Şifreleme anahtarını en az iki güvenli konumda saklayın.
- Her prune ve GC döngüsünden sonra datastore büyümesini izleyin.
- Sessiz yedek bozulmalarını tespit etmek için PBS doğrulama (verification) işleri ekleyin.
- Token iptal sürecini olay müdahale planınızda belgelendirin.
Doküman Sürümü: 1.0
Son Güncelleme: Haziran 2026
Sorumlu: Teknik Dokümantasyon Ekibi