博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NFS服务搭建与配置
阅读量:4707 次
发布时间:2019-06-10

本文共 9091 字,大约阅读时间需要 30 分钟。

 

       启动NFS SERVER之前,首先要启动RPC服务(CentOS5.8下为portmap服务,CentOS6.6下为rpcbind服务,下同),否则NFS SERVER就无法向RPC服务注册了。另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会丢失,因此,此时RPC服务管理的NFS程序也需要重新启动以重新向RPC注册。要特别注意的是,一般修改NFS配置文件后,是不需要重启NFS的,直接在命令行执行 /etc/init.d/nfs reload 或 exportfs -rv 即可使修改的 /etc/exports 生效。

 

1. NFS服务端搭建

1.1. 安装NFS和rpc 【服务端、客户端都安装】

1 [root@backup ~]# rpm -qa nfs-utils rpcbind2 [root@backup ~]# yum install nfs-utils rpcbind -y    #nfs需要的安装包3 [root@backup ~]# rpm -qa nfs-utils rpcbind4 nfs-utils-1.2.3-64.el6.x86_645 rpcbind-0.2.0-11.el6_7.x86_64

 

1.2. 查看用户信息

1 [root@nfs01 ~]# tail /etc/passwd 2 haldaemon:x:68:68:HAL daemon:/:/sbin/nologin 3 ntp:x:38:38::/etc/ntp:/sbin/nologin 4 saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin 5 postfix:x:89:89::/var/spool/postfix:/sbin/nologin 6 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 7 tcpdump:x:72:72::/:/sbin/nologin 8 oldboy:x:500:500::/home/oldboy:/bin/bash 9 rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin        #yum安装rpc服务时创建的10 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin        #yum安装rpc服务时创建的11 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin    #yum安装nfs服务时创建的

 

1.3. 配置exports

1 [root@nfs01 ~]# mkdir /data 2 [root@nfs01 ~]# ll -d /data/ 3 drwxr-xr-x. 3 root root 4096 Apr 11 09:49 /data/ 4 [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data/     5 [root@nfs01 ~]# ll -d /data/                        6 drwxr-xr-x. 3 nfsnobody nfsnobody 4096 Apr 11 09:49 /data/ 7 [root@nfs01 ~]# cat /etc/exports     8 # share /data for web created by zhangliang at 2016-05-21 9 /data   172.16.1.0/24(rw,sync)10 #172.16.1.0/24(rw,sync) 没有空格

 

1.4. 启动rpcbind服务

1 [root@nfs01 ~]# /etc/init.d/rpcbind start     2 [root@nfs01 ~]# netstat -anp | grep 'rpc'     3 tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1346/rpcbind         4 tcp        0      0 0.0.0.0:38420               0.0.0.0:*                   LISTEN      1368/rpc.statd       5 tcp        0      0 :::13894                    :::*                        LISTEN      1368/rpc.statd       6 tcp        0      0 :::111                      :::*                        LISTEN      1346/rpcbind         7 udp        0      0 0.0.0.0:673                 0.0.0.0:*                               1346/rpcbind         8 udp        0      0 127.0.0.1:703               0.0.0.0:*                               1368/rpc.statd       9 udp        0      0 0.0.0.0:15306               0.0.0.0:*                               1368/rpc.statd      10 udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1346/rpcbind        11 udp        0      0 :::673                      :::*                                    1346/rpcbind        12 udp        0      0 :::50537                    :::*                                    1368/rpc.statd      13 udp        0      0 :::111                      :::*                                    1346/rpcbind        14 unix  2      [ ACC ]     STREAM     LISTENING     10120  1346/rpcbind        /var/run/rpcbind.sock15 unix  2      [ ]         DGRAM                    10207  1368/rpc.statd      16 [root@nfs01 ~]# rpcinfo -p localhost    17    program vers proto   port  service18     100000    4   tcp    111  portmapper19     100000    3   tcp    111  portmapper20     100000    2   tcp    111  portmapper21     100000    4   udp    111  portmapper22     100000    3   udp    111  portmapper23     100000    2   udp    111  portmapper24     100024    1   udp  15306  status25     100024    1   tcp  38420  status26 #### 由上可知,暂时只有自己的端口服务,没有其他的

 

