网络文件系统(NFS)是一种通过网络共享文件的机制,通过NFS,远程的文件可以像本地文件一样访问。网络文件系统是一种服务器与客户端结构,客户端通过mount方式加载网络文件系统。
首先应该在Linux主机上安装NFS服务器:
sudo apt-get install nfs-kernel-server
建立NFS服务目录/root/fgj/nfs/rootfs,将根文件系统的文件全部复制到该目录。打开
/etc/exports,配置如下:
/root/fgj/nfs*(rw,sync,no_root_squash,no_subtree_check)
重新启动NFS服务,让目录生效:
sudo/etc/init.d/rpcbind restart
sudo/etc/init.d/nfs-kernel-server restart
一般安装完NFS server配置后,下次重启主机会自动启动NFS服务。另外使用NFS时最好关闭主机的防火墙。
例11.4 建立NFS根文件系统
(1)确保内核包含网络设备驱动程序。
(2)配置内核支持NFS文件系统和NFS块设备、NFS根文件系统。在【File systems】->【Network File Systems】中设置如图11-4所示:
图11-4配置内核支持NFS
图11-5配置内核支持NFS块设备
(3)修改内核启动参数:
setenv bootargs"root=/dev/nfs nfsroot=192.168.10.102:/root/fgj/nfs/rootfs ip=192.168.10.103:192.168.10.102:192.168.10.1:255.255.255.0:www:eth0:off console=ttySAC0,115200"
其中root=/dev/nfs,并非真的设备,而是告诉内核通过网络取得根文件系统。参数nfsroot告诉内核以哪一台计算机,哪个目录以及哪个网络文件系统选项作为根文件系统使用。参数的格式如下:
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
如果指令列上没有给定nfsroot参数,则将使用/tftpboot/%s预设值。其他选项如下:
<server-ip>--指定网络文件系统服务端的互联网地址(IP address)。如果没有给定此字段,则使用由nfsaddrs变量所决定的值。此参数的用途之一是允许使用不同计算机作为反向地址解析协议(RARP)及网络文件系统服务端,通常可以设为空白。
<root-dir>--服务端上要作为根挂入的目录名称。如果字串中有个%s标识符(token),此符记将代换为客户端互联网地址之ASCII表示法。
<nfs-options>--标准的网络文件系统选项。所有选项都以逗号分开。如果没有给定此选项字段则使用下列的预设值:
port=as given by server portmap daemon(www.xing528.com)
rsize=1024
wsize=1024
timeo=7
retrans=3
acregmin=3
acregmax=60
acdirmin=30
acdirmax=60
flags=hard,nointr,noposix,cto,ac
参数ip=的格式如下:
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
它告诉内核如何配置设备的IP地址,如何建立IP路由表。<client-ip>是客户IP,<server-ip>是NFS服务器IP,<gw-ip>是网关IP,<netmask>是掩码,<hostname>是客户主机名。<device>是网络设备名。<autoconf>在单独作为ip的值时起作用(它之前没有任何":"号,如:"ip=off"或"ip=none"等),如果"ip=off"或"ip=none",表示不启用自动配置。<autoconf>有如下值:
运行后发现eth0没有自动激活。观察到启动参数中有ip参数:
ip=192.168.10.103:192.168.10.102:192.168.10.1:255.255.255.0:www:eth0:off
查找内核中有如下语句:
__setup("ip=",ip_auto_config_setup);
__setup("nfsaddrs=",nfsaddrs_config_setup);
跟踪代码发现ip_auto_config_setup没有执行,说明需要在内核中设置IP自动配置协议支持。配置【Networkingsupport】->【Networkingoptions】,如图11-6所示。
图11-6 选择内核级别的自动IP配置
配置完毕,根文件系统可以加载。运行结果如下:
可见NFS文件系统已经加载到根目录下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。