Τι είναι το Network Booting (PXE) και πώς μπορείτε να το χρησιμοποιήσετε;

Χρειάστηκε ποτέ να αντιμετωπίσετε προβλήματα ή να διαγνώσετε έναν προβληματικό υπολογιστή και ξεχάσατε πού βρίσκεται το βοηθητικό CD; Θα σας δείξουμε πώς να χρησιμοποιήσετε την εκκίνηση μέσω δικτύου (PXE) με το FOG για να κάνετε αυτό το πρόβλημα παρελθόν.

Εικόνα από h.koppdelaney

Επισκόπηση του PXE

Το PXE (Pre eXecution Environment), με την ευγενική ονομασία Pixie (όπως στο νεράιδα), είναι μια μέθοδος εκκίνησης υπολογιστή (πελάτη) με χρήση μόνο της κάρτας δικτύου του. Αυτή η μέθοδος εκκίνησης δημιουργήθηκε το 1999 και εφόσον ο εν λόγω υπολογιστής είναι συνδεδεμένος στο δίκτυο (και υποστηρίζει αυτό το πρότυπο), είναι δυνατή η παράκαμψη της κανονικής διαδικασίας εκκίνησης (IE Power on -> BIOS -> HD / CD) και κάντε μερικά ωραία πράγματα, ξεκινώντας από την αντιμετώπιση προβλημάτων, τη χρήση ενός liveOS και ακόμη και την εκ νέου απεικόνιση του μηχανήματος…. αλλά προχωράμε μπροστά μας ας επιστρέψουμε στην αρχή.

Όταν χρησιμοποιείτε το PXE, η διαδικασία εκκίνησης αλλάζει από την κανονική σειρά σε:

Ενεργοποίηση -> BIOS -> Στοίβα PXE κάρτας δικτύου -> Λήψη προγράμματος εκκίνησης δικτύου (NBP) χρησιμοποιώντας TFTP από διακομιστή στη μνήμη RAM του πελάτη -> ευθύνη του NBP να εκτελέσει το επόμενο βήμα (γνωστή και ως εκκίνηση 2ου σταδίου).

Χρησιμοποιώντας το "PXElinux" NBP, είναι δυνατή η εγκατάσταση του διακομιστή για περισσότερα από ένα μόνο προγράμματα εκκίνησης PXE για τους πελάτες μας. Κατά μία έννοια, είναι το μυστικό συστατικό που μας επιτρέπει να εκτελέσουμε όλα τα παραπάνω και μετά μερικά. Για μια πιο εμπεριστατωμένη εξήγηση ολόκληρης της διαδικασίας, της ιστορίας της και ορισμένων από τις επιλογές υποδομής που επιτρέπει και το gPXE (που είναι μια πιο εξελιγμένη ξαδέλφια) επιτρέπουν, δείτε αυτήν τη διάλεξη στο YouTube από τους προγραμματιστές τους. Επίσης, παρακάτω είναι ένα βίντεο μιας εγκατάστασης από το 2008 που ξεπερνά γρήγορα μερικές από τις δυνατότητες εκκίνησης.

Στόχος

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

Προτάσεις, υποθέσεις και προϋποθέσεις

  • Ο υπολογιστής-πελάτης με τον οποίο δοκιμάζετε, υποστηρίζει εκκίνηση PXE και ξέρετε πώς να το ενεργοποιήσετε.
  • Αυτός ο οδηγός γράφτηκε και δοκιμάστηκε χρησιμοποιώντας το Debian Squeeze, τον διακομιστή Ubuntu 9.10 και το Linux Mint10. Επομένως, θεωρείται ότι έχετε και ένα σύστημα με βάση το Debian για να εργαστείτε.
  • Ίσως θελήσετε να ρίξετε μια ματιά στο Πώς να ρυθμίσετε το RAID λογισμικού για έναν απλό διακομιστή αρχείων και τον τρόπο ρύθμισης της συσσωμάτωσης συνδέσμου δικτύου (802.3ad), επειδή οι απαιτήσεις για εύρος ζώνης δίσκου και δικτύου σε αυτόν τον τύπο διακομιστή μπορούν να πάρουν πραγματικά υψηλά πραγματικά γρήγορα. Συνιστάται να βασιστείτε στη δημιουργία ενός διακομιστή με υψηλή ανθεκτικότητα για τα υποσυστήματα δικτύου και δίσκου.
  • Θα με δείτε να χρησιμοποιώ το VIM ως πρόγραμμα επεξεργασίας, αυτό συμβαίνει μόνο επειδή το συνηθίζω… μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο πρόγραμμα επεξεργασίας που θα θέλατε.

Εγκατάσταση - Η βαριά ανύψωση αξιοποιώντας το FOG

Το FOG είναι μια δωρεάν, ανοιχτού κώδικα λύση κλωνοποίησης υπολογιστών που δημιουργήθηκε από τους * Chuck Syperski και Jian Zhang. Το FOG παίρνει τακτικά διαθέσιμο λογισμικό (όπως Apache, MySQL και tftpd-hpa για να αναφέρουμε μερικά) και τα συσκευάζει σε μια δωρεάν και παραγωγική λύση PC Lifecycle management (PCLM). Χρησιμοποιώντας αυτό το δωρεάν PCLM είναι δυνατή η δημιουργία αντιγράφων ασφαλείας μιας κατάστασης υπολογιστών, απεικονίζοντας την, αναπτύσσοντας προγράμματα και ρυθμίσεις (IE Firefox, Office, Printers & etc ') και πολιτικές διαμόρφωσης (IE αυτόματη αποσύνδεση και ρυθμίσεις προφύλαξης οθόνης) για να αναφέρουμε μερικές, μέσω ενός κεντρική διεπαφή Ιστού.


Σημείωση : Μια συνέντευξη με τους Chuck και Jian σχετικά με το FOG είναι διαθέσιμη στο Tightwad Tech.

Η χρήση του FOG ως θεμέλιο για τον διακομιστή PXE σας, είναι μια εξαιρετική συντόμευση για να έχετε όλα τα απαραίτητα μέρη όπως το TFTP και, αν απαιτείται, DHCP στη θέση του χωρίς να χρειάζεται να τα εγκαταστήσετε και να τα διαμορφώσετε χειροκίνητα, ενώ σας παρέχει όλες τις λειτουργίες του FOG ως μπόνους .

Καθώς ο στόχος μας είναι να προσθέσουμε λειτουργικότητα σε αυτό το ήδη εξαιρετικό σύστημα, δεν θα καλύψουμε τον τρόπο χρήσης του ίδιου του FOG, ούτε τη διαδικασία εγκατάστασης σε βάθος. Το wiki του FOG, με τις γραπτές και βιντεογραφικές οδηγίες τους, είναι αρκετά ανθεκτικοί για να λάβουν τις σε βάθος πληροφορίες, αν θέλετε να το αναζητήσετε. Τα συνοπτικά βήματα είναι:

  • sudo mkdir -p /opt/fog-setup

  • Download the latest FOG packagefrom sourceforge to the directory created in the previous step.
  • Extract the package and start the installation.


    sudo tar -xvzf fog*

  • You will be prompted several times by the installer:


    3. What is the IP address to be used by this FOG Server? [server-IP-detected-on-eth0] – Enter.


    10. Acknowledge and follow the on screen instructions for MySQL.


    11. Leave the MySQL password blank for the root account.



    Image from the FOG wiki.

  • Go to the Fog address with your browser and follow the on screen instructions.

*Note:  Assuming you do NOT have another DHCP  or that it is not setup to handle PXE. If you want to configure your existing DHCP, see Configure DHCP for PXE.

As far as installing FOG goes, that should be it. Again, while FOG is a great system, using it, is not the focus of this guide, and we encourage you to head over to it’s wiki so you can get a better grasp of FOG’s abilities and how it can help you to manage your clients lifecycle.

If all when well you should be able to PXE boot your client machine (usually F12) and get greeted by FOG’s default menu.


As a quick “taste of things to come” you may select the “Run Memtest86+” option and get greeted by the Memtest program we covered in our “Diagnose PC Hardware Problems with an Ubuntu Live CD” guide.

File and directory Structures

As stated earlier, our aim is to extend FOG’s abilities and to that end we will need to add some files and directories.

Create the subdirectory structure:

sudo mkdir -p /tftpboot/howtogeek/menus

These sub-directories will serve as templates for all the pictures, programs and configurations we will use to extend FOG.

Adjusting the “default” configuration file

We will build a new main menu, and put all of the FOG functions into their own sub-menu.

Copy the /tftpboot/pxelinux.cfg/default configuration file into howtogeek/menus/fog.cfg

sudo cp /tftpboot/pxelinux.cfg/default /tftpboot/howtogeek/menus/fog.cfg

Now edit the content of the original “default” file:

sudo vim /tftpboot/pxelinux.cfg/default

Make its content look like this:

DEFAULT vesamenu.c32


LABEL FOG


KERNEL vesamenu.c32


APPEND howtogeek/menus/fog.cfg

LABEL Utils MENU

LABEL Linux


LABEL fog.local

When we finish, this configuration will give you 3 sub-menus: “Utilities”, “Manual FOGing”, “Linux stuff”.

Create the “master” file

The master file allows us to make global changes to the look and feel of the menus without reentering them individually over and over. Things like the default background picture, border stile, position Etc’, will all be consolidated in this master.cfg file.

Create the file:

sudo vim /tftpboot/pxelinux.cfg/master.cfg

Make it’s content look like:

MENU BACKGROUND fog/genie.png

MENU MARGIN 0

The configuration above, will create the purple borders and highlighting, if you whish to have a different look and feel, simply change the values.


To set a background picture, put a picture in the “/tftproot” directory and point the “MENU BACKGROUND” to the picture’s relative path (we recommend using pictures with resolution of 640*480). For example the full path for the above configured picture would be: “/tftproot/fog/bg.png“.

Connect the FOG sub-menu to the main menu

Because we made a simple copy of the original configuration file into the menus sub-directory (keeping its color schema, timeouts and alike), if you go into this sub-menu now from the PXE booted client, it would work, but you will not be able to return to the main menu without rebooting the machine.

So edit the /tftpboot/howtogeek/menus/fog.cfg file:

sudo vim /tftpboot/howtogeek/menus/fog.cfg

Add this entry after the “menu color title” entry and before the FOG functions:

LABEL back

Create the sub menu skeletons

We have created 4 sub-menus, three of them are up to us to fill. To do so, lets create the template that we will be building on.

Create the template file:

sudo vim /tftpboot/howtogeek/menus/template.cfg

Make this its content:


  

MENU INCLUDE /pxelinux.cfg/master.cfg

Lets set the stage for additional sub-menus, which will be covered in future guides:


  

cd /tftpboot/howtogeek/menus/

That’s it, the basic layout is now ready and from now on, we only need to build upon it, which we will in future guides. Until these future guides arrive, you are encouraged to get familiar with FOG as it is an exciting ride upon it’s self.

Update: The future is here :)

How To Network Boot (PXE) The Ubuntu LiveCD

Go FOG yourself