nfs搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nfs搭建相关的知识,希望对你有一定的参考价值。

技术图片

技术图片

NFS------网络文件系统。主要功能是通过网络(一般局域网)让不同的主机系统之间可以共享文件或目录。
NFS端口不固定

NFS工作流程:
①先启动RPC服务
②启动NFS服务,自动向RPC注册
③客户端请求NFS服务
④RPC返回IP端口
⑤客户端拿着IP端口请求数据

修改yum.conf 记录rpm文件
[root@ntf-backup ~]# sed  -i ‘s#keepcache=0#keepcache=1#g‘ /etc/yum.conf
安装nfs安装包
[root@ntf-backup ~]# yum -y install nfs-utils rpcbind
[root@nfs-server ~]# rpm -aq nfs-utils rpcbind

nfs-utils-1.2.3-78.el6.x86_64
rpcbind-0.2.0-16.el6.x86_64
[root@nfs-server ~]# /etc/init.d/rpcbind start          (要先启动rpc,再启动nfs)
正在启动 rpcbind:                                         [确定]
[root@nfs-server ~]# netstat -ntpau|grep rpcbind
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1425/rpcbind        
tcp        0      0 :::111                      :::*                        LISTEN      1425/rpcbind        
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1425/rpcbind        
udp        0      0 0.0.0.0:752                 0.0.0.0:*                               1425/rpcbind        
udp        0      0 :::111                      :::*                                    1425/rpcbind        
udp        0      0 :::752                      :::*                                    1425/rpcbind        
[root@nfs-server ~]# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
[root@nfs-server ~]# /etc/init.d/nfs
nfs      nfslock  
[root@nfs-server ~]# /etc/init.d/nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
[root@nfs-server ~]# rpcinfo -p localhost 
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  36426  mountd
    100005    1   tcp  43685  mountd
    100005    2   udp  58343  mountd
    100005    2   tcp  39429  mountd
    100005    3   udp  45346  mountd
    100005    3   tcp  38027  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  35376  nlockmgr
    100021    3   udp  35376  nlockmgr
    100021    4   udp  35376  nlockmgr
    100021    1   tcp  37467  nlockmgr
    100021    3   tcp  37467  nlockmgr
    100021    4   tcp  37467  nlockmgr
开机自启动:
[root@nfs-server ~]# chkconfig nfs on
[root@nfs-server ~]# chkconfig rpcbind on

NFS共享的目录:为NFS服务端要共享的实际目录,要用绝对路径,如(/data)。注意共享目录的本地权限,如果
需要读写共享,一定要让本地目录可以被NFS客户端用户nfsnobody读写。

NFS客户端地址:为NFS服务端授权的可访问共享目录的NFS客户端地址,可以为单独的IP地址或主机名、域名等也可以为整个网段地址
,还可以用“*”来匹配所有客户端服务器,这里所谓的客户端一般来说是前端的业务服务器。

[root@nfs-server ~]# mkdir /data -p
  oot@nfs-server ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) 组=65534(nfsnobody)
[root@nfs-server ~]# chown -R nfsnobody.nfsnobody /data
[root@nfs-server ~]# ll /data
总用量 12
drwxr-xr-x 5 nfsnobody nfsnobody 4096 8月   2 22:17 oldboy
drwxr-xr-x 7 nfsnobody nfsnobody 4096 8月   2 22:51 test
drwxr-xr-x 7 nfsnobody nfsnobody 4096 8月   6 21:33 www
[root@nfs-server ~]# vim /etc/exports
  1 #share /data for lihao at 2018/8/28
  2 /data 172.16.10.0/24(rw,sync)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
