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

NFS高级网络服务安装配置

NFS简介NFS是NetworkFileSystem的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网

NFS简介

NFSNetworkFileSystem的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用(RemoteProcedure Call)是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPCSERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFSSERVER或者NFSCLIENT。这样SERVERCLIENT才能通过RPC来实现PROGRAMPORT的对应。可以这么理解RPCNFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

安装配置
  1. yum install nfs-utils rpcbind

  2. NFS常用目录

/etc/exports NFS服务的主要配置文件

/usr/sbin/exportfs NFS服务的管理命令

/usr/sbin/showmount 客户端的查看命令

/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值

/var/lib/nfs/xtab 记录曾经登陆过的客户端信息

  1. 主配置文件/etc/exports内容格式

<输出目录>[客户端1选项(访问权限,用户映射,其他)][客户端2选项(访问权限,用户映射,其他)]

输出目录:NFS系统中需要共享给客户端使用的目录

客户端:网络中可以访问这个NFS输出目录的计算机

客户端常用的指定方式:

指定ip地址的主机:10.10.10.251

指定子网中的所有主机:10.10.10.0/24 10.10.10.0/255.255.255.0

指定域名的主机:node1.hbecoop.com

指定域中的所有主机:*.hbecoop.com

所有主机:*

NFS主要的3类选项:

NFS选项

功能描述

访问权限

ro

只读共享

rw

可读可写共享

用户映射

root_squash

屏蔽远程root权限(默认)

no_root_squash

不屏蔽远程root权限

all_squash

屏蔽所有的远程用户权限

no_all_squash

不屏蔽所有的远程用户权限(默认)

anOnuid=xxx

将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

anOngid=xxx

将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx

其他选项

secure

限制客户端只能从小鱼1024tcp/ip端口连接nfs服务器(默认)

insecure

允许客户端从大于1024tcp/ip端口连接nfs服务器

sync

同步写操作

async

异步写操作

wdelay

延迟写操作

no_wdelay

若有写操作则立即执行,应与sync配合使用

subtree

若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置)

no_subtree

即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率

Eg:#vi etc/exports

/var/web/  192.168.0.240(rw,async)

  1. NFS服务的启动与停止

A)启动NFS服务器。为了使NFS服务器能正常工作,需要启动rpcbindnfs两个服务,并且rpcbind一定要先于nfs启动。

#service rpcbind start/status/stop

#service nfs start/status/stop

B)停止NFS服务器。要停止NFS运行时,需要先停止nfs服务再停止rpcbind服务,对于系统中有其他服务(NIS)需要使用时,不需要停止rpcbind服务

  1. NFS端口

NFS端口号:2049

Rpcbind端口号:111

  1. 相关命令

exportfs启动了NFS之后又修改了/etc/exports,不用重启服务

 -a 全部挂载卸载/etc/exports中的内容

 -r 重新读取/etc/exports中的信息,并同步更新/etc/exports,/var/lib/nfs/xtab

 -u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)

 -v export的时候,将详细信息输出到屏幕上

nfsstat:查看NFS运行状态

rpcinfo:查看rpc执行信息,可以用于检测rpc运行情况的工具,利用rpcinfo-p 可以查看出RPC开启的端口所提供的程序有哪些

showmount

-a显示已经于客户端连接上的目录信息

   -eIP或者hostname显示此IP地址分享出来的目录

最后注意事项

可以查看出nfs服务开启的端口,其中nfs开启的是2049portmap开启的是111,其余则是rpc开启的。

最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候默认情况下只有root可以去挂载,普通用户可以执行sudo

NFSserver 关机的时候一点要确保NFS服务关闭,没有客户端处于连接状态!通过showmount-a 可以查看,如果有的话用killkillall pkill 来结束,(-9强制结束)

NFS server端具体操作
  1. 安装

#yuminstall nfs-utils rpcbind
  1. 配置
#vi/etc/exports
/home/zmj 10.10.10.0/24(rw)
  1. 启停服务
#servicenfs/rpcbind start/stop/status
  1. 查询NFS共享状态
#showmount

客户端访问NFS共享
  1. 查看NFS的共享状态

#showmount-e 10.10.10.250

  1. 挂载NFS服务器的共享目录

#mountNFS服务器IP:共享目录本地挂载点目录

#mount10.10.10.250:/home/zmj/home/zmj/test(NFS服务的/home/zmj目录挂载到本地的/home/zmj/test目录上)

  1. 开机自动挂载NFS文件系统

格式:: nfs 0 0

#vi/etc/fstab

10.10.10.250:/home/zmj /home/zmj/test nfs defaults 00

  1. 卸载一挂载的NFS共享目录

#umount/home/zmj/test

删除/etc/fstab中添加的nfs文件系统配置

  1. 强制卸载无法访问的nfs文件系统

#umount-f home/zmj/test


END




推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
author-avatar
1986欠我一个拥抱_567
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有