文件系统:就是通过软件对磁盘上的数据进行组织和管理的一种机制,对其的一种封装或透视

 NFS(Network File System):即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。即通过网络,对在不同主机上的文件进行共享。linux或unix系统之间实现资源的共享

一、nfs文件系统的安装和启用

本质思想linuxA下/share文件夹,linuxB可以利用挂载(mount)机制将linuxA系统中的/share文件夹挂在到linuxB中,从而实现资源的共享

准备两台虚拟机,一台服务端(ip为172.25.254.145),一台客户端(ip为172.25.254.245)

安装nfs服务:yum install nfs-utils(服务端和客户端一样)

服务端:

                   systemctl start nfs

                   systemctl enable nfs

                    systemctl stop firewalld

nfs网络文件系统

客户端测试

行命令:showmount  -e 172.25.254.105(服务端ip)

会出现Export list for 172.25.254.105(共享列表,为空,因为还没有共享内容)

nfs网络文件系统

二、配置共享

*)服务端:

1、建立共享目录 /westos

2、vim /etc/exports     NFS文件系统的共享目录和对于用户的权限是在/etc/exports文件中来设定的 

在这里面编辑,格式如下:
本机目录   共享客户端(共享方式)
/westos  *(sync)
exportfs -rv   重启nfs服务命令
刷新共享服务

nfs网络文件系统

nfs网络文件系统

*)客户端:

1、先将其挂载到/mnt下

      1)临时挂载:mount 172.25.254.145:/westos  /mnt/         

nfs网络文件系统

      2)永久挂载:vim /etc/fstab    

                                  172.25.254.145:/westos /mnt nfs defaults 0 0

                                   mount -a

nfs网络文件系统

nfs网络文件系统

2、测试在服务端/westos下新建文件和客户端/mnt下同步

服务端:cd /westos          touch  file              ls

nfs网络文件系统

客户端:cd /mnt         ls

nfs网络文件系统

 

三、即用即挂载

在客户端
ls -ld /net没有这个文件
安装 yum install autofs -y

nfs网络文件系统
开启这个服务并设置为开机自启动
/net这个文件自动出现

nfs网络文件系统

切到这个目录下cd /net/172.25.254.145/westos  ##共享文件的默认挂载路径

df查看可以看到实现自动挂载

nfs网络文件系统

从/westos 共享目录cd出来后一段时间会自动卸挂载,默认为300s

可以在/etc/sysconfig/autofs里设置退出/westos后的自动取消挂载时间

timeout=10

nfs网络文件系统

systemctl restart autofs  离开挂载点10S后,使用df命令查看挂载点,发现172.25.254.145:/westos已自动卸载

nfs网络文件系统

四、自动设置挂载点(设置默认挂载点为/nfs/westos)

*)客户端:
1、先在/etc/auto.master里写入上层目录/opt/nfs           /etc/auto.nfs(名字随意)

nfs网络文件系统

2、编辑自己的这个文件/etc/auto.nfs里写入最终挂载点,参数,服务端的共享目录

nfs网络文件系统

3、直接cd  /opt/nfs/westos里df查看,实现自动挂载

nfs网络文件系统

mount可以查看自己设定的参数

nfs网络文件系统

五、共享权限的设置

vim /etc/exports
1)可以指定网段和ip

sync为实时同步

如下图,服务端指定了共享网段(172.25.254.0)和ip(172.25.254.145)即指定客户端可以读写

nfs网络文件系统

但此时客户端还是无法建立文件

nfs网络文件系统

服务端给共享目录满权限并重启nfs服务,客户端便可以新建文件

chmod 777 /westos/

exportfs -rv

服务器端:

nfs网络文件系统

客户端:

nfs网络文件系统

2)可以指定uid和gid(后面加all_squash切换用户才会生效)默认创建文件的所有人和所有组都为nfsnobody

服务器端:

nfs网络文件系统

客户端:

nfs网络文件系统

3)no_root_squash前面就失效,这句话表示在客户端你用什么用户创建文件就属于谁

服务器端:

nfs网络文件系统

客户端:

nfs网络文件系统

 

 

 

 

 

 

 

 

 

 

 

相关文章: