Μετάβαση στο περιεχόμενο

Αντιμετώπιση προβλημάτων

Ένα σύντομο FAQ. Για τον πλήρη πίνακα αντιμετώπισης προβλημάτων VM-μέσω-SSH από την πλευρά του host (permission-denied, επαλήθευση host-key, μεταβλητές template που λείπουν και άλλα), δείτε τον οδηγό αντιγράφου VM μέσω SSH στο GitHub.

Κάτι δεν είναι σωστά συνδεδεμένο

Ανοίξτε το /spike στο περιβάλλον ιστού. Ο έλεγχος ενσωμάτωσης host ανιχνεύει κάθε προσάρτηση και CLI (Docker socket, libvirt, restic, qemu-img, rclone) και αναφέρει τυχόν κομμάτια που λείπουν. Ξεκινήστε από εδώ πριν υποθέσετε ότι υπάρχει σφάλμα: μια προσάρτηση που λείπει ή ένας μη προσβάσιμος host εμφανίζεται αμέσως.

Δεν μπορώ να φτάσω το περιβάλλον ιστού

Το BombVault εξυπηρετεί HTTPS από την αρχή στη θύρα 3443 (αυτο-υπογεγραμμένο πιστοποιητικό), οπότε ανοίξτε το https://<your-unraid-ip>:3443. Αποδεχτείτε την προειδοποίηση του αυτο-υπογεγραμμένου πιστοποιητικού, ή τοποθετήστε το BombVault πίσω από έναν reverse proxy με το δικό σας πιστοποιητικό. Αν εκτελείτε με HTTP_ONLY=true, εξυπηρετεί απλό HTTP στη θύρα 3000 αντ' αυτού (προορίζεται για χρήση πίσω από έναν proxy που τερματίζει το TLS).

Έχασα το APP_KEY μου

Το APP_KEY παράγει τον κωδικό του αποθετηρίου restic. Χωρίς αυτό (και χωρίς το κιτ ανάκτησης κλειδιού κρυπτογράφησης), τα κρυπτογραφημένα αντίγραφα δεν μπορούν να ανακτηθούν. Γι' αυτό ο Πίνακας ελέγχου σας πιέζει να κατεβάσετε το κιτ ανάκτησης. Δείτε Εκτός τόπου & ανάκτηση. Δημιουργήστε ένα κλειδί με openssl rand -hex 32 και αποθηκεύστε το εκτός του διακομιστή πριν βασιστείτε σε οποιοδήποτε αντίγραφο.

Το αντίγραφο VM δεν συνδέεται

Το αντίγραφο VM επικοινωνεί με το libvirt μέσω SSH, ποτέ μέσω προσάρτησης.

  • Επιβεβαιώστε ότι το SSH είναι ενεργοποιημένο στον host και ότι το δημόσιο κλειδί του BombVault είναι εξουσιοδοτημένο στο /root/.ssh/authorized_keys (Ρυθμίσεις, Ενσωματώσεις, SSH κεντρικού συστήματος δείχνει το κλειδί και ένα κουμπί Δοκιμή σύνδεσης).
  • Σε ένα προσαρμοσμένο δίκτυο br0.x, ορίστε το LIBVIRT_HOST στη LAN IP του Unraid σας (το container δεν μπορεί να φτάσει τον host μέσω host.docker.internal εκεί). Ενεργοποιήστε το Settings, Docker, Host access to custom networks.
  • Αν αλλάξατε τη θύρα SSH του Unraid, ορίστε το LIBVIRT_SSH_PORT αναλόγως.
  • Η πλήρης βήμα-προς-βήμα διάγνωση (δοκιμή προσβασιμότητας, δρομολόγηση VLAN, Permission denied (publickey), Host key verification failed) βρίσκεται στον οδηγό αντιγράφου VM μέσω SSH.

Ένα ζωντανό στιγμιότυπο VM δεν εκτελέστηκε

Τα ζωντανά στιγμιότυπα χρειάζονται τον qemu guest agent εγκατεστημένο στη VM και τον δίσκο στο /mnt/cache (ή /mnt/diskX), όχι στο /mnt/user. Σε μια απενεργοποιημένη VM, το ζωντανό υποχωρεί αυτόματα σε ομαλό. Ένα ομαλό αντίγραφο τερματίζει τη VM, δημιουργεί αντίγραφο των δίσκων, και μετά την επανεκκινεί, οπότε είναι πάντα συνεπές.

Ένα αντίγραφο απέτυχε με "repository is already locked"

Αυτό είναι συνήθως ένα ορφανό κλείδωμα restic που αφέθηκε πίσω όταν το container ενημερώθηκε ή επανεκκινήθηκε στη μέση μιας λειτουργίας. Το BombVault εντοπίζει ένα αποδεδειγμένα ορφανό κλείδωμα, το καθαρίζει με τη βία και επαναλαμβάνει μία φορά, αυτόματα. Αν επιμένει, χρησιμοποιήστε Ρυθμίσεις, Ακεραιότητα, Ξεκλείδωμα για τον επηρεαζόμενο τομέα ώστε να καθαρίσετε ένα ξεπερασμένο κλείδωμα με το χέρι. Ένα γνήσιο πρόβλημα εξακολουθεί να εμφανίζεται αντί να κρύβεται. Μετά από επανεκκίνηση το BombVault περιμένει ώσπου ένα τέτοιο κλείδωμα να μείνει δέκα λεπτά χωρίς ανανέωση. Ένα restic που τρέχει ακόμα, για παράδειγμα σε δεύτερο BombVault στο ίδιο αποθετήριο, ανανεώνει το κλείδωμά του κάθε πέντε λεπτά.

Το αντίγραφό μου εκτός τόπου δεν έγινε μετά από ένα αντίγραφο

Η αναπαραγωγή εκτός τόπου είναι εκ σχεδιασμού βέλτιστης προσπάθειας, ώστε μια αναποδιά εκτός τόπου να μην αποτυγχάνει ποτέ το τοπικό αντίγραφο. Ελέγξτε το χρονοδιάγραμμα εκτός τόπου για εκείνον τον τομέα (Ρυθμίσεις, Προγραμματισμοί): ένα κενό χρονοδιάγραμμα αναπαράγει μετά από κάθε τοπικό αντίγραφο, ενώ μια συχνότητα στέλνει λιγότερο συχνά. Χρησιμοποιήστε Αναπαραγωγή τώρα στη σελίδα Εκτός τόπου για μια εκτέλεση κατ' απαίτηση, και παρακολουθήστε τον δείκτη αναπαραγωγής στον Πίνακα ελέγχου.

Μια επαναφορά ματαιώθηκε πριν καν ξεκινήσει

Πριν διακοπεί ή αφαιρεθεί οτιδήποτε, η επαναφορά εκτελεί έναν έλεγχο συγκρούσεων πριν την πτήση: επαληθεύει ότι η στατική IP του container και οι δημοσιευμένες θύρες host είναι ελεύθερες. Αν ένα άλλο container κρατά ήδη κάποια, ματαιώνεται με ένα σαφές, εφαρμόσιμο μήνυμα αντί να αφήσει μια ημιτελή επαναφορά. Ελευθερώστε τη θύρα ή την IP που συγκρούεται, και μετά ξαναδοκιμάστε.

Μια απλή εξαγωγή απέτυχε αντί να γράψει ένα αρχείο

Αν η κρυπτογράφηση age είναι ενεργή (Ρυθμίσεις) αλλά δεν έχει οριστεί έγκυρος παραλήπτης, μια εξαγωγή αποτυγχάνει με ένα σαφές σφάλμα αντί να γράψει απλό κείμενο. Προσθέστε έναν έγκυρο παραλήπτη (ένα δημόσιο κλειδί age ή ένα δημόσιο κλειδί SSH), ή απενεργοποιήστε την κρυπτογράφηση αν σκοπεύετε η εξαγωγή να είναι απλό κείμενο. Δείτε Δυνατότητες.

Ένα dump βάσης δεδομένων απέτυχε

