云计算百科
云计算领域专业知识百科平台

NFS共享服务器

目录

任务要求

思路总结

1.NFS共享服务

服务端  (ip   192.168.48.128)

客户端 (ip    192.168.48.130)

 2.配置autofs自动挂载


任务要求

        1.NFS服务器,可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。

注意:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。

        2.配置autofs自动挂载,由于网络的问题,NFS服务器与客户端的连接不会一直存在,当我们挂载了NFS服务器之后,任何一方脱机都可能造成另外一方等待超时。为了解决这样的问题,就出现了下面的想法: – 当客户端在有使用NFS文件系统的需求时才让系统自动挂载。 – 当NFS文件系统使用完毕后,让NFS自动卸载。于是就产生了autofs这个服务。

思路总结

        NFS 服务端(192.168.48.128)安装服务、关防火墙和 SELinux,配置 /etc/exports 后重启。客户端(192.168.48.130)装服务、关防火墙,查看共享,建 /nfsclient/client-data 并挂载服务端 /data,不用时需要断开。autofs自动挂载是在客户端装 autofs,改主和子配置文件,重启服务,卸载,遇忙时用 fuser 查占用程序。

1.NFS共享服务

服务端  (ip   192.168.48.128)

NFS服务安装,关闭防火墙和SElinux

yum install rpcbind     yum install nfs-utils

setenforce 0 #关闭selinux systemctl stop firewalld.service

 开放共享文件

su root                                 #切换身份 mkdir /data                          #创建共享目录 chmod 777 /data                 #开放共享文件权限

cat /etc/exports                   #查看nfs服务配置,如果没有内容就新建并写入如下

 重启服务

systemctl restart nfs-server          #重启nfs服务器 showmount -e 192.168.42.128    #查看共享是否生效

 参数说明

#可以使用完整的IP或者是网络号, 例如172.24.8.128或172.24.8.0/24或者172.24.8.128/255.255.255.0;也可以使用*表示所有主机 /mnt/nfs *(ro,sync,no_root_squash,no_subtree_check) /mnt/zuoye *(rw,sync,no_root_squash,no_subtree_check) #权限相关参数可以写多个,多个参数之间用逗号隔开,具体相关参数说明如下: 1、rw和ro:该目录分享的权限是可擦写 (read-write) 或只读 (read-only), 但最终能不能读写,还是与文件系统的 rwx 及身份有关。 2、sync和async:sync 代表数据会同步写入到内存与硬盘中, async 则代表数据会先暂存于内存当中,而非直接写入硬盘! 3、no_root_squash和root_squash: 想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行。 而all_squash,不论登入 NFS 的使用者身份为何都会被压缩成为匿名用户,就是 nobody(nfsnobody) 。

4、anonuid和anongid anonuid 指的是 UID,而 anongid 则是群组的GID 5、subtree_check和no_subtree_check 可选参数。当使用'subtree_check'选项时,NFS导出系统将确保每个客户端都只能访问其访问的目录 及其下的子目录,并防止客户端访问树外的目录。这会增加一些额外的性能开销,但通常是推荐的 安全性设置。 而当使用'no_subtree_check'选项时,NFS导出系统将不会检查客户端访问的目录是否在其访问的树内, 这意味着客户端将能够访问其访问范围之外的目录,但也会减少导出系统的负载并提高性能。 请注意,这些选项的默认行为已在较新版本的nfs-utils中更改。在没有指定这些选项的情况下, 将会默认使用'no_subtree_check'

客户端 (ip    192.168.48.130)

1.  服务安装,关闭防火墙

yum install rpcbind yum install nfs-utils setenforce 0                                 #关闭selinux systemctl stop firewalld.service

2.  查看共享是否生效

3.   在客户端机器上一次创建两个层级目录,分别如下

        mkdir -p /nfsclient/client-data/

4.  将服务器 192.168.42.128的 data 目录映射(挂载) 到本机(客户机的) /nfsclient/client-data 下面,以后在客户端操作这个目录就相当于远程操作服务器 的 /data 目录。

mount 192.168.42.128:/data /nfsclient/client-data/ 

5.  查看共享目录是否生效

ls /nfsclient/client-data/ 共享生效

         #看的是本机的目录,但是实际内容却是远程服务器上的共享目录。可以在本机的增,删,改,查 映射到目标服务器上。

6.  不用内容的时候记得 及时断开映射关系,不要长时间连接。

cd ~ umount /nfsclient/client-data ls /nfsclient/client-data                         空了,恢复到原来的内容 

 2.配置autofs自动挂载

        autofs这个服务是在客户端的上面,它会持续的检测某个指定的目录,并预先设置当使用到该目录的某个子目录时,将会取得来自服务器端的NFS文件系统资源,并进行自动挂载的操作。         autofs的工作原理基于Linux内核的automount功能。当用户试图访问autofs挂载的目录时, automount守护进程会捕获这个访问请求,然后根据配置文件挂载相应的文件系统。当这个文件系统一段时间没有被访问,automount会自动将其卸载。

1、安装服务

yum install autofs -y mkdir /mnt/m2 #建立本地文件m2 用来同步服务器信息 mkdir /tmp/a1 #建立本地文件a1 用来同步光盘信息 

2、修改主配置文件

vim /etc/auto.master                                  #autofs 的配置文件 添加:/mnt                 /etc/mnt.guazai       # 挂载目录         子配置文件 

#mnt.guazai                 是远程服务器的配置 #med.guazai                是本地光盘的配置 

 

3、修改子配置文件

 vim /etc/mnt.guazai                 #远程服务器的mount参数 

 vim /etc/med.guazai

添加:a1 -fstype=iso9660,ro,nosuid,nodev :/dev/sr0 #光盘的挂载参数

 

4、重启服务

systemctl restart autofs #启动自动挂载服务 systemctl enable autofs #使自动挂载开机启动 

注意:挂载成功后,ls看不到,必须进行cd切换到目录中才能看到文件。 或者直接通过 mount 查看

 5、卸载服务

systemctl stop autofs systemctl disable autofs umount /mnt

提示/data 目标忙,原因是:设备被一些升程序占用。 接下来通过fuser 命令查找那些程序

fuser -mv             /mnt    

赞(0)
未经允许不得转载:网硕互联帮助中心 » NFS共享服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!