Discussion:
[Ltsp-discuss] 64 bit server 32 bit thin clients proxy dhcp
richard kweskin
2017-06-21 11:12:34 UTC
Permalink
Thanks.
I hadn't told you the DHCP server I run is unmodifiable: it runs on
commodity router hardware.
I guess I am looking to do something like
https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP
But I am using 16.04.02, so this guide is out of date for me. Does
anyone have a step by step guide for setting up LTSP with Proxy DHCP
and 32 bit clients served from a 64 bit server, starting from
scratch?
I would probably have to re-install.
Best regards,
Andrew
Hello Andrew,
Just configure your dhcpd.conf accordingly. Here’s is how I’m using
LTSP with a separate DHCP server. There’s no need to proxy anything or
# Netbooting
# Definition of PXE-specific options
# Code 1: Multicast IP address of boot file server
# Code 2: UDP port that client should monitor for MTFTP responses
# Code 3: UDP port that MTFTP servers are using to listen for MTFTP
requests
# Code 4: Number of seconds a client must listen for activity before
trying
# to start a new MTFTP transfer
# Code 5: Number of seconds a client must listen before trying to
restart
# a MTFTP transfer
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) =
"PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a
PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot
ROM
# that we can't provide multicast TFTP (address 0.0.0.0 means no
# address).
option PXE.mtftp-ip 0.0.0.0;
# This is the name of the file the boot ROMs should download.
filename "pxelinux.0";
# This is the name of the server they should get it from.
# Try to get this from mirror.cc.if.ufrj.br.
next-server 146.164.36.17;
}
group lig {
option routers 172.26.66.30;
option root-path "/opt/ltsp/amd64";
if substring (option vendor-class-identifier, 0, 9) =
"PXEClient" {
filename "/ltsp/amd64/pxelinux.0";
} else {
filename "/ltsp/amd64/nbi.img";
}
next-server 146.164.29.20;
host lig-01 { hardware ethernet e8:39:35:16:58:53; }
host lig-02 { hardware ethernet 2c:76:8a:bb:c6:82; }
host lig-03 { hardware ethernet 2c:76:8a:bb:b8:b7; }
host lig-04 { hardware ethernet 2c:76:8a:bb:cd:3b; }
host lig-05 { hardware ethernet 2c:76:8a:bb:b3:07; }
host lig-06 { hardware ethernet 2c:76:8a:bb:c3:5b; }
host lig-07 { hardware ethernet 2c:76:8a:bb:c5:99; }
host lig-08 { hardware ethernet 2c:76:8a:bb:db:36; }
host lig-09 { hardware ethernet 2c:76:8a:bb:b0:54; }
host lig-10 { hardware ethernet 2c:76:8a:bb:5d:de; }
host lig-11 { hardware ethernet 2c:76:8a:bb:b8:76; }
host lig-12 { hardware ethernet 2c:76:8a:bb:b8:6e; }
host lig-13 { hardware ethernet 2c:76:8a:bb:e3:4a; }
host lig-14 { hardware ethernet 2c:76:8a:bb:c5:4b; }
host lig-15 { hardware ethernet e4:11:5b:a6:7d:52; }
host lig-16 { hardware ethernet 2c:76:8a:bb:b3:8a; }
host lig-17 { hardware ethernet 2c:76:8a:bb:c5:e4; }
host lig-18 { hardware ethernet 2c:76:8a:bb:b8:8e; }
host temp-switch { hardware ethernet 40:01:c6:3f:40:73; }
}
DHCP would match your clients and send them the appropriate LTSP
booting options defined in the LTSP group. The next-server is your
LTSP server box, adapt the Mac Addresses to your devices and you’re
good to go. With this setup you can even get some control of who will
be getting an image from the LTSP server and those who don’t need.
V.
On 18 Jun 2017, at 16:53, Andrew Scott via Ltsp-discuss
Hello,
Just subscribed and this is my first email. I am indebted already
to the help and advice of alkisg on #ltsp on freenode.
I'm in a bit of a hole, and am wondering how to get out of it.
I've followed https://help.ubuntu.com/community/UbuntuLTSP/ltsp-pnp
and https://wiki.debian.org/LTSP/Howto and now run a 32 bit server
Ubuntu 16.04.02 install and 32 bit clients (Dell FX170 client
hardware), with a single NIC static IP and a DHCP running on my
router. I only require thin clients (fat clients run far too slowly
on this hardware).
The clients run great with a Mate desktop, *but* I am left with a
major issue on my server / workstation, which is actually the "main
computer".
The issue is described here
https://ubuntuforums.org/showthread.php?t=2363087
and a related bug report here
https://bugs.launchpad.net/ubuntu/+source/linux-hwe/+bug/1698118?comments=all
The whole set up is usable, but some types of actions are a lot
more difficult than they need to be, and I need to keep clearing the
caches. And I would dread trying to rebuild the client images. This
is not a sustainable set up in the long term.
1. Is it possible to run a 64 bit server and 32 bit clients using
LTSP, with the DHCP server on my router?
2. If so, is there an up to date step by step guide to achieve
this? I am aware of
https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP but it is
seriously out of date.
3. (related) Anyone any pointers to using the installer DVD to
install over only /dev/sda1 and not touch /home on /dev/sda5? I tried
this once on another machine and had to reinstall grub because I'd
misunderstood the whole process, and don't know why.
Thanks for considering this question! :)
Andrew
Andrew

Yes, you can install a 64 bit system and a 32 bit chroot for the
clients.

See if this documentation helps. Never mind that it refers to Debian.
You can do the same with Ubuntu.

https://wiki.debian.org/LTSP/Howto

Also, advice I pass on from Alki Georgopoulos, who knows so much more
about these things, is install the server's system on the big TB disk
and only use the ssd disk for home. The reason is that the clients, once
logged in, only use a cached version of the system while their writes
and reads are to /home.

Richard
Alkis Georgopoulos
2017-06-22 05:15:46 UTC
Permalink
Hi Richard,
Thanks, but I've already used the second part of that document i.e.
LTSP-PNP. It installs a good system and if both references for Ubuntu
1. I am left with a very serious issue with IO Perf that affects many
day to day and admin tasks
2. A 32 bit install doesn't use the full capabilities of 64 bit on my
workstation / server, which is in use most of the time.
Per my OP, I am looking for an up to date guide for Proxy DHCP LTSP on
Ubuntu 16.04 [Debian would do just as well].
Hi Andrew,

I wrote the ProxyDHCP wiki page (and pushed the ProxyDHCP implementation
in dnsmasq and in LTSP), but then there was no need to update it anymore
primarily because we included support for that in upstream LTSP.

So now the ltsp-pnp wiki page is the "newer version of the ProxyDHCP
page". It includes the steps on how to configure LTSP with dnsmasq
instead of isc-dhcp-server, how to run `ltsp-config dnsmasq` etc.

So what you want to do is:
1) Reinstall using 64bit
2) Copy your existing i386 image, or use ltsp-build-client --arch i386
to create one
3) Google for pxelinux ifcpu64 which is the appropriate method for the
clients to automatically select between 32bit and 64bit images.
We have some support for that in LTSP, but documentation is lacking.

Sorry, time to go through a detailed how-to on ifcpu64 usage, I only had
enough time to point you to the correct direction.

Cheers,
Alkis

Loading...