nfs共享文件系统
NFS服务简介
NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的。 它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files)。所以,你也可以简单的将他看做是一个文件服务器 (file server) 呢!这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个远程主机的目录就好像是自己的一个磁盘分区槽一样 (partition)!使用上面相当的便利!
因为 NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动, 每启动一个功能就会启用一些端口来传输数据,因此, NFS 的功能所对应的端口才没有固定住, 而是随机取用一些未被使用的小于 1024 的端口来作为传输之用。但如此一来又造成客户端想要连上服务器时的困扰, 因为客户端得要知道服务器端的相关端口才能够联机吧!
此时我们就得需要远程过程调用 (RPC) 的服务啦!RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的端口上去。 那 RPC 又是如何知道每个 NFS 的端口呢?这是因为当服务器在启动 NFS 时会随机取用数个端口,并主动的向 RPC 注册,因此 RPC 可以知道每个端口对应的 NFS 功能,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回报客户端正确的端口, 所以当然可以让 NFS 的启动更为轻松愉快了!
所以你要注意,要启动 NFS 之前,RPC 就要先启动了,否则 NFS 会无法向 RPC 注册。 另外,RPC 若重新启动时,原本注册的数据会不见,因此 RPC 重新启动后,它管理的所有服务都需要重新启动来重新向 RPC 注册。

