Linux访问远程服务器文件——NFS+mount挂载

前言

有两台服务器,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又被叫做服务端

接下来是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、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

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

猜你喜欢

转载自my.oschina.net/majianming/blog/1805940