"/etc/exports" 2L, 66C 已写入                                 
[root@nfs-server ~]# cat /etc/exports
#share /data for lihao at 2018/8/28
/data 172.16.10.0/24(rw,sync)
[root@nfs-server ~]# /etc/init.d/rpcbind status 
rpcbind (pid  1425) 正在运行...
[root@nfs-server ~]# /etc/init.d/nfs status    
rpc.svcgssd 已停
rpc.mountd (pid 1465) 正在运行...
nfsd (pid 1480 1479 1478 1477 1476 1475 1474 1473) 正在运行...
[root@nfs-server ~]# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  36426  mountd
    100005    1   tcp  43685  mountd
    100005    2   udp  58343  mountd
    100005    2   tcp  39429  mountd
    100005    3   udp  45346  mountd
    100005    3   tcp  38027  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  35376  nlockmgr
    100021    3   udp  35376  nlockmgr
    100021    4   udp  35376  nlockmgr
    100021    1   tcp  37467  nlockmgr
    100021    3   tcp  37467  nlockmgr
    100021    4   tcp  37467  nlockmgr 
[root@nfs-server ~]# /etc/init.d/nfs reload   
[root@nfs-server ~]# showmount -e 172.16.10.10
Export list for 172.16.10.10:
/data 172.16.10.0/24
####服务端已经配置完成#######
####客户端配置#####
[root@web ~]# showmount -e 172.16.10.10
Export list for 172.16.10.10:
/data 172.16.10.0/24
[root@web ~]# mount -t nfs 172.16.10.10:/data /mnt
[root@web mnt]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda2            18G  1.1G   16G   7% /
tmpfs               495M     0  495M   0% /dev/shm
/dev/sda1           194M   28M  157M  15% /boot
172.16.10.10:/data   18G  1.2G   16G   8% /mnt  (提示挂载成功)
##测试##
[root@web ~]# cd /mnt
[root@web mnt]# ls
oldboy  test  www
[root@web mnt]# touch test.txt
[root@web mnt]# echo "1123" >test.txt 

[root@nfs-server ~]# cd /data
[root@nfs-server data]# ls
oldboy  test  test.txt  www
[root@nfs-server data]# cat test.txt 
1123
###完成##

NFS客户端:
①检查系统版本
hostname nfs-
cat /etc/redhat-release
uname -r
②安装rpc服务检查
rpm -aq nfs-utils rpcbind
yum -y install nfs-utils rpcbind
③启动rpc服务并检查
/etc/init.d/rpcbind start
/etc/init.d/rpcbind status
④设置开机自启动并检查
chkconfig rpcbind on
chkconfig --list rpcbind
⑤检查服务端的NFS是否OK
showmount -e 172.16.10.10
排查故障:
1.物理故障 ping 172.16.10.10
2.端口是否开通
Telnet 172.16.10.10 111(注意:防火墙是否开启阻挡)
⑥挂载并测试
mount -t nfs 172.16.10.10:/data /mnt

服务端配置
①检查系统版本
hostname nfs-
cat /etc/redhat-release
uname -r
②安装rpc服务检查
rpm -aq nfs-utils rpcbind
yum -y install nfs-utils rpcbind
③启动rpc和NFS服务并检查
/etc/init.d/rpcbind start
/etc/init.d/rpcbind status
rpcinfo -p localhost
/etc/init.d/nfs start
rpcinfo -p localhost
④设置开机自启动并检查
chkconfig rpcbind on
chkconfig --list rpcbind
chkconfig nfs on
chkconfig --list nfs
⑤配置共享/data目录
cat >>/etc/exports<<EOF
#shared data for bbs by lihao at 2018/8/31
/data 172.16.10.10/24(rw,sync)
EOF
cat /etc/exports
⑥创建共享目录
mkdir /data
chown -R nfsnobody.nfsnobody /data
⑦平滑加载NFS服务并检查
/etc/init.d/nfs reload
showmount -e 172.16.10.10

以上是关于nfs搭建的主要内容,如果未能解决你的问题,请参考以下文章

NFS应用场景及环境搭建

搭建nfs共享存储服务之一nfs服务端搭建

NFS服务搭建与配置

Linux下的NFS搭建配置

基于NFS v4版本搭建NFS服务器

Linux 环境下搭建NFS服务