NFS文件服务器
NFS文件服务器
NFS介绍
应用场景
NFS安装部署
NFS共享
客户端NFS共享挂载
一、NFS介绍
NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS的好处:节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
NFS体系有两个主要部分:
NFS服务端机器:通过NFS协议将文件共享到网络。
NFS客户端机器:通过网络挂载NFS共享目录到本地。
二、应用场景
共享存储服务器: 图片服务器、视频服务器等
家目录漫游:域用户家目录服务器
文件服务器:内容文件存储服务器
三、NFS安装部署
约定:本实验中使用过的机器为centos7.5_x86_64系统,计算机名称:baism.ayitula.com,IP地址192.168.11.16/24.请关闭防火墙和SELINUX。
a、nfs安装
[root@baism ~]# yum -y install nfs-utils
b、nfs开机启动
[root@baism ~]# systemctl enable nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to
/usr/lib/systemd/system/nfs-server.service.
c、nfs启动
由于服务间的依赖关系,启动NFS之前先要确保rpcbind启动
[root@baism ~]# systemctl is-active rpcbind
active
[root@baism ~]# systemctl start nfs
d、验证启动
[root@baism ~]# systemctl is-active nfs
active
四、NFS共享
教学案例
新建目录/public
以只读的方式共享目录 /public 同时只能被 192.168.11.0 域中的系统访问
新建目录/protected
以读写的方式共享目录 /protected 能被 192.168.11.0 域中的系统访问
创建共享目录
[root@baism ~]# mkdir /public
[root@baism ~]# mkdir /protected
由于客户端挂载用户是nfsnobody,本题要求客户端挂载后可读写,我们是用root用户建立的目录,所以要给其他人7的权限
[root@baism ~]# chmod 757 /protected/
通过/etc/exports文件定义共享目录
[root@baism ~]# cat /etc/exports
/public 192.168.11.0/24(ro)
/protected 192.168.11.0/24(rw)
共享格式为:
共享目录绝对路径 授权访问的IP或网段(权限1,权限2)
权限说明
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
通过/etc/exports输出共享不需要重启NFS服务,只需通过NFS共享管理命令exportfs来生效即可
exportfs - 管理NFS共享文件系统列表
exportfs命令:
-a 打开或取消所有目录共享。
-o options,... 指定一列共享选项,与 exports(5) 中讲到的类似。
-i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。
-r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。
-u 取消一个或多个目录的共享。
-f 在“新”模式下,刷新内核共享表之外的任何东西。
任何活动的客户程序将在它们的下次请求中得到mountd 添加的新的共享条目。
-v 输出详细信息。当共享或者取消共享时,显示在做什么。
显示当前共享列表的时候,同时显示共享的选项。
卸载所有共享
[root@baism ~]# exportfs -au
重挂所有
[root@baism ~]# exportfs -ar
重新加载共享文件列表/etc/exports,生效设置
[root@baism ~]# exportfs -r
查看共享目录
[root@baism ~]# exportfs -v
/public 192.168.11.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/protected 192.168.11.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
五、客户端挂载NFS共享目录
使用showmount命令查看远程nfs服务器共享目录
[root@slave ~]# showmount 192.168.11.16 -e
Export list for 192.168.11.16:
/protected 192.168.11.0/24
/public 192.168.11.0/24
新建挂载点
[root@slave ~]# mkdir /mnt/public
[root@slave ~]# mkdir /mnt/protected
挂载NFS服务器共享目录
[root@slave ~]# mount -t nfs 192.168.11.16:/public /mnt/public/
[root@slave ~]# mount -t nfs 192.168.11.16:/protected /mnt/protected/
验证挂载
[root@slave ~]# mount |egrep "(public|protected)"
192.168.11.16:/public on /mnt/public type nfs4 (rw,relatime,vers=4.1,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.11.116,local_lock=none,addr=192.168.11.16)
192.168.11.16:/protected on /mnt/protected type nfs4 (rw,relatime,vers=4.1,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.11.116,local_lock=none,addr=192.168.11.16)
测试权限
[root@slave ~]# touch /mnt/public/test
touch: 无法创建"/mnt/public/test": 只读文件系统
[root@slave ~]# touch /mnt/protected/test
[root@slave ~]# ls /mnt/protected/ -l
总用量 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 2月 28 11:52 test
在windows下挂载nfs文件系统
第一步,我们需要安装一个工具。
点击开始 -> 控制面板。

点击“程序”。

点击“打开或关闭windows功能”。

勾选上“基于unix的应用程序子系统”和展开NFS服务,勾选“NFS客户端”和“管理工具”然后点确定。

点击确定。等待安装完成之后,窗口会自动关闭。
这时我们按下win + r,打开运行界面:输入cmd进入命令提示符。
输入 mount -h
没有提示错误即可用。

我这边的nfs共享目录是nfs服务器的/home/pi/Server文件夹。
那么,我们输入命令mount \\NFS的IP地址或者主机名\nfs目录名 挂载点
例如我这边就是:mount \\192.168.1.4\home\pi\Server x:
输入该命令后按回车。提示成功即可。

