[toc]
NFS是什么
- NFS(Network File System)是网络文件系统,它允许网络中的计算机之间共享资源,在NFS应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
NFS架构
[图片上传失败...(image-eb3f09-1569205903602)]
NFS组成
一台NFS服务器和若干台客户机
客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据
在NFS服务器正式启用前,需要根据实际环境和需求,配置NFS参数
NFS的优点
节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用
用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用
一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量
NFS如何安装
- 启用NFS服务器,需要安装两个软件包nfs-utils 和rpcbind。由于nfs-utils软件包依赖rpcbind软件,所以执行以下命令
yum install -y nfs-utils
nfs-utils软件包中包含了NFS系统中所需要的程序
rpcbind(前身是portmap)软件包是提供RPC器的
RPC(Remote Procedure Call Protocol)
NFS如何配置
创建NFS服务器
-
编辑/etc/exports
第一部分:本地要共享出去的目录
-
第二部分:允许访问的主机(可以是一个IP也可以是一个IP段)
- 代表所有的IP
-
第三部分:小括号里的内容,是一些权限选项
rw:读写
no_root_squash:root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样
async:不同步,把内存中数据定期写入磁盘中
<pre style="margin: 8px 0px;"> <pre style="margin: 8px 0px;">echo '{需要共享的目录} *(rw,no_root_squash,async)'>>/etc/exports</pre>
<pre style="margin: 8px 0px;"># 示例:echo '/home/sendoh/backupfile *(rw,no_root_squash,async)'>>/etc/exports</pre> </pre>
<pre style="margin: 8px 0px;"> ```
- 启用NFS服务
systemctl stop firewalld.service
systemctl stop iptables
systemctl start nfs.service </pre>
[图片上传失败...(image-1e6f0a-1569205903602)]
## 客户端挂载
<pre style="margin: 8px 0px;">mount -t nfs {NFS服务器IP}:{NFS服务器目录} {客户端服务器目录}</pre>
<pre style="margin: 8px 0px;"># 示例:mount -t nfs 10.10.140.11:/home/sendoh/backfile /home/oracle/backupfile</pre>
[图片上传失败...(image-d690-1569205903602)]
## 验证NFS是否成功
- NFS服务器上执行
showmount -a # 列出所有的客户端
[图片上传失败...(image-89b565-1569205903602)]
- 客户端服务器执行命令
showmount -e {NFS服务器IP} # 查看NFS的共享情况
[图片上传失败...(image-64afaf-1569205903602)]
df -h # 可以看到共享目录挂载在客户端的哪个目录下
[图片上传失败...(image-71ee7a-1569205903602)]
# NFS如何卸载
- 客户端执行卸载
umount -t nfs {NFS服务器IP}:{NFS服务器目录} {客户端服务器目录}
示例:umount -t nfs 10.10.140.11:/home/sendoh/backupfile /home/oracle/backupfile
[图片上传失败...(image-578eae-1569205903602)]
[图片上传失败...(image-4e2b85-1569205903602)]
- 卸载出现问题:device is busy
[图片上传失败...(image-b2fa-1569205903602)]
- 解决步骤如下
- 寻找占用的进程:fuser -m -v {客户端服务器目录}
[图片上传失败...(image-c21f1b-1569205903602)]
- 将进程kill:kill -9 {PID号}
[图片上传失败...(image-de07b3-1569205903602)]
- 执行卸载命令:umount -t nfs {NFS服务器IP}:{NFS服务器目录} {客户端服务器目录}
[图片上传失败...(image-f6dd54-1569205903602)]
[https://www.cnblogs.com/paul8339/p/7048046.html](https://www.cnblogs.com/paul8339/p/7048046.html)