Το προφίλ μας στο Google Plus
0

Εφαρμογή PXE boot: Εκκίνηση SystemRescueCd

Ένας PXE server διευκολύνει σημαντικά τις εγκαταστάσεις λειτουργικών συστημάτων σε φυσικούς ή εικονικούς hosts του τοπικού δικτύου. Βρίσκει όμως κι άλλες εφαρμογές. Μία απ’ αυτές αφορά στην απομακρυσμένη εκκίνηση ενός OS άμεσης ανάγκης, για υπολογιστές που είτε δεν είναι σε θέση να φορτώσουν το δικό τους είτε χρειάζεται να τους κάνουμε επεμβάσεις που δεν είναι εφικτές μέσα από το ήδη εγκατεστημένο OS.

Μια διανομή Linux για την επιδιόρθωση/διαχείριση ενός συστήματος ή/και για τη λήψη backup μετά από κάποιο σοβαρό crash, είναι το SystemRescueCd. Η εν λόγω διανομή δεν είναι χρήσιμη μόνο για υπολογιστές με Linux. Για παράδειγμα, το εργαλείο GParted που περιλαμβάνεται στην εργαλειοθήκη της είναι ικανό και για τη διαχείριση κατατμήσεων με Windows filesystems. Το SystemRescueCd ανήκει στην κατηγορία των Live distributions, που σημαίνει ότι ξεκινά από CD/DVD ή USB (thumb) drive, τρέχει από τη μνήμη και δεν χρειάζεται εγκατάσταση. Στη συνέχεια θα δείξουμε πώς φορτώνουμε το SystemRescueCd σε κάποιον υπολογιστή δικτυακά, από έναν PXE server. Πιο συγκεκριμένα, υποθέτουμε ότι στο Raspberry Pi σας λειτουργεί ήδη PXE server, με βάση τις οδηγίες στο σχετικό μας άρθρο.

Ξεκινάμε κατεβάζοντας το ISO image του SystemRescueCd 5.1.1 από τη σελίδα download του project. Εμείς, το αρχείο που πήραμε μετονομάσαμε σε SystemRescueCD-x86-5.1.1.iso και τ’ αποθηκεύσαμε στον κατάλογο /mnt/external/ISOs. Το περιεχόμενο του image το προσαρτήσαμε κάτω από το /var/www/html/distributions/systemrescuecd-x86-5.1.1, ώστε να είναι προσβάσιμο από τον web server που τρέχει στο Raspberry (είναι ο lighttpd). Προσθέσαμε κι αυτή τη γραμμή στο /etc/fstab

/mnt/external/ISOs/SystemRescueCD-x86-5.1.1.iso
    /var/www/html/distributions/systemrescuecd-x86-5.1.1
        iso9660 defaults,ro 0 0

(είναι μία γραμμή κι όχι τρεις), ώστε η προσάρτηση να γίνεται αυτόματα κατά την εκκίνηση του Raspbian.

Στη συνέχεια ενημερώνουμε τον PXE server για τα αρχεία του πυρήνα και του initial ramdisk image, τα οποία θα φορτώνουν στους PXE clients όποτε αυτοί ζητούν την εκκίνηση του SystemRescueCd. Αναλυτικότερα, από τον κατάλογο /var/www/html/distributions/systemrescuecd-x86-5.1.1/isolinux αντιγράψαμε τα αρχεία rescue32 (πυρήνας) και initram.igz (initial ramdisk image) στον κατάλογο /mnt/external/tftpboot/boot/systemrescuecd-x86-5.1.1 (ο systemrescuecd-x86-5.1.1 δεν υπήρχε κάτω από τον /mnt/external/tftpboot/boot, γι’ αυτό και πρώτα τον φτιάξαμε). Το rescue32 φορτώνει σε συστήματα αρχιτεκτονικής 32bit ή 64bit. Υπάρχει και το rescue64, το οποίο φορτώνει μόνο σε συστήματα 64bit. Στο δικό μας setup χρησιμοποιούμε το rescue32 — και το έχουμε δοκιμάσει επιτυχώς και σε 64bit hosts.

Σειρά έχει η δημιουργία ενός νέου entry για το μενού που προσφέρει ο PXE server στους clients. Στο αρχείο default, μέσα στον κατάλογο /mnt/external/tftpboot/pxelinux.cfg, προσθέσαμε τις ακόλουθες γραμμές:

LABEL SystemRescueCD-x86-5.1.1
  MENU LABEL SystemRescueCD x86 5.1.1
  KERNEL boot/systemrescuecd-x86-5.1.1/rescue32
  APPEND
    initrd=
      boot/systemrescuecd-x86-5.1.1/initram.igz
    netboot=
      http://192.168.178.2/distributions/systemrescuecd-x86-5.1.1/sysrcd.dat

(οι πέντε γραμμές από την APPEND έως και την τελευταία, στην πραγματικότητα είναι μία). Βεβαίως, στο δικό σας default θα βάλετε τη διεύθυνση IP του PXE server σας — κι εννοείται ότι θα τροποποιήσετε paths κι ονόματα καταλόγων.

Μετά τα παραπάνω είμαστε έτοιμοι να δοκιμάσουμε αν το SystemRescueCd φορτώνει απομακρυσμένα στους PXE clients. Αρκεί να (επαν)εκκινήσουμε έναν φυσικό ή εικονικό host, φροντίζοντας ώστε στο boot sequence πρώτη συσκευή να είναι η κάρτα δικτύου. Δείτε τα screenshots που ακολουθούν, διαβάστε και τις αντίστοιχες περιγραφές.

Νέα επιλογή στο μενού του PXE server που φιλοξενεί το Raspberry Pi μας: Πρόκειται για το SystemRescueCd, ένα σύστημα για επεμβάσεις ή/και backups σε συστήματα που είτε δεν έχουν λειτουργικό είτε έχουν υποστεί κάποιο καταστροφικό crash.

Νέα επιλογή στο μενού του PXE server που φιλοξενεί το Raspberry Pi μας: Πρόκειται για το SystemRescueCd, ένα σύστημα για επεμβάσεις ή/και backups σε συστήματα που είτε δεν έχουν λειτουργικό είτε έχουν υποστεί κάποιο καταστροφικό crash.

Μετά το φόρτωμα των kernel modules, το SystemRescueCd μάς ζητά να επιλέξουμε keymap για το πληκτρολόγιο. Αν δεν κάνουμε κάτι, είκοσι δευτερόλεπτα αργότερα χρησιμοποιείται το προκαθορισμένο. Είναι το αμερικάνικο και μας κάνει μια χαρά.

Μετά το φόρτωμα των kernel modules, το SystemRescueCd μάς ζητά να επιλέξουμε keymap για το πληκτρολόγιο. Αν δεν κάνουμε κάτι, είκοσι δευτερόλεπτα αργότερα χρησιμοποιείται το προκαθορισμένο. Είναι το αμερικάνικο και μας κάνει μια χαρά.

Ο PXE client διαβάζει το αρχείο sysrcd.dat, το οποίο αποτελεί το root filesystem image του SystemRescueCd.

Ο PXE client διαβάζει το αρχείο sysrcd.dat, το οποίο αποτελεί το root filesystem image του SystemRescueCd.

Αφού ολοκληρωθεί η εκκίνηση του SystemRescueCd από πλευράς PXE client, βρισκόμαστε σε μια κονσόλα απλού κειμένου της διανομής. Μπορούμε φυσικά να εργαστούμε από αυτή ή, εναλλακτικά, να πληκτρολογήσουμε startx και να φορτώσουμε το περιβάλλον γραφικών.

Αφού ολοκληρωθεί η εκκίνηση του SystemRescueCd από πλευράς PXE client, βρισκόμαστε σε μια κονσόλα απλού κειμένου της διανομής. Μπορούμε φυσικά να εργαστούμε από αυτή ή, εναλλακτικά, να πληκτρολογήσουμε startx και να φορτώσουμε το περιβάλλον γραφικών.

Ιδού και το GParted, στο περιβάλλον γραφικών του SystemRescueCd.

Ιδού και το GParted, στο περιβάλλον γραφικών του SystemRescueCd.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων