您可以在裸機上自動安裝 NSX Edge 裝置,或使用 PXE 將其安裝為虛擬機器。請注意,NSX ManagerNSX Controller 不支援 PXE 開機安裝。此作業包括自動設定網路設定,例如 IP 位址、閘道、網路遮罩、NTP 和 DNS。

執行這項作業的原因和時機

此程序將示範如何在 Ubuntu 上設定 PXE 伺服器。PXE 由兩個元件組成:DHCP 和 TFTP。

DHCP 會以動態方式將 IP 設定散佈至 NSX-T 元件,例如 NSX Edge。在 PXE 環境中,DHCP 伺服器允許 NSX Edge 自動要求及接收 IP 位址。

TFTP 是一種檔案傳輸通訊協定。TFTP 伺服器一律會接聽網路上的 PXE 用戶端。當它偵測到任何網路 PXE 用戶端要求 PXE 服務時,即會提供包含在 preseed 檔案中的 NSX-T 元件 ISO 檔案和安裝設定。

在 PXE 伺服器就緒後,程序會說明如何以預先植入的組態檔來安裝 NSX Edge

先決條件

  • 確認已滿足系統需求。請參閱系統需求

  • 確認所需連接埠已開啟。請參閱連接埠和通訊協定

  • 如果您還沒有目標虛擬機器連接埠群組網路,請進行建立。大多數部署會將 NSX 應用裝置放在管理虛擬機器網路上。

    如果您有多個管理網路,則可以新增從 NSX 應用裝置到其他網路的靜態路由。準備 NSX 應用裝置要在其上進行通訊的管理虛擬機器連接埠群組。

  • 規劃 IPv4 IP 位址配置。在此版本的 NSX-T 中,IPv6 不受支援。

  • PXE 伺服器必須可在您的部署環境中使用。PXE 伺服器可設定於任何 Linux 發行版上。PXE 伺服器必須有兩個介面,一個用於外部通訊,另一個用來提供 DHCP IP 和 TFTP 服務。

程序

  1. (選擇性) ︰ 建立 kickstart 檔案。

    kickstart 檔案是一種文字檔,其中包含您在第一次開機後通常會對應用裝置執行的 CLI 命令。

    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 <password>
    

    請注意,如果您在 preseed.cfg 檔案中指定了密碼,請在 kickstart 檔案中使用相同的密碼。否則,請使用預設密碼「default」。

    若要將 NSX Edge 加入管理平面:

    join management-plane <mgr-ip> thumbprint <mgr-thumbprint> username <mgr-username> password <mgr password>
  2. 建立兩個介面,一個用於管理,另一個用於 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
    
  3. 安裝 DHCP 伺服器軟體。
    sudo apt-get install isc-dhcp-server -y
  4. 編輯 /etc/default/isc-dhcp-server 檔案,並新增提供 DHCP 服務的介面。
    INTERFACES="eth1"
  5. (選用) 如果您要讓此 DHCP 伺服器成為本機網路的正式 DHCP 伺服器,請將 /etc/dhcp/dhcpd.conf 檔案中的 authoritative; 一行取消註解。
    ...
    authoritative;
    ...
  6. /etc/dhcp/dhcpd.conf 中,定義 DHCP 設定。

    例如:

    subnet 192.168.210.0 netmask 255.255.255.0 {
       range 192.168.210.90 192.168.210.95;
       option subnet-mask 255.255.255.0;
       option domain-name-servers 192.168.110.10;
       option routers 192.168.210.1;
       option broadcast-address 192.168.210.255;
       default-lease-time 600;
       max-lease-time 7200;
    }
  7. 啟動 DHCP 服務。
    sudo service isc-dhcp-server start
  8. 確定 DHCP 服務正在執行。
    service --status-all | grep dhcp
  9. 安裝 PXE 開機所需的 Apache、TFTP 和其他元件。
    sudo apt-get install apache2 tftpd-hpa inetutils-inetd
  10. 確定 TFTP 和 Apache 正在執行。
    service --status-all | grep tftpd-hpa
    service --status-all | grep apache2
  11. 將以下幾行新增至 /etc/default/tftpd-hpa 檔案。
    RUN_DAEMON="yes"
    OPTIONS="-l -s /var/lib/tftpboot"
  12. 將以下一行新增至 /etc/inetd.conf 檔案。
    tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
  13. 重新啟動 TFTP 服務。
    sudo /etc/init.d/tftpd-hpa restart
  14. NSX Edge 安裝程式 ISO 檔案複製或下載至所需的位置。
  15. 掛接 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/
  16. (選用) 編輯 /var/www/html/nsx-edge/preseed.cfg 檔案以修改加密密碼。

    您可以使用 Linux 工具 (例如 mkpasswd) 來建立密碼雜湊。

    sudo apt-get install whois
    sudo mkpasswd -m sha-512
    
    Password: 
    $6$SUFGqs[...]FcoHLijOuFD

    若要修改根密碼,請編輯 /var/www/html/nsx-edge/preseed.cfg,並搜尋以下一行:

    d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...

    取代雜湊字串。您不需要逸出任何特殊字元,如 $、'、" 或 \ 等。

    您也可以將 usermod 命令新增至 preseed.cfg,以設定根使用者和/或管理員的密碼。例如,您可以新增以下兩行:

    usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
    usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \

    雜湊字串僅為範例。您必須逸出所有特殊字元。第一個 usermod 命令中的根密碼會取代 d-i passwd/root-password-crypted password $6$tgm... 中設定的密碼。

    如果您使用 usermod 命令設定密碼,則使用者在第一次登入時將不會看見變更密碼的提示。否則,使用者必須在第一次登入時變更密碼。

  17. 將以下幾行新增至 /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=trusty --
  18. 將以下幾行新增至 /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";
  19. 重新啟動 DHCP 服務。
    sudo service isc-dhcp-server restart
    備註︰

    如果傳回錯誤 (例如:「停止: 未知的執行個體: 啟動: 工作無法啟動」),請執行 sudo /etc/init.d/isc-dhcp-server stop,然後執行 sudo /etc/init.d/isc-dhcp-server startsudo /etc/init.d/isc-dhcp-server start 命令會傳回錯誤來源的相關資訊。

  20. 使用裸機安裝指示或 ISO 安裝指示來完成安裝。
  21. 開啟虛擬機器電源。
  22. 在開機功能表上,選取 nsxedge

    此時會自動設定網路、建立磁碟分割,並安裝 NSX Edge 元件。

    顯示 NSX Edge 登入提示時,您可以以管理員或根使用者的身分進行登入。

    依預設,根登入密碼為 vmware,而管理員登入密碼為 default

  23. 若要獲得最佳效能,請保留 NSX 元件所需的記憶體。

    記憶體保留是主機保證會為虛擬機器保留的實體記憶體數量下限,即使記憶體過度使用的情況也是如此。請設定一定的保留大小,以確保 NSX 元件具有足夠記憶體來讓執行更有效率。請參閱系統需求

