参考:http://www.centoscn.com/CentosSecurity/SoftSecurity/2015/0408/5118.html
http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html
说明:
本文是在MacOS上做客户端,因为MacOS内核是类Unix,所以本文也适用于Linux客户端
因为并不是root用户登录服务器,所以在有些命令需要在前面加上sudo。一、环境介绍
NFS服务器:CentOS release 6.7 (Final) 10.151.31.53
NFS客户端:MacOS 172.18.166.64
二、服务器端安装配置
1、先用rpm -qa命令查看所需安装包(nfs-utils、rpcbind)是否已经安装:
什么也没查到~~
注:NFS 是Network File System的缩写,即网络文件系统。
在/etc/bin/目录下有个netfs,不是一回事~。
2、如查询结果如上,说明服务器没有安装NFS,则用yum命令来安装:
sudo yum -y install nfs-utils rpcbind
插曲:在运行yum命令的时候出现“No module named yum”问题,解决办法详见本文后面附1。
安装成功后:
3、创建共享目录:
sudo mkdir /tmp/share/upload
如果需要远程对这个目录下新增目录,则需要目录权限:
sudo chmod 777 /tmp/share/upload/
4、NFS共享文件路径配置:
编辑/etc/exports添加下面一行,添加后保存退出。
[root@local /]# vi /etc/exports
/tmp/share/upload 172.*(insecure,rw,async,no_root_squash)
【说明】
172.*: 允许所有172开头的网段的
rw: 设置输出目录读写权限
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
详细设置,参考:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html
5、启动NFS服务(先启动rpcbind,再启动nfs;如果服务器自身已经安装过NFS,那就用restart重启两个服务):
sudo service rpcbind start
Starting rpcbind: [ OK ]
sudo service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Stopping RPC idmapd: [ OK ]
Starting RPC idmapd: [ OK ]
Starting NFS daemon: [ OK ]
6、设置NFS服务开机自启动:
sudo chkconfig rpcbind on
sudo chkconfig nfs on
三、客户端挂载配置
1、创建一个挂载点:
sudo mkdir /export/home/share/
2、查看NFS服务器上的共享:
showmount -e 10.151.31.53
Exports list on 10.151.31.53:
/tmp/share/upload 172.*
3、挂载:
sudo mount -t nfs 10.151.31.53:/tmp/share/upload /export/home/share/
4、查看已挂载共享:
mount
5,完成
这样,对本地路径/export/home/share/的读写操作,实际上都是对服务器映射目录的操作。
====================
附1:解决“No module named yum”的问题
参考:http://blog.csdn.net/ei__nino/article/details/8495295
http://blog.csdn.net/lixora/article/details/41800019
因为需要用到yum安装nfs,但是我发现在执行yum命令的时候,出现错误:
再检查yum是否正常:
但是如上显示,rpm查询yum什么也查不到。因为yum是基于python开发的,再查看系统安装的python,如下:
应该是在升级python的时候,yum的配置找不到新版本的python了,需要修改yum脚本:
sudo vi /usr/bin/yum
修改第一行的:
#!/usr/bin/python
改为:
#!/usr/bin/python2.6
这样,yum就可以正常用了。
但是,网上说要重启yum-updatesd,可是我发现我的系统里没有这个服务,但是不影响使用yum,也就没管。