NFS共享服务搭建笔记


  • 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开机自启动挂载,会在启动过程中停滞,等按照给出的时间走过之后就可以进入系统

优质内容筛选与推荐>>
1、我为什么雇佣家庭主妇做软件测试
2、理解RT-Thead中使用的环形缓冲区 — Buffer Ring
3、JS的循环、复杂运算符
4、L97
5、linux下编码转换iconv


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号