-
NFS 网络文件系统(Network File System)
网络文件共享服务,主要是局域网
通过网络让不同主机之间共享文件或目录。一台服务器,其他叫客户端(缺点:单点故障) -
NFS应用场景
存储共享视频、图片、附件等静态资源文件,一般由用户上传,并存储到NFS共享服务器上;
评论、博文、帖子等文本存放在数据库服务器里
NFS的初始端口是2049,rpcbind初始端口是111
因为NFS需要向RPC注册才能正常提供服务,所以一定要先启动RPC服务,再启动NFS服务
NFS工作原理
-
服务端
1,查看系统版本
[root@nfs01:~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@nfs01:~]# uname -r
3.10.0-957.27.2.el7.x86_64
[root@nfs01:~]# uname -m
x86_64
2,查询服务是否安装:
[root@nfs01:~]rpm -qa rpcbind nfs-utils
[root@nfs01:~]yum install rpcbind nfs-utils -y
nfs-utils-1.3.0-0.61.el7.x86_64
rpcbind-0.2.0-47.el7.x86_64
3,配置nfs配置文件,NFS默认配置文件路径:/etc/exports
[root@nfs01:~]# vim /etc/exports
/data 10.0.0.0/24(rw,sync)
4,创建存储目录并给目录授权(默认安装nfs会创建系统用户)
[root@nfs01:~]# grep "nfs" /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
[root@nfs01:~]# mkdir -p /data
[root@nfs01:~]# chown -R nfsnobody.nfsnobody /data
5,因为NFS需要向RPC注册才能正常提供服务,所以一定要先启动RPC服务,再启动NFS服务(rpc默认安装好就启动了)
[root@nfs01:~]# systemctl start nfs.service
6,查看服务启动状态
[root@nfs01:~]# netstat -tunlp|grep -E "rpc|nfs|111"
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 2783/rpc.mountd
tcp 0 0 0.0.0.0:54134 0.0.0.0:* LISTEN 2475/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::20048 :::* LISTEN 2783/rpc.mountd
tcp6 0 0 :::51477 :::* LISTEN 2475/rpc.statd
udp 0 0 127.0.0.1:955 0.0.0.0:* 2475/rpc.statd
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 0.0.0.0:41531 0.0.0.0:* 2475/rpc.statd
udp 0 0 0.0.0.0:20048 0.0.0.0:* 2783/rpc.mountd
udp 0 0 0.0.0.0:743 0.0.0.0:* 2264/rpcbind
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 :::44316 :::* 2475/rpc.statd
udp6 0 0 :::20048 :::* 2783/rpc.mountd
udp6 0 0 :::743 :::* 2264/rpcbind
或
[root@nfs01:~]# systemctl status rpcbind
[root@nfs01:~]# systemctl status nfs
或
[root@nfs01:~]# rpcinfo -p 10.0.0.31
7,查看挂载信息
[root@nfs01:~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/data 10.0.0.0/24
-
客户端
1,挂载并通过mount或df -h查看挂载信息
[root@web01:~]# mount -t nfs 10.0.0.31:/data /mnt/
[root@web01:~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 5.6G 14G 30% /
devtmpfs 900M 0 900M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.7M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 253M 158M 96M 63% /boot
tmpfs 182M 0 182M 0% /run/user/0
tmpfs 182M 0 182M 0% /run/user/1004
10.0.0.31:/data 19G 2.0G 18G 11% /mnt
[root@web01:~]# mount|grep "10.0.0.31"(默认配置参数)
10.0.0.31:/data on /mnt type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.7,local_lock=none,addr=10.0.0.31)
NFS服务端挂了,如果客户端配置了nfs开机自启动挂载,会在启动过程中停滞,等按照给出的时间走过之后就可以进入系统