Cobbler를 사용하여 SLES 11 SP3을 설치하려고 하는데 NBP 파일을 다운로드한 후 실패했습니다. 화면에 나타나는 오류는 "TFTP 이미지를 가져올 수 없습니다"입니다.
SLES 11 SP2와 유사한 설정이 있으며 제대로 작동합니다. 이 설정과의 차이점은 IBM x3500 M5 서버에 SLES 11 SP3을 설치한다는 것입니다. 이를 위해서는 OS 자체를 설치하기 전에 부팅 가능한 드라이버 키트(BDK)를 설치해야 합니다.
내 설정은 다음과 같습니다.
/var/lib/tftpboot> tree uefisp3
uefisp3
├── biostest
├── bootx64.efi
├── elilo.conf
├── initrd
├── linux
├── memtest
├── message
└── pxelinux.0
initrd 및 linux는 SLES DVD가 아니라 BDK 이미지에서 가져온 것입니다.
에서 인용https://drivers.suse.com/doc/Usage/Driver_Kits.html: 드라이버 키트 iso 이미지의 커널 및 initrd 이미지를 tftp 부팅 서버의 적절한 위치에 복사합니다. initrd 및 커널 이미지는 /boot/x86_64/loader 디렉토리에 있습니다.
파일 이름을 uefisp3/bootx64.efi, pxelinux.0 및 uefisp3/pxelinux.0으로 지정하여 /etc/cobbler/dhcp.template을 변경하려고 시도했지만 그 중 아무 것도 작동하지 않습니다.
내 코블러 배포판 보고서:
Name : sles11sp3
Architecture : x86_64
Breed : suse
Comment :
Initrd : /driverkit/boot/x86_64/loader/initrd
Kernel : /driverkit/boot/x86_64/loader/linux
Kernel Options : {'install': 'http://192.168.0.10/sles/sles11sp3', 'addon': 'http://192.168.0.10/sles/driverkit'}
Kernel Options (Post Install) : {}
Kickstart Metadata : {}
Management Classes : []
OS Version : sles10
Owners : ['admin']
Red Hat Management Key : <<inherit>>
Red Hat Management Server : <<inherit>>
Template Files : {}
내 elilo.conf(솔직히 이 파일이 필요한지 확실하지 않지만 SLES 11 SP2에서 수행한 방법은 다음과 같습니다):
/var/lib/tftpboot> cat uefisp3/elilo.conf
prompt
timeout=100
default=linux
image=linux
label=linux
description = "Installation"
initrd=initrd
append="/images/sles11sp3/initrd textmode=1 install=http://192.168.0.10/sles/sles11sp3 autoyast=http://192.168.0.10/cblr/svc/op/ks/profile/raid1drbd_sp3i addon=http://192.168.0.10/sles/driverkit"
pxelinux.cfg/default 파일에서 발췌:
LABEL raid1drbd_sp3
kernel /images/sles11sp3/linux
MENU LABEL raid1drbd_sp3
append initrd=/images/sles11sp3/initrd textmode=1 install=http://192.168.0.10/sles/sles11sp3 addon=http://192.168.0.10/sles/driverkit autoyast=http://192.168.0.10/cblr/svc/op/ks/profile/raid1drbd_sp3
ipappend 2
TFTP 서버에서 수동으로 일부 파일을 가져오려고 시도했기 때문에 TFTP 서버가 작동합니다. /var/log/messages에 "tftp: client does not accept options" 오류가 있습니다. 제가 읽은 내용에 따르면 현재 직면하고 있는 문제와 관련이 없을 가능성이 높습니다.
드라이버 키트와 함께 SLES 11 SP3을 성공적으로 설치한 사람이 있습니까?
업데이트:
PXE 부팅 시도 중에 다음을 캡처했습니다.
SLES 11 SP3에서 PXE 부팅
2015-05-21 16:30:52.830169 IP 192.168.0.50.fj-hdnet > spacewalk.tftp: 49 RRQ "uefisp3/bootx64.efi" octet tsize 0 blksize 1468
2015-05-21 16:30:52.839093 IP 192.168.0.50.h323gatedisc > spacewalk.tftp: 41 RRQ "uefisp3/bootx64.efi" octet blksize 1468
2015-05-21 16:30:53.360209 IP 192.168.0.50.h323gatestat > spacewalk.tftp: 41 RRQ "uefisp3/bootx64.efi" octet blksize 1468
2015-05-21 16:30:53.872046 IP 192.168.0.50.h323hostcall > spacewalk.tftp: 30 RRQ "/grub.efi" octet blksize 512
2015-05-21 16:30:53.875762 IP 192.168.0.50.caicci > spacewalk.tftp: 30 RRQ "/grub.efi" octet blksize 512
시간이 부족해서 내일 추가 테스트를 해볼 예정입니다. 아이디어 주셔서 감사합니다. 멋진!
두 번째 업데이트:
현재 PXE는 자동 설치와 마찬가지로 작동합니다. 그러나 elilo.conf 오류로 인해 서버를 부팅할 수 없습니다. 설치하는 동안 현장에 없었기 때문에 무엇이 잘못되었는지 잘 모르겠습니다. 다른 설치 라운드를 수행할 기회가 없었습니다.
감사해요.
답변1
답변이 늦어서 죄송합니다. 이렇게 작동하게 되었습니다.
1 - SLES 11 SP3을 /sles11sp3에 마운트
2 - 부팅 가능한 드라이버 키트를 /bdk에 마운트합니다.
3 - grub.efi 파일을 /var/lib/tftpboot/ 디렉터리에 복사합니다.
# cp /bdk/EFI/BOOT/grub.efi /var/lib/tftpboot/
4 - bootx64.efi, 커널, initrd, grub.cfg를 /var/lib/tftpboot/uefisp3/ 디렉터리에 복사합니다.
# cp /bdk/EFI/BOOT/bootx6.efi /var/lib/tftpboot/uefisp3/
# cp /bdk/boot/x86_64/loader/linux /var/lib/tftpboot/uefisp3/
# cp /bdk/boot/x86_64/loader/initrd /var/lib/tftpboot/uefisp3/
# cp /sles11sp3/EFI/BOOT/grub.cfg /var/lib/tftpboot/uefisp3/
initrd 파일을 제외한 모든 파일은 SLES DVD 또는 드라이버 키트에서 복사할 수 있습니다. initrd 파일은 드라이버 키트에서 복사해야 합니다.
5 - grub.cfg 파일을 수정합니다. 나에게 중요한 유일한 메뉴 항목은 설치이므로 나머지 메뉴 항목은 제거했습니다.
menuentry 'Auto Installation' {
set gfxpayload=keep
echo 'Loading kernel ...'
linuxefi /images/sles11sp3/linux splash=silent textmode=1 showopts install=http://192.168.0.10/sles/sles11sp3 autoyast=http://192.168.0.10/sles/autoyast/sles11sp3towerbdk.ks
echo 'Loading initial ramdisk ...'
initrdefi /images/sles11sp3/initrd
}
6 - autoyast 파일 내부에 다음을 추가합니다.
<add-on>
<add_on_products config:type="list">
<listentry>
<media_url><![CDATA[http://192.168.0.10:80/sles/bdk]]></media_url>
<product>driver-kit</product>
<product_dir>/</product_dir>
</listentry>
</add_on_products>
</add-on>
7 - dhcpd.conf 파일에 uefisp3 그룹을 추가합니다.
group {
filename "uefisp3/bootx64.efi";
next-server 192.168.0.10;
host test { hardware ethernet 40:F2:H9:A6:49:C7; fixed-address 192.168.0.50; option host-name test; }
}
8 - dhcp 및 tftp 서비스를 다시 시작합니다.
@Pat 일부 결과를 이끌어낸 tcpdump 아이디어에 감사드립니다.