NFS
Posted tanshouke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS相关的知识,希望对你有一定的参考价值。
博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽
NFS简介
NFS(网络文件系统)服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机(Linux客户端)基于TCP/IP协议,像使用本地主机上的资源那样读写远程Linux系统上的共享文件
用于配置NFS服务程序配置文件的参数
参数 |
作用 |
ro |
只读 |
rw |
读写 |
root_squash |
当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 |
no_root_squash |
当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 |
all_squash |
无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 |
sync |
同时将数据写入到内存与硬盘中,保证不丢失数据 |
async |
优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 |
NFS客户端的配置步骤也十分简单。先使用showmount命令(以及必要的参数,见下表)查询NFS服务器的远程共享信息,其输出格式为“共享的目录名称 允许使用客户端地址”
showmount命令中可用的参数以及作用
参数 |
作用 |
-e |
显示NFS服务器的共享列表 |
-a |
显示本机挂载的文件资源的情况NFS资源的情况 |
-v |
显示版本号 |
服务器:247.68
客户机:69
NFS端口:2049
RPC端口:111
一、NFS服务器搭建
1.服务器安装rpcbind,nfs并启动服务
yum install rpcbind* -y yum install nfs* -y service rpcbind restart service nfs restart
2.服务器设置nfs“浮动”端口号
vim /etc/sysconfig/nfs 服务器设置参数为: LOCKD_TCPPORT=4000 对应deamons:rpc.nfsd LOCKD_UDPPORT=4000 对应deamons:rpc.nfsd MOUNTD_PORT=4001 对应deamons:rpc.nountd STATD_PORT=4002 对应deamons:rpc.statd
3.服务器防火墙放行规则
iptables -I INPUT 1 -p tcp --dport 2049 -j ACCEPT iptables -I INPUT 1 -p udp --dport 2049 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 111 -j ACCEPT iptables -I INPUT 1 -p udp --dport 111 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 4000:4002 -j ACCEPT iptables -I INPUT 1 -p udp --dport 4000:4002 -j ACCEPT service iptables save service iptables restart
4.服务器设置NFS配置文件
mkdir /xx/nfstest/nfs -p chmod o+w -R /xx (不设置写权限客户机无法写入内容) exportfs vim /etc/exports 输入: /xx 192.168.247.0/24(rw,sync,no_root_squash) exportfs -arv (为了不重启系统,二次编辑需要执行该命令) service nfs restart
5.客户机访问
yum install nfs-utils -y showmount -e 192.168.247.68 出现:Export list for 192.168.247.68: /xx 192.168.247.0/24 (表示共享成功)
6.客户机挂载NFS共享目录至/opt
mount -o bg 192.168.247.68:/xx /opt (后台挂载,防止前台无法使用) cd /opt/nfstest/nfs/ pwd 出现:/opt/nfstest/nfs (表示可以使用共享目录) umount 192.168.247.68:/xx
7.客户机安装与设置自动挂载
无论是Samba服务还是NFS服务,都要把挂载信息写入到/etc/fstab中,这样远程共享资源就会自动随服务器开机而进行挂载。虽然这很方便,但是如果挂载的远程资源太多,则会给网络带宽和服务器的硬件资源带来很大负载。如果在资源挂载后长期不使用,也会造成服务器硬件资源的浪费。可能会有读者说,“可以在每次使用之前执行mount命令进行手动挂载”。这是一个不错的选择,但是每次都需要先挂载再使用,您不觉得麻烦吗?
autofs自动挂载服务可以帮我们解决这一问题。与mount命令不同,autofs服务程序是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。换句话说,我们将挂载信息填入/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autofs服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。
yum provides */auto.master yum install autofs-5.0.5-140.el6_10.1.x86_64 -y vim /etc/auto.master 输入: #(系统自动挂载到/cc目录是由auto.aa决定的) /cc /etc/auto.aa cp /etc/auto.misc /etc/auto.aa vim /etc/auto.aa 输入: nfs -fstype=nfs,rw 192.168.247.68:/xx 或是: * -fstype=nfs,rw 172.25.0.11:/share/& (redhat7) service autofs stop service autofs start
共享家目录案例:
8.客户机验证
[root@TESTA ~]# cd /cc [root@TESTA cc]# ls (有时候这个目录不显示挂载文件的) nfs [root@TESTA cc]# cd nfs/ [root@TESTA nfs]# ls nfstest ss [root@TESTA nfs]#
转载需注明出处
以上是关于NFS的主要内容,如果未能解决你的问题,请参考以下文章