Ένα αποτυχημένο dump δεν ρίχνει ποτέ το αντίγραφο γύρω του· καταγράφεται ως δική του αποτυχημένη εκτέλεση, και ο λόγος λέει τι πρέπει να διορθωθεί.

  • Άρνηση σύνδεσης. Το dump συνδέεται με τις μεταβλητές κωδικού του ίδιου του container (POSTGRES_PASSWORD, MARIADB_ROOT_PASSWORD, MYSQL_ROOT_PASSWORD ή τις _FILE εκδοχές τους). Ελέγξτε τες στο container της βάσης. Μια μεταβλητή _FILE που δείχνει σε ένα μυστικό που ο χρήστης του container δεν μπορεί να διαβάσει αποτυγχάνει το ίδιο.
  • Ελλιπή δικαιώματα. Με τυχαίο κωδικό root το dump μπορεί να συνδεθεί μόνο ως χρήστης της εφαρμογής, οπότε περιέχει μόνο εκείνη τη μία βάση, και η MySQL 8.4 και νεότερη μπορεί να το αρνηθεί εντελώς. Δώστε στο container έναν πραγματικό κωδικό root, ή κλείστε του το dump.
  • Οι πίνακες συστήματος θέλουν αναβάθμιση. Η MariaDB αρνείται το dump όταν οι πίνακες συστήματός της προέρχονται από παλαιότερη έκδοση (σφάλμα 1558). Προσθέστε τη μεταβλητή MARIADB_AUTO_UPGRADE=1 και επανεκκινήστε το container, ή τρέξτε μία φορά mariadb-upgrade μέσα του.
  • Κανένα εργαλείο dump. Μια λιτή ή σπιτική εικόνα χωρίς pg_dump, mysqldump ή mariadb-dump δεν μπορεί να εξαχθεί. Χρησιμοποιήστε την επίσημη εικόνα, ή κλείστε το dump.
  • Ένα χρονικό όριο. Ένα dump παίρνει DB_DUMP_MAX_HOURS (6 από προεπιλογή), το αντίγραφο γύρω του παίρνει BACKUP_MAX_HOURS, και ένα dump που σταματά να προχωρά κόβεται μετά από BACKUP_STALL_HOURS. Πίσω από το τελευταίο κρύβεται συνήθως ένα κλείδωμα που κρατά η εφαρμογή. Ανεβάστε το όριο που ενεργοποιήθηκε, ή πάρτε το dump όσο η εφαρμογή είναι ήσυχη.
  • Το container είναι σε παύση ή επανεκκινείται. Το dump μιλά στον διακομιστή εν λειτουργία. Αν το container επανεκκινείται ξανά και ξανά, το δικό του log λέει γιατί.
  • Ένα χαλασμένο dump δεν μπόρεσε να αφαιρεθεί. Ένα dump που το BombVault δεν κατάφερε να ολοκληρώσει διαγράφεται ξανά. Όταν αυτή η διαγραφή αποτύχει, το dump μένει στη λίστα σημειωμένο ως χαλασμένο και μπορείτε να το διαγράψετε εκεί.

Μια εισαγωγή απέτυχε

Μια εισαγωγή σταματά το container, παραμερίζει τον φάκελο δεδομένων του και αφήνει την εικόνα να φτιάξει έναν άδειο στη θέση του. Αν αποτύχει κάποιο βήμα πριν από την ίδια την εισαγωγή, ο παλιός φάκελος επιστρέφει μόνος του. Αν αποτύχει η εισαγωγή, το container κρατά τον φρέσκο φάκελο και ο παλιός μένει δίπλα ως <φάκελος δεδομένων>.bombvault-before-import-<χρονοσήμανση>· το μήνυμα σφάλματος της εκτέλεσης δίνει την ακριβή διαδρομή.

Για να τον βάλετε πίσω με το χέρι: σταματήστε το container, μετονομάστε τον τωρινό φάκελο δεδομένων για να φύγει από τη μέση, μετονομάστε τον φυλαγμένο φάκελο πίσω στο αρχικό όνομα, και ξεκινήστε το container. Στο Unraid το κάνει ο διαχειριστής αρχείων στην καρτέλα Shares.

Ένα αντίγραφο συνόλου δεδομένων ZFS απέτυχε ή παρέλειψε ένα σύνολο

Κάθε πρόβλημα φέρει έναν κωδικό αιτίας σε αγκύλες, και η σελίδα Σύνολα δεδομένων ZFS τους παραθέτει όλους με τη λύση. Οι τρεις πιο συχνοί:

  • snapshot-loop: το στιγμιότυπο δεν έφτασε στο BombVault, επειδή το Host Data δεν περνά τις νέες προσαρτήσεις. Επεξεργάσου το container, όρισε το Access Mode του Host Data σε Read/Write - Slave και επανεκκίνησε το BombVault.
  • key-not-loaded: ένα κρυπτογραφημένο σύνολο του οποίου το κλειδί δεν έχει φορτωθεί παραλείπεται. Φόρτωσε το κλειδί με zfs load-key και προσάρτησε το σύνολο· το επόμενο αντίγραφο το περιλαμβάνει.
  • ssh-auth: ο διακομιστής απέρριψε το κλειδί του BombVault. Η κάρτα σύνδεσης στη σελίδα ZFS δείχνει την εντολή που το εγκρίνει· εκτέλεσέ την μία φορά στον διακομιστή.

