Re: Deprecating NBD in favor of squashfs-over-NFS
Alkis Georgopoulos <[email protected]> Sat, 14 Sep 2019 10:57:34 +0300
| Newsgroups | gmane.linux.terminal-server.general |
|---|---|
| Message-ID | <[email protected]> |
The new LTSP is using squashfs-over-NFS by default.
We discovered an issue that can severely hurt NFS performance in some
setups, causing lags of up to many seconds.
This issue can also affect those using LTSP5 with squashfs-over-NFS,
AND those using LTSP5 with plain old chroot-over-NFS.
More details and the issue resolution in:
https://github.com/ltsp/ltsp/issues/27
LTSP5 users must manually backport the fix.
Note that there are other issues that are resolved in the new LTSP,
and that aren't backported in LTSP5;
keep an eye in the new LTSP issue tracker.
Cheers,
Alkis
On 5/17/19 10:52 AM, Alkis Georgopoulos wrote:
> NBD is used for the LTSP client root file system, /.
> SSHFS is used for /home and is unrelated to this discussion.
>
> NBD has some issues; instability; no reconnections; can't survive server
> reboots; difficult configuration; etc.
>
> In the past, NBD replaced NFS in LTSP because the squashfs image has
> less metadata and is compressed, so it's a lot faster than an
> uncompressed directory.
>
> The best of both worlds is to export the squashfs image over NFS.
> So, the server will export /opt/ltsp/images via NFS,
> and the clients will connect to /opt/ltsp/images/amd64.img,
> and "loop-mount" it as their root file system.
> To be clear: you'll still need to run `ltsp-update-image` like before.
>
> LTSP5 already supports this; we just haven't tried it in production a
> lot. For the new LTSP, we'll probably default to that and stop using NBD
> completely, unless you report issues.
>
> So, if anyone wants to switch NBD to NFS now, aiming for better
> performance and stability, he'd need to do these:
>
> sudo apt install --yes nfs-kernel-server
> sudo ltsp-config nfs
> sudo gedit /var/lib/tftpboot/ltsp/amd64/pxelinux.cfg/default
>
> and in that file, replace lines 13-14 from something like this:
> kernel vmlinuz-4.15.0-45-generic
> append ro initrd=initrd.img-4.15.0-45-generic init=/sbin/init-ltsp
> forcepae root=/dev/nbd0
>
> to something like this:
> kernel vmlinuz-generic
> append ro initrd=initrd.img-generic init=/sbin/init-ltsp forcepae
> root=/dev/nfs nfsroot=/opt/ltsp/images ltsploop=amd64.img
>
> The change will be overwritten the next time you run ltsp-update-image;
> so if you're happy with the change and you want to make it stick,
> the "default" file there is a symlink to "ltsp";
> remove the default symlink and run `cp ltsp default`.
>
> (longer explanation: ltsp-update-kernels creates symlinks for the latest
> kernel, so "vmlinuz-generic" is a symlink to the latest kernel,
> and it only updates the pxelinux.cfg/ltsp file, not the "default",
> so this allows us to maintain pxelinux.cfg/default manually without LTSP
> overwriting it)
>
> Btw, status update for the next LTSP: it's being developed in a rapid
> pace and will see its first release in September, so it will be called
> ltsp 19.09.
>
> Cheers,
> Alkis
_____________________________________________________________________
Ltsp-discuss mailing list. To un-subscribe, or change prefs, goto:
https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
For additional LTSP help, try #ltsp channel on irc.freenode.net