Ik heb op mijn fileserver een aantal services ingericht/geconfigureerd om een Ubuntu-installatie via het netwerk te kunnen booten.
Ik gebruik hiervoor PXELinux, versie 6.02, momenteel de meest recente versie. Met behulp van de diensten TFTP, DHCP, NFS en HTTP.
Soms gebeurt het dat na het ophalen van een ip-adres een "File not found" melding verschijnt. Dit gebeurt ongeveer 1 op de 5 keer. Het systeem start vervolgens gewoon vanaf de lokale schijf. Ik heb dit getest met twee laptops, beide hetzelfde probleem.
Via dhcp wordt doorgegeven welk bestand moet worden geladen, in mijn geval "pxelinux.0". Ik vermoed dat soms niet het juiste bestand wordt doorgegeven.
Ik kan niet vinden wat de oorzaak is en dat wil ik graag weten.
Server: Ubuntu 14.04.1 LTS. IP van de server is 192.168.1.3
DHCP-configuatie /etc/dhcp/dhcpd.conf
TFTP /etc/default/tftpd-hpa
NFS, /etc/exports
PXE pxelinux.cfg/default
Alle opties functioneren goed.
Ik vermoed dat het aan de dhcp-server ligt, maar ik kan mij niet bedenken wat anders moet. Het vervelende is dat dit probleem soms optreedt.
In plaats van pxelinux.0 ben ik lpxelinux.0 gaan gebruiken om de kernel en initrd via http te downloaden. Met de tweede optie uit het menu heb ik dat getest. Het werkt meestal, maart soms niet. Als het niet werkt krijg ik de melding dat het bestand niet is gevonden. In de manual van PXELinux heb ik gelezen dat je die melding krijgt als je via http probeert bestanden te openen terwijl dit niet wordt ondersteund (als je pxelinux gebruikt). Ik vermoed dan ook dat soms pxelinux.0 wordt gebruikt in plaats van lpxelinux.0. Ik heb pxelinux.0 verwijderd. Het probleem verdween: Soms wil het menu niet starten, het eerdere probleem. Maar omdat het probleem soms en onvoorspelbaar optreedt kan ik niet met zekerheid concluderen dat de optie via http soms niet functioneert doordat pxelinux.0 soms wordt gebruikt ipv. lpxelinux.0.
In de logs vind ik niets bijzonders terug.
Ik heb het bestand met leases al eens verwijderd, dat hielp niets.
Wat kan ik nog meer doen?
Ik gebruik hiervoor PXELinux, versie 6.02, momenteel de meest recente versie. Met behulp van de diensten TFTP, DHCP, NFS en HTTP.
Soms gebeurt het dat na het ophalen van een ip-adres een "File not found" melding verschijnt. Dit gebeurt ongeveer 1 op de 5 keer. Het systeem start vervolgens gewoon vanaf de lokale schijf. Ik heb dit getest met twee laptops, beide hetzelfde probleem.
Via dhcp wordt doorgegeven welk bestand moet worden geladen, in mijn geval "pxelinux.0". Ik vermoed dat soms niet het juiste bestand wordt doorgegeven.
Ik kan niet vinden wat de oorzaak is en dat wil ik graag weten.
Server: Ubuntu 14.04.1 LTS. IP van de server is 192.168.1.3
DHCP-configuatie /etc/dhcp/dhcpd.conf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| ddns-update-style none;
# option definitions common to all supported networks...
option domain-name "prive";
option domain-name-servers 194.109.6.66, 194.109.9.99;
default-lease-time 600;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.60 192.168.1.150;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
# pxe boot
filename "lpxelinux.0";
next-server 192.168.1.3;
} |
TFTP /etc/default/tftpd-hpa
code:
1
2
3
4
5
6
| # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/storage1/pxeboot/tftpboot" TFTP_ADDRESS="[::]:69" TFTP_OPTIONS="--secure" |
NFS, /etc/exports
code:
1
| /storage1/pxeboot/data 192.168.1.0/24(ro,async,no_root_squash,no_subtree_check) |
PXE pxelinux.cfg/default
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| default menu.c32 prompt 0 MENU TITLE PXE menu svdmeer.net MENU INCLUDE pxelinux.cfg/graphics.conf LABEL bootlocal MENU LABEL Opstarten vanaf lokale schijf LOCALBOOT 0 LABEL Memtest86+ MENU LABEL Memtest86+ 5.01 KERNEL memtest86+/memtest86+-5.01 MENU SEPARATOR LABEL - MENU LABEL Linux bootable cd's MENU DISABLE LABEL Ubuntu1 MENU LABEL Ubuntu 14.04.1 desktop (64-bit) - Installatie MENU INDENT 1 KERNEL ubuntu-14.04.1-desktop-amd64/vmlinuz.efi # APPEND boot=casper netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=ubuntu-14.04.1-desktop-amd64/initrd.lz APPEND boot=casper only-ubiquity netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=ubuntu-14.04.1-desktop-amd64/initrd.lz splash -- LABEL Ubuntu2 MENU LABEL Ubuntu 14.04.1 desktop (64-bit) - Live cd MENU INDENT 1 KERNEL http://192.168.1.3/ubuntu-14.04.1-desktop-amd64/casper/vmlinuz.efi # APPEND boot=casper netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=ubuntu-14.04.1-desktop-amd64/initrd.lz APPEND boot=casper netboot=nfs nfsroot=192.168.1.3:/storage1/pxeboot/data/ubuntu-14.04.1-desktop-amd64 initrd=http://192.168.1.3/ubuntu-14.04.1-desktop-amd64/casper/initrd.lz splash -- LABEL Ubuntu3 MENU LABEL Ubuntu 14.04.1 server (32-bit) KERNEL ubuntu-14.04.1-server-i386/linux APPEND vga=788 initrd=ubuntu-14.04.1-server-i386/initrd.gz -- quiet |
Alle opties functioneren goed.
Ik vermoed dat het aan de dhcp-server ligt, maar ik kan mij niet bedenken wat anders moet. Het vervelende is dat dit probleem soms optreedt.
In plaats van pxelinux.0 ben ik lpxelinux.0 gaan gebruiken om de kernel en initrd via http te downloaden. Met de tweede optie uit het menu heb ik dat getest. Het werkt meestal, maart soms niet. Als het niet werkt krijg ik de melding dat het bestand niet is gevonden. In de manual van PXELinux heb ik gelezen dat je die melding krijgt als je via http probeert bestanden te openen terwijl dit niet wordt ondersteund (als je pxelinux gebruikt). Ik vermoed dan ook dat soms pxelinux.0 wordt gebruikt in plaats van lpxelinux.0. Ik heb pxelinux.0 verwijderd. Het probleem verdween: Soms wil het menu niet starten, het eerdere probleem. Maar omdat het probleem soms en onvoorspelbaar optreedt kan ik niet met zekerheid concluderen dat de optie via http soms niet functioneert doordat pxelinux.0 soms wordt gebruikt ipv. lpxelinux.0.
In de logs vind ik niets bijzonders terug.
Ik heb het bestand met leases al eens verwijderd, dat hielp niets.
Wat kan ik nog meer doen?