热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nfs网络共享服务基础

nfs原理1.开启RPC服务2.NFS向RPC服务注册启动的端口3.用户向RPC询问NFS服务的端口4.RPC返回端口给客户端5.客户端通过获得的端口与NFS服务器进行数据传输实验步骤一、准备1.
nfs原理

 1.开启RPC服务

2.NFS向RPC服务注册启动的端口

3.用户向RPC询问NFS服务的端口

4.RPC返回端口给客户端

5.客户端通过获得的端口与NFS服务器进行数据传输

 

实验步骤

一、准备

1.检查系统版本信息

2.检查是否安装nfs和rpc服务

3.安装服务

二、配置

1.启动rpc服务和nfs服务

2.查看nfs是否有向rpc注册端口

3.设置开机自启动

4.编辑nfs配置文件,并重启服务

5.在客户端进行挂载

三、测试

1.测试客户端与服务端的连通性

2.在分享目录内创建文件并在客户机上测试

 

详细配置:

注意:关闭selinux和iptables

服务端:

检查系统版本

[root@nfsclient ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@nfsclient ~]# uname -r
2.6.32-642.el6.x86_64
[root@nfsclient ~]# uname -m
x86_64

检查是否安装服务

[root@nfsserver ~]#  rpm -aq nfs-utils rpcbind

安装服务

#这里可以有两种方法,一种是正常yum安装,另一种是yum组安装
#分别在服务端和客户端使用这两种方法
[root@nfsserver ~]# yum install nfs-utils rpcbind -y

启动rpc服务

#必须先开启rpc服务,在开启nfs服务,否则nfs服务会启动不了,并且可能会发生错误

[root@nfsserver ~]# /etc/init.d/rpcbind restart
Stopping rpcbind: [ OK ]
Starting rpcbind: [ OK ]
[root@nfsserver ~]# ps -ef |grep rpc
rpcuser 1258 1 0 18:36 ? 00:00:00 rpc.statd
rpc 1630 1 0 18:53 ? 00:00:00 rpcbind
root 1634 1546 0 18:54 pts/0 00:00:00 grep --color=auto rpc

#检查nfs是否有向rpc注册端口
[root@nfsserver ~]# 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
#此处结果显示表示rpc自己使用的端口

[root@nfsserver ~]# rpcinfo -p localhost
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
#此处即为rpc没有开启而产生的报错

开启nfs服务

[root@nfsserver ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@nfsserver ~]# 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 44683 mountd
100005 1 tcp 53742 mountd
100005 2 udp 45815 mountd
100005 2 tcp 37259 mountd
100005 3 udp 43988 mountd
100005 3 tcp 48220 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 43032 nlockmgr
100021 3 udp 43032 nlockmgr
100021 4 udp 43032 nlockmgr
100021 1 tcp 52980 nlockmgr
100021 3 tcp 52980 nlockmgr
100021 4 tcp 52980 nlockmgr
#这种输出才是nfs向rpc注册端口后的结果,由于nfs提供多种服务,所以会申请多个端口
#还可以在/etc/sysconfig/nfs中设定监听端口,便于iptbales的书写
echo"LOCKD_TCPPORT=32803" >>/etc/sysconfig/nfs

将rpc和nfs设置为开机自启动

[root@nfsserver ~]# chkconfig nfs on
[root@nfsserver ~]# chkconfig rpcbind on
[root@nfsserver ~]# chkconfig --list nfs
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@nfsserver ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#其实查看/etc/init.d/nfs | rpcbind即可得知,rpc于nfs先启动,后关闭

配置nfs服务并重启

[root@nfsserver ~]# mkdir /data
[root@nfsserver data]# chown -R nfsnobody.nfsnobody /data/
#如果没有修改共享目录的属主,则可能会出现如下报错
#touch: cannot touch `hehe': Permission denied
#实际上nfs在开启服务后会自动创建nfsnobody这个用户,可在/var/lib/nfs/etab 查看默认设置

[root@nfsserver ~]# cat /etc/exports
##share my miss for glx at 2017/09/13
/data 192.168.1.0/24(rw,sync)
[root@nfsserver ~]# /etc/init.d/nfs reload
#ps:reload平滑重启不会影响正在访问客户

#重启后检查
[root@nfsserver ~]# showmount -e localhost
Export list for localhost:
/data 192.168.1.0/24
#ps:如果出现clnt_create: RPC: Program not registered错误,则是rpc和nfs的启动顺序出错,将两者都停止并按fpc,nfs顺序重新启动即可

 

客户端:

安装服务

[root@nfsclient ~]# yum groupinstall "NFS file server" -y
#其实这个安装包组中包含了nfs及rpc,实际上客户端只需要rpc即可

启动rpc服务,并设置成开机自启动

[root@nfsclient ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@nfsclient ~]# chkconfig rpcbind on
[root@nfsclient ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off

测试与服务端的连通性

[root@nfsclient ~]# ping 192.168.1.111
[root@nfsclient ~]# telnet 192.168.1.111 111

挂载共享目录到本地

[root@nfsclient ~]# mount -t nfs 192.168.1.111:/data /mnt
[root@nfsclient ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 7.1G 907M 5.9G 14% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 190M 30M 150M 17% /boot
/dev/sr0 3.7G 3.7G 0 100% /media/cd
192.168.1.111:/data 12G 2.0G 8.9G 19% /mnt

#这样挂载重启就会失效,所以如果对安全没特别要求可写入/etc/fstab中
#或者echo "mount -t nfs 192.168.1.111:/data /mnt" >> /etc/rc.local

  

 


推荐阅读
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
author-avatar
手机用户2502857587
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有