在诸多系统中,我们都需要手动来开启和设置NFS服务。那么这里我们基于Ubuntu系统来讲解一下相关的设置。下面让我们来看一下具体的过程吧。Ubuntu默认是没有nfs服务的,所以需要自己安装。
1、安装nfs服务版
apt-get install nfs-kernel-server
2、修改nsf服务配置文件
vi /etc/exports
在文件中添加nfs的目录格式如下
/armnfs *(sync,rw)
存盘退出
3、在根目录下建立nsf的目录
mkdir /armnfs
修改该目录的权限
chmod 777 -R /armnfs
4、从新启动nfs
/etc/init.d/nfs-kernel-server restart
5、测试nsf服务
mount 192.168.1.99:/armnfs/ abc
嵌入式要mount 的时候 使用
mount -o nolock 192.168.1.99:/armnfs/new8120 /mnt/net
注:在内核的配置里面的
Networking options --->选项中
启用 TCP/IP networking
启用IP: kernel level autoconfiguration
General setup ---> 选项中 ,
Default kernel command string: (默认的内核命令行)
加入绿色字中的字符
root=/dev/nfs rw nfsroot=192.168.1.99:/armnfs/ ip=192.168.1.201 init=/linuxrc console=ttyS0
File system ---> Network File System --->选项
启用NFSfile system support
启用 Provide NFSv3 client support
启用 Root file system on NFS#p#
NFS服务配置:
- less /etc/exports
- /home/xx/ 192.168.0.*(rw,sync)
- $ sudo /etc/init.d/portmap start
- * Starting portmap daemon...
- * Already running. [ OK ]
- $sudo /etc/init.d/nfs-common start
- * StartingNFScommon utilities [ OK ]
- $ sudo /etc/init.d/nfs-kernel-server start
- * Exporting directories forNFSkernel daemon...
- exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.0.*:/home/xx/".
- Assuming default behaviour ('subtree_check').
- NOTE: this default will change with nfs-utils version 1.1.0
- [ OK ]
- * Starting NFS kernel daemon [ OK ]
- $ showmount -e
- Export list for Qunhome:
- /home/xx 192.168.0.*
注意:似乎都好了,可是 :
- sudo mount 192.168.0.100:/home/xx /mnt
- mount: 192.168.0.100:/home/xx failed, reason given by server: Permission denied
在/etc/exports下写入你的IP地址,不要有*号.例如:(/home/zwg IP(rw,sync,no_root_squash))
原因可能是etc目录下没有hosts.allow和hosts.deny这俩个文件.
配置portmap的时候,在etc目录下就没有找到host.allow和hosts.deny这俩个文件,我是自己新建的这俩个文件,以前我记得在etc目录下是有的.
我删除了安装文件和所有相关配置文件,然后一步步重新来,最后成功了
做的改动为:
在etchosts中用IP lists 代替 *
还有一种方法:安装配置NFS服务的没有大问题.不妨在括号里加上no_subtree_check选项,这是减少文件共享访问检查的,如果你的共享目录在本地没有很多读写请求的话(man exports).
- On the master node, edit your /etc/hosts.allow file to allow connections from slave nodes. If your cluster LAN is on 192.168.1.0/24, your hosts.allow will look like:
- Code Listing 2.10: hosts.allow
- portmap:192.168.1.0/255.255.255.0
- Edit the /etc/exports file of the master node to export a work directory structure (/home is good for this).
- Code Listing 2.11: /etc/exports
- /home/ *(rw)
把hosts.deny删除.子网用掩码的方法表示.