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 网络文件系统. 我们使用的软硬件环境是 ...
随机推荐
- 【Gradle】Gradle插件
Gradle插件 插件的作用 把插件应用到项目中,插件会扩展项目的功能,帮助在项目构建过程中做很多事情. 1.可以添加任务到项目中,帮助完成测试.编译.打包等. 2.可以添加依赖配置到项目中,可以通过 ...
- zhy2_rehat6_mysql01 - 二进制5.7.txt
mysql 5.7版本的二进制安装方法 export LANG=en_US Centos7 X64 注意:安装完centos7 后,linux需要指定新建一个用户,要求密码强度很高,才能通过,安装系统 ...
- bay——巡检RAC日志.txt
-查找超过800M大小文件,并显示查找出来文件的具体大小,可以使用下面命令 find . -type f -size +400M -print0 | xargs -0 du -h --查看当前目录下每 ...
- 前端如何快速定位问题传参 和false
今天下午在请求接口的时候,出现了一个问题就是 传参问题 接口是请求成功的200,但是修改后返回来的却是500,这就很纳闷怎么会这样了. 经过查找,原来是因为传参问题.将有一个name:0 传递成了n ...
- Element-ui 中的Dialog 对话框
给表头添加一个底部分割线 固定表格的内容高度 添加底部按钮 <template> <div> <el-button type="text" @clic ...
- Linux驱动中的platform总线分析
copy from :https://blog.csdn.net/fml1997/article/details/77622860 概述 从Linux2.6内核起,引入一套新的驱动管理和注册机制:pl ...
- vue中的父子组件相互调用
vue中的父子组件相互调用: 1.vue子组件调用父组件方法:子组件:this.$emit('xx'); 父组件:定义yy方法,并在引用子组件时传参,如@xx="yy" 2.vue ...
- 详解JAVA8Stream 方法引用(基础){全}
1: Stream流 1.1 引言 1.2 流式思想概述 1.3 获取流 1.4 常用方法 1.5 练习:集合元素处理 2:方法引用 2.1 冗余的Lambda场景 2.2 方法引用符 2.3 通过对 ...
- 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(二)
Linux目录配置的依据--FHS 因为利用Linux来开发产品的公司太多,例如,CentOS.Ubuntu.ReHat...,导致了配置文件存放的目录没有统一的标准.后来就有了FHS(Filesys ...
- Java泛型类型擦除与运行时类型获取
Java的泛型大家都知道是类型擦除的方式实现的,“编译器会进行泛型擦除”是一个常识了(实际擦除的是参数和自变量的类型).“类型擦除” 并非像许多开发者认为的那样,在 <..> 符号内的东西 ...