有时候我们需要在两台linux服务器之间共享资源,例如在服务器A上面部署了一个大文件上传程序,但是需要将文件上传到服务器B的某个目录下面,因为上传大文件,需要先将文件所有分块单独上传到服务器B,然后在服务器B上面进行文件的合并,而服务器B上面有没有我们的上传程序,那么该如何实现这个需求呢?其中有个简单的方式就是通过Linux的NFS配置,将服务器B的目录共享到服务器A,这样服务器A上面的程序就可以直接在共享目录中上传合并文件,就像访问自己本地的文件一样。

NFS安装

#安装nfs服务 yum -y install nfs-utils

#启动服务 service rpcbind start service nfs start

#设置开机启动 systemctl enable rpcbind systemctl enable nfs-server

服务器端配置

查看是否安装有NFS服务。

输入命令:rpm -qa|grep nfs,如果出现如图所示信息,说明安装有nfs服务




linux搭建nfs限制空间 linux搭建nfs共享_linux搭建nfs限制空间


创建共享目录,并赋予读写权限。

输入:mkdir /sharedata

           chmod -R 777 /sharedata

命令,设置共享目录,并赋予读写权限。

修改配置文件/etc/exports

使用root用户来修改NFS的配置文件/etc/exports。这个文件可能不存在,需要新建。

文件格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

例如:vi /etc/exports

/sharedata 192.168.0.110(rw,insecure)

其中,/sharedata是服务器端要共享出来的目录,192.168.0.110是客户端的ip,rw代表客户端可以对共享目录进行读写操作。

启动NFS服务

输入命令:systemctl start nfs启动NFS服务。

客户端配置

创建挂载目录。

在客户端创建一个目录用来挂载共享目录,这个目录的结构最好是和共享目录的结构一样,容易记忆,结构不同也可以。

输入:mkdir /sharedata

      chmod -R 777 /sharedata

命令,设置挂载目录,并赋予读写权限。

挂载共享目录。

命令格式:# mount NFS服务器ip:共享目录 本地挂载点目录

mount 192.168.0.109:/sharedata /sharedata

验证是否挂载成功。

可以在共享目录中存放一些文件,如果在挂载目录中也能看到相同的文件,那么说明挂载成功。

注意事项

  • 如果NFS服务器端的防火墙没有关闭的话,共享目录在挂载的时候就会出现挂载失败,连接超时的问题(mount.nfs:Connection timed out)
  • 服务器端exports的客户端配置选项要加上insecure参数,例如:/sharedata 192.168.10.109(insecure,rw)。 如果不加上insecure参数的话,在挂载共享目录时,可能会提示如下错误:mount.nfs:access denied by server while mounting。