0%

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中进行操作

开始实施

一、S1服务器的设置

1、检查 S1,即需要提供分享文件夹的服务器是否具有NFS服务

$ rpm -qa |grep nfs

如果安装了,则会打印一些信息,

image

否则什么也不会发生,就需要安装了

使用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
2
3
$ service portmap start( service rpcbind start)

$ service nfs 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

image

去除客户端的挂载

$ 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
2
3
4
5
[root@xuan ~]# cd /u01/
[root@xuan nfs_mount]# ls
[root@xuan nfs_mount]# cd mount //上面ls查看没有mount目录,但是我们可以cd访问mount目录去触发自动挂载
[root@xuan nfs_client]# ls
testfile

nfs 服务器端的其他命令

$ service nfs {start|stop|status|restart|reload|force-reload|condrestart|try-restart|condstop}

nfs服务自动启动
正常而言,nfs服务需在系统启动后手动启动,通过下面的设置可以使nfs服务在系统重启的时候自动启动

$ chkconfig –level 345 nfs on

检查结果

1
2
3
$ chkconfig –list nfs

0:off1:off 2:off3:on 4:on5:on 6:off

命令格式参考

image

详解:http://blog.chinaunix.net/uid-22287947-id-1991563.html

原文链接:https://blog.csdn.net/zwfmu/article/details/70300808

------------- 本文结束 感谢您的阅读-------------