Redhat Linux NFS配置
NFS简介:
NFS是网络文件系统的简写(network file system),主要用在linux或unix环境中,是有sun公司开发,并于1984年推出的一个RPC服务系统。
NFS功能介绍:
他可以将多个目录或者单个目录进行发布,例如我们在网刻系统的时候可以用NFS来共享光盘镜像,NFS是以发布目录的方式将文件进行发布,而客户端是以挂载的方式进行访问。客户端可以节省本地空间,将数据存放在nfs服务器上。NFS也可以针对但个用户以及多用户设置不同的访问权限。
详细配置步骤:
安装NFS必须要开启的服务有:nfs、portmap、
NFS的配置相对于其他服务是比较简单的,我们依然还是要注意防火墙以及SElinux,
首先我们检查软件是否已安装,这里我已经都安装了。
![](https://i-blog.csdnimg.cn/blog_migrate/6359a30f9058db4ecf1ed826c5f824cf.bmp)
在安装redhat linux 时这些包默认就已被安装,如果你检查发现没有安装,可以使用一下命令进行安装;
#rpm –ivh nfs*
#rpm –ivh portmap
配置NFS,配置文件在/etc/exports
首先我们使用vim打开/etc/exports 我们会发现这是一个空文件,里面没有任何内容。如果没有此文件,我们可以新创建一个,
这里我们举个例子来完成对NFS的配置,
例如:公司有多台计算机,而其中只有一台服务器有光驱,而我们其他的计算机也想安装光盘上的软件,现在我们就可以用NFS来实现。例如我们的服务器光驱挂载在/media上,接下来我们来编辑配置文件来实现以上的功能。
依然使用vi打开配置文件编辑以下内容:
![](https://i-blog.csdnimg.cn/blog_migrate/0f5982645be9b884200ec441c63d38c5.bmp)
然后保存退出,这个文件里我们只需编辑俩个字段:前面的为共享目录,后面的为哪些人可以访问以及访问权限,*代表所有人(ro)为只读权限。
启动服务
![](https://i-blog.csdnimg.cn/blog_migrate/59371974a1d09a27f932420c11e6139f.bmp)
然后我们可以使用exportfs命令查询输出的目录,
![](https://i-blog.csdnimg.cn/blog_migrate/98d45fd6924fc0f3ce01767d857b6c59.bmp)
客户端挂载
使用mount命令挂载,例如我/下有nfs目录,我将挂载到nfs目录上
![](https://i-blog.csdnimg.cn/blog_migrate/95e626af28c6bf017d49f2e3700032bc.bmp)
然后我们就可以访问光盘目录了,
反挂载使用umount /nfs
我们还可以使用shoumount --export 192.168.0.7 查看NFS所发布的目录
如果您想共享其他的目录也是安装同样的方法,注意权限问题,目录权限和共享权限。
一些相关共享权限:
ro 客户端为只读权限
rw 客户端为读写权限
root_sqush 客户端使用root访问时映射为nobady (默认选项)
no_root_squash 客户端映射为root访问
以下是针对嵌入式Linux的nfs配置情况:
配置主机NFS服务
主机IP:192.168.1.8
编辑/etc/exports文件
[linux@localhost ~]$ cat /etc/exports
/appdata 192.168.1.*(rw,sync,no_root_squash)
以root用户重新启动nfs服务,service nfs restart;
?
目标板操作
目标板IP:192.168.1.8
启动目标板并连通网络后,首先查看kernel自身是否支持nfs,
cat /proc/filesystems
查看其中是否有nfs一行,若没有则表示内核不支持nfs,就需要重新编译和烧内核;有则OK,接下来就可以直接mount操作。
具体命令是:
mount –o nolock 192.168.1.249:/appdata /mnt
无任何提示表示成功,可以操作/mnt目录,cp、mv文件等。
使用命令mount –t nfs 192.168.1.249:/appdata /mnt ,有如下错误提示:
/ # mount -t nfs 192.168.1.249:/appdata /mnt
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error=-5
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
mount: Mounting 192.168.1.249:/appdata on /mnt failed: Input/output error
?
可能原因:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;
简单的解决方法:kill 文件锁(lockd)或者mount -o nolock ;
上面说的文件锁具体是什么原因,还没有找到更好的解决办法。
注意:主机防火墙有设置时,也可能导致目标板无法正常访问。
配置主机NFS服务
主机IP:192.168.1.8
编辑/etc/exports文件
[linux@localhost ~]$ cat /etc/exports
/appdata 192.168.1.*(rw,sync,no_root_squash)
以root用户重新启动nfs服务,service nfs restart;
?
目标板操作
目标板IP:192.168.1.8
启动目标板并连通网络后,首先查看kernel自身是否支持nfs,
cat /proc/filesystems
查看其中是否有nfs一行,若没有则表示内核不支持nfs,就需要重新编译和烧内核;有则OK,接下来就可以直接mount操作。
具体命令是:
mount –o nolock 192.168.1.249:/appdata /mnt
无任何提示表示成功,可以操作/mnt目录,cp、mv文件等。
使用命令mount –t nfs 192.168.1.249:/appdata /mnt ,有如下错误提示:
/ # mount -t nfs 192.168.1.249:/appdata /mnt
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error=-5
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
mount: Mounting 192.168.1.249:/appdata on /mnt failed: Input/output error
?
可能原因:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;
简单的解决方法:kill 文件锁(lockd)或者mount -o nolock ;
上面说的文件锁具体是什么原因,还没有找到更好的解决办法。
注意:主机防火墙有设置时,也可能导致目标板无法正常访问。
主机IP:192.168.1.8
编辑/etc/exports文件
[linux@localhost ~]$ cat /etc/exports
/appdata 192.168.1.*(rw,sync,no_root_squash)
以root用户重新启动nfs服务,service nfs restart;
?
目标板操作
目标板IP:192.168.1.8
启动目标板并连通网络后,首先查看kernel自身是否支持nfs,
cat /proc/filesystems
查看其中是否有nfs一行,若没有则表示内核不支持nfs,就需要重新编译和烧内核;有则OK,接下来就可以直接mount操作。
具体命令是:
mount –o nolock 192.168.1.249:/appdata /mnt
无任何提示表示成功,可以操作/mnt目录,cp、mv文件等。
使用命令mount –t nfs 192.168.1.249:/appdata /mnt ,有如下错误提示:
/ # mount -t nfs 192.168.1.249:/appdata /mnt
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error=-5
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
mount: Mounting 192.168.1.249:/appdata on /mnt failed: Input/output error
?
可能原因:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;
简单的解决方法:kill 文件锁(lockd)或者mount -o nolock ;
上面说的文件锁具体是什么原因,还没有找到更好的解决办法。
注意:主机防火墙有设置时,也可能导致目标板无法正常访问。
配置主机NFS服务
主机IP:192.168.1.8
编辑/etc/exports文件
[linux@localhost ~]$ cat /etc/exports
/appdata 192.168.1.*(rw,sync,no_root_squash)
以root用户重新启动nfs服务,service nfs restart;
?
目标板操作
目标板IP:192.168.1.8
启动目标板并连通网络后,首先查看kernel自身是否支持nfs,
cat /proc/filesystems
查看其中是否有nfs一行,若没有则表示内核不支持nfs,就需要重新编译和烧内核;有则OK,接下来就可以直接mount操作。
具体命令是:
mount –o nolock 192.168.1.249:/appdata /mnt
无任何提示表示成功,可以操作/mnt目录,cp、mv文件等。
使用命令mount –t nfs 192.168.1.249:/appdata /mnt ,有如下错误提示:
/ # mount -t nfs 192.168.1.249:/appdata /mnt
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error=-5
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
mount: Mounting 192.168.1.249:/appdata on /mnt failed: Input/output error
?
可能原因:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;
简单的解决方法:kill 文件锁(lockd)或者mount -o nolock ;
上面说的文件锁具体是什么原因,还没有找到更好的解决办法。
注意:主机防火墙有设置时,也可能导致目标板无法正常访问。
关闭防火墙命令:service iptables stop 或者 iptables -F