下一页 上一页 目录
NFS 挂载的根文件系统通常在两种情况下最有用
- 系统管理员可能希望聚合多个工作站的存储,以便简化维护、提高安全性和可靠性,和/或更经济地利用有限的存储容量。在这种情况下,一台大型服务器可以托管十几个或更多工作站;所有系统都可以从中央位置定期备份,并且单个客户端不易受到不熟练用户的损坏或具有物理访问权限的恶意方的攻击。(当然,如果服务器本身受到损害,那么所有客户端也会受到损害。)
- 嵌入式系统可能没有磁盘、IDE 接口,甚至 PCI 总线。即使有,在开发过程中,使用磁盘可能太不稳定,ramdisk 可能太小而无法包含所有必要的实用程序,或者太大(作为内核映像的一部分)而无法在测试和开发期间实现快速周转。NFS 根目录允许快速内核下载,有助于确保文件系统完整性(因为服务器基本上不受客户端崩溃的影响),并提供几乎无限的存储。
(在本文档中,我们将交替使用术语客户端和工作站。)
但是,从客户端的角度来看,有两个小问题
- 它必须找出自己的 IP 地址,也可能还需要找出以太网配置的其余部分(网关、子网掩码、名称服务器等)。
- 它必须知道或发现 NFS 服务器的 IP 地址以及导出根文件系统的挂载路径(在服务器上)。
Linux 内核(截至 2.4.x)中 NFSROOT 的当前实现允许几种方法,包括
- 完整的以太网配置,包括要挂载的 NFS 路径,可以通过参数传递给内核,参数可以通过 LILO、LOADLIN 或
linux/arch/i386/kernel/setup.c
(或其他架构的等效文件)中的硬编码字符串传递。
- IP 地址可以通过 RARP 发现,NFS 路径可以通过内核参数传递。
- IP 地址可以通过 RARP 发现,NFS 路径可以从 RARP 服务器和刚刚授予的 IP 地址派生而来(粗略地说,``
mount -t nfs <RARP-server>:/tftpboot/<IP-address-of-client>/dev/nfs
'')。
- 客户端配置可以通过 BOOTP 发现。
- 客户端配置可以通过 DHCP 发现。
由于如今最常见的动态地址协议是 DHCP,因此在内核 2.2.19 和 2.4.x (3 < x <= 14) 中添加 DHCP 选项尤其受欢迎。
在开始设置无盘环境之前,您应该决定是通过 LILO、LOADLIN 还是自定义的嵌入式引导加载程序启动。使用 LILO 等工具的优势在于灵活性;劣势在于速度——不使用 LILO 启动 Linux 内核会更快。这可能是一个考虑因素,也可能不是。
下一页 上一页 目录