Linux—NFS服务器

一、NFS服务器

1.介绍

NFS(Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同的计算机,不同的操作系统)之间通过TCP/IP网络共享资源。它最大的功能就是可以通过网络,让不同的网络,不同的操作系统可以共享彼此的文件

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。

1)同一挂载点可以连接多个设备
2)一个设备可以连接多个挂载点

2. NFS工作原理

在这里插入图片描述

(1)首先服务器端启动RPC服务,并开启111端口
(2)服务器端启动NFS服务,并向RPC注册端口信息
(3)客户端启动RPC(portmap服务),向服务端的RPC服务请求服务端的RPC端口
(4)服务端的RPC服务反馈NFS端口信息给客户端
(5)客户端通过获取NFS端口来建立和服务端的NFS连接并进行数据的传输

二、NFS服务器搭建

这里以服务端:192.168.10.100 客户端:192.168.10.200为例

服务端:
1.装包:nfs-utils-2.3.3-26.el8.x86_64
rpcbind-1.2.5-4.el8.x86_64

在这里插入图片描述

在这里插入图片描述

2.启服务
[root@server ~]# systemctl restart nfs-server

3.改配置  /etc/exports

配置主要有三个参数,共享目录、共享主机和权限

共享主机:
(1)192.168.152.13 指定IP地址的主机
(2)nfsclient.test.com 指定域名的主机
(3)192.168.1.0/24 指定网段中的所有主机
(4)*.test.com 指定域下的所有主机
(5)* 所有主机

权限:
(1)ro 只读访问
(2)rw 读写访问
(3)sync   async   前者前者代表数据会同步到内存与硬盘中,async则代表数据会先暂存于内存当中,而非直接写入硬盘
(4)root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

(5)no_root_squas root用户具有根目录的完全管理访问权限
(6)all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

(7)no_all_squash 保留共享文件的UID和GID(默认)
(8)anonuid/gid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID或GID

在这里插入图片描述

4.创建对应资源文件
[root@server ~]# mkdir /public
[root@server ~]# touch /public/{1..10}

5.exportfs -ra

客户端测试

1.[root@client ~]# showmount -e 192.168.10.100

在这里插入图片描述

2.创建挂载目录挂载
[root@client ~]# mkdir /pub
[root@client ~]# mount 192.168.10.100:/public /pub

三、autofs自动挂载服务

AutoFs服务与mount/umount命令不同在与它是处于一种守护进程,只有检测到用户试图访问一个尚未挂载的文件系统时,会自动检测并挂载该文件系统,也就是说,将挂载信息写入/etc/fstab文件后将会在每次开机都会启动时都会将其挂载,而运行AutoFs后则是,当需要使用该文件系统了才会的动态挂载,节约了网络与系统资源。

NFS服务端配置(192.168.10.100)

1.创建nfs共享文件
[root@server ~]# mkdir -p /nfsfile/test
[root@server ~]# echo "i really is 栓q" > /nfsfile/test/file

2.NFS服务端配置文件 “etc/exports”,用于定义共享的目录及权限 
[root@server ~]# vim /etc/exports
#共享目录     共享主机(权限)
/nfsfile/test *(rw,sync,root_squash)

3.启动nfs-server,rpcbind
[root@server ~]# systemctl  start nfs-server
[root@server ~]# systemctl  start rpcbind

NFS客户端配置(192.168.10.200)

1.使用showmount命令查询NFS服务端共享信息(格式为:“showmount”  [参数] [远程主机])

在这里插入图片描述

[root@client ~]# showmount -e 192.168.10.100
Export list for 192.168.10.100:
/nfsfile/test *

2.创建本地挂载目录
[root@client ~]# mkdir /nfsfile
#挂载远程主机nfsfile目录
[root@client ~]# mount 192.168.10.100:/nfsfile /nfsfile
[root@client ~]# cat /nfsfile/test/file 
i really is 栓q

使用autofs自动挂载

配置主配置文件

1.安装autofs
[root@client ~]# yum install autofs -y

2.	[root@client ~]# vim /etc/auto.master
/nfsfile  /etc/test.misc   #添加内容

在这里插入图片描述

配置子配置文件

3.[root@client ~]# vim /etc/test.misc
test  -rw 192.168.10.100:/nfsfile

4.重启autofs
[root@client ~]# systemctl restart autofs
[root@client ~]# exportfs -ra
[root@client ~]# df -h

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/FlightDiarys/article/details/131888584
今日推荐