NFS网络文件系统
网络文件系统
NFS(Network Files System)即网络文件系统,NFS文件系统协议允许网络中的主机通过TCP/IP协议进行资源共享,NFS客户端可以像使用本地资源一样读写远端NFS服务端的资料,需要注意NFS服务依赖于RPC服务与外部通信,所以必需保证RPC服务能够正常注册服务的端口信息才能正常使用NFS服务。
首先安装NFS服务
Linux系统已经默认安装了NFS服务,并且服务端和客户端都需要安装。
命令:yum install nfs-utils
第1步:创建NFS服务端的共享目录。
清空iptables默认的规则链:
命令:iptables -F
保存清空后的iptables规则:
命令:service iptables save
创建nfsfile共享目录:
命令:mkdir /nfsfile
写入一个文件,用于NFS客户端读取:
命令: echo "welcome to linuxprobe.com"> /nfsfile/readme
(前两个未找到命令的原因:双引号前有空格;大于号后没有空格)
NFS服务端配置文件是”/etc/exports”,用于定义要共享的目录以及相应权限。
命令: vim /etc/exports
//格式为:共享目录的绝对路径 允许访问NFS资源的客户端(权限参数)
/nfsfile 192.168.14.*(rw,sync,root_squash)
NFS配置共享的参数有:
参数 |
作用 |
ro |
只读默认 |
rw |
读写模式 |
root_squash |
当NFS客户端使用root用户访问时,映射为NFS服务端的匿名用户。 |
no_root_squash |
当NFS客户端使用root用户访问时,映射为NFS服务端的root用户。 |
all_squash |
不论NFS客户端使用任何帐户,均映射为NFS服务端的匿名用户。 |
sync |
同时将数据写入到内存与硬盘中,保证不丢失数据。 |
async |
优先将数据保存到内存,然后再写入硬盘,效率更高,但可能造成数据丢失。 |
第2步:启动NFS服务端
命令: systemctl status rpcbind
启动nfs-server程序:
命令: systemctl start nfs-server
设置NFS服务端为开机启动:
命令:systemctl enable nfs-server
第3步:配置NFS客户端
NFS客户端也是已经默认安装,直接挂载共享就可以了。
showmount命令用于查询NFS服务端共享信息,格式为:“showmount [参数] [远程主机]”。
参数 |
作用 |
-e |
显示NFS服务端的共享列表 |
-a |
显示本机挂载NFS资源的情况 |
-v |
显示版本号 |
查询远程NFS服务端中可用的共享资源:
命令:showmount -e 192.168.14.200
Export list for 192.168.14.200:
/nfsfile (everyone)
创建本地挂载目录:
命令: mkdir /nfsfile
命令: mount -t nfs 192.168.10.10:/nfsfile /nfsfile
顺利查看到刚刚写入文件内容:
命令: cat /nfsfile/readme
welcome to fist.com(想象中的)
(实际上我又o(╥﹏╥)o了)
如果希望开机后自动将NFS资源挂载到本地,那么就可以通过修改fstab文件来实现:
命令: vim /etc/fstab
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0