NFS网络文件共享

程序由逻辑和数据组成
ctrl+shift+t 在shell中再加一个shell
实验前的步骤:

配置两个虚拟机的ip,一个名字改为client.westos.com,一个改为server.westos.com(看yum是否能用)
然后在各自的虚拟机里作解析vim /etc/hosts
客户端是
172.25.254.214 client.westos.com
服务端是
172.25.254.114 server.westos.com

文件系统是内核空间的:文件系统在内核上的一个映射
NFS:网络文件系统

sync代表内存数据与硬盘里的数据的是同步的(可靠性高)
Async不实时同步,会使写的效率提高(响应速度快)可靠性低

nfs不需要重启,用参数exportfs -rv更新(重启之后客户端挂载就出问题了,因为重启就有一个空档期,客户端如果在写,就会一直访问,这个时候会出问题,如果客户端不用,可以重启但是不建议。)

####################搭建NFS(实现共享)

在服务端安装(为了实验效果明显,我们采用的是async,)

yum install nfs-utils -y
NFS网络文件共享_第1张图片
systemctl stop firewalld
vim /etc/exports
在里面写入
/mnt 172.25.254.0/24(ro,async) 172.25.254.0/24这个网段都可以映射到,172.25.254.206:/mnt只读挂载,不实时同步
NFS网络文件共享_第2张图片
systemctl start nfs-server
systemctl status nfs-server
exportfs -rv
在这里插入图片描述

NFS网络文件共享_第3张图片
在客户端:

yum install nfs-utils -y
showmount -e 172.25.254.206
clnt_create: RPC: Program not registered (没映射过来,可能是ip不对)
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) (客户端没关防火墙)

NFS网络文件共享_第4张图片
showmount -e 172.25.254.206
Export list for 172.25.254.206:
/mnt 172.25.254.0/24 (映射成功)

NFS网络文件共享_第5张图片

mount 172.25.254.206:/mnt/ /mnt
df (会看到挂载上了)
cd /mnt
ls
touch file (不能建立文件,因为是只读挂载)
touch: cannot touch ‘file’: Read-only file system
cd -
umount /mnt
NFS网络文件共享_第6张图片
##################NFS(管理)

no_root_squash 谁管理用谁的身份并且anonuid不生效(沿用客户端自己的用户身份)
all_squashi 身份全部转换(这个在的时候no_root_squash不生效,anonuid生效,去使用服务端的客户身份,如果不指定anonuid,就沿用服务端的匿名身份)

在服务器:
no_root_squash
vim /etc/exports
在里面写入
/mnt 172.25.254.0/24(rw,async)
NFS网络文件共享_第7张图片
chmod 777 /mnt
exportfs -rv

NFS网络文件共享_第8张图片
在服务端:

useradd lee
id lee(此时的uid和gid是1001)
vim /etc/exports
在里面写入

NFS网络文件共享_第9张图片

/mnt 172.25.254.0/24(rw,async,anonuid=1001,anongid=1001)

exportfs -rv
NFS网络文件共享_第10张图片
在客户端
如果刚才挂载了就不用管,直接进入/mnt
cd /mnt
touch file1(此时在客户端看见的用户和用户组是1001,因为客户端没有这个用户,在服务端看见的是lee)

NFS网络文件共享_第11张图片
这时我们想让沿用客户端自己的用户身份
vim /etc/exports
在里面写入
/mnt 172.25.254.0/24(rw,async,anonuid=1001,anongid=1001,no_root_squash)

exportfs -rv
NFS网络文件共享_第12张图片

NFS网络文件共享_第13张图片
在客户端
如果刚才挂载了就不用管,直接进入/mnt
cd /mnt
touch file2(此时在客户端建立文件的是root用户,看见的用户和用户组是root
也可以chmod 777 /mnt

NFS网络文件共享_第14张图片

NFS网络文件共享_第15张图片

su - student
cd /mnt
touch file3(此时在客户端建立文件的是student用户,看见的用户和用户组是student)

exit

NFS网络文件共享_第16张图片
###############NFS的(系统和存储分离)

让客户端自行连接或者断开()

做这个实验前先/umount /mnt
在客户端:
yum install autofs -y (安装完会看到autofs软件包的具体信息)
rpm -qc autofs.x86_64 1:5.0.7-40.el7去查看它的配置文件

7.0以及7.0之前redhat版本/etc/sysconfig/autofs
7.1renhat版本或者autofs软件包5/6以上,以后的文件就是/etc/autofs.conf

NFS网络文件共享_第17张图片
vim/etc/sysconfig/autofs
将时间修改为10秒(方便实验) autofs(默认三百秒)
NFS网络文件共享_第18张图片

NFS网络文件共享_第19张图片
ll -d /net/此时没有这个目录
systemctl start autofs.service
systemctl enable autofs.service

ll -d /net/ 有了这个目录
NFS网络文件共享_第20张图片
cd /net/172.25.254.206/mnt/
ls 查看到了东西
df 发现自动挂载上了

NFS网络文件共享_第21张图片
cd - (退出这个目录,相当于不用了)
十秒过后,在去查看
df (发现自动卸载了)
NFS网络文件共享_第22张图片
#######################更改共享目录挂载点,以及什么人进什么挂载目录#####

更改共享目录挂载点,想要将172.25.254.114:/mnt挂载点修改为/mnt/westos

修改主策略文件:vim /etc/auto.master

NFS网络文件共享_第23张图片
在这个加入以下内容
/mnt /etc/auto.nfs (/mnt是挂载目录的上一层目录,子策略文件名称可以自定义,比如/etc/westos.lee,但是为了规范,我们写成/etc/auto.nfs )
NFS网络文件共享_第24张图片
vim /etc/auto.nfs 子策略文件(挂载参数在子策略文件指定)
在里面可以写入

westos 172.25.254.206:/mnt

systemctl restart autofs.server

NFS网络文件共享_第25张图片
此时进入cd /mnt/westos
df
发现挂载点变成了/mnt/westos
再退出,十秒之后自动卸载

mount
发现是只读挂载,vers=3
再退出,十秒之后自动卸载
NFS网络文件共享_第26张图片
################什么人进什么挂载目录#####
在服务器的/mnt建立westos{1…3}

NFS网络文件共享_第27张图片

NFS网络文件共享_第28张图片
vim /etc/auto.nfs 在里面写入

  • -ro,vers=3 172.25.254.206:/mnt/&

systemctl restart autofs.server

NFS网络文件共享_第29张图片
cd /mnt/westos1
df
发现172.25.254.206:/mnt/westos1 挂载在/mnt/westos1上

cd /mnt/westos2
df
发现172.25.254.206:/mnt/westos2 挂载在/mnt/westos2上

westos3同理

退出这个目录,十秒之后自动卸载

NFS网络文件共享_第30张图片

NFS网络文件共享_第31张图片

你可能感兴趣的:(NFS网络文件共享)