首先,也是相对简单的事情是设置服务器。服务器必须准备好运行以下服务
/usr, /lib/modules, /opt
(至少在SuSE上是这样) 和 /home
(除非您有专用的文件服务器)。
/usr/local/linux-
|-/base-
| |-/bin
| |-/sbin
| |-/etc
|
|-/workstations-
| |
| |-195.251.160.100
| | |-/bin
| | |-/sbin
| | |-/etc
| |
| |-195.251.160.101
| |-195.251.160.102
| |-base(symbolic link to ../base)
/base
目录包含您想要导出到客户端的整个文件系统。每个IP目录包含在挂载 /usr
或 /lib/modules
目录之前所需的文件,例如 /etc
文件夹。这是一个方便的目录结构,用于两个目的:i) 您可以轻松地在基本目录中创建一个基本系统,并通过一个入门级的bash脚本轻松地将每个工作站的文件复制到工作站目录中 ii) 您可以通过修改 /workstations
下的目录轻松地添加、删除或更新工作站。用于复制适当文件的脚本(将在稍后讨论)可以在附录A中找到。
可以通过两种方式设置NFS服务器
/etc/exports
文件。/etc/dfs/dfstab
文件。/etc/exports
文件控制要导出的目录以及每个工作站的导出选项。它的结构如下 (Linux)
/path/to/dir1 ws1(options) ws2(options).... /path/to/dir2 ws3(options) ws1(options)....
选项包括 ro 或 rw, root_squash, wsize, tcp, version。
请查看 nfs
或 exports
的 man 手册以及NFS Howto,以获得关于这些选项含义的更详细描述。
/etc/dfs/dfstab:Solaris上的典型 dfstab 文件应如下所示
share -F nfs -o rw=193.250.160@,ro=193.250.161@ /export/home share -F nfs -o ro=193.250.160@,root=193.250.161.132 /export/engineering
当然,这些选项在 dfstab
的 man 手册中有详细讨论。
我们想要导出的目录是 /usr/local/linux/base/usr, /usr/local/linux/base/opt, /usr/local/linux/base/lib/modules
和 /home
,假设您已经遵循了建议的结构。
NFS优化
当然,这不关我们的事,但这里有一些通用原则
虽然“那里”有很多DHCP或BOOTP服务器,其中一些是专有的,但最好的选择是使用参考IETF DHCP服务器。它是最不易受攻击且最具可扩展性的DHCP服务器。主要的服务器配置是通过 /etc/dhcpd.conf
文件完成的。此文件分为两个部分,通用服务器配置和主机特定配置。典型的 dhcpd.conf
文件如下所示,如果DHCP/BOOTP服务器在BOOTP模式下使用
subnet 193.250.160.0 netmask 255.255.255.0 {
range 193.250.160.10 193.250.160.12;
}
host george{
hardware ethernet 00:60:08:2C:22:20;
fixed-address 193.250.160.10;
}
host earth{
hardware ethernet 00:A0:24:A5:FD:E0;
fixed-address 193.250.160.12;
}
这种结构很容易被所有人理解。对于每个无盘客户端,我们都必须为程序提供一个“host”声明,提供一对硬件地址和IP地址。“host”语句中提供的主机名可以是任何内容,但是有一种转换为使用具有特定IP的客户端的真实主机名的方法。子网声明中的range语句不一定必须是您希望客户端拥有的范围。实际上,如果这些客户端是普通的具有操作系统的的工作站,并且操作系统在其启动期间使用DHCP来获取IP地址,则不建议将相同的IP用于它们作为无盘客户端的操作。如果您有特定需求,请查看 dhcpd.conf
的 man 手册。
另一个困难是如何为大型网络获取IP - MAC地址对。解决方案是一个名为 arpwatch
的优秀小程序。该程序在后台运行,并将您的计算机已联系过的计算机的IP - MAC地址对记录在您指定的文件中。您唯一需要做的就是ping您想要的计算机。在附录B中,有一个脚本可以启动 arpwatch
,ping一系列连续的IP,并创建 dhcpd.conf
文件。如果您想手动执行此操作,请在您的网络使用高峰期启动 arpwatch
并等待一段时间。在共享介质网络(以太网,令牌环)上, arpwatch
将跟踪所有不同的IP地址和硬件地址。
要准备基础系统,只需将您喜欢的发行版安装到已安装类Unix操作系统的硬盘上的可挂载分区。安装您希望用户可用的所有程序。然后,您必须传输整个分区,同时保留链接以及字符或块设备。最好使用 tar
程序来完成。启动先前安装的系统并执行以下命令,假设您已将新分区挂载到 /mnt
tar cpvf system.tar /mnt/.
此命令将在当前目录中创建一个 tar 归档文件,其中包含要提供给无盘客户端的整个系统。然后只需使用CDROM或通过网络将 tar
归档文件复制到服务器,并在基本目录中解压缩它。执行此操作的命令是
tar xvf system.tar /usr/local/linux/base