PXE besteht aus mehreren Komponenten: DHCP, HTTP und TFTP. Hier wird gezeigt, wie Sie einen PXE-Server unter Ubuntu einrichten.

DHCP verteilt IP-Einstellungen dynamisch an NSX-Komponenten wie NSX Edge. In einer PXE-Umgebung ermöglicht es der DHCP-Server NSX Edge, automatisch eine IP-Adresse anzufordern und zu erhalten.

TFTP ist ein Dateiübertragungsprotokoll. Der TFTP-Server überwacht stets PXE-Clients im Netzwerk. Wenn er erkennt, dass ein Netzwerk-PXE-Client PXE-Dienste anfragt, stellt er die NSX-Komponenten-ISO-Datei und die in einer vordefinierten Datei enthaltenen Installationseinstellungen bereit.

Voraussetzungen

  • Ein PXE-Server muss in Ihrer Bereitstellungsumgebung verfügbar sein. Der PXE-Server kann auf jeder Linux-Distribution eingerichtet werden.
  • Stellen Sie sicher, dass in der vordefinierten Konfigurationsdatei die Parameter net.ifnames=0 und biosdevname=0 nach -- festgelegt sind, damit sie nach einem Neustart beibehalten werden.
  • Siehe Bare Metal Server-Systemanforderungen.

