Proxmox Backup Server: garbage Collection in Prune
Uvod
Ta vodnik pojasnjuje, kako konfigurirati vzdrževanje strežnika Proxmox Backup Server za dolgoročno shranjevanje varnostnih kopij z opravili prune in zbiranjem smeti (garbage collection). Nastavili boste prune v Proxmoxu, načrtovali garbage collection v Proxmoxu in ocenili porabo prostora, da vaš datastore ne bo rasel, dokler ne zasede vsega razpoložljivega diskovnega prostora.
Ob koncu tega vodnika boste imeli načrtovano pravilo prune in urnik garbage collection za datastore strežnika Proxmox Backup Server, s praktičnimi primeri hrambe za dnevne, tedenske in mesečne varnostne kopije.
Predpogoji
Preden začnete, se prepričajte, da imate:
- Proxmox Backup Server različice 4.2.x ali novejše
- Konfiguriran datastore PBS z obstoječimi ali načrtovanimi varnostnimi kopijami
- Skrbniški dostop do spletnega vmesnika strežnika Proxmox Backup Server
- Dostop do lupine kot root ali drug uporabnik z zadostnimi skrbniškimi pravicami za PBS
- Osnovno poznavanje opravil varnostnega kopiranja v Proxmox VE in imenskih prostorov (namespace) PBS
- Približno 30 minut za dokončanje konfiguracije
Ta vodnik je namenjen sistemskim skrbnikom s srednjo ravnjo znanja.
1. korak: Razumevanje sodelovanja med prune in garbage collection
V strežniku Proxmox Backup Server sta obrezovanje (prune) in garbage collection ločeni vzdrževalni operaciji. Razumevanje njunega sodelovanja je bistveno za učinkovito upravljanje datastoreov v Proxmoxu.
Opravilo prune odloči, katere posnetke (snapshote) varnostnih kopij obdržati in katere odstraniti iz vidne zgodovine kopij. Ko PBS izvede prune posnetka, odstrani njegove metapodatke, indekse, dnevnike in opombe. Neuporabljenih kosov (chunkov) varnostnih kopij ne odstrani takoj. Kose, na katere so se sklicevali obrezani posnetki, pozneje odstrani garbage collection.
Garbage collection (GC) sprosti prostor v datastoreu z brisanjem neuporabljenih kosov iz shrambe kosov. PBS uporablja deduplicirane kose, zato lahko na en kos kaže več posnetkov varnostnih kopij. Zaradi tega PBS ne more varno izbrisati kosov v trenutku, ko je posnetek obrezan. Najprej mora potrditi, da se nanje ne sklicuje noben preostali posnetek ali kopija v teku.
Prune odstrani stare zapise posnetkov varnostnih kopij. GC povrne dejanski diskovni prostor.
PBS pri odstranjevanju kosov uporablja tudi odlog (grace period). Med GC se kosi označijo in pometejo (mark and sweep), vendar se kosi znotraj odloga prijavijo kot čakajoče odstranitve (pending removals) in se ne izbrišejo takoj. To ščiti kopije v teku in upošteva obnašanje časov dostopa datotečnega sistema, zlasti pri običajnem priklopu z relatime.
2. korak: Pregled trenutne konfiguracije datastorea
To lahko storite prek CLI ali spletnega vmesnika.
Izpišite razpoložljive datastoree:
proxmox-backup-manager datastore list
Pričakovani izpis: tabela s seznamom datastoreov.
Izberite datastore, v katerem so shranjene vaše varnostne kopije Proxmox VE. V naslednjih primerih zamenjajte <DATASTORE_NAME> z imenom svojega datastorea.
Preverite trenutno stanje garbage collection:
proxmox-backup-manager garbage-collection status <DATASTORE_NAME>
Videti bi morali trenutno stanje GC za datastore. Če se GC še nikoli ni izvedla, izpis morda ne kaže nobenega prejšnjega uspešnega zagona.
Izpišite obstoječa opravila prune:
proxmox-backup-manager prune-job list
Videti bi morali obstoječa opravila prune ali prazen seznam, če nobeno opravilo ni konfigurirano.
Za preverjanje prek spletnega vmesnika pojdite na Datastore - <DATASTORE_NAME> - Prune & GC Jobs:

