5Sep

Πώς μπορεί οι μη αναμενόμενες τερματισμοί να βλάψουν έναν υπολογιστή Linux;

Οι απροσδόκητες διακοπές είναι τόσο επιβλαβείς για το Linux όσο και σε άλλα λειτουργικά συστήματα;Διαβάστε παρακάτω καθώς ερευνάμε τις επιπτώσεις των καταστροφικών διακοπών του συστήματος σε συστήματα αρχείων Linux.

Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.

Η ερώτηση

Reader SuperUser User208554 είναι περίεργη για τις δομές αρχείων Linux και ανησυχεί για μια εφαρμογή / εγκατάσταση στην οποία ασχολείται:

Είμαι αναπτύσσει μια εφαρμογή σε μια ενσωματωμένη πλακέτα Linux( τρέχει το Debian) π.χ.Raspberry Pi, Beagle Board / Bone ή olimex.Οι πίνακες λειτουργούν σε περιβάλλον όπου η ηλεκτρική ενέργεια κόβεται απροσδόκητα( είναι πάρα πολύ περίπλοκο να τοποθετηθεί ο PSU κλπ.) Και θα συμβεί κάθε μέρα μερικές φορές.Αναρωτιέμαι αν οι απρόσμενες διακοπές ενέργειας θα προκαλούσαν πρόβλημα στο Λειτουργικό Σύστημα Linux;Αν είναι κάτι που θα πρέπει να ανησυχώ, τι θα πρότεινα να αποτρέψετε τις ζημιές στο OS ενάντια στις απροσδόκητες περικοπές ρεύματος;

PS.Η εφαρμογή πρέπει να γράψει μερικά δεδομένα στο μέσο αποθήκευσης( κάρτα SD), νομίζω ότι δεν θα ήταν κατάλληλο να το τοποθετήσετε ως μόνο για ανάγνωση.

Έτσι ποια είναι η ετυμηγορία;

Ο συνεργάτης απαντήσεων

SuperUser l0b0 προσφέρει κάποια γνώση στα συστήματα αρχειοθέτησης / μη περιοδικών αρχείων:

Αυτό θα εξαρτηθεί από το

  1. εάν χρησιμοποιείτε ένα σύστημα αρχειοθέτησης αρχείων και το
  2. πόσο καλά οι εφαρμογές είναι σε θέση να χειριστούν την αχρηστευμένη επεξεργασία.

Εξετάστε, για παράδειγμα, μια εφαρμογή που επεξεργάζεται ένα αρχείο και γράφει τα αποτελέσματα όπως αυτά υπολογίζονται( μία γραμμή εξόδου ανά γραμμή εισόδου) σε ένα άλλο αρχείο.Εάν διακοπεί η τροφοδοσία κατά την επεξεργασία και η ίδια εφαρμογή εκτελείται μετά την επανεκκίνηση, δεν μπορεί απλώς να επανεκκινήσει την επεξεργασία από την αρχή του αρχείου εισόδου - αυτό σημαίνει ότι το αρχείο εξόδου θα περιέχει διπλές πληροφορίες.

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

Stu προτείνει τον διαχωρισμό του λειτουργικού συστήματος και των δεδομένων καθώς και την προσθήκη εφεδρικής μπαταρίας:

Για να ελαχιστοποιηθεί η πιθανότητα διάσπασης του λειτουργικού συστήματος, ίσως είναι καλύτερο να έχετε ξεχωριστά διαμερίσματα "συστήματος" και "δεδομένων" στην κάρτα SD.Με αυτόν τον τρόπο μπορείτε να τοποθετήσετε το διαμέρισμα "συστήματος" μόνο για ανάγνωση και να χρησιμοποιήσετε ένα υψηλής ανθεκτικότητας FS στο διαμέρισμα "data".

Επιπλέον, οι περισσότεροι από αυτούς τους πίνακες έχουν πολύ χαμηλές απαιτήσεις ισχύος, οπότε είναι δυνατή η δημιουργία αντιγράφων ασφαλείας μπαταριών.Ο πίνακας "LiPo rider" για το Raspberry Pi μπορεί να χρησιμοποιηθεί ως βασικό UPS για την παροχή καθαρού τερματισμού της απώλειας ισχύος.

Τέλος, η Jenny D επεκτείνεται στην πρόταση συστήματος αρχειοθέτησης αρχειοθέτησης:

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

Όπως έγραψε και το l0b0, θα βοηθήσει ένα σύστημα αρχειοθέτησης αρχείων, καθώς θα είναι σε θέση να παρακολουθεί τι έχει πραγματικά κάνει.Εκτός από τις πληροφορίες wikipedia που συνδέονται με το l0b0, μπορεί να σας ενδιαφέρει το Do Fileing Systems Files Εγγύηση κατά της Διαφθοράς μετά από μια αποτυχία εξουσίας επίσης.

Εσείς ως προγραμματιστής προφανώς πρέπει να εξετάσετε προσεκτικά πώς να χειριστείτε τη γραφή σε αρχεία έτσι ώστε να γίνει μια ατομική διαδικασία( δηλ. Είτε έχει γίνει πλήρως είτε δεν έχει γίνει καθόλου, αλλά ποτέ δεν έχει γίνει ποτέ στο μισό).Είναι ένα πολύ σύνθετο ζήτημα.

Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.