• 必须在您的部署环境中具有 PXE 服务器。可以在任何 Linux 发行版上设置 PXE 服务器。

    如果具有多个管理网络,您可以添加从 NSX 设备到其他网络的静态路由。

  • 确认预植入的配置文件中 -- 后设置的参数 net.ifnames=0 和 biosdevname=0 在重新引导后继续存在。
  • 请参阅 NSX Edge 安装要求 中的 NSX Edge 网络要求。
  • (可选) 使用 kickstart 文件在 Ubuntu 服务器上设置新的 TFTP 或 DHCP 服务。 kickstart 文件是一个文本文件,其中包含在首次引导后在设备上运行的 CLI 命令。 根据指向的 PXE 服务器命名 kickstart 文件。例如:
    nsxcli.install
    该文件必须复制到 Web 服务器,例如,在 /var/www/html/nsx-edge/nsxcli.install 中。

    在 kickstart 文件中,您可以添加 CLI 命令。例如,要配置管理接口的 IP 地址,请运行以下命令:

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

    要更改 admin 用户密码,请运行以下命令:

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

    如果在 preseed.cfg 文件中指定一个密码,请在 kickstart 文件中使用相同的密码。否则,将使用默认密码“default”。

    要将 NSX Edge 加入管理平面,请运行以下命令:

    join management-plane <manager-ip> thumbprint <manager-thumbprint> username <manager-username> password <manager password>
  • 创建两个接口,一个接口用于管理,另一个接口用于 DHCP 和 TFTP 服务。 确保 DHCP/TFTP 接口位于 NSX Edge 所在的同一子网中。

    例如,如果 NSX Edge 管理接口位于 192.168.210.0/24 子网中,请将 eth1 放在该相同子网中。

    # 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
         
  • 安装 DHCP 服务器软件并配置所需的设置以设置 PXE 服务器。有关更多详细信息,请参见 Linux 文档。
  • 安装 Apache 服务器和 TFTP 以及配置 PXE 服务器所需的其他组件。
  • NSX Edge 安装程序 ISO 文件复制或下载到临时文件夹。
  • 挂载 ISO 文件,并将安装组件复制到 TFTP 服务器和 Apache 服务器中。
    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/
  • (可选) 编辑 /var/www/html/nsx-edge/preseed.cfg 文件以修改加密的密码。 您可以使用 Linux 工具(如 mkpasswd)创建密码哈希值。
    sudo apt-get install whois
    sudo mkpasswd -m sha-512
    Password: 
    $6$SUFGqs[...]FcoHLijOuFD
  • 修改 root 密码,编辑 /var/www/html/nsx-edge/preseed.cfg 并搜索下一行:
    d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...
  • 替换哈希字符串。 您不需要转义任何特殊字符,例如 $、'、" 或 \。
  • preseed.cfg 中添加 usermod 命令以设置 root 和/或 admin 密码。 例如,添加以下命令。
    usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
    usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \

    哈希字符串是一个示例。您必须转义所有特殊字符。第一个 usermod 命令中的 root 密码替换在 d-i passwd/root-password-crypted password $6$tgm... 中设置的密码。

    如果使用 usermod 命令设置密码,则在首次登录时不会提示用户更改密码。否则,用户必须在首次登录时更改密码。

  • 将以下几行添加到 /var/lib/tftpboot/pxelinux.cfg/default 文件中。

    将 192.168.210.82 替换为 TFTP 服务器的 IP 地址。

    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 --
  • 将以下几行添加到 /etc/dhcp/dhcpd.conf 文件中。

    将 192.168.210.82 替换为 DHCP 服务器的 IP 地址。

    allow booting;
    allow bootp;
    next-server 192.168.210.82; #Replace this IP address
    filename "pxelinux.0";
  • 重新启动 DHCP 服务。
    sudo service isc-dhcp-server restart
    注: 如果返回错误(例如:“stop: Unknown instance: start: Job failed to start”),请运行 sudo /etc/init.d/isc-dhcp-server stop,然后运行 sudo /etc/init.d/isc-dhcp-server startsudo /etc/init.d/isc-dhcp-server start 命令返回有关错误来源的信息。
  •