文件共享总结下篇-NFS学习笔记
一、NFS原理
## 本次实验以CentOS7.7为例
[root@qll251 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@qll251 ~]#
1. NFS,是Network File System的简写,即网络文件系统。
2. 功能:不同操作系统的机器实现数据共享,使用RPC协议。
3. 模式:C/S 模式(Client/Server模式)
4. 端口号:2049
[root@qll251 ~]# grep nfs /etc/services
nfs 2049/tcp nfsd shilp # Network File System
nfs 2049/udp nfsd shilp # Network File System
nfs 2049/sctp nfsd shilp # Network File System
[root@qll251 ~]#
5. 版本:RHEL7是以NFSv4作为默认版本
[root@qll251 ~]# nfsstat -s
Error: No Server Stats (/proc/net/rpc/nfsd: No such file or directory).
[root@qll251 ~]#
##为什么出现Error呢?因为咱的NFS服务还没有安装呀
二、NFS-server服务安装
NFS-server必需安装两个安装包:nfs-utils和rpcbind
nfs-utils :包括基本的NFS命令与监控的程序
rpcbind :支持安全NFS RPC服务的连接
1)安装NFS-server
[root@qll251 ~]# yum -y install nfs-utils
2)验证是否安装成功
[root@qll251 ~]# rpm -qa | grep nfs && rpm -qa | grep rpcbind
libnfsidmap-0.25-19.el7.x86_64
nfs-utils-1.3.0-0.65.el7.x86_64
rpcbind-0.2.0-48.el7.x86_64
[root@qll251 ~]#
三、NFS服务器端配置
1)在NFS-Server上创建共享目录,比如创建/tmp/share并设置权限
[root@qll251 ~]# mkdir -p /tmp/share
[root@qll251 ~]# chmod o+rwx /tmp/share
[root@qll251 ~]# ll -d /tmp/share
drw-rw-rw- 2 root root 6 2月 3 16:38 /tmp/share
[root@qll251 ~]#
2)编辑NFS的配置文件:/etc/exports
NFS服务器通过读取/etc/exports配置文件设定哪些客户端可以访问及访问的权限。
/etc/exports配置文件格式
共享路径 客户端主机1(选项) 客户端主机2 (选项) ...
/tmp/share 192.168.1.0/24(rw,sync,all_squash) #常用all_squash参数,将所有来访用户变成nfsnobody用户访问。
3)启动NFS服务,并使配置生效
[root@qll251 ~]# systemctl start rpcbind
[root@qll251 ~]# systemctl start nfs
[root@qll251 ~]# exportfs -rv
exporting 192.168.1.0/24:/tmp/share #我这里是允许192.168.1.0/24整个网段下的主机访问
[root@qll251 ~]#
4)NFS服务器端先自我测试下是否可以联机
[root@qll251 ~]# showmount -e localhost //-e:Show the NFS server's export list.
Export list for localhost:
/tmp/share 192.168.1.0/24
[root@qll251 ~]#
到此,NFS服务侧的配置已完成,下面我们来讨论Linux及Windows客户端如何访问NFS共享资源
四、Linux客户端访问NFS资源
1)安装nfs-utils客户端
[root@qll252 ~]# yum -y install nfs-utils
2)创建挂载目录
[root@qll252 opt]# mkdir /shares
3)查看服务器端所共享的目录信息
[root@qll252 ~]# showmount -e 192.168.1.251
Export list for 192.168.1.251:
/tmp/share 192.168.1.0/24
[root@qll252 ~]#
4)挂载NFS服务器所共享的/tmp/share
目录;df -h验证已挂载
# 格式:mount -t nfs `NFS服务器的IP`:`共享的目录` 客户端挂载点
[root@qll252 ~]# mount -t nfs 192.168.1.251:/tmp/share /shares
[root@qll252 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
192.168.1.251:/tmp/share 37G 1.6G 36G 5% /shares
[root@qll252 ~]#
5)客户端使用NFS所共享的资源
[root@qll252 ~]# cd /shares/
[root@qll252 shares]# touch 123.txt
[root@qll252 shares]# mkdir dir
[root@qll252 shares]# ls
123.txt dir
[root@qll252 shares]#
6)取消挂载命名
[root@qll252 ~]# umount /shares
五、Windows客户端挂载NFS
开头说过,NFS是C/S架构。因此Windows客户端同样需要安装NFS客户端软件,我们以Win7为例
1)点击开始 -> 控制面板->点击程序
2)点击“打开或关闭windows功能”
3)展开NFS服务,勾选“NFS客户端”和“管理工具”;同时勾选上“基于unix的应用程序子系统”,然后点确定
4)等待安装
5)安装完毕,窗口会自动关闭。
这时我们按下win + r,输入cmd,进入命令提示符。
输入mount -h,查看下mount帮助信息(小技巧:未提示错误,也说明咱正确安装了NFS客户端)
6)Win7执行挂载NFS操作
挂载格式:mount \NFS的IP\NFS目录名 挂载盘符
取消挂载:umount 挂载盘符
mount \\192.168.1.251\tmp\test Z:
7)我们按下win+e,打开计算机资源管理器。可以看到,我们挂载的Z盘已存在
如果小伙们对DOS命令不太熟悉,我们也可以采用映射网络驱动器的方式
(和第六步实现效果一样)
点击完成,完成网络驱动器映射
以上两种方式,重启主机都需要手动从新映射。真是不厌其烦,因此我们可以写一个批处理脚本,并设置开启启动。步骤如下:
# 编写nfs.txt文件
@echo off
start "C:\Windows\System32\cmd.exe"
net use Z: \\192.168.1.251\tmp\test
taskkill /f /im cmd.exe
exit
# 编写完毕,修改nfs.txt后缀为:nfs.bat。(后缀为bat结尾的,为Windows可识别的批处理脚本)
#以下是命令解释:
#第一行命令作用:关闭脚本中命令执行的回显过程,那@echo on呢?聪明的您应该知道命令作用了
#第二行:启动cmd.exe程序
#第三行:将NFS服务器共享目录映射至本地Z盘
#第四行:命令执行完毕,关闭cmd命令窗口
#第五行:退出
(批处理脚本编写完毕,我们可双击nfs.bat
,手动查看是否映射成功。)
接下来完成最后一步,将nfs.bat
批处理文件加入Windows开启自启动目录
开始-->所有程序-->启动;右键打开-->将桌面上的
nfs.bat放入
拉进去!
重启之后,效果如下:
重启电脑的图片就不展现了,在此保证任何实验都是经过本人亲自反复验证的。
好了,以上便是NFS的内容。下次分享rsync学习笔记
文件共享总结下篇-NFS学习笔记的更多相关文章
- NFS学习笔记
一.NFS原理 ## 本次实验以CentOS7.7为例 [root@qll251 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 ( ...
- 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.家庭服务器实现的主要功能 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面 ...
- canvas学习笔记(下篇) -- canvas入门教程--保存状态/变形/旋转/缩放/矩阵变换/综合案例(星空/时钟/小球)
[下篇] -- 建议学习时间4小时 课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- memcached学习笔记——存储命令源码分析下篇
上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...
- .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]
为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- SQLite介绍、学习笔记、性能测试
SQLite介绍.学习笔记.性能测试 哪些人,哪些公司或软件在用SQLite: Nokia's Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFox可 ...
- AM335x(TQ335x)学习笔记——挂载Ramdisk
上篇文章中我们已经能够通过u-boot启动内核了,但是没有能够启动成功,从内核的log中可以看出,内核启动失败的原因是没有挂载到root文件系统,本文将使用busybox制作根文件系统并打包成ramd ...
随机推荐
- 面试问题之操作系统:linux线程API
https://blog.csdn.net/youwotianya/article/details/80933449
- innodb和myisam
在Mysql数据库中,常用的引擎主要就是2个:Innodb和MyIASM.这篇文章将主要介绍这两个引擎,以及该如何去选择引擎,最后在提一下这2种引擎所使用的数据结构是什么. 首先介绍一下Innodb引 ...
- 学习GlusterFS(八)
GlusterFS集群创建 一.简介 GlusterFS概述 Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够 ...
- c++中的printf、和cout和cin后面跟指针的问题
printf里面打印指针的问题 而在c语言中,使用printf只需要使用不同的格式就可以区分打印出是字符串还是指针变量的值: cout和cin后面跟指针的问题 cout<<mm 和cin& ...
- ADAS最全整理
为了实现「无人驾驶」的理想,各大整车厂和供应商目前正在开发「高级驾驶员辅助系统」(ADAS),随着 ADAS 慢慢被完善,车辆也在一步一步从 NHTSa 的 0 级过度到第 4 级,实现完全自动化.& ...
- Numpy怎样给数组增加一个维度
Numpy怎样给数组增加一个维度 背景:很多数据计算都是二维或三维的,对于一维的数据输入为了形状匹配,经常需升维变成二维 需要:在不改变数据的情况下,添加数组维度:(注意观察这个例子,维度变了,但数据 ...
- C++重载输入流、输出流运算符
在c++中类的私有成员是不能被直接访问的,需要通过类中提供的成员函数简介的操作这些数据.同时C++ 能够使用流提取运算符 >> 和流插入运算符 << 来输入和输出内置的数据类型 ...
- safari浏览器fixed后,被软键盘遮盖的问题—【未解决】
safari浏览器fixed后,被软键盘遮盖的问题,已经有好多人问相关的问题,应该是问的角度不一样,还的再次提出咯. 问题描述 测试环境:ios 10.2/10.3 简单来说就是在html5页面中底部 ...
- JavaScript の 内容属性(HTML属性attribute)和 DOM 属性(property)
[博文]内容属性(HTML属性)和 DOM 属性 标签: 博文 JavaScript 粗略解读(与jQuery做对比) 内容属性(HTML属性) : attribute DOM 属性(Element属 ...
- python-模拟页面调度LRU算法
[题目描述]所谓LRU算法,是指在发生缺页并且没有空闲主存块时,把最近最少使用的页面换出主存块,腾出地方来调入新页面. 问题描述:一进程获得n个主存块的使用权,对于给定的进程访问页面次序,问当采用LR ...