CRIU, ένα σύστημα αποθήκευσης και επαναφοράς της κατάστασης των διεργασιών στο Linux

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

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

Το διακριτικό χαρακτηριστικό του έργου CRIU είναι αυτό υλοποιείται κυρίως στο χώρο του χρήστη και όχι στον πυρήνα.

Σχετικά με το CRIU

Το εργαλείο CRIU αναπτύσσεται ως μέρος του έργου OpenVZ, με στόχο την αντικατάσταση του σημείου ελέγχου / επαναφοράς στον πυρήνα.

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

Επί του παρόντος, το εργαλείο μπορεί να χρησιμοποιηθεί σε συστήματα x86-64 και ARM y υποστηρίζει τις ακόλουθες λειτουργίες:

  • Διαδικασίες: η ιεραρχία τους, τα PID, οι επαληθευτές χρηστών και ομάδων (UID, GID, SID κ.λπ.), δυνατότητες συστήματος, νήματα και καταστάσεις λειτουργίας και διακοπής
  • Μνήμη εφαρμογής: αρχεία που αντιστοιχίζονται στη μνήμη και κοινόχρηστη μνήμη
  • Άνοιγμα αρχείων
  • Σωλήνες και FIFO
  • Unix πρίζες τομέα
  • Υποδοχές δικτύου, συμπεριλαμβανομένων των υποδοχών TCP στην κατάσταση ΕΓΚΑΤΑΣΤΑΣΗ
  • Σύστημα V IPC
  • Timers
  • Σήματα
  • Τερματικά
  • Κλήσεις πυρήνα στο συγκεκριμένο σύστημα: inotify, signalfd, eventfdyepoll

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

Σχετικά με τη νέα έκδοση του CRIU 3.15

Επί του παρόντος, το εργαλείο βρίσκεται στην έκδοση 3.15, η οποία κυκλοφόρησε πρόσφατα και εισάγει την υπηρεσία criu-image-streamer, η οποία επιτρέπει τη μετάδοση εικόνων διεργασίας απευθείας από / προς CRIU κατά τη διάρκεια των λειτουργιών παγώματος / επαναφοράς.

  • Οι εικόνες μπορούν να μεταφερθούν από εξωτερικό χώρο αποθήκευσης (S3, GCS κ.λπ.) χωρίς αποθήκευση στο τοπικό σύστημα αρχείων.
  • Προστέθηκε υποστήριξη για αρχιτεκτονική MIPS.
  • Επιτρέπεται να παγώσουν διαδικασίες που δεν ανήκουν στον υπάρχοντα χώρο ονομάτων PID, ακολουθούμενη από επαναφορά στον υπάρχοντα χώρο ονομάτων PID.
  • Πρόσθετοι μηχανισμοί προστέθηκαν για την επαλήθευση αρχείων.
  • Προστέθηκε υποστήριξη για πάγωμα και αποκατάσταση δομών BPF BPF_HASH_OF_MAPS και BPF_ARRAY_OF_MAPS.
  • Προστέθηκε αρχική υποστήριξη για τη δεύτερη έκδοση του cgroup.

Πώς να εγκαταστήσετε το CRIU σε Linux;

Όσοι ενδιαφέρονται να εγκαταστήσουν αυτό το εργαλείο πρέπει να γνωρίζουν ότι είναι διαθέσιμο στα επίσημα κανάλια των περισσότερων διανομών Linux.

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

Για την περίπτωση εκείνων που είναι Χρήστες Debian, Ubuntu και παράγωγα αυτών των δύο:

sudo apt install criu

Ενώ για όσους είναι χρήστες του Arch Linux και τυχόν παράγωγά του:

sudo pacman -S criu

Στην περίπτωση εκείνων που είναι χρήστες του openuse:

sudo zypper install criu

Τελικά για όσους θέλουν να μεταγλωττίσουν το εργαλείο μπορούν να το κάνουν πληκτρολογώντας:

git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all

Αν θέλετε να μάθετε περισσότερα για αυτό σχετικά με αυτό το εργαλείο, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.