Prozedur

  1. (Optional) Verwenden Sie eine Kickstart-Datei, um neue TFTP oder DHCP-Dienste auf einem Ubuntu-Server einzurichten.
    Eine Kickstart-Datei ist eine Textdatei mit CLI-Befehlen, die Sie nach dem ersten Start auf der Appliance ausführen.
    Der Name der Kickstart-Datei basiert auf dem PXE-Server, auf den sie verweist. Beispiel:
    nsxcli.install
    Die Datei muss in Ihren Webserver kopiert werden (z. B. unter /var/www/html/nsx-edge/nsxcli.install).

    In der Kickstart-Datei können Sie CLI-Befehle hinzufügen. Zum Beispiel, um die IP-Adresse der Verwaltungsschnittstelle zu konfigurieren:

    stop service dataplane
    set interface eth0 <ip-cidr-format> plane mgmt
    start service dataplane

    Um das Kennwort des Admin-Benutzers zu ändern:

    set user admin password <new_password> old-password <old-password>

    Wenn Sie in der Datei preseed.cfg ein Kennwort angeben, sollten Sie dasselbe Kennwort in der Kickstart-Datei verwenden. Verwenden Sie andernfalls das Standardkennwort „default“.

    So verbinden Sie NSX Edge mit der Management Plane:

    join management-plane <manager-ip> thumbprint <manager-thumbprint> username <manager-username> password <manager password>
  2. Erstellen Sie zwei Schnittstellen: eine für das Management und eine andere für DHCP- und TFTP-Dienste.
    Stellen Sie sicher, dass sich die DHCP/TFTP-Schnittstelle im selben Subnetz befindet wie NSX Edge.

    Beispiel: Wenn sich die NSX Edge-Managementschnittstellen im Subnetz 192.168.210.0/24 befinden, müssen Sie eth1 ebenfalls in diesem Subnetz platzieren.

    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # PXE server's management interface
    auto eth0
    iface eth0 inet static
      address 192.168.110.81
      gateway 192.168.110.1
      netmask 255.255.255.0
      dns-nameservers 192.168.110.10
    
    # PXE server's DHCP/TFTP interface
    auto eth1
    iface eth1 inet static
      address 192.168.210.82
      gateway 192.168.210.1
      netmask 255.255.255.0
      dns-nameservers 192.168.110.10
    
  3. Installieren Sie die DHCP-Serversoftware und konfigurieren Sie die erforderlichen Einstellungen zum Einrichten des PXE-Servers. Weitere Informationen finden Sie in der Linux-Dokumentation.
  4. Installieren Sie den Apache-Server und TFTP sowie andere Komponenten, die zum Konfigurieren des PXE-Servers erforderlich sind.
  5. Kopieren Sie die ISO-Datei des NSX Edge-Installationsprogramms in einen temporären Ordner oder laden Sie sie dorthin herunter.
  6. Stellen Sie die ISO-Datei bereit und kopieren Sie die Installationskomponenten in den TFTP-Server und den Apache-Server.
    sudo mount -o loop ~/nsx-edge.<build>.iso /mnt
    cd /mnt
    sudo cp -fr install/netboot/* /var/lib/tftpboot/
    sudo mkdir /var/www/html/nsx-edge
    sudo cp -fr /mnt/* /var/www/html/nsx-edge/
  7. (Optional) Bearbeiten Sie die Datei /var/www/html/nsx-edge/preseed.cfg, um die verschlüsselten Kennwörter zu ändern.
    Sie können ein Linux-Tool wie mkpasswd verwenden, um ein Kennwort-Hash zu erstellen.
    sudo apt-get install whois
    sudo mkpasswd -m sha-512
    
    Password: 
    $6$SUFGqs[...]FcoHLijOuFD
    1. Ändern Sie das Root-Kennwort, bearbeiten Sie /var/www/html/nsx-edge/preseed.cfg und suchen Sie nach der folgenden Zeile:
      d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...
    2. Ersetzen Sie die Hash-Zeichenfolge.
      Sonderzeichen wie $, ', ", oder \ müssen nicht maskiert werden.
    3. Fügen Sie den Befehl usermod zu preseed.cfg hinzu, um das Kennwort für Root, Admin oder beides festzulegen.
      Fügen Sie beispielsweise den folgenden Befehl hinzu.
      usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
      usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \

      Die Hash-Zeichenfolge stellt ein Beispiel dar. Sie müssen alle Sonderzeichen maskieren. Das Root-Kennwort im ersten usermod-Befehl ersetzt das in d-i passwd/root-password-crypted password $6$tgm... festgelegte Kennwort.

      Wenn Sie das Kennwort mit dem Befehl usermod festlegen, wird der Benutzer nicht aufgefordert, das Kennwort bei der ersten Anmeldung zu ändern. Andernfalls muss der Benutzer das Kennwort bei der ersten Anmeldung ändern.

  8. Fügen Sie die folgenden Zeilen zur Datei /var/lib/tftpboot/pxelinux.cfg/default hinzu.

    Ersetzen Sie 192.168.210.82 durch die IP-Adresse Ihres TFTP-Servers.

    label nsxedge
        kernel ubuntu-installer/amd64/linux
        ipappend 2
        append netcfg/dhcp_timeout=60 auto=true priority=critical vga=normal partman-lvm/device_remove_lvm=true netcfg/choose_interface=auto debian-installer/allow_unauthenticated=true preseed/url=http://192.168.210.82/nsx-edge/preseed.cfg mirror/country=manual mirror/http/hostname=192.168.210.82 nsx-kickstart/url=http://192.168.210.82/nsx-edge/nsxcli.install mirror/http/directory=/nsx-edge initrd=ubuntu-installer/amd64/initrd.gz mirror/suite=bionic netcfg/do_not_use_netplan=true --
  9. Fügen Sie die folgenden Zeilen zur Datei /etc/dhcp/dhcpd.conf hinzu.

    Ersetzen Sie 192.168.210.82 durch die IP-Adresse Ihres DHCP-Servers.

    allow booting;
    allow bootp;
    
    next-server 192.168.210.82; #Replace this IP address
    filename "pxelinux.0";
  10. Starten Sie den DHCP-Dienst neu.
    sudo service isc-dhcp-server restart
    Hinweis: Wenn ein Fehler zurückgegeben wird, beispielsweise „stop: Unknown instance: start: Job failed to start“, führen Sie sudo /etc/init.d/isc-dhcp-server stop und dann sudo /etc/init.d/isc-dhcp-server start aus. Mit dem Befehl sudo /etc/init.d/isc-dhcp-server start können Sie Informationen zur Fehlerursache abrufen.

Nächste Maßnahme

Installieren Sie NSX Edge mithilfe einer ISO-Datei auf einer Bare-Metal-Bereitstellung. Siehe Automatisches Installieren von Bare Metal NSX Edge mithilfe der ISO-Datei.