linux系统—NFS文件共享系统

什么是NFS文件系统

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

一 、NFS的简单共享文件

环境配置:
关闭selinux 客户端和服务端都应该是

getenforce=disabled 的状态

配置服务端和客户端的网络

  • 服务端:

在这里插入图片描述

  • 客户端
    在这里插入图片描述
    查看客户端和服务端的yum源
  • 服务端:
    在这里插入图片描述
  • 客户端:

在这里插入图片描述

服务端:
  • 1、打开nfs服务 并且查看状态
[root@server ~]# systemctl start nfs-server.service 
[root@server ~]# systemctl status nfs-server.service    
  • 2、创建目录
[root@server ~]# mkdir /westos
[root@server ~]# touch /westos/file{1..10}
  • 3、编辑读取文件
[root@server ~]# vim /etc/exports
[root@server ~]# cat  /etc/exports 
/westos        *(sync,ro)           		sync 数据同步 ,ro  只读
[root@server ~]# exportfs -rv			刷新nfs文件
exporting *:/westos
  • 4、设置火墙,获得服务通过

查看火墙是否允许这项服务的通过
在这里插入图片描述
设置火墙

[root@server ~]# firewall-cmd --add-service=nfs
success
[root@server ~]# firewall-cmd --add-service=rpc-bind 
success
[root@server ~]# firewall-cmd --add-service=mountd 
success
客户端:
  • 1、查看是否可以挂载
[root@station ~]# showmount -e  192.168.100.200
Export list for 192.168.100.200:
/westos *         	 可以挂载
  • 2、挂载
[root@station ~]# mount 192.168.100.200:/westos  /mnt
  • 3、查看挂载
[root@station ~]# cd /mnt
[root@station mnt]# ls              挂载成功
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9
[root@station mnt]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/sda3                18555904 3980808  14575096  22% /
devtmpfs                   915756       0    915756   0% /dev
tmpfs                      931612       0    931612   0% /dev/shm
tmpfs                      931612   10164    921448   2% /run
tmpfs                      931612       0    931612   0% /sys/fs/cgroup
/dev/sda1                  303780  159220    144560  53% /boot
/dev/sr1                  3704296 3704296         0 100% /run/media/root/RHEL-7.3 Server.x86_64
tmpfs                      186324       0    186324   0% /run/user/0
192.168.100.200:/westos  18555904 4269568  14286336  24% /mnt

在客户端看出已经成功挂载,证明挂载成功

二、autofs自动挂载

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

客户端:

(一)、自动挂载
环境配置:df 查看是否有挂载 有的话先卸载掉

[root@station ~]# df  
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/sda3                18555904 3987412  14568492  22% /
devtmpfs                   915756       0    915756   0% /dev
tmpfs                      931612       0    931612   0% /dev/shm
tmpfs                      931612   10172    921440   2% /run
tmpfs                      931612       0    931612   0% /sys/fs/cgroup
/dev/sda1                  303780  159220    144560  53% /boot
/dev/sr1                  3704296 3704296         0 100% /run/media/root/RHEL-7.3 Server.x86_64
tmpfs                      186324       0    186324   0% /run/user/0
192.168.100.200:/westos  18555904 4269568  14286336  24% /mnt
[root@station ~]# umount /mnt
  • 1、下载autofs插件
yum install autofs.x86_64  -y
  • 2、挂载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

< 在不使用的时候自动卸载,设置自动卸载的时间 >

  • 1、编辑配置文件
[root@station westos]# vim  /etc/autofs.conf 

在这里插入图片描述

[root@station ~]# systemctl restart autofs.service 重启服务

  • 2、查看挂载
    重制之后立马df 查看,还在挂载
    在这里插入图片描述

过五秒钟在重新查看就不会存在的了

在这里插入图片描述

(二)修改autofs默认挂载目录
客户端:

  • 1、查看挂载是否成功
[root@station ~]# cd /westos/share             (此目录在服务端建立的)
-bash: cd: /westos/share: No such file or directory     挂载不成功
  • 2、编辑autofs主策略文件
[root@station ~]# vim /etc/auto.master

在这里插入图片描述

  • 3、编辑读取文件
[root@station ~]# vim /etc/auto.westos

在这里插入图片描述

[root@station ~]# systemctl restart autofs.service    重启服务
  • 4、挂载
    在这里插入图片描述

(三)更换挂载版本

  • 1、查看当前版本
[root@station share]# mount

在这里插入图片描述

  • 2、编辑读取文件
[root@station share]# vim /etc/auto.westos 
[root@station share]# cat /etc/auto.westos 
share      -ro,vers=3  192.168.100.200:/westos
systemctl restart autofs.service   重启服务
  • 3、查看版本

mount 查看版本已经更换

三、nfs可写,可读,建立文件属于root用户

(一)nfs可写
(二)指定用户可读
  • 服务端:

  • 编辑读取文件

[root@server share]# vim /etc/exports
[root@server share]# cat  /etc/exports
/westos        *(sync,rw) 192.168.100.200(ro,sync)     让指定的IP只能是可读的状态
  • 刷新
[root@server share]# exportfs -rv
exporting 192.168.100.200:/westos
exporting *:/westos
  • 客户端:
  • 删除文件file1
[root@station share]# rm -rf file1
rm: cannot remove ‘file1’: Read-only file system            因为是只读的状态所以是不可以删除的
(三)建立文件属于root

服务端

root@nfs-desktop ~]# vim /etc/exports
[root@nfs-desktop ~]# exportfs -rv
exporting *:/westos
[root@nfs-desktop ~]# cat  /etc/exports
/westos     *(sync,rw,no_root_squash)###创建的文件属于root用户

客户端

root@nfs-server nfshare]# touch file11
[root@nfs-server nfshare]# ll
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May  6 23:17 file
-rw-r--r-- 1 root      root      0 May  6 21:58 file1
-rw-r--r-- 1 root      root      0 May  6 21:58 file10
-rw-r--r-- 1 root      root      0 May  6 23:45 file11  ##root
-rw-r--r-- 1 root      root      0 May  6 21:58 file2
-rw-r--r-- 1 root      root      0 May  6 21:58 file3
-rw-r--r-- 1 root      root      0 May  6 21:58 file4
-rw-r--r-- 1 root      root      0 May  6 21:58 file5
-rw-r--r-- 1 root      root      0 May  6 21:58 file6
-rw-r--r-- 1 root      root      0 May  6 21:58 file7
-rw-r--r-- 1 root      root      0 May  6 21:58 file8
-rw-r--r-- 1 root      root      0 May  6 21:58 file9

服务端

[root@nfs-desktop ~]# id student  ##查看id
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@nfs-desktop ~]# vim /etc/exports
[root@nfs-desktop ~]# cat  /etc/exports
/westos     *(sync,rw,anonuid=1000,anongid=1000)  ##指定创建的文件属于1000的用户
[root@nfs-desktop ~]# exportfs -rv
exporting *:/westos

猜你喜欢

转载自blog.csdn.net/liuchuang11/article/details/89930832