Update to r44132:
Clarifications and reorganizations in the PXE-boot section. Submitted by: Bjoern Heidotting Obtained from: The FreeBSD German Documentation Project
This commit is contained in:
parent
995f0b4820
commit
fa841c7b1b
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=45380
1 changed files with 59 additions and 206 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde:$
|
||||
basiert auf: r44131
|
||||
basiert auf: r44132
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
|
@ -4220,196 +4220,69 @@ DHCP"</programlisting>
|
|||
<primary>plattenloser Betrieb</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>&os; kann über ein Netzwerk starten und arbeiten, ohne
|
||||
eine lokale Festplatte zu verwenden, indem es Dateisysteme eines
|
||||
<acronym>NFS</acronym>-Servers in den eigenen Verzeichnisbaum
|
||||
einhängt. Dazu sind, von den Standardkonfigurationsdateien
|
||||
abgesehen, keine Systemänderungen nötig. Ein solches
|
||||
System kann leicht installiert werden, da alle notwendigen
|
||||
Elemente bereits vorhanden sind:</para>
|
||||
<para>Das &intel; Preboot eXecution Environment
|
||||
(<acronym>PXE</acronym>) erlaubt es dem Betriebssystem über das
|
||||
Netzwerk zu starten. Zum Beispiel kann ein &os;-System, ohne
|
||||
lokale Festplatte, über das Netzwerk gestartet und betrieben
|
||||
werden. Die Dateisysteme werden dabei über einen
|
||||
<acronym>NFS</acronym>-Server eingehangen.
|
||||
<acronym>PXE</acronym>-Unterstützung steht in der Regel im
|
||||
<acronym>BIOS</acronym> zur Verfügung. Um
|
||||
<acronym>PXE</acronym> beim Systemstart zu verwenden, müssen Sie
|
||||
im <acronym>BIOS</acronym> des Rechners die Option <literal>Über
|
||||
das Netzwerk starten</literal> aktivieren. Alternativ können
|
||||
Sie während der PC-Initialisierung auch eine Funktionstaste
|
||||
drücken.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><acronym>PXE</acronym>: Das
|
||||
<quote>Preboot eXecution Environment System</quote> von
|
||||
&intel; ist eine Art intelligentes Boot-ROM, das in
|
||||
einigen Netzwerkkarten oder Hauptplatinen verwendet wird.
|
||||
Weitere Informationen finden Sie in &man.pxeboot.8;.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Das Beispielskript
|
||||
<filename>/usr/share/examples/diskless/clone_root</filename>
|
||||
erleichtert die Erzeugung und die Wartung des
|
||||
root-Dateisystems auf dem Server. Das Skript muss
|
||||
wahrscheinlich angepasst werden, dennoch werden Sie schnell zu
|
||||
einem Ergebnis kommen.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die Startdateien, die einen plattenlosen Systemstart
|
||||
erkennen und unterstützen, sind nach der Installation
|
||||
in <filename>/etc</filename> vorhanden.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Dateiauslagerungen können sowohl via
|
||||
<acronym>NFS</acronym> als auch auf die lokale Platte
|
||||
erfolgen.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Um <acronym>PXE</acronym> beim Systemstart zu verwenden,
|
||||
müssen Sie im <acronym>BIOS</acronym> des Rechner die
|
||||
Option <literal>Über das Netzwerk starten</literal>
|
||||
aktivieren. Alternativ können Sie während der
|
||||
PC-Initialisierung auch eine Funktionstaste drücken.</para>
|
||||
|
||||
<para>Es gibt verschiedene Wege, einen plattenlosen Rechner
|
||||
einzurichten. Viele Elemente sind daran beteiligt, die fast
|
||||
immer an den persönlichen Geschmack angepasst werden
|
||||
können. Im folgenden Abschnitt wird die Installation
|
||||
eines kompletten Systems beschrieben, wobei der
|
||||
Schwerpunkt auf Einfachheit und Kompatibilität zu den
|
||||
Standardstartskripten von &os; liegt. Das beschriebene
|
||||
System hat folgende Eigenschaften:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Die plattenlosen Rechner haben ein gemeinsames
|
||||
<filename>/</filename>- sowie ein gemeinsames
|
||||
<filename>/usr</filename>-Dateisystem, die jeweils
|
||||
schreibgeschützt sind.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Das root-Dateisystem ist eine Kopie
|
||||
eines Standardwurzelverzeichnisses von &os;
|
||||
(üblicherweise das des Servers), bei dem einige
|
||||
Konfigurationsdateien durch für den plattenlosen
|
||||
Betrieb geeignete Versionen ersetzt wurden.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Für die Bereiche des root-Dateisystems, die
|
||||
beschreibbar sein müssen, werden mit &man.md.4;
|
||||
virtuelle Dateisysteme erzeugt. Dies bedeutet aber auch, dass
|
||||
alle Veränderungen verloren gehen, wenn das System neu
|
||||
gestartet wird.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Der Kernel wird, in Abhängigkeit von der jeweiligen
|
||||
Situation, entweder von <application>Etherboot</application>
|
||||
oder von <acronym>PXE</acronym> transferiert und geladen.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<caution><para>Das hier beschriebene System ist nicht sicher. Es
|
||||
sollte nur in einem gesicherten Bereich eines Netzwerks verwendet
|
||||
werden und für andere Rechner nicht erreichbar sein.</para>
|
||||
</caution>
|
||||
|
||||
<sect2>
|
||||
<title>Hintergrundinformationen</title>
|
||||
|
||||
<para>Bei der Einrichtung von plattenlosen Rechnern
|
||||
müssen verschiedene Operationen durchgeführt werden, um
|
||||
das System erfolgreich zu starten:</para>
|
||||
<para>Um die notwendigen Dateien für ein Betriebssystem für den
|
||||
Start über das Netzwerk bereitzustellen, benötigt ein
|
||||
<acronym>PXE</acronym>-Setup einen richtig konfigurierten
|
||||
<acronym>DHCP</acronym>-, <acronym>TFTP</acronym>- und
|
||||
<acronym>NFS</acronym>-Server, wobei:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Der Rechner benötigt einige Startparameter, wie
|
||||
seine IP-Adresse, die Namen ausführbarer Dateien, den
|
||||
Servernamen sowie den root-Pfad. Für die
|
||||
Übermittlung dieser Informationen wird entweder das
|
||||
<acronym>DHCP</acronym>- oder das BOOTP-Protokoll verwendet.
|
||||
Bei <acronym>DHCP</acronym> handelt es sich um eine
|
||||
abwärtskompatible Erweiterung von BOOTP, die die
|
||||
gleichen Portnummern und das gleiche Paketformat verwendet.
|
||||
</para>
|
||||
|
||||
<para>Es ist möglich, das System so zu konfigurieren,
|
||||
dass es nur BOOTP verwendet. Das Serverprogramm
|
||||
&man.bootpd.8; ist bereits im &os;-Basissystem enthalten.
|
||||
</para>
|
||||
|
||||
<para><acronym>DHCP</acronym> hat im Vergleich zu BOOTP
|
||||
allerdings mehrere Vorteile (bessere Konfigurationsdateien,
|
||||
die Möglichkeit zur Verwendung von
|
||||
<acronym>PXE</acronym>, sowie viele andere, die nicht in
|
||||
direktem Zusammenhang mit dem plattenlosen Betrieb stehen).
|
||||
Dieser Abschnitt beschreibt die Konfiguration mittels
|
||||
<acronym>DHCP</acronym>. Wenn möglich, werden aber
|
||||
entsprechende Beispiele für &man.bootpd.8;
|
||||
angeführt. Die Beispielkonfiguration nutzt das
|
||||
Softwarepaket <application>ISC DHCP</application>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Der Rechner muss den Loader über
|
||||
<acronym>TFTP</acronym> starten.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Das Root-Dateisystem muss über
|
||||
<acronym>NFS</acronym> geladen werden.</para>
|
||||
<para>Die initialen Parameter, wie
|
||||
<acronym>IP</acronym>-Adresse, Dateiname und Speicherort
|
||||
der ausführbaren Bootdateien, Servername sowie Root-Pfad
|
||||
vom <acronym>DHCP</acronym>-Server bezogen werden.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Die möglichen Bootstrap-Programme und der Kernel
|
||||
müssen initialisiert und ausgeführt werden. Dabei
|
||||
gibt es zwei Möglichkeiten:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><acronym>PXE</acronym> lädt &man.pxeboot.8;.
|
||||
Dabei handelt es sich um eine modifizierte Version des
|
||||
&os;-Loaders der Boot-Phase drei. Der &man.loader.8;
|
||||
beschafft alle für den Systemstart notwendigen
|
||||
Parameter, und hinterlegt diese in der Kernelumgebung,
|
||||
bevor er die Kontrolle übergibt. Es ist hier
|
||||
möglich, den <filename>GENERIC</filename>-Kernel
|
||||
zu verwenden.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><application>Etherboot</application> lädt den
|
||||
Kernel hingegen direkt. Dafür müssen Sie
|
||||
allerdings einen Kernel mit spezifischen Optionen
|
||||
erzeugen.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para><acronym>PXE</acronym> und
|
||||
<application>Etherboot</application> sind zwar im
|
||||
Großen und Ganzen gleichwertig, da der Kernel
|
||||
aber viele Aufgaben an &man.loader.8; übergibt, sollte
|
||||
bevorzugt <acronym>PXE</acronym> eingesetzt werden.</para>
|
||||
|
||||
<para>Wenn Ihr <acronym>BIOS</acronym> und Ihre Netzwerkkarten
|
||||
<acronym>PXE</acronym> unterstützen, sollten Sie es
|
||||
auch verwenden.</para>
|
||||
<para>Der Loader für das Betriebssystem über
|
||||
<acronym>TFTP</acronym> gestartet wird.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Zuletzt muss der Rechner auf seine Dateisysteme
|
||||
zugreifen können. Dafür wird stets
|
||||
<acronym>NFS</acronym> verwendet.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Die Dateisysteme über
|
||||
<acronym>NFS</acronym> geladen werden.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Sie können das Verzeichnis
|
||||
<filename>/tftpboot</filename> an einem beliebigen Ort auf
|
||||
dem Server ablegen. Stellen Sie aber sicher, dass Sie
|
||||
diesen Ort sowohl in <filename>/etc/inetd.conf</filename>
|
||||
als auch in <filename>/usr/local/etc/dhcpd.conf</filename>
|
||||
eingetragen haben.</para>
|
||||
<para>Sobald das Gastsystem startet, erhält es vom
|
||||
<acronym>DHCP</acronym>-Server Informationen, wo der initiale
|
||||
Bootloader per <acronym>TFTP</acronym> zu bekommen ist.
|
||||
Nachdem das Gastsystem diese Informationen erhalten hat, lädt
|
||||
es den Bootloader über <acronym>TFTP</acronym> herunter und
|
||||
führt diesen anschließend aus. In &os; ist
|
||||
<filename>/boot/pxeboot</filename> der Bootloader. Nachdem
|
||||
<filename>/boot/pxeboot</filename> ausgeführt und der
|
||||
&os;-Kernel geladen wurde, wird mit dem Rest der
|
||||
&os;-Bootsequenz, wie in <xref linkend="boot"/> beschrieben,
|
||||
fortgefahren.</para>
|
||||
|
||||
<para>Weitere Informationen finden Sie in &man.diskless.8;.</para>
|
||||
</sect2>
|
||||
<para>Dieser Abschnitt beschreibt, wie Sie diese Dienste auf
|
||||
einem &os;-System so konfigurieren, sodass andere Systeme &os;
|
||||
über <acronym>PXE</acronym> starten können. Weitere
|
||||
Informationen finden Sie in &man.diskless.8;.</para>
|
||||
|
||||
<caution>
|
||||
<para>Wie beschrieben, ist das System, welches diese Dienste
|
||||
bereitstellt, unsicher. Daher sollte es in einem
|
||||
geschützten Bereich des Netzwerks aufgestellt und von
|
||||
anderen Hosts als nicht vertrauenswürdig eingestuft
|
||||
werden.</para>
|
||||
</caution>
|
||||
|
||||
<sect2 xml:id="network-pxe-nfs">
|
||||
<info>
|
||||
|
@ -4430,33 +4303,6 @@ DHCP"</programlisting>
|
|||
</authorgroup>
|
||||
</info>
|
||||
|
||||
<para>Das &intel; Preboot eXecution Environment
|
||||
(<acronym>PXE</acronym>) erlaubt es, ein Betriebssystem über das
|
||||
Netzwerk zu starten. <acronym>PXE</acronym>-Unterstützung wird
|
||||
von modernen Mainboards über das <acronym>BIOS</acronym>
|
||||
bereitgestellt, wo Sie es bei den Einstellungen zum Starten über
|
||||
das Netzwerk aktivieren können. Ein voll funktionsfähiges
|
||||
<acronym>PXE</acronym>-Setup erfordert zusätzlich einen richtig
|
||||
konfigurierten <acronym>DHCP</acronym>- und
|
||||
<acronym>TFTP</acronym>-Server.</para>
|
||||
|
||||
<para>Sobald das Gastsystem startet, erhält es vom
|
||||
<acronym>DHCP</acronym>-Server Informationen, wo der initiale
|
||||
Bootloader per <acronym>TFTP</acronym> zu bekommen ist. Nachdem
|
||||
das Gastsystem diese Informationen erhält, lädt es den
|
||||
Bootloader über <acronym>TFTP</acronym> herunter und führt
|
||||
diesen anschließend aus. Dieses Verfahren ist in Sektion 2.2.1
|
||||
der <link
|
||||
xlink:href="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">Preboot
|
||||
Execution Environment (PXE) Specification</link> dokumentiert.
|
||||
In &os; ist <filename>/boot/pxeboot</filename> der Bootloader,
|
||||
der während des <acronym>PXE</acronym>-Vorgangs abgerufen wird.
|
||||
Nachdem <filename>/boot/pxeboot</filename> ausgeführt und der
|
||||
&os;-Kernel geladen wurde, wird mit dem Rest der
|
||||
&os;-Bootsequenz fortgefahren. Weitere Informationen über den
|
||||
Bootvorgang unter &os; finden Sie in <xref
|
||||
linkend="boot"/>.</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Wählen Sie ein Verzeichnis welches eine
|
||||
|
@ -4467,6 +4313,13 @@ DHCP"</programlisting>
|
|||
|
||||
<screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
|
||||
&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
|
||||
|
||||
<para>Sie können <filename>tftpboot</filename> an einer
|
||||
beliebigen Stelle auf dem Server plazieren. Stellen Sie
|
||||
aber sicher, dass Sie diesen Ort sowohl in
|
||||
<filename>/etc/inetd.conf</filename> als auch in
|
||||
<filename>/usr/local/etc/dhcpd.conf</filename> eingetragen
|
||||
haben.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
|
|
Loading…
Reference in a new issue