linux NFS网络文件系统

一、NFS服务简介

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

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

  NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用是能使客户端执行其他系统程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其他的传输协议。而这些传输协议用到这个RPC功能。可以说NFS本身就是使用RPC的一个程序。或者说NFS是一个RPC SERVER。所以只要NFS的地方必须启动RPC服务。总结:NFS只是一个文件系统,而rpc是负责信息的传输。

二、安装NFS服务

NFS需要两个软件包

nfs-utils-*  包括基本的NFS命令与监控程序

rpcbind-*  支持安全NFS RPC服务的连接

1.检查系统是否安装NFS

  rpm -qa|grep nfs

  rpm -qa|grep rpcbind

如果没有,先yum grouplist 再 yum groupinstall “NFS”

三、NFS服务器配置

NFS常用目录

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

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

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

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

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

NFS服务的配置文件为/etc/exports,系统没有默认值,所以这个文件不一定会存在,可以使用vim手动建立,然后在文件里面写入配置内容。

/etc/exports文件内容格式:

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

a.输出目录:输出目录是指NFS系统中需要共享给客户机使用的目录

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

客户端常用的指定方式:

指定ip地址的主机:192.168.0.200

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

指定域名的主机:david.bsmart.cn

指定域名中的所有主机:*.bsmart.cn

所有主机:*

c.选项:用来设置输出目录的访问权限,用户映射等

NFS主要有3类选项:

访问权限选项

设置输出目录只读:ro

设置输出目录读写:rw

用户映射选项

  all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或者用户组(nfsnobody)

  no_all_squash:与all_squash相反(默认设置)

  root_squash:将root用户及其所属组都映射为匿名用户or用户组

  no_root_squash:与上相反

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

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

其它选项(忽略,就用默认值)

四、NFS服务器的启动与停止

在对/etc/exports文件进行正确的配置后,就可以启动NFS服务器了。

1.启动NFS服务器

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

service rpcbind start

service nfs start

2.查询nfs服务器状态

service rpcbind status

service nfs status

3.停止nfs服务器

要停止nfs,要先停止nfs再停止rpcbind服务,对于系统中有其他服务(如nis)需要使用时,不需要停止rpcbind服务

service nfs stop

service rpcbind stop

4.设置nfs服务器的自动启动状态

chkconfig --add

chkconfig --level 35

五、实例

1.将NFS server的/home/cairui 共享给192.168.66.128,权限读写

#vim /etc/exports

/home/cairui 192.168.66.128/24(rw)

2.重启rpcbind和nfs服务

service rpcbind restart

service nfs restart

exportfs

3.服务器端使用showmount命令查询NFS共享状态

showmount -e

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

4.客户端使用showmount命令查询nfs的共享状态

 showmount -e 服务端ip

5.客户端挂载nfs服务器中的共享目录

命令格式:mount NFS服务器IP:共享目录 本地挂载点目录

查看是否挂载成功:mount|grep nfs

查看文件是否与服务器端一致

6.NFS的共享权限和访问控制

在服务器/home/cairui修改权限使得客户端可写,可读

chmod 777 -R /home/cairui

6.卸载已挂载的NFS共享目录

格式:umount /tmp/cai

八.启动自动挂载nfs文件系统

格式:<server>:<remote/export>

      </local/directory> nfs <option> 0 0

#vim /etc/fstab

最后一行为后加的

保存退出,重启系统

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序小工

【Linux】系统学习Crontab定时任务

crontab 是一个用于设置周期性执行任务的工具。目前服务器端的运行环境大多数为 Linux,在日常的运营和维护中会有很多需要定期执行的操作,其中有些操作是可...

1822
来自专栏白驹过隙

Samba - 文件共享服务器的搭建和配置

3212
来自专栏应用案例

Linux常用软件安装总结

首先说xshell一个好用的功能,如果你同时要管理几台一样的服务器组成的集群,一台一台操作很麻烦,可以使用xshell菜单栏——工具——勾选发送键输入到所有会话...

3538
来自专栏北京马哥教育

Linux基础之软件包管理

概述 在redhat系列的发行版中,采用rpm软件包管理器,rpm原名是Red Hat Package Manager,后来当其他发行版也采用这种软件包管理机制...

3648
来自专栏简单聊聊Spark

大数据在实际生产环境的前期准备

eg:  bigdata-cdh01.test.com. bigdata-cdh02.test.com. bigdata-cdh03.test.com

1413
来自专栏Java帮帮-微信公众号-技术文章全总结

回忆jdk与eclipse安装【工作】

回忆jdk与eclipse安装 摘要: 一 下载JDK9 http://www.oracle.com/technetwork/java/javase/downl...

2494
来自专栏张善友的专栏

CentOS 7 安装Maven

3185
来自专栏尚国

SELinux初学者指南

SELinux(Security Enhanced Linux)是美国国家安全局2000年发布的一种高级MAC(Mandatory Access Control...

1812
来自专栏移动端开发

Android学习--广播机制

        标准广播:  是一种完全异步执行的广播,在广播发出去之后,所有的广播接收器几乎是同一时接收到这条广播。

1105
来自专栏加米谷大数据

加米谷:Kafka Connect如何运行管理

上节讲述了Kafka OffsetMonitor:监控消费者和延迟的队列,本节更详细的介绍如何配置,运行和管理Kafka Connect,有兴趣的请关注我们的公...

4237

扫码关注云+社区

领取腾讯云代金券