Linux NFS机制工作原理及实例解析_Linux

来源:脚本之家  责任编辑:小易  

NFS(Network File System)即网络文件系2113统5261,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间4102共享资源。在NFS的应用中,本1653地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS最显而易见的优点:1、节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。2、用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。3、一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。扩展资料:NFS 有很多实际应用。下面是比较常见的四点:1、多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。2、在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。3、不同客户端可在NFS上观看影视文件,节省本地空间。4、在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下。NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。参考资料来源:百度百科-NFS百度百科-linux,NFS(Network File System)即网络文件系统,它允许2113网络中5261的计算机之间通过TCP/IP网络共享资源。在NFS的应4102用中,本地1653NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。最早由sun公司开发,是类unix系统间实现磁盘共享的一种方法。缺点:1:nfs属于本地文件系统,在高并发场景和大存储量下,需要使用分布式存储mfs,  FastDFS, tfs(taobao)等。2:客户端的数据都是通过明文传送。客户端没有用户认证机制,安全性能一般,所以建议一般在局域网内使用。3:容易发生单点故障,即server服务器宕机所有的客户端都不能访问。扩展资料NFS服务依赖于RPC(Remote Procedure Call)服务。nfsd默认端口2049,实际使用过程中因为需要提供不同的服务,因此NFS启动时还会随机调用系统的空闲端口。在centos5.x中默认调用1024以下端口,centos6.x后默认调用的端口号一般较大,30000以上。因为NFS随机端口的原因所以需要RPC服务来和client端确认传输端口等。在NFS server上创建用于共享的目录/data,client用mount将/data挂载到自己本地一个目录上,挂载目录可以和/data名称不同。将挂载信息写入本机开机启动文件里 如 /etc/rc.local客户端无需启动NFS服务,但需要启动RPC服务。参考资料:百度百科 - NFS本回答被网友采纳,NFS是Network File System的简写,即网络文件系2113统.  网络文件系统是5261FreeBSD支持的文件系统中的一种4102,也被称为NFS. NFS允许一个1653系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。参考资料:http://baike.baidu.com/view/44349.html?wtp=tt本回答被提问者采纳,NFS简介  NFS是2113Network File System的简写,即网络文件5261系统4102.  网络文件系统是FreeBSD支持的文件系统中的一种1653,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS好处   飞客数据恢复中心提供以下是NFS最显而易见的好处:  1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。  2.用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。  3.诸如软驱,CDROM,和 Zip(是指一种高储存密度的磁盘驱动器与磁盘)之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。NFS组成  NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。实际应用  NFS 有很多实际应用。下面是比较常见的一些:  1.多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。  2.在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。  3.几台机器可以有通用的/usr/ports/distfiles 目录。这样的话,当您需要在几台机器上安装port时,您可以无需在每台设备上下载而快速访问源码。  注:NFS 由Sun microsystems 公司开发。是一种网络操作系统,并且是unix操作系统的协议。NFS配置方式  NFS的配置过程相对简单。这个过程只需要对/etc/rc.conf文件作一些简单修改。  1 在NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:  rpcbind_enable="YES"  nfs_server_enable="YES"  mountd_flags="-r"  只要NFS服务被置为enable,mountd 就能自动运行。  2 在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:  nfs_client_enable="YES"  /etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定,NFS允许一个系2113统在网络上与他人共享5261目录和文件。通过使用NFS,用户和程序可以4102像访问本地文件一样访问远端系统1653上的文件。NFS 有很多实际应用。下面是比较常见的一些:  1.多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。  2.在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。  3.几台机器可以有通用的/usr/ports/distfiles 目录。这样的话,当您需要在几台机器上安装port时,您可以无需在每台设备上下载而快速访问源码www.zgxue.com防采集请勿采集本网。

什么是NFS?

在/etc/exports中加上一句 /mnt/share *(ro,async,no_root_squash,nohide) 然后执行 exportfs -rv 上面括号上中的ro为只读,如果为rw的话,就是读写权限

network file system 网络文件系统

NFS(Network File System) NFS是 网络文件系统 的缩写,由Sun公司开发能够通过网络,使不同的机器,不同的 操作系统 (主要是 Unix-like)进行彼此资料的共享使用RPC协议进行资料传输管理 采纳哦

通过网络存储和组织文件的一种方法或机制。

目的: 把 192.168.1.3 上的目录/u09 共享给192.168.1.4使用。方法:192.168.1.3:1. 修改/etc/exports文件# vi /etc/exports/u09 192.168.1.4(rw,sync,no_root_squash) --添加这一列,写明共享的文件,能够远程使用这个文件的IP地址和使用的权

为什么要用NFS?

一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操 作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问

前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一放到后端的存储上。

