SDB:KIWI-LTSP 工作原理

跳转到:导航搜索

设置

kiwi-ltsp -c 配置基于主配置文件 /etc/sysconfig/kiwi-ltsp 启动 LTSP 客户端所需的的服务和文件。它执行的一些任务如下:

  • 它配置 dnsmasq 以向客户端分配 IP,提供 DNS 服务以及用于 PXE 启动的 TFTP。
  • 它配置在 /srv/tftpboot/KIWI 中提供给客户端的文件以及 /srv/tftpboot/pxelinux.cfg/default PXE 启动菜单。
  • 它添加 SSH 密钥以正确地从客户端识别服务器。
  • 它根据 /etc/sysconfig/kiwi-ltsp 中所做的选择设置 AOE/NBD/NFS root 所需的服务。
  • 设置防火墙、伪装和 IP 转发,以便客户端可以连接到互联网。

如果您正在创建自己的镜像而不是使用 Tumbleweed 仓库中的预构建 kiwi-image-ltsp 包,则使用 kiwi-ltsp -s 会创建 /srv/kiwi-ltsp-nfs-i386 chroot 镜像以及该 chroot 在 /srv/kiwi-ltsp/i386.img 中的 squashfs 镜像。然后通过 AOE/NBD 服务器提供 squashfs 镜像,并由客户端使用。

如果使用 nfsroot,则 /srv/kiwi-ltsp-nfs-i386 以只读方式导出,该镜像作为客户端上的 / (nfs root) 挂载,所有需要的读写权限都使用 kiwi 的分割镜像功能挂载。

有关更多信息,请参阅 kiwi-ltsp -h。

启动过程

KIWI-LTSP 支持从 PXE、Live CD 和 USB 客户端启动。

在 PXE 启动的情况下,客户端查找 DHCP 服务器,DHCP 服务器提供网络配置并将进一步的启动交给 TFTP 服务器。

然后,客户端获取“linux-ltsp” - 内核和“initrd-ltsp” - 初始 RAM 磁盘。内核和 initrd 的启动完成后,开始启动到 chroot 镜像。

启动后,客户端运行 /etc/init.d/ltsp-client.init

LTSP 初始化脚本

ltsp-client.init 负责启动 ldm(ltsp 显示管理器)并从 /etc/lts.conf 获取各种变量,它还启动挂载脚本,该脚本将本地设备挂载到服务器上的用户会话中。

客户端所需的各种服务,例如使用 PulseAudio 的声音、使用 cdpinger 和 ltspfsd 的本地设备以及使用 jetpipe 的打印,也由 ltsp-client.init 设置。

LTSP 显示管理器

LDM 支持通过 ssh 登录服务器。LDM 登录用户并通过 ssh 启动 Xsession,它还支持通过 ssh 和无加密的 Xsession(LDM_DIRECTX)进行身份验证。通过变量在 /srv/tftpboot/KIWI/lts.conf 中,我们可以控制许多瘦客户端参数。

这里有一张图片来展示这个过程

参见

Ubuntu wiki 上的 LTSP 理论