这时我们可以按下win + e打开计算机资源管理器。可以看到,我们挂载的X盘确实存在,我们进去看看。

那么如何取消挂载呢?
我们只要”umount 挂载点”即可断开啦。
例如:umount x:

这样就可以取消挂载了。
转自:
http://book.ayitula.com/wen-jian-fu-52a1-nfs-fu-wu-qi.html
https://blog.csdn.net/wykkunkun/article/details/79638288
NFS文件服务器的更多相关文章
- JavaWeb项目架构之NFS文件服务器
NFS简介 NFS(Network File System)即网络文件系统. 主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录. 主要用途:NFS网络文件系统一般被用来存储共享视频, ...
- Nginx日志挂载目录为nfs文件服务器时开机无法自启动的问题解决
为了方便收集查看日志把nginx日志输出至nfs文件服务器,nfs文件服务器使用autofs自动挂载,nginx和autofs都使用systemctl设置了开机自启动. 但是在重启主机的时候nginx ...
- CentOS6.5下搭建NFS文件服务器
本文参考这里 CentOS下搭建NFS服务器总结 环境介绍: 1. 服务器: 192.168.0.100 2. 客户机: 192.168.0.101 安装软件包: 服务器和客户机都要安装nfs 和 r ...
- CentOS 6.5下搭建NFS文件服务器
环境介绍:服务器: 192.168.0.1客户机: 192.168.0.2安装软件包:服务器和客户机都要安装nfs 和 rpcbind 软件包:yum -y install nfs-utils rpc ...
- NFS文件服务器搭建
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...
- CentOS 6.5 搭建NFS文件服务器
环境介绍:服务器: 192.168.0.1客户机: 192.168.0.2安装软件包:服务器和客户机都要安装nfs 和 rpcbind 软件包:yum -y install nfs-utils rpc ...
- Linux 搭建NFS文件服务器实现文件共享
我们接着玩Linux,O(∩_∩)O哈哈~ 1.什么是nfs NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP ...
- 11.tftp和nfs服务器
宿主机产生嵌入式软件的机器 运行程序的是目标机上运行 基于网络的下载 目标机通过tftp下载到目标机 1. 安装tftp依赖xinetd [root@cfm880 Packages]# rpm -iv ...
- Linux NFS 介绍
由SUN开发,用于在不同的系统之间使用,所以其设计与主机系统无关,用户想使用远程文件时,只需要mount –t nfs就可以把远程的文件拿到本地,像使用本地文件一样使用,非常方便. 它采用C/S架构, ...
随机推荐
- Go常量
1. 常量 package main import "fmt" func main() { /* 常量: 1.概念:同变量类似,程序执行过程中数值不能改变 2.语法: 显式类型定义 ...
- 每天进步一点点------Sobel算子(3)基于彩色图像边缘差分的运动目标检测算法
摘 要: 针对目前常用的运动目标提取易受到噪声影响.易出现阴影和误检漏检等情况,提出了一种基于Sobel算子的彩色边缘图像检测和帧差分相结合的检测方法.首先用Sobel算子提取视频流中连续4帧图像的 ...
- 部署DVWA时的一些问题和解决办法(二)
DVWA reCAPTCHA key: Missing解决方法 编辑 dvwa/config/config.inc.php这个配置文件 $_DVWA[ 'recaptcha_public_key' ] ...
- app内区域截图利用html2Canvals保存到手机 截屏 (html2Canvas使用版本是:0.5.0-beta3。)
app内区域截图利用html2Canvals保存到手机 app内有时候需要区域内的截图保存dom为图像,我们可以使用html2Canvas将dom转换成base64图像字符串,然后再利用5+api保存 ...
- Jmeter变量嵌套的方法
jmeter中变量的嵌套一般有两种方式 1,调用__V函数 { "phone": "${phone}", "xxId": "${_ ...
- JAVA常量池、栈、堆的比较(转载)
今天在学JAVA的数据存储位置的时候,看到了一篇博文感觉不错,特此转载: http://www.cnblogs.com/Eason-S/p/5658230.html JAVA中,有六个不同的地方可以存 ...
- Ora 命令行建立账号
.使用cmd 进入 sqlplus /nolog conn system/ as sysdba .修改密码 alter user ebthis identified by new_psw; .查看用户 ...
- pdf.js的使用 (3)真实项目分享
需求:a.jsp页面要做一个pdf的预览功能,我采用layer.open()弹窗的形式来预览pdf 1.在a.jsp点击文件然后弹出窗口(其实是弹出b.jsp) var lay=layer.open( ...
- 在Ubuntu_meta 16.04中设置默认Python3.5的命令
ubuntu_meta 默认是安装了python2.7 和python3.5两个版本 查看ubuntu的python版本,默认版本是python2.7 输入:python 直接执行这两个命令即可: s ...
- A10131013 Battle Over Cities (25分)
一.技术总结 这一题是考查图的知识,题目的意思要理解清楚,就是考查统计图中连通块的数量,也就是没有一个结点后. 怎么删除该结点,并且统计连通块的数量成为问题解决的关键,这里可以当访问到结点时,直接返回 ...