How does MAAS pick which volume to boot from?

Daniel K sathackr at gmail.com
Wed Dec 6 03:38:57 UTC 2017


So attacking this from the angle I'm most familiar with I've captured the
traffic between the maas server and a booting node to see if I can catch
the data in flight.

PXE first downloads a file called pxelinux.0 - I see this file in
/var/lib/maas/boot-resources.
Then requests(and receives) a file called ldlinux.c32.

Then requests a non existent file: pxelinux.cfg/<some sort of uuid/guid?>
> # Packet 344 from C:\Users\user\asdf.pcap
> - 345
> - 166.825599
> - 10.20.128.111
> - 10.20.4.30
> - TFTP
> - 121
> - Read Request, File: pxelinux.cfg/36383031-3839-3255-5831-353130303732,
Transfer type: octet, tsize=0, blksize=1408
> - # Packet 345 from C:\Users\user\asdf.pcap
> - 346
> - 166.836864
> - 10.20.4.30
> - 10.20.128.111
> - TFTP
> - 61
> - Error Code, Code: File not found, Message: File not found

Then requests and receives a file called pxelinux.cfg/01-<mac address>
> # Packet 346 from C:\Users\user\asdf.pcap
> - 347
> - 166.837008
> - 10.20.128.111
> - 10.20.4.30
> - TFTP
> - 105
> - Read Request, File: pxelinux.cfg/01-e8-39-35-2b-c9-5c, Transfer type:
octet, tsize=0, blksize=1408

which contains the following printable text:
> 95+\W1ExL@@T
> oad*DEFAULT local
> LABEL local
>   SAY Booting local disk ...
>   KERNEL chain.c32
>   APPEND hd0

which I can correlate to log entries:
> 2017-12-05 22:17:49 provisioningserver.rackdservices.tftp: [info]
ldlinux.c32 requested by e8:39:35:2b:c9:5c
> 2017-12-05 22:17:49 provisioningserver.rackdservices.tftp: [info]
pxelinux.cfg/36383031-3839-3255-5831-353130303732 requested by
e8:39:35:2b:c9:5c
> 2017-12-05 22:17:49 provisioningserver.rackdservices.tftp: [info]
pxelinux.cfg/01-e8-39-35-2b-c9-5c requested by e8:39:35:2b:c9:5c

I assume the "APPEND hd0" is what is telling the pxelinux loader which disk
to boot.
I searched but I cannot find a directory called pxelinux.cfg anywhere on
the maas servers, nor a file with any part of the mac address in it's name.
I'll assume then that some piece of maas is responding to that request
after fetching the config from some sort of database for that MAC
address/node.

So then there must be a knob somewhere in MAAS that I can tweak to cause a
different disk to be sent in the APPEND hd0 command.







On Tue, Dec 5, 2017 at 5:24 PM, Lloyd Parkes <
lloyd+lp at must-have-coffee.gen.nz> wrote:

> I originally sent this from the wrong email address and so it got hung
> up on list moderation.
>
>
> On 5 December 2017 at 10:45, Daniel K <sathackr at gmail.com> wrote:
> >
> > There must be something that tells the PXE loader which physical disk to
> try
> > to boot
>
> This is almost certainly hard coded in the PXELinux boot script to
> default to BIOS disk 0x80. Have a look at
> http://www.syslinux.org/wiki/index.php?title=SYSLINUX#LOCALBOOT_type
> and see if it helps.
>
> I would dig into this myself because I want to make my HPE servers
> boot as well, but I'm 3265km and two months away from my MAAS servers.
>
> Cheers,
> Lloyd
>
> --
> Maas-devel mailing list
> Maas-devel at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/
> mailman/listinfo/maas-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/maas-devel/attachments/20171205/33e039f3/attachment.html>


More information about the Maas-devel mailing list