kig*_*rai 6 opensuse hard-disk pxe ltsp
由于各种原因,我需要设置一台服务器和两台无盘工作站。
工作站将成为“胖客户端”,这意味着我希望它们能够使用自己的 CPU、内存等来处理所有事情。理想情况下,工作站用户根本不必注意到他们在无盘运行(显然,PXE 引导除外……)。
工作站应该运行 OpenSuse(一些版本介于 11.2 和 11.4 之间,包括 11.2 和 11.4),因为这是我们使用的。他们不一定要运行普通的 openSuse 安装,但要尽可能接近。
一般的想法是 PXE 引导工作站,然后让它们通过 NFS 在服务器上挂载他们的(根)文件系统。
我尝试简单地将现有的 OpenSuse 11.4 安装复制到一个目录,然后我通过 NFS 导出该目录。然后通过 PXE/TFTP 暴露内核和 initrd。问题是安装中的 initrd 是针对安装它的机器量身定制的,因此按原样使用它是行不通的。
我曾尝试使用 LTSP(用于 OpenSuse 的 KIWI-LTSP),但成功非常有限。
所以,现在我的实际问题:
1) 除了手动修改 initrd 以与无盘工作站一起工作之外,还有什么可以帮助我的吗?
2)我的一个想法是对两个工作站使用相同的根(“/”),然后将 /var 和 /tmp 之类的内容安装为 tmpfs。这里有什么陷阱要避免吗?
3)有关如何完成此设置的任何其他想法?非常欢迎所有的想法!
我无法给你关于 opensuse 的具体答案,但大多数发行版应该有类似的过程。
以 Debian 方式(无需深入细节)
Initrd 映像是使用update-initramfs
(来自 initramfs-tools 包)构建的。
/etc/initramfs-tools/modules
如果某些系统需要某些模块来使用其网卡,则必须在运行之前指定它们update-initrams
。root=/dev/nfs nfsroot=x.x.x.x:/exportedfs dhcp
在 pxe 配置的 APPEND 行中添加。在服务器端,导出的目录应该是一个工作的监狱环境,这将使升级或安装软件或更改配置变得非常容易。在客户端,/tmp
可以简单地是一个tmpfs。因为/var
有几个选择。
/var/run
。/var/log
/var/tmp
/var
. 这样,系统将能够写入或更改其下的任何文件/var
,但它不会持久。您可能还需要 aufs /etc/
,您需要一个在启动过程早期运行的脚本,并为每个客户端设置一些内容,例如根据 ip 获取主机名并重新/etc/hosts
创建/etc/hostname
.
/home
文件夹也应该是 nfs 导出并挂载 rw。NIS 或 LDAP 或 AD 或类似的东西来管理用户帐户(和/或配置文件),将帮助您保持一点混乱。
我应该注意的是,我从未在 nfs 上做过 aufs,过去我在网络共享上使用 unionfs 时遇到了一些问题。上面的一些内容是理论上的,那是很久以前的事了,当时我有一些自己的无盘系统。