基于Redhat7系统的NFS配置

NFS

简介

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS仅能让 Unix 机器沟通

优点

  1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
  2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
  3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

组成

NFS体系至少有两个主要部分:
一台NFS服务器和若干台客户机,如右图所示。
客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。
在这里插入图片描述

配置

实验环境

1、两台linux虚拟机
客户端:server1-172.25.66.11
服务端:server2-172.25.66.12
2、客户端和服务端都下载nfs-utils
yum install nfs-utils -y
3、打开服务并关闭防火墙
systemctl start nfs
systemctl stop firewalld

实验操作

只读共享

1、在服务端server2:
vim /etc/exports
写入:
/mnt *(sync,ro) ##对所有人以只读的方式共享/mnt目录
在这里插入图片描述
exportfs -rv ###编辑完文件直接执行这个命令(读取/mnt目录)
在这里插入图片描述
2、在客户端server1:
showmount -e 172.25.66.12
在这里插入图片描述
挂载: mount 172.25.66.12:/mnt /mnt #将服务端共享的/mnt目录挂载到客户端/mnt目录上
在这里插入图片描述
3、测试
在服务端server2的/mnt目录中写入一些内容,然后到客户端查看/mnt目录,观察是否实现共享
在这里插入图片描述
在这里插入图片描述

建立、删除文件

1、在服务端server2:
vim /etc/exports
将文件中的ro改为rw
在这里插入图片描述
chmod 777 /mnt
在这里插入图片描述
重新执行exportfs -rv
2、在客户端server1:
卸载/mnt共享目录,重新showmount -e 172.25.66.12,然后重新挂载
在这里插入图片描述
此时可以在共享目录中创建文件,删除文件,但是创建的文件属主和属组都是nfsnobody
在这里插入图片描述
3、在服务端/etc/exports文件中加入 no_root_squash ##创建文件时忽略更改root属主与属组(即创建的文件还是属于root)
在这里插入图片描述
编辑完成后保存退出,执行exportfs -rv
然后在客户端挂载的共享目录中重新创建文件,并查看文件属主和属组
在这里插入图片描述

指定创建文件的属主与属组

1、在服务端的/etc/exports文件中添加所要指定用户的uid和gid
eg:anonuid=1000,anongid=1000 (1000为student用户的uid和gid)
在这里插入图片描述
每次修改这个文件保存退出后都要执行一次exportfs -rv
2、在客户端新建一个文件查看属主与属组
在这里插入图片描述

对客户端操作共享目录权限进行限制

1、mkdir /westos
在服务端编辑/etc/exports文件:
/westos 172.25.66.0/24(sync) 172.25.66.250(sync,rw)
将/westos共享给172.25.254.0/24 与 172.25.66.250 且前者只能对/westos远程同步后者可以读写与远程同步
在这里插入图片描述
chmod 777 /westos
在这里插入图片描述
2、在客户端172.25.66.11中,由于设置了权限,所以172.25.66.11这台客户主机只能多共享目录/westos执行读操作
在这里插入图片描述
在这里插入图片描述
3、在客户主机172.25.66.250中,由于在服务端给了172.25.66.250主机w操作的权限,所以这台客户主机可以对/westos共享目录执行创建和删除操作

在这里插入图片描述
在这里插入图片描述

autofs

autofs服务在客户端下载,可以使客户端在需要使用服务端的共享文件时自动挂载服务端的共享内容,在不需要使用的时候自动卸载,避免在不用的时候浪费磁盘空间
一:
在客户端server1:
1:下载autofs 关闭火墙
yum install autofs -y
systemctl start autofs
2:cd /net
cd 172.25.66.12(进入这个目录表示我们要使用共享目录)
ls cd mnt/
df 我们可以看到共享目录已被自动挂载
在这里插入图片描述
cd 退出共享目录
df 我们会看到刚刚挂载的共享目录会自动被卸载
我们需要等待一段时间在查看挂载状态,因为存在间隔时间
在这里插入图片描述
3:修改挂载卸载时间间隔
我们需要在客户端编辑vim /etc/sysconfig/autofs文件
写入:

TIMEOUT=5 ###设置时间间隔为5秒

在这里插入图片描述
systemctl restart autofs
在这里插入图片描述
二:指定共享文件在客户端的挂载目录
1、在客户端172.25.66.11中:
编辑文件vim /etc/auto.master
写入:/nfs(最终挂载点的上层目录) /etc/auto.westos(名称随意,要在这个文件中写入最终挂载点与要挂载的共享目录,还可以加入相应的挂载参数)
在这里插入图片描述
vim /etc/auto.westos
写入:westos(最终挂载点) -ro(只读挂载) 172.25.66.12:/westos(要共享的挂载目录)
在这里插入图片描述
systemctl restart autofs
cd /nfs cd westos ls df
在这里插入图片描述
cd mount
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gd0306/article/details/83715024