1.5. 启动NFS

1 [root@nfs01 ~]# /etc/init.d/nfs start     2 Starting NFS services:                                     [  OK  ] 3 Starting NFS quotas:                                       [  OK  ] 4 Starting NFS mountd:                                       [  OK  ] 5 Starting NFS daemon:                                       [  OK  ] 6 正在启动 RPC idmapd:                                      [确定] 7 [root@nfs01 ~]# rpcinfo -p localhost     8    program vers proto   port  service 9     100000    4   tcp    111  portmapper10     100000    3   tcp    111  portmapper11     100000    2   tcp    111  portmapper12     100000    4   udp    111  portmapper13     100000    3   udp    111  portmapper14     100000    2   udp    111  portmapper15     100024    1   udp  15306  status16     100024    1   tcp  38420  status17     100011    1   udp    875  rquotad18     100011    2   udp    875  rquotad19     100011    1   tcp    875  rquotad20     100011    2   tcp    875  rquotad21     100005    1   udp  11473  mountd22     100005    1   tcp  62369  mountd23     100005    2   udp  17528  mountd24     100005    2   tcp  47308  mountd25     100005    3   udp  11312  mountd26     100005    3   tcp  51724  mountd27     100003    2   tcp   2049  nfs28     100003    3   tcp   2049  nfs29     100003    4   tcp   2049  nfs30     100227    2   tcp   2049  nfs_acl31     100227    3   tcp   2049  nfs_acl32     100003    2   udp   2049  nfs33     100003    3   udp   2049  nfs34     100003    4   udp   2049  nfs35     100227    2   udp   2049  nfs_acl36     100227    3   udp   2049  nfs_acl37     100021    1   udp  25181  nlockmgr38     100021    3   udp  25181  nlockmgr39     100021    4   udp  25181  nlockmgr40     100021    1   tcp  20093  nlockmgr41     100021    3   tcp  20093  nlockmgr42     100021    4   tcp  20093  nlockmgr

 

1.6. 加入开始自启动

1.6.1. 使用 /etc/rc.local

1 [root@nfs01 ~]# tail /etc/rc.local     2 # You can put your own initialization stuff in here if you don't 3 # want to do the full Sys V style init stuff. 4  5 touch /var/lock/subsys/local 6  7  8 # start rpc and nfs server 9 /etc/init.d/rpcbind start10 /etc/init.d/nfs start

 

1.6.2. 使用chkconfig

1 [root@nfs01 ~]# chkconfig rpcbind on    2 [root@nfs01 ~]# chkconfig nfs on    3 [root@nfs01 ~]# ls /etc/rc.d/rc3.d/* | grep -E 'rpc|nfs'  4 /etc/rc.d/rc3.d/K61nfs-rdma5 /etc/rc.d/rc3.d/K69rpcsvcgssd6 /etc/rc.d/rc3.d/S13rpcbind7 /etc/rc.d/rc3.d/S14nfslock8 /etc/rc.d/rc3.d/S19rpcgssd9 /etc/rc.d/rc3.d/S30nfs

 

查看rpc服务和NFS服务的开机启动顺序

1 [root@nfs01 ~]# head /etc/init.d/rpcbind  2 #! /bin/sh 3 # 4 # rpcbind       Start/Stop RPCbind 5 # 6 # chkconfig: 2345 13 87                    #运行级别  开机顺序  关机顺序【其中 2345 指的是 运行级别】 7 # description: The rpcbind utility is a server that converts RPC program \ 8 #              numbers into universal addresses. It must be running on the \ 9 #              host to be able to make RPC calls on a server on that machine.10 #11 # processname: rpcbind12 [root@nfs01 ~]# head /etc/init.d/nfs    13 #!/bin/sh14 #15 # nfs           This shell script takes care of starting and stopping16 #               the NFS services.17 #18 # chkconfig: - 30 6019 # description: NFS is a popular protocol for file sharing across networks.20 #              This service provides NFS server functionality, which is \21 #              configured via the /etc/exports file.22 # probe: true

 