3. korak: Načrtovanje pravila dolgoročne hrambe varnostnih kopij
Pravilo hrambe mora ustrezati zahtevam za obnovitev in zmogljivosti shrambe. Pri mnogih načrtih hrambe varnostnih kopij Proxmox praktično dolgoročno pravilo uporablja vzorec dedek-oče-sin (grandfather-father-son):
| Možnost hrambe | Primer vrednosti | Rezultat |
|---|---|---|
keep-daily |
14 | Obdrži eno kopijo na dan za 14 dni s kopijami |
keep-weekly |
8 | Obdrži eno kopijo na teden za 8 tednov s kopijami |
keep-monthly |
12 | Obdrži eno kopijo na mesec za 12 mesecev s kopijami |
keep-yearly |
2 | Obdrži eno kopijo na leto za 2 leti s kopijami |
Možnosti hrambe v PBS se obdelujejo po časovnih intervalih (time buckets). Na primer keep-daily obdrži najnovejšo kopijo za vsak ohranjeni dan, dnevi brez kopij pa se ne štejejo. keep-weekly obdrži najnovejšo kopijo za vsak ohranjeni teden ISO, tedni brez kopij pa se ne štejejo.
Hrambe ne izračunajte kot preprost seštevek, ne da bi upoštevali prekrivanje. Ena kopija lahko hkrati izpolnjuje dnevna, tedenska, mesečna in letna pravila, zato je natančno število ohranjenih posnetkov odvisno od časovnih žigov kopij.
Za dnevni urnik varnostnega kopiranja začnite z enim od teh pravil:
| Pravilo | Nastavitve hrambe | Primer uporabe |
|---|---|---|
| Konzervativno | keep-daily 7keep-weekly 4keep-monthly 6 |
Majhen datastore ali kratka zgodovina obnovitev |
| Uravnoteženo | keep-daily 14keep-weekly 8keep-monthly 1 |
Značilne kopije navideznih strojev in vsebnikov |
| Dolgoročno | keep-daily 30keep-weekly 12keep-monthly 24keep-yearly 3 |
Večji datastore ali zgodovina, ki jo narekuje skladnost |
Hrambo konfigurirajte, preden je datastore skoraj poln. Čiščenje datastorea v Proxmoxu je varnejše, ko ima PBS še dovolj prostega prostora za nove kopije in vzdrževalna opravila.
4. korak: Ocena potrebnega prostora pred uveljavitvijo hrambe
Načrtovanje prostora za dolgoročno shranjevanje varnostnih kopij ni isto kot množenje polne velikosti navideznega stroja s številom posnetkov. Proxmox Backup Server uporablja deduplikacijo, zato vsaka nova kopija običajno shrani le spremenjene kose in metapodatke. Kljub temu je smiselna previdna ocena.
Uporabite to formulo:
Ocenjen prostor = začetni zaščiteni podatki + dnevno spremenjeni podatki * ekvivalent ohranjenih dni + varnostna rezerva
Primer 1: Uravnotežena hramba za skupino navideznih strojev:
| Vrednost | Primer |
|---|---|
| Zaščiteni podatki navideznih strojev | 2 TB |
| Povprečni dnevno spremenjeni podatki | 80 GB |
| Pravilo hrambe | 14 dnevnih · 8 tedenskih · 12 mesečnih |
| Varnostna rezerva | 25 odstotkov |
Približno število ohranjenih točk sprememb:
14 daily + 8 weekly + 12 monthly = 34 restore points
Približna količina spremenjenih podatkov:
80 GB * 34 = 2720 GB
Približni skupni znesek pred rezervo:
2000 GB + 2720 GB = 4720 GB
Dodajte 25-odstotno varnostno rezervo:
4720 GB * 1.25 = 5900 GB
Za to delovno obremenitev načrtujte približno 6 TB uporabne zmogljivosti datastorea.
Primer 2: Pravilo za manjši datastore:
| Vrednost | Primer |
|---|---|
| Zaščiteni podatki navideznih strojev | 1 TB |
| Povprečni dnevno spremenjeni podatki | 30 GB |
| Pravilo hrambe | 7 dnevnih · 4 tedenske · 6 mesečnih |
| Varnostna rezerva | 25 odstotkov |
Približno število obnovitvenih točk:
7 + 4 + 6 = 17 restore points
Približni potrebni prostor:
1000 GB + (30 GB * 17) = 1510 GB 1510 GB * 1.25 = 1887.5 GB
Za to delovno obremenitev načrtujte približno 2 TB uporabne zmogljivosti datastorea.
Ti primeri so namenoma konzervativni. Dejanska poraba PBS je lahko nižja, ker lahko deduplikacija ponovno uporabi kose med več posnetki in med podobnimi sistemi.
5. korak: Ustvarjanje opravila prune v spletnem vmesniku
- Odprite spletni vmesnik strežnika Proxmox Backup Server.
- Izberite Datastore.
- Izberite
<DATASTORE_NAME>. - Odprite zavihek Prune & GC.
- Kliknite Add Prune Job.
- Nastavite Datastore na
<DATASTORE_NAME>. - Nastavite Namespace, če želite obrezati samo en imenski prostor.
- Konfigurirajte vrednosti hrambe, na primer
keep-dailyna14,keep-weeklyna8inkeep-monthlyna12. - Nastavite urnik, na primer
03:00. - Shranite opravilo prune.

