Κυκλοφορία του CRIU 4.3, ενός συστήματος για την αποθήκευση και την επαναφορά της κατάστασης των διεργασιών στο Linux

Μετά από 11 μήνες ανάπτυξης, κυκλοφόρησε το CRIU 4.3 (Checkpoint and Restore in Userspace), ένα κιτ εργαλείων που έχει σχεδιαστεί για την αποθήκευση και την επαναφορά διεργασιών στον χώρο χρήστη. Το κιτ εργαλείων επιτρέπει την αποθήκευση της κατάστασης μίας ή μιας ομάδας διεργασιών και στη συνέχεια την επανεκκίνηση της εκτέλεσης από την αποθηκευμένη θέση, ακόμη και μετά από επανεκκίνηση του συστήματος ή σε διαφορετικό διακομιστή χωρίς να διαταραχθούν οι υπάρχουσες συνδέσεις δικτύου. Ο κώδικας του έργου είναι γραμμένος σε C και διανέμεται με την άδεια GPLv2. Το CRIU χρησιμοποιείται σε συστήματα διαχείρισης κοντέινερ όπως το OpenVZ, το LXC/LXD και το Docker. Οι αλλαγές που απαιτούνται για να λειτουργήσει το CRIU έχουν ενσωματωθεί στον πυρήνα. Linux.

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

Στη νέα έκδοση:

  • Έχει υλοποιηθεί η δυνατότητα συμπίεσης μπλοκ μνήμης και σελίδων χρησιμοποιώντας τον αλγόριθμο LZ4 και την πολυνηματική αποσυμπίεση.
  • Η απόδοση βελτιώνεται με τη χρήση ασύγχρονης εισόδου/εξόδου (AIO) κατά την επαναφορά σελίδων VMA (Εικονική Περιοχή Μνήμης), μιας νέας μεθόδου για τη διακοπή εργασιών χωρίς τη χρήση σημείων διακοπής υλικού, και με την παράλληλη επαναφορά memfd και ανώνυμων επαναφορών κοινόχρηστης μνήμης.
  • Προστέθηκε υποστήριξη για την επέκταση ARM64 GCS (Guarded Control Stack), η οποία παρέχει προστασία υλικού για τις διευθύνσεις επιστροφής συναρτήσεων. Μετά τη μεταφορά του ελέγχου σε μια συνάρτηση, ο επεξεργαστής αποθηκεύει τις διευθύνσεις επιστροφής όχι μόνο στην κανονική στοίβα αλλά και σε μια ξεχωριστή σκιώδη στοίβα, η οποία δεν μπορεί να τροποποιηθεί απευθείας. Πριν από την έξοδο από τη συνάρτηση, η διεύθυνση επιστροφής εξάγεται από τη σκιώδη στοίβα και συγκρίνεται με τη διεύθυνση επιστροφής στην κύρια στοίβα.
  • Προστέθηκε ένα backend για την αποθήκευση της κατάστασης του API προγράμματος οδήγησης NVIDIA CUDA.
  • Η αποκατάσταση της χαρτογράφησης GPU έχει διασφαλιστεί.
  • Για το πρόγραμμα οδήγησης amdgpu, έχει υλοποιηθεί η αποθήκευση και η επαναφορά της κατάστασης των buffers του υποσυστήματος DRM (Direct Rendering Manager) και των περιγραφέων αρχείων DMA-BUF.
  • Προστέθηκαν εντολές για συμπίεση και αποσυμπίεση εικόνων μνήμης σε λειτουργία εκτός σύνδεσης.
  • Προστέθηκε υποστήριξη για την αποθήκευση και την επαναφορά πληροφοριών σχετικά με τις συνδέσεις UID σε υποδοχές δικτύου.
  • Προστέθηκε η επιλογή "--image-io-mode" για την εγγραφή και ανάγνωση εικόνων σελίδας μνήμης σε λειτουργία O_DIRECT (παρακάμπτοντας την προσωρινή μνήμη σελίδας).

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster