文件系统:就是通过软件对磁盘上的数据进行组织和管理的一种机制,对其的一种封装或透视
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
客户端测试
执行命令:showmount -e 172.25.254.105(服务端ip)
会出现Export list for 172.25.254.105(共享列表,为空,因为还没有共享内容)
二、配置共享
*)服务端:
1、建立共享目录 /westos
2、vim /etc/exports NFS文件系统的共享目录和对于用户的权限是在/etc/exports文件中来设定的
在这里面编辑,格式如下:
本机目录 共享客户端(共享方式)
/westos *(sync)
exportfs -rv 重启nfs服务命令 刷新共享服务
*)客户端:
1、先将其挂载到/mnt下
1)临时挂载:mount 172.25.254.145:/westos /mnt/
2)永久挂载:vim /etc/fstab
172.25.254.145:/westos /mnt nfs defaults 0 0
mount -a
2、测试在服务端/westos下新建文件和客户端/mnt下同步
服务端:cd /westos touch file ls
客户端:cd /mnt ls
三、即用即挂载
在客户端
ls -ld /net没有这个文件
安装 yum install autofs -y
开启这个服务并设置为开机自启动
/net这个文件自动出现
切到这个目录下cd /net/172.25.254.145/westos ##共享文件的默认挂载路径
df查看可以看到实现自动挂载
从/westos 共享目录cd出来后一段时间会自动卸挂载,默认为300s
可以在/etc/sysconfig/autofs里设置退出/westos后的自动取消挂载时间
timeout=10
systemctl restart autofs 离开挂载点10S后,使用df命令查看挂载点,发现172.25.254.145:/westos已自动卸载
四、自动设置挂载点(设置默认挂载点为/nfs/westos)
*)客户端:
1、先在/etc/auto.master里写入上层目录/opt/nfs /etc/auto.nfs(名字随意)
2、编辑自己的这个文件/etc/auto.nfs里写入最终挂载点,参数,服务端的共享目录
3、直接cd /opt/nfs/westos里df查看,实现自动挂载
mount可以查看自己设定的参数
五、共享权限的设置
vim /etc/exports
1)可以指定网段和ip
sync为实时同步
如下图,服务端指定了共享网段(172.25.254.0)和ip(172.25.254.145)即指定客户端可以读写
但此时客户端还是无法建立文件
服务端给共享目录满权限并重启nfs服务,客户端便可以新建文件
chmod 777 /westos/
exportfs -rv
服务器端:
客户端:
2)可以指定uid和gid(后面加all_squash切换用户才会生效)默认创建文件的所有人和所有组都为nfsnobody
服务器端:
客户端:
3)no_root_squash前面就失效,这句话表示在客户端你用什么用户创建文件就属于谁
服务器端:
客户端: