前言
有两台服务器,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中进行操作
开始实施
一、S1服务器的设置
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服务
1 | $ service portmap start( service rpcbind start) |
或者
$ service nfs restart
以上 三步完成了S1的所有设置,S1又被叫做服务端
注意:每次配置完成/etc/exports后都要重启nfs服务
二、S2服务器的设置
1、接下来是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
2、然后运行
$ mount -t nfs 192.168.1.2:/tmp/share /usr/tomcat/here
格式上就是,mount -t nfs S1的IP:S1分享的目录 S2直接操作的目录
这样操作S2的这个目录就相当于直接S1分享的目录了,当然,操作S1的分享的目录,这个S2里的内容也会跟着变
3.查看目前客户端的挂载情况
$ 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、http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html
3、http://blog.chinaunix.Net/uid-21089721-id-2327441.html
mount挂载永久设置(不建议,系统启动会很慢)
按照上面的操作,客户端即S2的目录挂载是临时的,服务器重启后就失效了,如果需要永久设置另外需要操作。
http://blog.csdn.net/a2683901/article/details/43274991
vim /etc/fstab //在最后一行添加下面一行信息
192.168.1.253:/testnfs /testnfs_client nfs defaults 0 0
重启 mount -a
自动挂载设置(推荐)
自动挂载用到的软件包automount,一般系统都默认安装了的。如果没有安装再安装下:
yum install autofs
先在根目录创建一个用于自动挂载的目录
mkdir /u01
编辑配置文件
vim /etc/auto.master
最后一行添加(左边目录是指需要挂载的目录,右边目录是指关联到所需自动挂载路径
/u01 /etc/auto.nfs
新建我们刚刚设置的自动挂载路径,添加如下信息
vim /etc/auto.nfs
左边代表自动挂载目录(cd mount 会自动挂载),中间权限,sync 代表同步,右边代表所需挂载的文件路径
mount -rw,sync 192.168.1.253:/testnfs
重置自动挂载map
service autofs reload
这时,我们去访问我们建立的自动挂载目录,去触发自动挂载
1 | [root@xuan ~]# cd /u01/ |
nfs 服务器端的其他命令
$ service nfs {start|stop|status|restart|reload|force-reload|condrestart|try-restart|condstop}
nfs服务自动启动
正常而言,nfs服务需在系统启动后手动启动,通过下面的设置可以使nfs服务在系统重启的时候自动启动
$ chkconfig –level 345 nfs on
检查结果
1 | $ chkconfig –list nfs |
命令格式参考