Linux下的NFS服务的安装与配置简述
原来曾转载过一篇同样的文章,文章讲解是十分详细的,面面俱到,但是同时就显得繁复。自己配置了Ubuntu中和一块开发板的nfs之后,总结一下以给后来者做抛砖引玉之用
开发板:
Debian GNU/Linux 7.5(wheezy)
Ubuntu:Ubuntu 14.04.1 LTS
在Ubuntu中nfs是作为系统中的一个模块就已经编译进os了,不用我们自己配置;并且已经是作为开机启动的服务,也不需要我们启动。而在Debian系统中nfs却并没有编译进系统,这时候我们就需要再linux_kernel中配置好这个模块了。
一、配置linux中的nfs模块
在linux_kernel中的.config文件中或者make menuconfig然后在file System和Networking配置好nfs的相关配置,以使得nfs能顺利编译进系统
二、配置nfs的相关文件
确定系统中已经有了nfs模块之后,我们就可以启动这个服务了。但是在启动之前,我们需要作出一些配置,配置是比较简单的,涉及三个文件:
/etc/exports:这个文件是确定使用nfs服务共享出来的文件夹的目录文件,以及以何种权限共享出来的规定
/etc/hosts.deny:从字面上理解就知道是拒绝相关主机(以ip地址来区别的)连接此作为server端的。就是说这里是不许通过nfs连接到本主机的名单
/etc/hosts.allow:同上,这是允许连接的名单
以上三个文件就是nfs的配置文件了,即使Ubuntu已经安装了nfs服务,但是也没有给出任何配置,这些仍然是需要自己手动配置的
三、启动nfs服务
配置后了服务之后启动nfs服务
/etc/init.d/目录下:nfs-kernel-server start
通过这个命令我们可以看到nfs服务将自己在/etc/exports中定义好的文件夹共享了出来。如果之后有修改exports文件,那么直接再在/etc/init.d/文件夹下重启nfs服务就ok:
/etc/init.d/ 目录下:nfs-kernel-server restart
四、使用nfs服务
启动nfs服务之后,我们就可以将自己的主机作为nfs服务的server主机将自己共享出来的目录让其他安装了nfs服务并开启的主机共享了。其他的主机在安装了nfs服务,并开启(不需要有任何配置,只需要开启就ok了)nfs服务之后,就可以查看作为nfs的server端共享目录了:
查看作为nfs的server端共享目录:(其他主机):#showmount -e 172.16.11.220
showmount命令在Ubuntu上没有预安装,所以sudo apt-get install showmount来安装上这个命令。后面的172.16.11.220是作为nfs的server的机子的ip地址
使用nfs服务mount上server主机:# mount 172.16.11.220:/home/wangzx/rootfs /home/usrname/nfs_test
这个命令就跟一般的mount命令没有什么不同了。mount+ip地址+:+server主机的共享目录 本地mount上去的目录。这样就基本ok了
五、示例(以Ubuntu 14.04为例)
示例是以两台都装有Ubuntu14.04的机子开始的,意图:将A作为server,将B作为client,在A中配置好nfs的环境,然后用B去mount到A中通过nfs共享出来的目录。其中A机器的ip地址:172.16.11.220.B机器的ip地址是:1721.16.11.157
针对于A:
1、Ubuntu14.04中的nfs服务是已经预安装了的,所以我们不需要自己去安装
2、配置nfs文件
vim /etc/exports :
添加/home/wangzx/nfs *(rw,sync,no_root_squash,no_subtree_check)
vim /etc/hosts.deny:
添加:portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALLvim /etc/hosts.allow:
添加:portmap:172.16.11.
lockd:172.16.11.
rquotad:172.16.11.
mountd:172.16.11.
statd:172.16.11.
这个172.16.11.就是允许通过nfs连接上本主机的ip地址段,必须要符合这个地址段的ip才可以连接上来,当然是可以根据自己的需要修改的。以上修改参数之具体含义可以参照我先前转发的文章:
3、启动nfs服务
进入:/etc/init.d/ 执行./nfs-kernel-server start显示服务启动成功
针对于B:
因为Ubuntu14.04中已经安装好了nfs服务,其实配套的有portmap之类的都有一并安装。所以我们只需要启动B的服务就可以了(Ubuntu14.04的nfs服务是开机自动启动的),不需要做其他的任何配置就可以。
在B机器的端口执行:mount 172.16.11.220:/home/wangzx/nfs nfs_test 就可以了。这样ip地址为172.16.11.220的A机器的文件目录/home/wangzx/nfs就mount到了本地的目录:/home/wangzx_mobile/nfs_test中了。
至此nfs的理论与实践就全部ok了