Πριν ΛΙΓΕΣ μερες, Lennart Poettering (δημιουργός και προγραμματιστής του systemd) παρουσιάζω μια νέα πρόταση για τον διαχειριστή του συστήματος systemd, με σκοπό τη βελτίωση της ευελιξίας και της δυνατότητας εκκίνησης στο Linux.
Σχετικά με την πρόταση αναφέρεται ότι επιδιώκει να επιτρέψει σύστημα μπορεί να εκκινήσει απευθείας από μια εικόνα από το ριζικό σύστημα αρχείων λήψη από εξωτερικό κεντρικό υπολογιστή μέσω HTTP. Ο στόχος είναι να παρέχεται αυτή η λειτουργικότητα για να διευρύνει τις τρέχουσες δυνατότητες του systemd, διευκολύνοντας σενάρια όπως η δοκιμή αμετάβλητων συστημάτων και οι γρήγορες αναπτύξεις σε περιβάλλοντα δικτύου.
Τι είναι η απομακρυσμένη εκκίνηση στο systemd;
Η προτεινόμενη αλλαγή Βασίζεται στην επέκταση του systemd ώστε, στην αρχική φάση εκκίνησης, να είναι σε θέση:
- Λήψη εικόνας δίσκου μέσω HTTP.
- Αποσυμπιέστε την εικόνα που λάβατε.
- Συσχετίστε το με μια συσκευή μπλοκ σε λειτουργία επαναφοράς.
- Τοποθετήστε τη συσκευή μπλοκ στο /sysroot.
- Συνεχίστε την εκκίνηση του συστήματος από αυτήν την εικόνα.
Τρέχουσα κατάσταση ανάπτυξης
Επί του παρόντος, Το systemd στην έκδοση 257 του ενσωματώνει ήδη υποστήριξη για λήψη εικόνων δίσκου κατά την εκκίνηση χρησιμοποιώντας τη λειτουργική μονάδα systemd-import-generator. Ωστόσο, λειτουργικότητα ακόμα πλήρης Βρίσκεται σε στάδιο λειτουργικού πρωτοτύπου, και εξακολουθεί να μην μπορεί να ολοκληρώσει τον πλήρη κύκλο εκκίνησης.
Μεταξύ των μελλοντικών σχεδίων, Συλλογίζεται επεκτείνετε τη συμβατότητα έτσι ώστε αυτή η λειτουργία να μπορεί να λειτουργεί σε συνδυασμό με τις καθολικές εικόνες πυρήνα του Unified Kernel Image (UKI). Αυτές οι εικόνες συνδυάζονται, σε ένα μόνο αρχείο:
- Ένα στέλεχος μπότας UEFI.
- Μια εικόνα του πυρήνα του Linux.
- Ένα εσωτερικό περιβάλλον συστήματος προφορτωμένο στη μνήμη.
Υλοποίηση και ροή εργασιών
Η πρόταση προτείνει να δημιουργείται αυτόματα η διεύθυνση URL εικόνας συστήματος από τη διεύθυνση URL που καθορίζεται στη διαμόρφωση εκκίνησης UEFI HTTP, αναγκάζοντας έτσι το πρόγραμμα οδήγησης UKI initrd να αναζητά αυτόματα την εικόνα συστήματος.
Εκτός από το πρωτόκολλο HTTP, Έχει προγραμματιστεί υποστήριξη NVMe-over-TCP, μια τεχνολογία που επιτρέπει την απομακρυσμένη πρόσβαση σε μονάδες NVMe μέσω δικτύων, χρησιμοποιώντας το πρωτόκολλο NVM Express over Fabrics μέσω TCP. Αυτό θα διευκόλυνε περιβάλλοντα όπου απαιτείται υψηλή ταχύτητα πρόσβαση σε δεδομένα χωρίς να βασίζεστε αποκλειστικά σε τοπικούς δίσκους.
Αυτό επεκτείνει το systemd-import-generator ώστε όχι μόνο να κατεβάζει ένα είδωλο δίσκου κατά την εκκίνηση, αλλά και να το επισυνάπτει σε μια συσκευή loopback, ώστε να μπορούμε να κάνουμε εκκίνηση από αυτήν.
Έχουμε ήδη τα περισσότερα κομμάτια στη θέση τους, αυτό είναι απλώς γυάλισμα ορισμένων πραγμάτων, για να κάνουμε αυτόν τον γύρο…
Αυτό είναι ένα έργο σε εξέλιξη καθώς στερείται τεκμηρίωσης και θέλω να το γυαλίσω λίγο περισσότερο, αλλά λειτουργεί πολύ καλά. Ο απώτερος στόχος είναι να παρέχουμε μια ολοκληρωμένη λύση ώστε να μπορούμε να εκτελούμε και UEFI http boot για ukis.
Αυτή η νέα μέθοδος εκκίνησης θα μπορούσε να απλοποιήσει και να βελτιώσει πολλά σενάριαs, όπως η δοκιμή αμετάβλητων λειτουργικών συστημάτων σε πραγματικό υλικό. Ένας προγραμματιστής θα μπορούσε να δημιουργήσει μια εικόνα του συστήματός του χρησιμοποιώντας mkosi και να την μοιραστεί γρήγορα μέσω HTTP με την εντολή «μκόσι -φ σερβίρει». Στο δοκιμαστικό μηχάνημα, θα ήταν αρκετό να ενεργοποιήσετε την εκκίνηση HTTP στο EFI και να δώσετε τη διεύθυνση URL της εικόνας.
Μόλις το σύστημα ρυθμιστεί για εκκίνηση από μια απομακρυσμένη εικόνα, η διαδικασία είναι απλή: Απλώς επανεκκινήστε τον υπολογιστή σας και θα φορτώσει αυτόματα.και την τυπική εικόνα πυρήνα UKI. Από εκεί, ο πυρήνας θα κατεβάσει την εικόνα από το ριζικό σύστημα αρχείων που είχε προετοιμαστεί προηγουμένως από τον προγραμματιστή και θα προχωρήσει με κανονική εκκίνηση.
Μια βασική πτυχή αυτής της πρότασης είναι ότι Η εκκίνηση HTTP στο EFI παραμένει ενεργή μέχρι να απενεργοποιηθεί μη αυτόματα. Αυτό σημαίνει ότι, Σε κάθε επόμενη επανεκκίνηση, το σύστημα θα πραγματοποιεί λήψη και εκτέλεση της πιο πρόσφατης διαθέσιμης έκδοσης από την απομακρυσμένη εικόνα, επιτρέποντας τη συνεχή δοκιμή χωρίς πρόσθετη παρέμβαση.
Δεδομένου ότι ολόκληρη η διαδικασία λαμβάνει χώρα στη μνήμη και δεν απαιτεί τροποποίηση τοπικών δίσκων, αυτή η τεχνική αντιπροσωπεύει έναν ασφαλή και αποτελεσματικό τρόπο αξιολόγησης διαφορετικών εκδόσεων ενός συστήματος χωρίς κίνδυνο να επηρεαστεί η διαμόρφωση ή τα δεδομένα που είναι αποθηκευμένα στο μηχάνημα.
Τέλος, Εάν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.