Linux--NFS文件共享系统

    xiaoxiao2025-08-14  2

    文件共享服务nfs

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

    简单说,就是可以通过网络,让不同的主机,不同操作系统可以共享存储。

    NFS允许不同的客户端及服务端通过一组RPC(Remote Procedure Call远程过程调用)分享相同的文件系统,它是独立于操作系统,允许不同硬件和操作系统的系统共同进行文件的共享。

    NFS优点:

    节省本地存储空间,将常用的数据存放到一台NFS服务器上,且可以通过网络访问,本地终端将减少存储空间的使用。一些存储设备CDROM和zip(一种高存储密度的磁盘驱动器与磁盘)等都可以被网络上主机使用,减少整个网络移动介质设备的数量。用户不需要在网络中每个机器上都建有/home目录,home目录可以放在NFS服务器上且可以在网络上被访问。

    一.NFS文件共享服务的搭建:

    服务器端 (Rhel7.3 ip: 172.25.254.200) 客户端 (Rhel7.3 ip: 172.25.254.100)

    1.服务器端安装相应的软件包: yum -y install nfs-utils 2.服务器端关闭SElinux和防火墙:setenforce 0 ; systemctl stop firewalld 3.创建共享目录(也可以不创建,直接共享现存的目录),并且赋予权限:

    mkdir /data chmod 777 /data

    4.修改共享配置文件 /etc/exports ,然后重新加载exports文件:exportfs -rv 5.启动 rpcbind服务和nfs服务: systemctl start nfs-server 6.客户端关闭Selinux和防火墙:setenforce 0 ; systemctl stop firewalld 7.客户端安装nfs-utils,并且启动: yum -y install nfs-utils 8.创建挂载点/test,查看,并且挂载:mkdir /test ; showmount -e 172.25.254.200; mount -t nfs 172.25.254.200:/data /test

    服务端:

    yum install nfs-utils -y yum start nfs-server 之后不要在作重启操作 vim /etc/exports /data 172.25.254.0/24(ro,sync) 或者 /westos *(sync,rw) 172.25.254.23(ro,sync) 让指定的IP只能是可读的状态 或者 /data 172.25.254.0/24(ro,async) 把/data 以只读的方式 共享给 某个网段的主机;使用async速度快,安全性较差 exportfs -rv 修改完配置文件只需要刷新,不需要重启nfs-server服务 systemctl stop firewalld

    客户端:

    yum install nfs-utils -y

    showmount -e 172.25.254.140 查看172.25.254.140共享出来的文件 mount 172.25.254.140:/data /mnt 挂载 mount 查看挂载方式

    指定新建文件的所有人

    服务端:

    vim /etc/exports /data 172.25.254.0/24(rw,async)客户端创建的文件所有人为nfsnobody /data 172.25.254.0/24(rw,async,anonuid=1001,anongid=1001)客户端创建的文件所有人为服务端和客户端id=1001对应的用户 /data 172.25.254.0/24(rw,async,anonuid=1001,anongid=1001,no_root_squash) 客户端创建的文件所有人为客户端本地用户自身,谁创建就是谁 /data 172.25.254.0/24(rw,async,anonuid=1001,anongid=1001,no_root_squash,all_squash) all_squash 默认参数 all_squash出现时,前面的no_root_squash失效。文件所有人为id=1001的用户。 exportfs -rv 刷新,使配置生效

    客户端:

    可以看到,当nfs服务端设置为 no_root_squash, 客户端本地用户谁创建的文件,所有者所有组就是谁。

    二.autofs自动挂载卸载(客户端)

    自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的挂载,自动挂载器由autofs服务脚本管理。

    客户端:

    yum install autofs -y systemctl start autofs 只有服务开启时,/net目录才会存在 systemctl enable autofs rpm -qc autofs 查看配置文件路径,软件版本不同,配置文件路径不同 vim /etc/autofs.conf timeout = 3 退出使用,三秒后自动卸载

    ls /net 没有任何文件 ls /net/172.25.254.200/data df 查看挂载情况,用的时候自动挂载 cd …/ 退出/mnt/westos df 三秒后查看,发现已自动卸载

    创建最终挂载点 haha, 进入最终挂载目录haha,自动挂载;

    退出 haha目录,三秒后自动卸载;

    设置自动挂载路径

    客户端:

    vim /etc/auto.master 修改autofs主策略文件 /mnt /etc/auto.nfs ## auto.nfs 自己创建 vim /etc/auto.nfs 编辑读取的文件auto.nfs westos 172.25.254.140:/data 将172.25.254.140:/data 挂载到 /mnt/westos 或者 westos -ro,vers=3 172.25.254.140:/data 指定挂载参数,只读挂载,挂载版本为3,(可以采用手动挂载) 或者 * -ro,vers=3 172.25.254.140:/data/& 进入到/mnt下任意文件,挂载172.25.254.140:/data/相应文件到该文件 systemctl restart autofs

    vim /etc/auto.nfs

    最新回复(0)