Cannot backup JuiceFS PVCs using restic without root
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- kubernetes, shell
- Ambito
- devops, infrastructure
Direzione di ricerca
Inizia da mover-restic/entry.sh, in particolare da check_contents e do_backup, e confronta le esclusioni esistenti per lost+found con i file JuiceFS segnalati. Esegui i controlli pertinenti di restic mover su una PVC JuiceFS non eseguita come root e verifica che .accesslog, .config e .stats vengano ignorati senza richiedere la modalità privilegiata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Similar to lost+found on ext4, PVCs managed by JuiceFS have special files (.accesslog, .config, .stats) that are always owned by root, which prevents non-root restic backups (and presumably rclone, etc.) from progressing.
Having to switch the mover to privileged just to work around this issue is non-ideal, especially since these files shouldn't be backed up in the first place.
Steps to reproduce
Expected behavior
These files are skipped in the same way lost+found is skipped on ext4 (#1033). Ideally a more generic solution (#959) would be supported that allows skipping arbitrary files without needing workarounds per-filesystem.
Actual results
Additional context
I've applied the following patch on my own image to work around this issue:
--- /mover-restic/entry.sh
+++ /mover-restic/entry.sh
@@ -80,7 +80,7 @@ function check_var_defined {
function check_contents {
echo "== Checking directory for content ==="
- DIR_CONTENTS="$(ls -A "${DATA_DIR}" --ignore="lost+found")"
+ DIR_CONTENTS="$(ls -A "${DATA_DIR}" --ignore="lost+found" --ignore=".accesslog" --ignore=".config" --ignore=".stats")"
if [ -z "${DIR_CONTENTS}" ]; then
echo "== Directory is empty skipping backup ==="
exit 0
@@ -154,7 +154,7 @@ function ensure_initialized {
function do_backup {
echo "=== Starting backup ==="
pushd "${DATA_DIR}"
- "${RESTIC[@]}" backup --host "${RESTIC_HOST}" --exclude='lost+found' .
+ "${RESTIC[@]}" backup --host "${RESTIC_HOST}" --exclude='lost+found' --exclude='.accesslog' --exclude='.config' --exclude='.stats' .
popd
}
- Lingua principale
- Go
- Stelle
- 1k
- Fork
- 103
- Merge medio
- 2g 1h
- PR unite (30g)
- 47
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di backube/volsync
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 47/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di backube/volsync
Issue simili
-
needs-area
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Azure/typespec-azure#5936 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
-
Fix mode unpins a reusable workflow call when the same repository is also used as a step actionAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
github/gh-actions-lock#261 ·
I maintainer di solito rispondono entro 1 giorno
-
bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
labmonkeys-space/nl6#974 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100