PXE è costituito da diversi componenti: DHCP, HTTP e TFTP. Questa procedura illustra come configurare un server PXE in Ubuntu.
DHCP distribuisce dinamicamente le impostazioni IP ai componenti NSX-T Data Center, ad esempio NSX Edge. In un ambiente PXE, il server DHCP consente a NSX Edge di richiedere e ricevere automaticamente un indirizzo IP.
TFTP è un protocollo di trasferimento file. Il server TFTP ascolta sempre i client PXE nella rete. Quando rileva un client PXE di rete che richiede servizi PXE, fornisce il file ISO del componente di NSX-T Data Center e le impostazioni di installazione contenute in un file preseed.
Procedura
- (Facoltativo) Utilizzare un file kickstart per configurare un nuovo servizio TFTP o DHCP in un server Ubuntu.
Un file kickstart è un file di testo contenente i comandi CLI eseguiti nell'appliance dopo il primo avvio.
Denominare il file kickstart in base al server PXE a cui fa riferimento. Ad esempio:
nsxcli.install
Il file deve essere copiato nel server Web, ad esempio all'indirizzo
/var/www/html/nsx-edge/nsxcli.install.
Nel file kickstart è possibile aggiungere comandi CLI. Ad esempio, per configurare l'indirizzo IP dell'interfaccia di gestione:
stop service dataplane
set interface eth0 <ip-cidr-format> plane mgmt
start service dataplane
Per modificare la password dell'utente amministratore:
set user admin password <new_password> old-password <old-password>
Se si specifica una password nel file preseed.cfg, utilizzare la stessa password nel file kickstart. In caso contrario, utilizzare la password predefinita, che è "default".
Per unire NSX Edge al piano di gestione:
join management-plane <manager-ip> thumbprint <manager-thumbprint> username <manager-username> password <manager password>
- Creare due interfacce, una per la gestione e un'altra per i servizi DHCP e TFTP.
Assicurarsi che l'interfaccia DHCP/TFTP si trovi nella stessa subnet in cui risiede
NSX Edge.
Ad esempio, se le interfacce di gestione di NSX Edge si trovano nella subnet 192.168.210.0/24, posizionare eth1 nella stessa subnet.
# 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
- Installare il software del server DHCP e configurare le impostazioni necessarie per configurare il server PXE. Per ulteriori dettagli, vedere la documentazione di Linux.
- Installare il server Apache e TFTP e gli altri componenti necessari per configurare il server PXE.
- Copiare o scaricare il file ISO del programma di installazione di NSX Edge in una cartella temporanea.
- Montare il file ISO e copiare i componenti dell'installazione nel server TFTP e nel server 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/
- (Facoltativo) Modificare il file /var/www/html/nsx-edge/preseed.cfg per modificare le password crittografate.
È possibile utilizzare uno strumento Linux come mkpasswd per creare un hash della password.
sudo apt-get install whois
sudo mkpasswd -m sha-512
Password:
$6$SUFGqs[...]FcoHLijOuFD
- Modificare la password root, modificare /var/www/html/nsx-edge/preseed.cfg e cercare la riga seguente:
d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...
- Sostituire la stringa hash.
Non è necessario eseguire l'escape di alcun carattere speciale, ad esempio $, ', ", o \.
- Aggiungere il comando usermod a preseed.cfg per impostare la password per root, admin o entrambi.
Ad esempio, aggiungere il comando seguente.
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \
La stringa hash è un esempio. È necessario eseguire l'escape di tutti i caratteri speciali. La password root nel primo comando usermod sostituisce la password impostata in d-i passwd/root-password-crypted password $6$tgm...
.
Se si utilizza il comando usermod per impostare la password, all'utente non verrà richiesto di cambiarla al primo accesso. In caso contrario, l'utente dovrà modificarla password al primo accesso.
- Aggiungere le righe seguenti nel file /var/lib/tftpboot/p wiminux.cfg/default.
Sostituire 192.168.210.82 con l'indirizzo IP del server TFTP.
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 --
- Aggiungere le righe seguenti al file /etc/dhcp/dhcpd.conf.
Sostituire 192.168.210.82 con l'indirizzo IP del server DHCP.
allow booting;
allow bootp;
next-server 192.168.210.82; #Replace this IP address
filename "pxelinux.0";
- Riavviare il servizio DHCP.
sudo service isc-dhcp-server restart
Nota: Se viene restituito un errore, ad esempio: "stop: Unknown instance: start: Job failed to start", eseguire
sudo /etc/init.d/isc-dhcp-server stop, quindi
sudo /etc/init.d/isc-dhcp-server start. Il comando
sudo /etc/init.d/isc-dhcp-server start restituisce informazioni sull'origine dell'errore.
Operazioni successive
Installare NSX Edge su bare-metal utilizzando un file ISO. Vedere Installazione automatica di NSX Edge tramite il file ISO.