1.7. 查看有哪些参数生效

1 [root@nfs01 ~]# cat /var/lib/nfs/etab 2 /data   172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

 

1.8. 检查是否成功

1 [root@nfs01 ~]# showmount -e 172.16.1.31    2 Export list for 172.16.1.31:3 /data 172.16.1.0/24

 

 

2. NFS客户端配置

2.1. 开始rpcbind服务

1 [root@web01 ~]# /etc/init.d/rpcbind start        2 Starting rpcbind:                                          [  OK  ]

 

2.2. 检查共享信息

1 [root@web01 ~]# showmount -e 172.16.1.31    2 Export list for 172.16.1.31:3 /data 172.16.1.0/24

 

2.3. NFS挂载

1 [root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt

 

2.4. 查看挂载信息

1 [root@web01 ~]# df -h        #有时可能会被卡主2 Filesystem         Size  Used Avail Use% Mounted on3 /dev/sda3          8.8G  1.5G  6.9G  18% /4 tmpfs              495M     0  495M   0% /dev/shm5 /dev/sda1          190M   40M  141M  23% /boot6 172.16.1.31:/data  8.8G  1.5G  6.9G  18% /mnt

或者

1 [root@web01 ~]# cat /proc/mounts                     # 优先使用,监控时使用该命令 2 rootfs / rootfs rw 0 0 3 proc /proc proc rw,relatime 0 0 4 sysfs /sys sysfs rw,relatime 0 0 5 devtmpfs /dev devtmpfs rw,relatime,size=490920k,nr_inodes=122730,mode=755 0 0 6 devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0 7 tmpfs /dev/shm tmpfs rw,relatime 0 0 8 /dev/sda3 / ext4 rw,relatime,barrier=1,data=ordered 0 0 9 /proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 010 /dev/sda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 011 none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 012 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 013 172.16.1.31:/data/ /mnt nfs4 rw,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.8,minorversion=0,local_lock=none,addr=172.16.1.31 0 0

 

2.5. 测试

在客户端和服务端之间测试

  1、客户端创建文件并且输入数据,在服务端是否可以查看

  2、服务端创建文件并且输入数据,在客户端是否可以查看

  3、在服务端删除客户端创建的文件

  4、在客户端删除服务端创建的文件

 

2.6. 加入开机自启动

1 [root@web01 mnt]# tail -3 /etc/rc.local    2 3 # mount nfs4 mount -t nfs 172.16.1.31:/data /mnt

 

转载于:https://www.cnblogs.com/zhanglianghhh/p/9230045.html

你可能感兴趣的文章
.NET CORE TOKEN 权限验证
查看>>
.Net Core 中间件之主机地址过滤(HostFiltering)源码解析
查看>>
Lucene.Net 2.3.1开发介绍 —— 一、接触Lucene.Net
查看>>
java PDF分页打印
查看>>
数链剖分小结
查看>>
应用nslookup命令查看A记录、MX记录、CNAME记录和NS记录
查看>>
APT攻击
查看>>
做衡八的日子(转自VFleaking)
查看>>
day7.条件和循环
查看>>
(转)log4j(二)——如何控制日志信息的输出?
查看>>
JavaScript简介
查看>>
php.ini中safe_mode开启对PHP系统函数的影响
查看>>
gdb
查看>>
字符串与整数、浮点数、无符号整数之间的转换常用函数
查看>>
ubuntu清理旧内核
查看>>
有关UIImageView+AFNetworking 下载图片的线程问题
查看>>
Node之安装篇
查看>>
Android的Animation之LayoutAnimation使用方法
查看>>
二分图最大匹配算法-Hopcroft-Karp模板
查看>>
发布和订阅的删除
查看>>