nfs挂载方法及问题解决

来源:互联网 发布:表格扫描识别软件 编辑:程序博客网 时间:2024/05/21 08:54
 

一、        服务器端(server)配置

1.编辑目录下的共享目录配置文件/etc/exports,用于指定共享目录及权限等。

执行如下命令编辑文件/etc/exports:# vi /etc/exports

在该文件里添加如下内容:

/opt/workplace 192.168.0.*(rw,sync,no_root_squash)然后保存退出。

添加的内容表示:允许IP地址范围在192.168.0.*的计算机以读写的权限访问/opt/workplace目录。

 

【/opt/workplace为server输出共享目录。

rw:读/写权限,只读权限的参数为ro;

sync:数据同步写入内存或者硬盘,也可以使用async,此时数据会暂存内存,不写入硬盘。

no_root_squash:NFS服务器共享目录用户的属性,如果用户是root,那么对于这个共享目录就有root的权限。】 

配置完成后控制台输入命令#exportfs –rv启用配置。

 

2. 编辑可访问ip地址配置文件/etc/hosts.allow为:

       portmap:*   //为设置所有IP可访问,可写为具体IP地址

       lockd:*      // /etc/hosts.deny配置禁止访问IP

       mountd:*

       rquotad:*

       statd:*

3.启动端口映射:

#service portmap start或者在fedora中#service rpcbind start

可能还有rpcidmapd服务需要启动.(都在/etc/init.d/中,找到启动即可)

#service nfs start启动nfs服务。

4.关闭防火墙:

#lokkit关闭或者#setup关闭,#service iptables stop与#service ip6tables stop.

 

5.验证linux服务器上进行NFS服务器的回环测试,验证共享目录是否可以被访问,运行如下命令:

#mount  –t  nfs  192.168.1.*:/opt/workplace  /mnt/nfs

 #ls /mnt/nfs

如果NFS正常工作,应该能够在/mnt/nfs目录下看到/opt/workplace目录下内容。

二、           嵌入式目标系统NFS客户端的配置

在linux服务器设置好后,还需要对客户端进行相关配置。

1.  以以下命令来进行NFS共享目录挂载:

#mkdir /mnt/nfs

#mount –t nfs –o nolock 192.168.1.*:/opt/workplace /mnt/nfs

#cd /mnt/nfs

#ls

2.  在开发过程中,来回输入命令非常烦人,两个简单的脚本来完成nfs的启动,挂载。

host启动nfs:
    snfs(脚本名)
    #!/bin/bash
    ifconfig eth0 192.168.0.20
    /etc/rc.d/init.d/portmap start
    /etc/rc.d/init.d/nfs start

嵌入式目标机挂载nfs:
    mnfs:(脚本名)
    #!/bin/sh
    mount -t nfs 192.168.0.20:/home/work/nfs  /mnt/nfs -o nolock
    echo “nfs ok!”

三、           卸载nfs挂载的方法

#umount  /mnt/nfs 可能会出现device is busy的问题。

解决方法:

1.      首先查找谁在占用:#fuser /mnt/nfs 得到进程号。

2.      查找进程:#ps –ef|grep 进程号。

3.      杀死进程:#kill -9 进程号

4.      然后umount ,如不行 umount –f /mnt/nfs强行卸载。

5.      再不行重新启动nfsd,再执行上述命令umount文件系统。

四、 查看系统文件共享方法:#showmount  -e