結果

開啟 NSX Edge 的主控台以追蹤開機程序。如果視窗並未開啟,請確定已允許快顯視窗。

在 NSX Edge 完全開機後,登入 CLI 並執行 get interface eth0 命令以確認 IP 位址已如預期般套用。

nsx-edge-1> get interface eth0 

Interface: eth0
  Address: 192.168.110.37/24
  MAC address: 00:50:56:86:62:4d
  MTU: 1500
  Default gateway: 192.168.110.1
  Broadcast address: 192.168.110.255
  ...

如有需要,執行 set interface eth0 ip <CIDR> gateway <gateway-ip> plane mgmt 命令以更新管理介面。(選用) 您可以使用 start service ssh 命令啟動 SSH 服務。

請確定 NSX Edge 應用裝置具有必要連線。

  • 確定您可以對 NSX Edge 執行 Ping 偵測。

  • 確定 NSX Edge 可以對其預設閘道執行 Ping 偵測。

  • 確定 NSX Edge 可以針對與 NSX Edge 位於相同網路的 Hypervisor 主機執行 Ping 偵測。

  • 確定 NSX Edge 可以對其 DNS 伺服器及其 NTP 伺服器執行 Ping 偵測。

  • 如果您已啟用 SSH,請確定您可以使用 SSH 登入 NSX Edge。

備註︰

如果未建立連線,請確定虛擬機器網路介面卡位於適當的網路或 VLAN。

依預設,NSX Edge 資料路徑會宣告所有虛擬機器 NIC,但管理 NIC 除外 (即具有 IP 位址和預設路由的 NIC)。如果 DHCP 指派錯誤的 NIC 作為管理,您可以修正此錯誤,方式如下:

  1. stop service dataplane

  2. set interface eth0 dhcp plane mgmt

  3. 將 eth0 放入 DHCP 網路並等候系統將 IP 位址指派給 eth0。

  4. start service dataplane

用於 VLAN 上行和通道覆疊的資料路徑 fp-ethX 連接埠會顯示在 NSX Edge 上的 get interfacesget physical-port 命令中。

下一步

NSX Edge 加入管理平面。請參閱將 NSX Edge 加入管理平面