前言
有两台服务器,S1和S2,Linux操作系统,S1和S2IP不同,但是可以相互访问。
S2需要访问S1的文件系统,换言之,S1中有文件夹被分享给S2使用。
准备工作
假设 S1的ip为 192.168.1.2,要分享为公共文件夹的目录为 /tmp/share
假设 S2的ip为 192.168.1.3,接受上传文件的目录为 /usr/tomcat/here
运行场景
在实际使用中,直接向 192.168.1.3 的 /usr/tomcat/here 中保存文件,或者删除文件,都相当于在 192.168.1.2 /tmp/share中进行操作
开始实施
1、检查 S1,即需要提供分享文件夹的服务器是否具有NFS服务
$ rpm -qa |grep nfs
如果安装了,则会打印一些信息,
否则什么也不会发生,就需要安装了
使用root权限
$ yum install nfs-utils
2、修改 S1中的/etc/exports
增加语句
/tmp/share 192.168.1.3(rw,no_root_squash,async)
看出来格式了吗?允许 Ip为192.168.1.3的服务器访问本服务器的/tmp/share文件夹,后面括号里的内容是必须的,设定了一些操作规则
关于exports 的内容可以参考 http://blog.chinaunix.net/uid-21089721-id-2327441.html
3、重启NFS服务
$ service portmap start
$ service nfs start
或者
$ service nfs restart
以上 三步完成了S1的所有设置,S1又被叫做服务端
注意:需要开放111、2049端口号,并且设置共享文件夹的权限。
接下来是S2的设置,就比较简单了
注意!S2中也必须安装nfs服务
否则会报错:wrong fs type, bad option, bad superblock
假设 S2的ip为 192.168.1.3,接受上传文件的目录为 /usr/tomcat/here
这里 /usr/tomcat/here 是需要存在的,被称为挂载点
如果不存在可以创建(-p 的意思是如果父目录不存在则创建)
mkdir -p /usr/tomcat/here
然后运行
$ mount -t nfs 192.168.1.2:/tmp/share /usr/tomcat/here
格式上就是,mount -t nfs S1的IP:S1分享的目录 S2直接操作的目录
这样操作S2的这个目录就相当于直接S1分享的目录了,当然,操作S1的分享的目录,这个S2里的内容也会跟着变
查看目前客户端的挂载情况
$ mount | grep nfs
去除客户端的挂载
$ umount /var/tmp/share
或者
$ umount -l /var/tmp/share
/var/tmp/share 是客户端的目录,注意这个是我本地的实验数据,不要和上面的混淆
其次,这里命令中加了 -l ,是强制执行的命令,对于出现device is busy 时才可以使用
参考的文章
1、http://zhuang13.blog.51cto.com/3044154/557879
2、
3、http://blog.chinaunix.net/uid-21089721-id-2327441.html
mount挂载永久设置
按照上面的操作,客户端即S2的目录挂载是临时的,服务器重启后就失效了,如果需要永久设置另外需要操作。
nfs 服务器端的其他命令
$ service nfs {start|stop|status|restart|reload|force-reload|condrestart|try-restart|condstop}
nfs服务自动启动
正常而言,nfs服务需在系统启动后手动启动,通过下面的设置可以使nfs服务在系统重启的时候自动启动
$ chkconfig --level 345 nfs on
检查结果
$ chkconfig --list nfs
0:off1:off 2:off3:on 4:on5:on 6:off
命令格式参考
详解:http://blog.chinaunix.net/uid-22287947-id-1991563.html