Ένα στοιχείο μένει στο "Μαθαίνει N/10"

Οι περισσότεροι έλεγχοι ανωμαλιών ξεκινούν μετά από 10 επιτυχημένα αντίγραφα ενός στοιχείου, και η μέτρηση ξεκινά ξανά μετά τη Σήμανση ως αναμενόμενη και αφού αλλάξει η επιλογή του στοιχείου. Ένα στοιχείο χωρίς χρονοπρόγραμμα δεν μαθαίνει, και ένα container χωρίς appdata δεν έχει από τι να μάθει, όπως λέει και το σήμα του.

Η διατήρηση σταμάτησε να διαγράφει τα παλιά αντίγραφα ενός στοιχείου

Τα κρατά μια ανοιχτή κρίσιμη ανωμαλία: η πηγή του στοιχείου είναι σχεδόν άδεια, συρρικνώθηκε πολύ ή ένα αντίγραφο αποθήκευσε ξανά τα περισσότερα δεδομένα. Ανοίξτε την ανωμαλία από το σήμα του στοιχείου. Αν λείπουν δεδομένα ή κρυπτογραφήθηκαν, επαναφέρετε πρώτα από το συνδεδεμένο τελευταίο καλό αντίγραφο. Μετά επιβεβαιώστε την ανωμαλία ή σημειώστε την ως αναμενόμενη αν η αλλαγή ήταν δική σας, και η επόμενη εκτέλεση καθαρίζει κανονικά. Η προεπισκόπηση διατήρησης σημειώνει ένα τέτοιο στοιχείο ως διατηρημένο. Σε ένα στοιχείο ZFS μόνο το σύνολο δεδομένων που αναφέρει η ανωμαλία κρατά τα παλιά του αντίγραφα· τα υπόλοιπα σύνολα του δέντρου καθαρίζονται κανονικά.

Ο χειροκίνητος καθαρισμός λέει ότι κάποια στοιχεία διατηρήθηκαν

Η ίδια αιτία: ο καθαρισμός αφήνει ήσυχα τα παλιά αντίγραφα ενός στοιχείου με τέτοια ανωμαλία και το αναφέρει στο μήνυμά του. Όλα τα υπόλοιπα καθαρίζονται κανονικά.

Η εισαγωγή ιστορικού λέει ότι ένα αποθετήριο δεν διαβάστηκε

Μετά την αναβάθμιση το BombVault διαβάζει μία φορά τα μεγέθη των προηγούμενων αντιγράφων από κάθε αποθετήριο. Ένα αποθετήριο που δεν ήταν προσβάσιμο τότε, για παράδειγμα ένας απομακρυσμένος προορισμός εκτός λειτουργίας ή ένα κοινόχρηστο που δεν ήταν προσαρτημένο, εμφανίζεται στην κάρτα Ανωμαλίες στο Ρυθμίσεις, Ακεραιότητα και δοκιμάζεται ξανά μία φορά την ημέρα. Στο μεταξύ τα στοιχεία του μαθαίνουν από νέα αντίγραφα.

Η προειδοποίηση χώρου δίσκου δεν ταιριάζει με τον πίνακα του Unraid

Στο κοινόχρηστο χρήστη του Unraid (/mnt/user) ο ελεύθερος χώρος είναι αυτός όλης της συστοιχίας, όχι ενός δίσκου. Τα απομακρυσμένα αποθετήρια μετριούνται μόνο μέσω απομακρυσμένων rclone που αναφέρουν τον ελεύθερο χώρο τους· τα αποθετήρια S3, B2, REST και SFTP δεν έχουν τιμή και εμφανίζονται ως μη μετρημένα στην κάρτα Ανωμαλίες.

Ένας βοηθός τεχνητής νοημοσύνης δεν μπορεί να συνδεθεί

Η σελίδα Διακομιστής MCP εξηγεί τι σημαίνει κάθε κωδικός κατάστασης και κάθε άρνηση του σημείου σύνδεσης MCP και τι μπορείς να κάνεις.

Το container συνεχίζει να επανεκκινείται ή φαίνεται μη υγιές

Το BombVault αναφέρει υγιές/μη υγιές από το δικό του /api/health. Ένα εργαλείο αυτο-θεραπείας (όπως το Autoheal) μπορεί να το επανεκκινήσει αυτόματα αν η μηχανή κολλήσει ποτέ. Ελέγξτε το αρχείο καταγραφής του container και την αναφορά /spike για την υποκείμενη αιτία.

Ακόμα κολλημένος;