PXE 부팅 서버를 사용하여 Ubuntu 가상 머신을 어떻게 설치합니까?
모든 구성 세부 정보와 구성 파일에서 변경해야 할 사항이 필요합니다.
답변
PXE (Preboot eXecution Environment, 발음 픽시)
어떻게 작동합니까?
이것은 나의 이해입니다!
- 클라이언트 시스템의 전원이 켜져 있습니다. BIOS가 장치를 검색합니다. 그런 다음 Boot Order / Sequence에 나열된 필수 장치에서 부트 로더를로드하려고 시도합니다 . 네트워크 카드 ROM에서 PXE를로드합니다.
-
PXE (클라이언트 측)는 IP 요청을 브로드 캐스트합니다. IP, Next Server IP (TFTP 서버 IP),
pxelinux.0
(PXE 부트 스트랩 로더 파일 이름) 등 의 필수 정보를 포함한 DHCP 서버 응답 -
PXE (클라이언트 측)
pxelinux.0
는 TFTP 서버에서 파일을 요청하고 파일을 RAM에로드 한 다음 제어를로 전달합니다pxelinux.0
.pxelinux.0
TFTP 서버에서 다음과 같은 이름으로 부팅 구성 파일을 가져옵니다
(없는 경우 다음으로 시도)- UUID
- 맥
- Capital Hex의 IP
- IP의 일부
default
파일로 삭제
-
사용자 선택 또는 기본 메뉴 항목.
pxelinux.0
TFTP 서버에서 해당 커널과 RAMDisk를 요청하여 RAM에로드합니다.그런 다음 부팅 매개 변수와 제어를로드 된 커널에 전달합니다.
-
커널은 기능 / 속성에 따라 TFTP 서버 또는 다른 프로토콜 서버에서 나머지 부분을로드합니다.
서버 설정
PXE 서버를 설정하는 방법은 여러 가지가 있는데,이 중 하나입니다.
이 지침은 실제 컴퓨터의 Ubuntu 9.10 및 Ubuntu 10.04 에서 테스트되었습니다 . 변경 사항이 적을 때만 유효합니다. (VirtualBox에서 Ubuntu 14.04에 대해 업데이트 및 테스트되었으며 이전 릴리스의 편집 개정을 확인하십시오)
내 목표는 PartedMagic 4.5 였으며 우분투 또는 Linux 배포판과 비슷해야합니다.
-
DHCP 및 TFTP 패키지 설치
sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
-
DHCP 설정
-
/etc/default/isc-dhcp-server
DHCP 서비스를위한 이더넷 인터페이스 편집INTERFACES="eth0"
-
DHCP 서비스 구성이 편집
/etc/dhcp/dhcpd.conf
되었거나/etc/ltsp/dhcpd.conf
존재합니다PXE 특정 구성 :
filename
&next-server
default-lease-time 600; max-lease-time 7200; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.50 192.168.10.100; option subnet-mask 255.255.255.0; option routers 192.168.10.123; option broadcast-address 192.168.10.255; filename "pxelinux.0"; next-server 192.168.10.123; }
-
고정 IP 설정
eth0
,192.168.10.123
데스크탑 에디션 또는 네트워크 관리자를 사용하여 내 경우에는/etc/network/interfaces
서버 에디션.auto eth0 iface eth0 inet static address 192.168.10.123 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255
네트워크 인터페이스를 다시 초기화하십시오.
sudo ifdown eth0 sudo ifup eth0
-
서비스를 다시 시작하십시오
sudo service isc-dhcp-server restart
상태를 확인하세요
netstat -lu
산출
Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:bootpc *:*
-
-
TFTP 설정
-
편집
/etc/inetd.conf
하고 줄#<off>#
의 시작 부분에서 제거tftp
하거나#:BOOT:
주석 이 없으면 추가하십시오 . (systemd, 15.10 이상으로 건너 뛰십시오)tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
-
부팅 서비스 활성화
inetd
sudo update-inetd --enable BOOT
-
서비스 시작
sudo service openbsd-inetd restart sudo service tftpd-hpa restart
상태를 확인하세요
netstat -lu
산출
Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:tftp *:*
-
-
PXE 부팅 파일 설정
-
압축을 풉니 다
pmagic-pxe-4.5.zip
. 경우pxelinux.0
가없는에서 그것을 얻을sysliux-common
설치 패키지/usr/lib/syslinux/pxelinux.0
, SYSLINUX 프로젝트 또는 우분투을 Netboot 이미지 .그것들을 비슷한 구조로 놓으십시오.
/var/lib/tftpboot/ |-- pxelinux.0 |-- pxelinux.cfg/ | `-- default `-- pmagic/ |-- bzimage `-- initramfs
-
/var/lib/tftpboot/pxelinux.cfg/default
예제 경로가 필요한 경우 편집 :pmagic/bzimage
&pmagic/initramfs
DEFAULT partmagic LABEL partmagic MENU LABEL PartMagic 4.5 KERNEL pmagic/bzimage APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
-
올바른 권한 설정
sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \; sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
-
클라이언트 설정
한 번에 변경 BIOS 부팅 순서를 사용 F9하거나 F12, BIOS 구성에서 영구 설치를 위해 DEL, F2또는 F12. (기계 브랜드에 따라 다름)
맨 위로 이동 : [PXE | NIC | LAN | Ethernet | Network]
.
노트
-
inetutils-inetd
또는xinetd
대신에 사용할 수 있지만openbsd-inetd
일부inetd
단계가 다릅니다. -
TFTP 루트 디렉토리는에서 변경 될 수 있습니다
/etc/default/tftpd-hpa
. 업데이트/etc/inetd.conf
도 잊지 마십시오 . -
SSH (SFTP), SMB, NFS … Ubuntu 지원 NFS와 같은 많은 프로토콜을 통해 RAMDisk 로딩을 지원하는 많은 배포판.
-
일부 오래된 네트워크 카드는 PXE를 지원하지 않습니다 . 플로피 디스크, USB 드라이브, 하드 디스크 ( 파티션) 또는 ROM에 플래시 (NIC 지원이 거의 없음 ) 에서 iPXE ( 예 : gPXE 또는 Etherboot )를 사용할 수 있습니다
/boot
. GRUB2에는 PXE를 사용한 부팅을 지원하는 모듈이 있습니다.Wikipedia : gPXE 및 ROM-O-matic 도 참조하십시오 .
-
cdimage.ubuntu.com/netboot/의 Ubuntu Netboot 이미지 네트워크에서 Ubuntu 설치를 제공하며 공식 미러 또는 로컬 패키지 (있는 경우)에서 필요한 모든 패키지를 다운로드하도록 요청합니다.
대부분의 사용자는 PXE를 통해 라이브 이미지를 부팅하려고합니다. 이 질문은 PXE 서버를 설정하기위한 것입니다. 참조 우분투 위키 : 설치 – localnet에
-
PXE 메뉴는 사용자 정의 할 수 있으며 Ubuntu NetBoot 에서 배울 수있는 최상의 템플릿 입니다. Pxeboot Multiple 이미지 참조
-
memdisk
PXE를 통해 ISO 또는 플로피 디스크 이미지를 직접로드하는 데 사용할 수 있습니다.syslinux-common
패키지에 사본이 있습니다. 클라이언트에는 이미지와로드 된 OS를 실행하기위한 부분을 담을 수있는 충분한 RAM이 있어야합니다.구성 예 :
/var/lib/tftpboot/ |-- FDSTD.144 |-- memdisk |-- pxelinux.0 |-- slitaz-cooking.iso |-- pxelinux.cfg | `-- default `-- pmagic/ |-- bzimage `-- initramfs
/pxelinux.cfg/default
DEFAULT partmagic LABEL partmagic MENU LABEL PartMagic 4.5 KERNEL pmagic/bzimage APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia LABEL slitaz MENU LABEL ^Slitaz.iso TEXT HELP Testing boot from iso. ENDTEXT KERNEL memdisk APPEND initrd=slitaz-cooking.iso LABEL freedos_std MENU LABEL ^FreeDOS STD TEXT HELP Testing boot from Floppy IMG. ENDTEXT KERNEL memdisk APPEND initrd=FDSTD.144
-
오리지널 개발자가 상용화하기로 결정한 후 PartedMagic 패키지는 공식 사이트에서 삭제되었으며 일부 릴리스는 토런트 네트워크를 통해 찾을 수 있습니다. 내 대답은 저에게 효과적 인 첫 번째 PXE 설정의 이력서입니다. Ubuntu Netboot Image 는 동일한 지침으로 작동해야합니다.