NFS(网络文件系统)是TCP/IP协议集所提供的一种子协议,该协议可以实现LINUX/UNIX主机之间的文件共享。 FTP(文件传输协议)是TCP/IP协议栈所提供的一种子协议,该子协议具体可以实现在以下功能: 从客户向服务器发送一个文件 从服务器向客户发送

共享存储的好处:方便数据的查找与取出,缺点:存储服务器压力大,坏了丢失全部数据。

NFS工作原理

NFS功能,有很多服务,每个服务都有自己的端口,并且经常变换。

客户端查找这些端口,就需要一个中间人---RPC服务(默认端口号111)。

工作流程:

1.启动RPC服务

2.启动NFS服务(同时向RPC服务注册启动的端口)

3.客户端向RPC请求NFS服务

4.RPC返回端口到客户端

5.客户端用返回的端口地址向NFS请求传输数据。

安装NFS服务

安装:yum install nfs-utils rpcbind

查看:rpm -qa nfs-utils rpcbind

开启服务并设置开机自启:systemctl start rpcbind.service  systemctl enable rpcbind.service

systemctl start nfs  systemctl enable nfs

配置NFS

nfs配置文件 /etc/exports

执行命令man exports 找到其中的:

配置文件的格式:

要共享的目录  访问的主机(权限)

①要共享的目录:存取数据的目录

②访问的主机:单个主机:172.16.1.7或主机名  网段:172.16.1.0/24或172.16.1.*

③权限:rw 可读  ro 只读  sync 写到远端磁盘(慢,安全)  async 异步写到远端缓冲区(快,不安全)

    root_squash  anonuid=匿名用户的UID  anongid=匿名用户的GID

    all_squash 无论客户端是什么用户,到服务端都当做nfsnobody

[root@nfs01 ~]# vim /etc/exports

注:一个目录可同时给多个主机共享,如上图test。注意小括号和前面的字符中间没有空格。

创建目录:[root@nfs01 ~]# mkdir -p /data

