NFS简介
NFS(Network File System,网络文件系统)是历史最为悠久的文件共享协议之一,其目的是允许网络中的计算机之间通过TCP/IP网络共享资源。
在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS原理
常用命令
1)exportfs命令
一般格式: exportfs + 参数
具体参数详解:
-a # 全部挂载(或卸载)/etc/exports文件内的设定。
-r # 重新加载/etc/exports中的设置
-u # 卸载某一目录。
-v # 在export时将共享的目录显示在屏幕上。
2)关于NFS共享的常用参数
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_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
NFS服务端安装(Centos7)
有网络时可直接执行yum安装:
yum -y install nfs-utils rpcbind #NFS共享和远程调用工具包安装
无网络时:
请先在有网络的环境中准备好依赖包:
libaio-0.3.109-13.el7.x86_64.rpm 下载地址:https://centos.pkgs.org/7/centos-x86_64/libaio-0.3.109-13.el7.x86_64.rpm.html
libtirpc-0.2.4-0.16.el7.x86_64.rpm #下载地址:https://centos.pkgs.org/7/centos-x86_64/libtirpc-0.2.4-0.16.el7.x86_64.rpm.html
安装包【可利用yumdownload进行下载】:
nfs-utils 下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=nfs-utils
rpcbind 下载地址:https://sourceforge.net/projects/rpcbind/
启动rpcbind和nfs-utils
nfs是网络文件系统,rpc服务用于远程过程的调用,要使用nfs服务前,需要先在服务器端先开启rpc服务,通过rpc服务告诉nfs进程传输文件数据时的端口信息,进行程序控制;所以必须成功启动rpcbind后再启动nfs-utils
systemctl enable nfs-utils #设置开机启动
systemctl enable rpcbind #设置开机启动
systemctl start rpcbind #启动rpcbind;必须在启动nfs-utils之前启动rpcbind!!!
systemctl start nfs-utils #启动nfs-utils
NFS客户端安装(Centos7)
客户端开启 rpcbind 服务即可,不用开启 nfs 服务
yum -y install rpcbind
systemctl enable rpcbind #设置开机启动
systemctl start rpcbind #启动rpcbind;
如何使用?
服务端添加共享目录:
mkdir -p /home/test/ftpfile/box_ftp_audio/rawdata ###创建共享目录
chmod 777 /home/test/ftpfile/box_ftp_audio/rawdata ###修改权限
vim /etc/exports ###编辑NFS挂载配置文件
/home/test/ftpfile/box_ftp_audio/rawdata 192.168.3.0/24(rw,no_root_squash,sync)
/home/test/ftpfile/box_ftp_audio/rawdata/autoupload 192.168.3.0/24(rw,no_root_squash,sync)
/home/test/ftpfile/box_ftp_audio/rawdata/boxAudio 192.168.3.0/24(rw,no_root_squash,sync)
注意,重新编辑/etc/exports后需要刷新配置才能生效
exportfs -rv #刷新配置
客户端查看NFS系统可供挂载的目录并使用:
showmount -e 192.168.3.76
需先查看下是否有可用的共享目录,若没有则需先去创建
mount -t nfs 192.168.3.76:/home/test/mnt /mnt ###将本地/home/test/mnt和NFS文件系统的/mnt相关联,注意!该方式是临时挂载,如需永久挂载请将挂载目录添加至/etc/fstab
引用:
https://blog.csdn.net/lilygg/article/details/84576793——《利用nfs网络文件系统实现共享资源》