PXE는 여러 구성 요소, 즉 DHCP, HTTP 및 TFTP로 구성됩니다. 이 절차에서는 Ubuntu에서 PXE 서버를 설치하는 방법을 보여줍니다.
DHCP는 NSX Edge와 같은 NSX-T Data Center 구성 요소에 동적으로 IP 설정을 배포합니다. PXE 환경에서 DHCP 서버는 NSX Edge에서 IP 주소를 자동으로 요청하고 수신하도록 합니다.
TFTP는 파일 전송 프로토콜입니다. TFTP 서버는 항상 네트워크에서 PXE 클라이언트를 수신합니다. 이 서버는 PXE 서비스를 요청하는 네트워크 PXE 클라이언트를 감지하면 NSX-T Data Center 구성 요소 ISO 파일과 미리 시드된 파일에 포함된 설치 설정을 제공합니다.
프로시저
- (선택 사항) kickstart 파일을 사용하여 Ubuntu 서버에서 새로운 TFTP 또는 DHCP 서비스를 설정합니다.
kickstart 파일은 첫 번째 부팅 후에 장치에서 실행하는 CLI 명령이 포함된 텍스트 파일입니다.
가리키는 PXE 서버를 기준으로 kickstart 파일의 이름을 지정합니다. 예:
nsxcli.install
파일을 웹 서버(예:
/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>
- 관리용 인터페이스 1개와 DHCP 및 TFTP 서비스용 인터페이스 1개를 생성합니다.
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 서버 소프트웨어를 설치합니다.
sudo apt-get install isc-dhcp-server -y
- /etc/default/isc-dhcp-server 파일을 편집하고 DHCP 서비스를 제공하는 인터페이스를 추가합니다.
- (선택 사항) 이 DHCP 서버를 로컬 네트워크에 대한 공식 DHCP 서버로 지정하려면 /etc/dhcp/dhcpd.conf 파일에서 authoritative; 줄의 주석 처리를 해제합니다.
- /etc/dhcp/dhcpd.conf 파일에서 PXE 네트워크에 대한 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;
}
- DHCP 서비스를 시작합니다.
sudo service isc-dhcp-server start
- DHCP 서비스가 실행 중인지 확인합니다.
service --status-all | grep dhcp
- PXE 부팅에 필요한 Apache, TFTP 및 기타 구성 요소를 설치합니다.
sudo apt-get install apache2 tftpd-hpa inetutils-inetd
- TFTP와 Apache가 실행 중인지 확인합니다.
service --status-all | grep tftpd-hpa
service --status-all | grep apache2
- /etc/default/tftpd-hpa 파일에 다음 줄을 추가합니다.
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
- /etc/inetd.conf 파일에 다음 줄을 추가합니다.
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
- TFTP 서비스를 다시 시작합니다.
sudo /etc/init.d/tftpd-hpa restart
- 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 파일을 편집하여 암호화된 암호를 수정합니다.
mkpasswd와 같은 Linux 도구를 사용하여 암호 해시를 생성할 수 있습니다.
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 또는 둘 다의 암호를 설정합니다.
예를 들어
echo 'VMware NSX Edge' 줄을 검색하고 다음 명령을 추가합니다.
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
참고: 오류가 반환되면(예: "중지: 알 수 없는 인스턴스: 시작: 작업 시작 실패")
sudo /etc/init.d/isc-dhcp-server stop을 실행한 다음
sudo /etc/init.d/isc-dhcp-server start를 실행합니다.
sudo /etc/init.d/isc-dhcp-server start 명령은 오류 원인에 대한 정보를 반환합니다.
다음에 수행할 작업
ISO 파일을 사용하여 베어메탈에 NSX Edge를 설치합니다. ISO 파일을 통해 자동으로 NSX Edge 설치의 내용을 참조하십시오.