Update README.md
This commit is contained in:
132
README.md
132
README.md
@@ -1 +1,131 @@
|
|||||||
# pbs-Garbage-Collection-blocked
|
# 🧹 Proxmox Backup Server – Résolution d'un blocage de Garbage Collection
|
||||||
|
|
||||||
|
## 🔍 Contexte
|
||||||
|
|
||||||
|
Le **Garbage Collector (GC)** de Proxmox Backup Server (PBS) était bloqué avec le message :
|
||||||
|
|
||||||
|
```
|
||||||
|
Error: marking used chunks failed: unexpected error on datastore traversal: Bad message (os error 74)
|
||||||
|
```
|
||||||
|
|
||||||
|
L'interface indiquait :
|
||||||
|
|
||||||
|
* `Pending Data`: **\~50 GiB**
|
||||||
|
* Impossible d’exécuter le GC
|
||||||
|
* Échec silencieux de la planification, même en forçant le job
|
||||||
|
* Erreur `Bad Request (400)` lors de la modification via l’interface PBS à cause d’un `datastore.cfg` mal interprété (ligne commentée non prise en compte).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚒️ Cause identifiée
|
||||||
|
|
||||||
|
Une **corruption partielle du système de fichiers** sur le volume monté (`/mnt/ssd4to`) a empêché le GC d’accéder correctement aux chunks et index. Cela a causé :
|
||||||
|
|
||||||
|
* Une lecture invalide des fichiers `.fidx` ou `.didx`
|
||||||
|
* Des erreurs système type "Bad message"
|
||||||
|
* Un GC bloqué en phase 1 (mark used chunks)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Solution appliquée
|
||||||
|
|
||||||
|
### 1. Mise en maintenance du datastore
|
||||||
|
|
||||||
|
```bash
|
||||||
|
proxmox-backup-manager datastore update marechal-pve --maintenance-mode offline
|
||||||
|
```
|
||||||
|
|
||||||
|
Ce mode empêche toute opération de lecture/écriture pendant les réparations.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. Arrêt des services PBS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl stop proxmox-backup
|
||||||
|
systemctl stop nfs-server # si utilisé
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3. Vérification de l’utilisation du montage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
lsof +f -- /mnt/ssd4to
|
||||||
|
fuser -vm /mnt/ssd4to
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4. Démontage du volume
|
||||||
|
|
||||||
|
```bash
|
||||||
|
umount /mnt/ssd4to
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 5. Réparation du système de fichiers
|
||||||
|
|
||||||
|
```bash
|
||||||
|
fsck -f -v /dev/sdb1
|
||||||
|
```
|
||||||
|
|
||||||
|
✅ Plusieurs inodes optimisés, système de fichiers marqué comme **modifié avec succès**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 6. Remontage du volume
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mount /mnt/ssd4to
|
||||||
|
```
|
||||||
|
|
||||||
|
Puis redémarrage de PBS :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl start proxmox-backup
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Nouvelle exécution du Garbage Collection
|
||||||
|
|
||||||
|
Le GC a été relancé avec succès :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
proxmox-backup-client garbage-collect --repository marechal-pve
|
||||||
|
```
|
||||||
|
|
||||||
|
Résultat :
|
||||||
|
|
||||||
|
```
|
||||||
|
Removed garbage: 135.322 GiB
|
||||||
|
Removed chunks: 52204
|
||||||
|
Pending removals: 39.853 MiB
|
||||||
|
Leftover bad chunks: 2
|
||||||
|
```
|
||||||
|
|
||||||
|
🎉 **Problème résolu** — le `Pending Data` est retombé à \~40 MiB.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ Options de tuning recommandées
|
||||||
|
|
||||||
|
Depuis l’interface PBS > Datastore > Options :
|
||||||
|
|
||||||
|
```
|
||||||
|
Chunk Order: inode
|
||||||
|
Sync Level: filesystem
|
||||||
|
GC Access-Time Cutoff: 1445 (24h 5min)
|
||||||
|
GC Cache Capacity: 1048576
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 Recommandations
|
||||||
|
|
||||||
|
* Toujours exécuter un `fsck` si le GC échoue de manière incompréhensible.
|
||||||
|
* Surveiller la taille du `Pending Data`.
|
||||||
|
* S’assurer que `maintenance-mode` est activé **avant toute réparation disque**.
|
||||||
|
* Ne pas commenter de lignes invalides dans `/etc/proxmox-backup/datastore.cfg`, elles causent un `Bad Request`.
|
||||||
|
|||||||
Reference in New Issue
Block a user