一、环境
服务器端:PC机,Ubuntu10.04操作系统
客户机端 :ARM9开发板(2440)
二、安装NFS服务器程序
安装NFS服务器的方法很简单,可以使用Synaptic(新立得)软件包管理器安装,搜索“nfs”,选择软件包"nfs-kernel-server"项进行安装即可,如下图:
也可使用以下命令安装nfs服务器程序软件包,在命令执行过程中,默认启动SUNRPC服务和nfs服务,并创建/etc/exports和、etc/default/nfs-kernel-server配置文件,等待用户完成nfs安装后,配置将要共享的资源。
可以使用netstat命令检查nfs端口是否已经打开:
以上截图可看出,nfs和SUNRPC端口已处于监听状态,不过,客户端此时还无法访问到nfs服务器,还需对nfs服务器进行配置,将共享资源授权给特定用户之后,客户端才能成功访问。
三、启动和停止nfs服务
虽然完成nfs安装后会自动启动nfs,但要调整共享资源还得重新启动nfs服务,以使配置生效。
1、命令方式手动启动和停止nfs服务
启动nfs服务:
停止nfs服务:
重启nfs服务:
查看nfs服务当前状态,若nfs服务正在运行则返回"nfsd running"。否则返回"nfsd not running"。
2、使用图形工具启动和停止nfs服务(此项好像在10.04中没有?)
在Ubuntu中同样可以使用services-admin图形界面工具管理nfs服务。若想随机启动时启动nfs服务,可以点击【系统】|【系统管理】|【服务】命令,打开【服务设置】对话框,勾选【文件夹共享服务(nfs-kernel-server)】选项,单击【关闭】按钮完成设置。
三、nfs服务器配置
nfs服务是根据一个“名单”为用户开放共享资源的。
1、nfs服务配置文件
在Ubuntu Linux系统中,/etc/exports是nfs服务器的全局配置文件。配置文件中一行即为一条配置项,用于指明网络中“哪些客户端”共享“哪些目录资源”。导出资源配置项格式如下:
.......
其中,表示服务器中导出的共享资源路径,注意:必须是绝对路径名; 表示客户端主机标识,可以用主机名、组、通配符、网段方式指定,如果是多个主机标识,需要使用空格隔开; 表示赋予每个客户端主机的访问权限。
把需要导出的目录全部放在/etc/exports文件是一个良好的习惯,这可以对nfs的管理更明确和清晰。尽量将声明的详细具体,从而阻止不速之客进入nfs服务系统。
2、使用图形工具配置nfs服务(Ubuntu10.04中好像没找着)
配置nfs服务器除了可以使用文本编辑工具直接修改/etc/exports文件,然后重新启动nfs服务,完成整个配置任务外。还可以采用Ubuntu Linux系统提供的nfs服务图形配置工具——shares-admin进行快速、便捷的配置。
步骤:单击【系统】|【系统管理】|【共享的文件夹】命令,打开【共享的文件夹】对话框。选择【添加】按钮打开【Share Folder】对话框进行设置,有很多种配置方式。
配置完后你会发现。/etc/exports配置文件的内容是完全跟图形界面下的配置对应的。
如果只修改了/etc/exports文件,并不总是要重启nfs服务。可以使用exportfs工具重新读取/etc/exports,就可以加载输出的目录。
exportfs工具语法如下:
exportfs [-aruv]
-a : 全部挂载(或卸载) /etc/exports的设置。
-r : 重新挂载/etc/exports的设置,更新/etc/exports和/var/lib/nfs/xtab里面的内容。
-u : 卸载某一个目录。
-v : 在输出的时候,把共享目录显示出来。
在nfs已经启动的情况下,如果又修改了/etc/exports文件,可以执行命令:
$ exportfs -ra
系统日志文件/var/lib/nfs/xtab中可以查看共享目录访问权限,不过只有已经被挂载的目录才会出现在日志文件中。
四、连接nfs服务器
通过上面的配置后,客户机便可通过简单的mount命令将nfs共享资源挂载到本地来了,之后可以如同操作本地文件系统一样使用。
1、查看nfs服务器的共享资源
在客户机连接nfs共享资源前,通常要用showmount命令查看一下nfs服务器上的共享资源情况,了解是否有权限访问。showmount命令查看某台nfs服务器上都有哪些nfs共享资源。showmount命令包含在nfs-kernel-server软件包中,一般语法格式是:showmount [dehv] nfssrvname
其中nfssrvname表示nfs服务器主机名,也可用IP地址各选项如下:
-d :显示客户端所挂载的共享目录
-e: 显示nfs服务的导出共享目录列表
-h: 显示帮助信息
-v: 显示版本
单独使用showmount命令,将显示本地主机/etc/exports配置文件中的共享配置项。
2、挂载共享资源
可以通过mount命令在客户机端挂载nfs服务器端的共享资源。mount命令的一般语法格式是:
mount nfssrvname:/Share-Directory /mnt-Point
其中,nfssrvname表示nfs服务器主机名,也可用IP地址;Share-Directory表示nfs服务器导出的共享资源目录,必须用绝对路径,与nfssrvname用":"号隔开;mnt-Point表示共享资源将挂载到客户端主机上的位置,在挂载前一定要确保挂载目录已经存在。
如果nfs服务器上没有给予授权,客户端仍强行挂载某些共享目录,则会被拒绝,执行失败。
3、卸载共享资源
在使用完nfs服务器共享资源后,建议即刻卸载nfs文件系统。卸载命令umount一般语法格式是:
umount /mnt-Point
其中mnt-Point表示共享资源在客户端的挂载点。
注意:当有用户在使用某个已加装的共享目录上的文件时(在挂载点下要退出才能卸载),则不能卸载在文件系统。如果用户确认无误,可使用"umount -f"命令强行卸载共享的目录。