Pričakovani rezultat: PBS ustvari načrtovano opravilo prune za datastore ali imenski prostor. To opravilo redno odstranjuje posnetke varnostnih kopij, ki jih vaše pravilo hrambe ne izbere več.
6. korak: Ustvarjanje opravila prune iz ukazne vrstice
Enako opravilo prune lahko ustvarite tudi iz lupine PBS.
Za opravilo prune na ravni celotnega datastorea:
proxmox-backup-manager prune-job create pve-longterm \ --store <DATASTORE_NAME> \ --schedule "03:00" \ --keep-daily 14 \ --keep-weekly 8 \ --keep-monthly 12 \ --comment "Long-term Proxmox backup retention"
Pričakovani rezultat: PBS ustvari opravilo prune z imenom pve-longterm.
Za opravilo prune, specifično za imenski prostor:
proxmox-backup-manager prune-job create pve-namespace-longterm \ --store <DATASTORE_NAME> \ --ns <NAMESPACE> \ --schedule "03:00" \ --keep-daily 14 \ --keep-weekly 8 \ --keep-monthly 12 \ --comment "Long-term retention for namespace"
Pričakovani rezultat: PBS obreže samo izbrani imenski prostor. To je uporabno, kadar različni gruče, najemniki (tenants) ali okolja zahtevajo različna pravila hrambe.
Izpišite opravilo prune:
proxmox-backup-manager prune-job list
Pričakovani izpis: tabela s seznamom opravil čiščenja varnostnih kopij Proxmox.
7. korak: Konfiguracija urnika garbage collection
Ko prune odstrani metapodatke starih posnetkov, mora GC steči, da povrne prostor neuporabljenih kosov. Tedenski urnik GC je dobro izhodišče za večino nastavitev.
Nastavite tedenski urnik GC:
proxmox-backup-manager datastore update <DATASTORE_NAME> \ --gc-schedule "Sun 04:00"
Nastavite ga lahko prek spletnega vmesnika v Datastore - <DATASTORE_NAME> - Prune & GC Jobs → Garbage Collection Jobs → Edit:

