下一页 上一页 目录

2. 服务器设置

首先,也是相对简单的事情是设置服务器。服务器必须准备好运行以下服务

此外,管理员必须为每个客户端创建目录,其中包含必要的启动文件和程序。为所描述的安装创建的目录方案如下所示


/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中找到。

2.1 设置NFS服务器

可以通过两种方式设置NFS服务器

/etc/exports: /etc/exports 文件控制要导出的目录以及每个工作站的导出选项。它的结构如下 (Linux)


/path/to/dir1   ws1(options) ws2(options)....
/path/to/dir2   ws3(options) ws1(options)....

选项包括 ro 或 rw, root_squash, wsize, tcp, version。

请查看 nfsexports 的 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优化

当然,这不关我们的事,但这里有一些通用原则

2.2 设置DHCP/BOOTP服务器

虽然“那里”有很多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地址和硬件地址。

2.3 准备基础系统

要准备基础系统,只需将您喜欢的发行版安装到已安装类Unix操作系统的硬盘上的可挂载分区。安装您希望用户可用的所有程序。然后,您必须传输整个分区,同时保留链接以及字符或块设备。最好使用 tar 程序来完成。启动先前安装的系统并执行以下命令,假设您已将新分区挂载到 /mnt

 tar cpvf system.tar /mnt/.

此命令将在当前目录中创建一个 tar 归档文件,其中包含要提供给无盘客户端的整个系统。然后只需使用CDROM或通过网络将 tar 归档文件复制到服务器,并在基本目录中解压缩它。执行此操作的命令是

 tar xvf system.tar /usr/local/linux/base

下一页 上一页 目录