PXE 부팅에 1GB 운영 체제 이미지 크기 제한이 있습니까?

PXE 부팅에 1GB 운영 체제 이미지 크기 제한이 있습니까?

내 경험상 OS 이미지가 너무 크면 PXE 부팅이 실패합니다.

어느 크기가 한계인지 잘 모르겠습니다.

인용하다: https://www.syslinux.org/archives/2002-March/000249.html

iPXE는 이미지 크기 제한을 해결합니까?

답변1

당신이 링크한 메시지는 20여년 전에 쓰여진 것이며, 리눅스 메모리 공간의 "커널" 부분에 대한 설명은 다음을 가리킨다.32비트x86 커널. 64비트 하드웨어를 사용하는 경우 이는 문제가 되지 않습니다. 특히 레거시 BIOS 모드가 아닌 UEFI 모드에서 PXE 부팅을 하는 경우에는 더욱 그렇습니다.

저는 수년 동안 직장에서 대용량 이미지가 포함된 PXE를 사용하려고 노력해 왔지만, 이미지를 로드하는 데 사용되는 프로토콜에 따라 달라질 수 있다고 생각합니다. 특정 TFTP 구현(서버나 클라이언트에 결함이 있는지 기억할 수 없음, 죄송합니다)에서 매우 큰 파일을 전송하는 데 문제가 있을 수 있다는 사실을 발견한 것을 기억하는 것 같습니다. 이것이 문제인 경우 iPXE는 대신 HTTP를 사용할 수 있으며 최신 HTTP 서버는 대용량 파일을 보내는 데 확실히 문제가 없습니다.

HTTP를 사용하지 않더라도 iPXE의 TFTP 구현은 기본 PXE 부팅 펌웨어의 구현보다 나을 수 있습니다.

일부 펌웨어 TFTP 구현을 사용하면 대용량 이미지를 전송하는 것이 매우 느리다는 사실을 기억합니다. iPXE 및 HTTP로 전환하면 네트워크 부팅에서 대용량 이미지가 사용됩니다.많은서둘러요.

TFTP 제한 사항을 나열하는 소스를 찾았습니다.https://www.compuphase.com/tftp.htm

RFC 1350에 의해 정의된 기본 TFTP 프로토콜은 기본 패킷 크기가 512바이트이고 패킷 카운터가 16비트이므로 카운터 롤오버가 올바르게 구현되지 않으면 약 32MB 크기에서 문제가 발생합니다.

RFC 2348 및 2349에 정의된 확장은 일반적으로 패킷당 1468바이트로 계산되는 최대 UDP 패킷 크기 제한까지 더 큰 패킷 크기 협상을 허용하므로 패킷 카운터가 약 91MB로 롤오버됩니다.

이 두 가지는 TFTP 프로토콜로 인해 발생할 수 있는 "예상" 가능한 크기 제한입니다.

관련 정보