nfs的默认用户是nfsnobody,所以要对目录进行授权:[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data

重启NFS:[root@nfs01 ~]# systemctl reload nfs 或者 exportfs -r (平滑重启)

检查:

打开web01虚拟机,安装rpc和nfs服务(原则上客户端只安装rpc即可,我们这里是为了测试showmount命令)

挂载共享目录,并创建文件测试

首先我们要明确我们所指的程2113序5261,是放在有目录级结构的文件系统4102里,为了寻找到所需要操1653作系统来运行的程序,我们必须告诉它,文件在哪个文件系统。一 般来说,PC机的文件就存储在硬盘上;对于Live CD而言,文件系统就藏在光盘上面。也就是说,只要操作系统能找到并正确地认识了文件系统,就可以执行里面的程序了!设置目标机器上的NFS启动看完了第一节,明白启动的过程了吗? 简单地说,就是内核加载 ,内核找到一个文件系统 ,内 核执行文件系统里的一个程序 。无论是从NFS启动,还是从硬盘启动,都是上述过程。只是NFS启动,其文件系统是放在网络上的。只要我 们告诉内核,具体放在什么地方,在网络的另一端我们设置好共享,自然可以从NFS启动。让内核识别NFS并可从NFS启动编译内核在内核源代码目录树下,配置内核:$make menuconfig依次进入 File Systems -> Network File System中选择 NFS client support 以及 Root file system on NFS。如果找不到Root file system on NFS 选项,要打开第一级菜单下的Networking support -> Networking options -> TCP/IP networking -> IP: kernel level autoconfiguration。如果NFS要使用DHCP,还得选上 IP: DHCP support。保存配置并重新编译即可。配置内核参数进入ARM开发板的设置 linux_cmd_line的地方(mini2440则为开机按 s,输入linux_cmd_line,并带着引号输入参数),或者进入PC的GRUB,设置类似参数root=/dev/nfs rw nfsroot=192.168.1.1:/linux ip=192.168.1.5:::255.255.255.0:linux::off该配置为静态IP设置。各参数意义如下:root=/dev/nfs :指定根文件系统为 /dev/nfs,即NFS 。这与/dev这个目录并没有什么关系,在此仅为一个名字。rw :根文件系统挂载为可读写。还可以有 ro 即只读的选项。nfsroot=192.168.1.1:/linux :指明挂载哪一个NFS上的哪一个目录。这里指的是挂载IP 为192.168.1.1的电脑上导出的/linux目录。ip=192.168.1.5:::255.255.255.0:linux::off :设置本机的IP。此举是为了 连接刚才设置的IP。这里是一个静态的配置,配置的格式为 ip=本机的IP地址::网关地址:网络掩码:本机的主机名:网络接口名:off 。一般情况下网关、网络接口名都不需要设置。如果是DHCP获取IP,那很简单,直接 ip=dhcp 即可。设置NFS服务器Ubuntu下看链接:http://blog.mcuol.com/User/xiaoxiaopig/article/37324_1.htmNFS服务器可以是任意操作系统,只要能提供NFS服务即可(WINDOWS可以使用 WSU —— Windows Services for Unix来实现,具体请参考接下来本站要发表的文章)。在这里以Fedora为例,希望别的发行版的用户触类旁通。对于Fedora来说,有图形界面的工具进行设置,在管理-》服务器设置-》NFS中添加一个共享即可。更通用的作法,就是修改 /etc/exports文件,之后再启动NFS服务器。/etc/exports文件格式如下导出的文件夹 导出的网段(对该导出的网段的选项)所谓导出的网段就是只向哪个网段导出,保证安全性。一个例子为:/linux 192.168.1.0/24(rw,sync,no_root_squash)就是将 /linux 导出到网段为192.168.1.0,子网掩码为255.255.255.0 (即24)的网络。其中可用的选项为(翻译自man文档):secure和insecure : secure选项下,所有连接的端口均小于1024。默认打开。rw和ro : Read/Write和Read Onlyasync和sync async将使用异步数据存取,数据并非马上写入服务器的。sync则相反。使用async需要注意服务器不能随意不正常地关闭,否则可能导致数据丢失。no_wdelay :不使用延迟写入。NFS服务器会将写入写入请求缓冲起来,可以提高性能。如果async已经打开那么该选项无效。no_subtree_check :不进行子树检查(使用该选项易引起安全问题)root_squash和no_root_squash、all_squash :root_squash选项使得客户端以root权限访问 文件系统时,转换为服务器端的匿名用户。这选项打开一定要设置好服务器的权限。之后再重新启动NFS服务。Fedora下使用 /etc/init.d/nfs restart使用 exports查看导出的文件内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 在 linux 命令行发送邮件的 5 种方法(推荐)
  • linux下yum常用命令汇总
  • centos7安装mysql并jdbc测试实例详解
  • linux系统安装msf的过程详解
  • linux 下目录文件权限(命令)的查看和修改
  • php-fpm可执行文件出现乱码的解决方法
  • centos7下搭建zookeeper3.4中间件常用命令小结
  • ubuntu开启22端口的实现
  • linux中mkdir函数与windows中_mkdir函数的区别
  • centos+nginx+php+mysql标准生产环境配置方法
  • 如何从NFS启动Linux及原理
  • linux,NFS服务,是什么啊
  • Linux下NFS到底做什么用的?
  • linux 文件系统NFS的作用
  • linux下nfs服务允许所有用户访问如何做
  • linux中nfs是什么意思?
  • Linux 服务器之间如何进行文件目录共享
  • linux下二台nfs服务器怎么做高可用
  • linux中的 nfs 与 ftp 和 samba 服务 各有什么特点...
  • Linux自带了nfsd模块,想将其从内核态移植到用户态...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器linux如何实现一键部署nfs过程图解linux下nfs配置教程详解linux nfs服务器安装与配置思路分析linux nfs服务器的安装与配置方法(图文详解)linux nfs 学习笔记linux nfs安装配置及常见问题、/etc/exports配置文件、showmount命令linux系统之间通过nfs网络文件系统挂载设置方法linux服务器配置—搭建nfs服务器步骤通过案例深入解析linux nfs机制在 linux 命令行发送邮件的 5 种方法(推荐)linux下yum常用命令汇总centos7安装mysql并jdbc测试实例详解linux系统安装msf的过程详解linux 下目录文件权限(命令)的查看和修改php-fpm可执行文件出现乱码的解决方法centos7下搭建zookeeper3.4中间件常用命令小结ubuntu开启22端口的实现linux中mkdir函数与windows中_mkdir函数的区别centos+nginx+php+mysql标准生产环境配置方法apache开启.htaccess及.htaccessservice temporarily unavailabllinux下实现免密码登录(超详细)apache rewrite url重定向功能的linux下用cron定时执行任务的方法apache性能测试工具ab使用详解centos 6.4安装配置lamp服务器(a阿里云服务器ping不通解决办法(centos+nginx+php+mysql详细配置apache you don""t have permissapache shtml网页ssi使用详解ubuntu14.04 使用中遇到的问题及解决方法详解linux 定时任务 crontabs 安装及使用linux托盘不断闪烁之解决方法linux 硬链接和软链接详细介绍centos7系统下搭建.net core2.0+nginx+su新装linux系统/etc/sysconfig目录下无ipt详解负载均衡实现一个域名对应多个ip地址ubuntu18.04安装vsftpd的实现代码linux线程的取消(终止)方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved