nfs文件共享
nfs的简介
1.1 nfs特点
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源
在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
nfs适用于Linux与Unix之间实现文件共享,不能实现Linux与Windows间的文件共享功能
nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上
nfs服务只能基于IP进行认证
1.2 nfs的应用场景
nfs有很多实际应用场景,以下是一些常用的场景:
多个机器共享一台CDROM或其他设备。这对于在多台机器中安装软件来说更加便宜与方便
在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录
不同客户端可在NFS上观看影视文件,节省本地空间
在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下
1.3 nfs的体系组成
nfs体系至少有两个主要部分:
一台nfs服务器
若干台客户机
nfs工作机制
nfs是基于rpc来实现网络文件系统共享的。所以我们先来说说rpc。
2.1 RPC
RPC(Remote Procedure Call Protocol),远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。
nfs共享目录
安装nfs服务
[root@liu ~]# yum -y install nfs-utils*
Last metadata expiration check: 20:20:24 ago on Tue 19 Jul 2022 02:
Dependencies resolved.
===================================================================
Package Architecture V
===================================================================
Installing:
nfs-utils x86_64
Installing dependencies:
[root@liu ~]# yum -y install bind
Last metadata expiration check: 20:20:34 ago on Tue 19 Jul 2022 02:
Dependencies resolved.
===================================================================
Package Architecture Versio
===================================================================
Installing:
bind x86_64 32:9.1
Installing dependencies:
bind-libs x86_64 32:9.
配置文件内容
vim/etc/export
要传输什么文件到哪个主机去 要传输的ip(有什么权限)
/public 192.168.124.12(ro)
修改配置后重启服务
[root@liu ~]# systemctl restart nfs-server.service
[root@liu ~]#
[root@liu ~]# systemctl restart rpcbind
创建挂载点
[root@liu ~]# mkdir /liu
设置永久挂载
192.168.124.12:/public /liu nfs defaults,_netdev 0 0
到服务端查看是否可以访问共享文件
[root@liu ~]# showmount -e 192.168.124.129
Export list for 192.168.124.129:
/public 192.168.124.12
在客户端上挂载nfs文件系统
[root@liu ~]# mount -t nfs 192.168.124.129:/public /liu
重启服务
[root@YL ~]# systemctl restart nfs-server.service rpcbind
[root@YL ~]#
已经挂载完成
[root@liu ~]# df -Th
Filesystem Type
/dev/mapper/cs-root xfs 17G 2.1G 15G 13% /
/dev/sda1 xfs 1014M 195M 820M 20% /boot
tmpfs tmpfs 79M 0 79M 0% /run/user/0
/dev/sr0 iso9660 9.0G 9.0G 0 100% /mnt
192.168.124.129:/public nfs4
将权限设置为rw,所属主设置为nobody在客户端上就可以创建文件或目录了
[root@YL ~]# cat /etc/exports
/public 192.168.124.12(rw)
[root@YL ~]# chown -R nobody /public/
[root@liu ~]# cd /liu/
[root@liu liu]# ls
[root@liu liu]# mkdir a