Pričakovani rezultat: PBS načrtuje garbage collection za datastore vsako nedeljo ob 04:00.
Preverite stanje GC:
proxmox-backup-manager garbage-collection status <DATASTORE_NAME>
Pričakovani izpis vključuje ime datastorea in podatke o zadnjem ali naslednjem zagonu GC.
GC lahko zaženete tudi ročno:
proxmox-backup-manager garbage-collection start <DATASTORE_NAME>
Pričakovani rezultat: PBS zažene opravilo GC za datastore.
Ne pričakujte, da bo GC takoj po prune izbrisala vsak neuporabljen kos. PBS lahko nekatere kose prijavi kot čakajoče odstranitve (pending removals), dokler odlog ne poteče.
8. korak: Izbira varnega urnika prune in GC
Praktičen urnik je:
| Opravilo | Primer urnika | Razlog |
|---|---|---|
| Opravilo varnostnega kopiranja Proxmox VE | Dnevno ob 01:00 |
Najprej ustvari nove kopije |
| Opravilo prune PBS | Dnevno ob 03:00 |
Odstrani posnetke zunaj hrambe |
| Opravilo GC PBS | Tedensko ob nedeljah ob 04:00 |
Po prune povrne neuporabljene kose |
Ta vrstni red zagotavlja, da so nove kopije na voljo, preden se odstranijo stari posnetki. PBS ima tudi dovolj časa, da dokonča zapisovanje kopij, preden se začneta opravili prune in GC.
V obremenjenih okoljih se izogibajte hkratnemu izvajanju opravil varnostnega kopiranja, preverjanja, prune, sinhronizacije in GC. Vzdrževalna opravila časovno razporedite, da zmanjšate tekmovanje za V/I.
Če vaš datastore vsak dan prejme veliko kopij, začnite s tedensko GC. Če se datastore po prune hitro napolni, razmislite o pogostejši GC, vendar spremljajte vpliv na V/I.
9. korak: Preverjanje konfiguracije
Izpišite opravila prune:
proxmox-backup-manager prune-job list
Potrdite, da ima opravilo pričakovani datastore, imenski prostor, urnik in vrednosti keep.
Prikažite eno opravilo prune:
proxmox-backup-manager prune-job show pve-longterm
Pričakovani rezultat: PBS prikaže konfigurirane možnosti hrambe.
Preverite konfiguracijo GC:
proxmox-backup-manager garbage-collection list
Pričakovani rezultat: PBS izpiše stanje garbage collection za vse datastoree, vključno s tistimi brez opravil GC.
Preverite porabo datastorea v spletnem vmesniku:
- Odprite Datastore.
- Izberite
<DATASTORE_NAME>. - Preglejte porabo datastorea in zgodovino opravil.
- Odprite Tasks in potrdite, da se opravili prune in GC uspešno zaključita.
Pričakovani rezultat: datastore kaže načrtovano vzdrževalno dejavnost, stari posnetki pa se odstranjujejo v skladu z konfiguriranim prune v Proxmoxu.
10. korak: Spremljanje rasti porabe prostora skozi čas
Po konfiguraciji opravil prune v PBS spremljajte porabo prostora vsaj en celoten cikel hrambe. Če na primer konfigurirate keep-monthly 12, potrebujete podatke za več mesecev, preden postane dolgoročni trend jasen.
Preglejte te metrike:
| Metrika | Kaj preveriti |
|---|---|
| Zasedeni prostor datastorea | Potrjuje, ali optimizacija shrambe varnostnih kopij deluje |
| Dnevniki opravil prune | Potrjujejo, da se posnetki odstranjujejo |
| Dnevniki opravil GC | Potrjujejo, da se neuporabljeni kosi brišejo |
| Čakajoče odstranitve (pending removals) | Kažejo kose, ki čakajo na iztek odloga GC |
| Trend velikosti opravil varnostnega kopiranja | Kaže, ali se količina spremenjenih podatkov povečuje |
Če datastore še vedno raste hitreje od pričakovanega, zmanjšajte hrambo ali dodajte prostor, preden se datotečni sistem napolni.
Pogoste prilagoditve:
| Težava | Prilagoditev |
|---|---|
| Datastore se prehitro polni | Zmanjšajte keep-daily, keep-weekly ali keep-monthly |
| Premalo nedavnih obnovitvenih točk | Povečajte keep-daily |
| Mesečna zgodovina je prekratka | Povečajte keep-monthly |
| Kopije se prekrivajo z vzdrževanjem | Prestavite prune ali GC na poznejši čas |
| GC sprosti malo prostora | Preverite, ali opravila prune res odstranjujejo stare posnetke |
Razveljavitev sprememb
Za odstranitev opravila prune:
proxmox-backup-manager prune-job remove pve-longterm
Pričakovani rezultat: PBS odstrani konfiguracijo opravila prune.
Za onemogočenje urnika GC brez brisanja datastorea:
proxmox-backup-manager datastore update <DATASTORE_NAME> \ --delete gc-schedule
Pričakovani rezultat: PBS počisti samodejni urnik GC za datastore.
Za spremembo hrambe namesto odstranitve opravila prune:
proxmox-backup-manager prune-job update pve-longterm \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6
Pričakovani rezultat: PBS obdrži opravilo prune, vendar pri prihodnjih zagonih prune uporabi novo pravilo hrambe.
Razveljavitev pravila prune ne obnovi posnetkov, ki so bili že obrezani. Ko je posnetek odstranjen in so njegovi kosi pozneje odstranjeni z GC, ga ni mogoče znova ustvariti iz PBS.
Odpravljanje težav
GC ne sprosti prostora takoj
Vzrok: Prune je odstranil metapodatke posnetkov, vendar se na kose še vedno sklicujejo drugi posnetki ali pa so v odlogu GC.
Rešitev: Počakajte, da odlog poteče, in GC pozneje zaženite znova. V dnevnikih opravil preverite čakajoče odstranitve (pending removals).
Prune obdrži več kopij od pričakovanega
Vzrok: keep-daily, keep-weekly in keep-monthly uporabljajo časovne intervale. Dnevi, tedni ali meseci brez kopij se ne štejejo. Pravila hrambe se tudi prekrivajo.
Rešitev: Pred spremembo hrambe v produkciji uporabite simulator prune v PBS. Tako si lahko ogledate obnašanje hrambe, preden uveljavite spremembe.
Datastore po prune in GC še vedno raste
Vzrok: Dnevno spremenjeni podatki so lahko večji od ocene, kopije lahko vključujejo nove diske ali pa je hramba za datastore prevelika.
Rešitev: Ponovno izračunajte oceno obsega z dejansko spremenjenimi podatki. Zmanjšajte hrambo ali razširite prostor.
Opravilo prune ne vpliva na imenski prostor
Vzrok: Opravilo prune je morda konfigurirano za napačen imenski prostor ali napačno globino imenskega prostora.
Rešitev: Preglejte nastavitve opravila prune in potrdite vrednost --ns. Če želite, da se opravilo nanaša samo na en imenski prostor, ga nastavite izrecno.
Odjemalci varnostnih kopij še vedno lahko brišejo kopije
Vzrok: Poverilnice za varnostno kopiranje imajo morda pravice za brisanje ali pa je hramba konfigurirana zunaj PBS.
Rešitev: Za odjemalce varnostnih kopij uporabite načelo najmanjših privilegijev. Za odpornost proti izsiljevalski programski opremi raje uporabite opravila prune na strani PBS, namesto da odjemalcem dodelite pravice za brisanje.
Zaključek
Konfigurirali ste vzdrževanje strežnika Proxmox Backup Server za dolgoročno hrambo z ustvarjanjem opravila prune in načrtovanjem garbage collection. Spoznali ste tudi, zakaj se kosi ne izbrišejo takoj, kako GC dokonča čiščenje datastorea in kako oceniti potrebe po prostoru, preden uveljavite dolgoročno hrambo. Te prakse podpirajo optimizacijo varnostnih kopij Proxmox z izboljšanjem učinkovitosti shrambe in zagotavljanjem, da hramba kopij ostaja predvidljiva in obvladljiva.
Kot naslednje korake dodajte opravila preverjanja, konfigurirajte obvestila o neuspelih opravilih prune in GC ter vsak mesec preglejte rast datastorea. Tako ostaja optimizacija shrambe varnostnih kopij predvidljiva, nastavitve hrambe pa ne porabijo neopazno vse razpoložljive zmogljivosti.
Različica dokumenta: 1.0
Zadnja posodobitev: junij 2026
Lastnik: Ekipa za tehnično dokumentacijo