电脑技术学习

FreeBSD上的NFS

dn001

设置NFS 
非常幸运,在FreeBSD系统上设置它是非常容易的。只需通过极少的修改/etc/rc.conf文件,就可以在启动时运行这个进程了。 

在NFS服务器上,请确定你有: 
nfs_server_enable="YES" 
nfs_server_flags="-u -t -n 4" 
mountd_flags="-r" 
每当NFS服务器启动时,mountd就自动运行了。-u和-t标志,告诉nfsd是否服务于UDP和TCP的客户端。-n 4标志,告诉nfsd运行自己的4个相同的拷贝。 

在客户端,确定你有: 
nfs_client_enable="YES" 
nfs_client_flags="-n 4" 
像nfsd,-n 4告诉nfsiod运行自己的4个拷贝。 

最后一个设置是要求你建立一个叫作/etc/exports的文件。这个文件指定你的服务器使用何种文件系统,以及哪几个客户端将要共享。这个文件中的每一行指定一个需要被共享的文件系统。在文件可以使用的这些选择是比较烦的,但只需要涉及其中一部分。你可以查找man page。 

这儿有几个例子: 
以下的几行输出/cdrom到三个"笨"机器上,它们有相同的域名,或者在你的/etc/hosts文件中登录过。-ro标志使得共享的文件系统只读,通过这个标志,远程系统将不可能在共享文件系统上作任何更改。 
/cdrom -ro moe larry curly 
下一行输出/home通过IP地址到三台主机。这是一个非常有用的设置,如果你有一个私有的网络,但没有DNS。-alldirs标志可以使指定的文件系统中的所有目录被输出。 
/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4 
下一行输出/a到两台机器上,它们与NFS服务器在不同域上。-maproot=0标志允许在远程系统上的root用户,使用root权限向共享文件系统写入。除去-maproot=0标志,即使一些人有root权限访问远程系统,但它们不可以修改共享文件系统。 
/a -maproot=0 host.domain.com box.example.com 
为了使客户能够共享一个输出的文件系统,它必须有这个权限。确定你的客户列表在你的/etc/exports文件中。 
现在你已经改动了设置,你可以reboot并且在启动时运行了。或者你也可以在命令行下输入: 

在NFS服务器上: 
# nfsd -u -t -n 4 
# mountd -r 
在NFS客户上: 
# nfsiod -n 4 
现在你已经准备真正地挂起一个远程文件系统。有两种方法。在这个例子中,服务器名字是server,而客户端是client。如果你只是临时挂起一个远程文件系统或希望测试一下你的设置,你可以在客户机的命令行下,以root的权限输入: 
# mount server:/home /mnt 
这样将挂起在server上的/home到client的/mnt。如果一切都设置正确,那么你可以在/mnt下看见server上的文件. 
如果你愿意每次启动时都挂起一人远程文件系统,那么你就需要修改你的/etc/fstab文件.例如: 
server:/home /mnt nfs rw 0 0 
更多细节请参见fstab的man page. 

标签: