linux下的NFS文件共享服务(包含autofs自动挂载)的部署

    xiaoxiao2023-10-13  157

    1.什么是nfs以及它的优点?

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

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

    2.实验环境配置

    服务端:

    vim /etc/sysconfig/network-script/ifcfg-eth0 hostnamectl set-hostname server.westos.com vim /etc/yum.repos.d/westos.repo vim /etc/hosts

    客户端:

    vim /etc/sysconfig/network-script/ifcfg-eth0 hostnamectl set-hostname server.client.com vim /etc/yum.repos.d/rhe_dvd vim /etc/hosts

    3.NFS 服务的共享配置

    NFS服务的安装

    在服务端和客户端分别安装nfs服务

    [root@server ~]# yum install nfs-utils.x86_64 # nfs 服务安装 [root@server ~]# systemctl start nfs-server # nfs 服务启动 [root@server ~]# systemctl enable nfs-server # nfs 服务开机自启

    注意关闭服务端与客户端的防火墙

    NFS 服务程序的配置文件为 /etc/exports,默认情况下里面没有任何内容。我们可以按照“共享目录的路径 允许访问的 NFS 客户端(共享权限参数)”的格式,定义要共享的目录与相应的权限。 以下是它的一些参数和用法用法:

    参数作用ro只读rw读写sysnc同步–请求或写入数据时,数据同步写入到NFS Server的硬盘后才会返回。asysnc异步–请求或写入数据时,先返回请求,再将数据写入到内存缓存和硬盘中。no_root_squash访问NFS server共享目录的用户如果是root的话,它对该共享目录具有root权限。root_squash对于访问NFS server共享目录的用户如果是root的话,则他的权限将被压缩成匿名用户,同时他的UID和GID将会变成nobody或nfsnobodyall_squash不管访问的NFS server共享目录的用户身份如何,他的权限都会被压缩成匿名用户。anonuid接上文,指定被压缩的用户的UID值。anongid接上文,指定被压缩的用户的GUI值。

    进入服务端配置文件

    [root@server ~]# vim /etc/exports #编辑配置文件 内容如下: 1 /mnt *(sync,rw,anonuid=1001,anongid=1001) #共享目录 对所有用户共享(同步数据,读写权限,指定用户ID,组ID'如建立的文件属于此用户') 2 /nfsshare 172.25.254.0/24(ro,sync) 172.25.151.50(sync,rw) #共享目录 对此网段的共享(数据同步)对此 IP 进行共享(数据同步,读写) 编辑完成后执行:exportfs -rv 进行刷新 exportfs #维护导出的NFS文件系统的表 -r #重新导出所有目录 -v #示导出选项列表

    客户端测试:

    [root@client ~]# showmount #显示NFS服务器的挂载信息 -e #显示 NFS 服务器的共享列表 -a #显示本机挂载的文件资源的情况 -v #显示版本号 [root@client ~]# showmount -e 172.25.254.216 #查看 172.25.254.216 主机的 NFS 共享目录列表 [root@client ~]# mount 172.25.254.216:/mnt /mnt #执行此命令进行挂载使用 将172.25.151.150 下的共享目录 /nfsshare 挂载到客户端的 /mnt 下使用

    此时服务端的/etc/exports文件里写的是只读模式,无法写入文件 改成读写(rw) 再次测试

    这里出现拒绝是因为服务端nfs的共享目录/mnt权限不够 提升服务端/mnt权限后,我们发现在客户端可以正常的创建文件了。

    4.autofs自动挂载服务

    定义:mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。

    特点: Autofs与Mount/Umount的不同之处在于,它是一种看守程序。如果它检测到用户正试图访问一个尚未挂接的文件系统,它就会自动检测该文件系统,如果存在,那么Autofs会自动将其挂接。另一方面,如果它检测到某个已挂接的文件系统在一段时间内没有被使用,那么Autofs会自动将其卸载。因此一旦运行了Autofs后,用户就不再需要手动完成文件系统的挂接和卸载。

    [root@client ~]# yum install autofs.x86_64 -y #进行安装 [root@client ~]# systemctl start autofs #开启服务 [root@client ~]# systemctl enable autofs #开机自启 #启动完毕后,会生成 /net 目录,此目录下没有任何东西。 #进入 /net/加NFS主机的IP 然后可以看到默认共享的目录, #进入目录后,将会自动进行挂载操 作并将其作为挂载点 [root@client ~]# cd /net/172.25.254.216/nfsshare/ #当挂载设备闲置后,默认是在300s后将其卸载,可以通过编辑配置文件对此时间进行修改 #编辑 /etc/autofs.conf 对第 13 行进行修改 [root@client ~]# vim /etc/autofs.conf 编辑第 13 行: 13 TIMEOUT=3 规定了默认卸载时间,单位为 s (秒)

    安装autofs服务 注意:autofs服务未开始时无法进入/net 进入对应目录自动挂载

    rpm -qc autofs ##查看autofs有那些配置文件

    /etc/autofs.conf,进入配置文件,修改自动卸载时间测试: 使用 autofs 进行挂载目录以及挂载类型的指定 /etc/auto.master 此处定义最终挂载点的上层目录 /etc/auso.nfs此处定义最终挂载点(此文件自己创建)

    编辑 /etc/auto.master 主配置文件 [root@client ~]# vim /etc/auto.master 在第 7 行后添加 /mnt /etc/auto.nfs 其中/mnt #最终挂载点的上层目录 /etc/auto.westos 子配置文件 建立并编辑 /etc/auto.nfs对最终挂载点,挂载方式以及挂载设备进行确认 [root@client ~]# vim /etc/auto.nfs 内容如下: westos -ro 172.25.254.216:/mnt 其中 test 最终挂载点 -ro 只读挂载 172.25.254.216:/mnt 设备 重启服务后 进入 /mnt/westos [root@client ~]# cd /mnt/westos

    编辑载主配置文件 进入子配置文件 重启autofs 进入/mnt/westos 此时可以行使读写权限(mount查看挂载情况) 修改为只读模式(修改后要重启autofs) 进入/mnt/westos 此时为只读模式 进入服务端创建多个文件夹 编辑客户端子配置文件 分别进入westos1,wetsos2

    三秒后自动卸载

    最新回复(0)