当客户端有 NFS 档案存取需求时,他会如何向服务器端要求数据呢?
- 客户端会向服务器端的 RPC (port 111) 发出 NFS 档案存取功能的询问要求;
- 服务器端找到对应的已注册的 NFS daemon 端口后,会回报给客户端;
- 客户端了解正确的端口后,就可以直接与 NFS daemon 来联机。
要设定好 NFS 服务器我们必须要有两个软件才行,分别是:
RPC 主程序:rpcbind
- 就如同刚刚提的到,我们的 NFS 其实可以被视为一个 RPC 服务,而要启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)
NFS 主程序:nfs-utils
- 就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件啦!一定要有喔!
NFS安装
服务端配置
安装nfs相关包
[root@bogon test]# yum install nfs-utils rpcbind
在NFS服务端上创建共享目录/share1并设置权限
[root@bogon test]# mkdir /share1
[root@bogon test]# chmod 777 /share1/
编辑export文件
[root@bogon test]# cat /etc/exports
/share1 192.168.254.0/(rw,no_root_squash,no_all_squash,sync) 参数说明:
sync 代表数据会同步写入到硬盘中
async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 不论登入 NFS 的使用者身份为何, 均被映射为匿名用户
no_all_squash 不论登入NFS的使用者身份为何,均被映射为最高权限用户
使配置生效
[root@bogon test]# exportfs -r
启动rpcbind、nfs服务
[root@bogon test]# systemctl restart rpcbind nfs
客户端配置
查看服务器端暴露的nfs
[root@bogon mnt]# showmount -e 192.168.254.11
Export list for 192.168.254.11:
/share1 192.168.254.0/
创建目录并挂载
[root@bogon /]# mkdir /share
[root@bogon ~]# mount -t nfs 192.168.254.11:/share1 /share/
查看是否挂载成功
[root@bogon /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G .8G 48G % /
devtmpfs 475M 475M % /dev
tmpfs 487M 487M % /dev/shm
tmpfs 487M 7.7M 479M % /run
tmpfs 487M 487M % /sys/fs/cgroup
/dev/sda1 1014M 133M 882M % /boot
/dev/mapper/centos-home 67G 33M 67G % /home
tmpfs 98M 98M % /run/user/
192.168.254.11:/share1 50G 2.8G 48G 6% /share
nfs共享文件系统的更多相关文章
- exportfs - 管理NFS共享文件系统列表
概述 (SYNOPSIS) /usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..] /usr/sbin/exportfs -r [-v] ...
- Openmpi 编译安装+集群配置 + Ubuntu14.04 + SSH无密码连接 + NFS共享文件系统
来源 http://www.open-mpi.org/ 网络连接 SSH连接,保证各台机器之间可以无密码登陆,此处不展开 hosts文件如下 #/etc/hosts 192.168.0.190 mas ...
- NFS共享文件系统部署
1. 概述 本篇博客主要是介绍如何安装和使用NFS服务. 2. 安装软件包 首先确认系统是否已经安装相应的软件包,执行命:rpm -qa | egrep "rpcbind|nfs-utils ...
- NFS共享存储服务部署
第1章 NFS介绍 1.1 NFS基本概述 NFS(Network File System)网络文件系统 主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. NFS系统和Windows网络 ...
- NFS网络共享文件系统
1.nfs服务端配置操作 1.1 创建所需的共享目录--源 mkdir /data/rw #rw代表同步的数据可读可写 1.2 对共享目录进行授权 chown -R nfsnobody.nfsno ...
- NFS文件系统及搭建NFS共享服务
一.什么是文件系统? 文件系统是对一个存储设备上的数据和元数据进行组织的一种机制.文件系统是在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区上组织文件方式方法,常见文件系统如ext2.ext3. ...
- Linux系统NFS网络文件系统
Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...
- NFS 网络文件系统挂载在A8板子上
我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享.分享一下个人经验: 以下是基于nfs已经完成 ...
- [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统
本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...
随机推荐
- 使用Settings sync同步VS Code配置
使用Settings sync同步VS Code配置 因为要在多台电脑上使用VSCode,想要简单地管理VSCode地配置,不用每次手动去一一配置,保持多个开发环境的同步,于是使用Settings s ...
- 如何判断Linux系统安装在VMware上?
如何判断当前Linux系统是否安装在VMware上面呢? 因为公司大部分服务器位于VMware上,也有小部分系统部署在物理机上面.今天老大要求统计一下VMware和物理机上服务器的数量,个人简单测试. ...
- mysql语法总结及例子
1. DDL相关 a. -- 查询所有数据库 show databases;-- 删除数据库drop database ladeng; b. -- use `数据库名称`; 表示使用此数据库 use ...
- 团队项目-Alpha版本发布2
这个作业属于哪个课程 课程的链接 这个作业的要求在哪里 作业要求的链接 团队名称 西柚三剑客 这个作业的目标 -Alpha2版本发布说明,给出测试报告,并进行总结 1. 团队成员的学号列表 团队成员 ...
- day87_11_7微信小程序之登录,支付(获取ip,requests使用),授权
一.登录接口. 官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 在登录接口 ...
- Redis 内存淘汰机制
Redis内存淘汰指的是用户存储的一些键被可以被Redis主动地从实例中删除,从而产生读miss的情况,那么Redis为什么要有这种功能?这就是我们需要探究的设计初衷.Redis最常见的两种应用场景为 ...
- Unity 利用Cinemachine快速创建灵活的相机系统
在第一或第三人称ACT和FPS游戏中,相机的运动需求是多种多样的,Unity内置的Cinemachine包可以助你快速实现不同相机功能,例如范围追踪,边界设置等. 例如,考虑这样一个功能,这在很多游戏 ...
- PHP 扩展与 ZEND 引擎的整合
PHP 扩展是对 PHP 功能的一个补充,编写完 PHP 扩展以后, ZEND 引擎需要获取到 PHP 扩展的信息,比如 phpinfo() 函数是如何列出 PHP 扩展的信息,PHP 扩展中的函数如 ...
- Linux网络基础协议和ip管理
1.简述osi七层模型和TCP/IP五层模型 osi七层模型分别是:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. 1)物理层:这一层的主要功能是二进制传输数据,界定连接器和网线的规格: ...
- LeetCode 71.简化路径
LeetCode 71.简化路径 题目描述: 以 Unix 风格给出一个文件的绝对路径,你需要简化它.或者换句话说,将其转换为规范路径.在 Unix 风格的文件系统中,一个点(.)表示当前目录本身:此 ...