小干货~ NFS在Linux系统中的应用
Linux系统中的经典的语句”一切皆文件”,意思就是说在Linux系统中,我们要达成任何目标,都是通过配置文件去实现的。既然这样,那我们就少不了跟文件打交道,今天就跟大家分享下如何在Linux系统中配置网络文件系统(Network File
System, NFS)服务来达到Linux系统之间的文件共享的目的。
之前有跟大家介绍过FTP(文件传输)协议,使得不同网络系统上的文件可以互相传输,类似Windows系统中的复制粘贴功能,这样同一文件在不同系统之间都要占内存,如果传输的文件比较大,对系统内存就不是很友好,而且修改文件也比较麻烦。今天跟大家分享的就是使用NFS服务将Linux服务端的共享资源挂载到客户端,这样客户端基于TCP/IP协议,就像操作本地资源那样对服务端的资源进行操作。
那么该如何使用NFS服务呢?且看以下步骤:
[if !supportLists](1)[endif]首先检查你所使用的Linux操作系统是否已经安装NFS软件包
执行命令:dnf install nfs-utils
[if !supportLists](2)[endif]为了检查NFS是否达到配置效果,我们需要两台Linux主机(一台用作服务端,一台用作客户端)。假设服务端使用的IP地址是192.168.10.10,客户端使用的IP地址是192.168.10.20
[if !supportLists](3)[endif]检查防火墙配置,防止防火墙阻止了正常的NFS共享服务
[if !supportLists](4)[endif]在NFS的服务端,也就是IP地址为192.168.10.10的Linux主机上创建一个共享文件目录,并给足权限
执行命令:mkdir /sharefile
chmod -R 777 /sharefile
echo “welcome to linuxprobe.com” >/sharefile/readme
[if !supportLists](5)[endif]NFS默认的配置文件为/etc/exports, 这个文件没有任何东西,我们可以按照自己的需求进行配置,配置规则为”共享目录的路径允许访问的客户端参数”。例如:
执行命令:vim /etc/exports
/sharefile 192.168.10.*(rw,sync,root_squash)
[if !supportLists](6)[endif]重启NFS服务程序,因为在使用NFS共享服务的时候要用到远程调用服务,所以也要重启RPC服务
执行命令:systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server
[if !supportLists](7)[endif]使用showmount命令查询NFS服务的远程共享信息
执行命令:showmount -e 192.168.10.10
[if !supportLists](8)[endif]在客户端创建挂载目录,并挂载到客户端。挂载命令的格式为服务器IP地址,服务器上的共享目录以及客户端的挂载目录
执行命令:mkdir /clientsharefile
mount -t nfs 192.168.10.10:/sharefile/clientsharefile
这样整个NFS服务的配置就配置好啦,如果想要NFS挂载共享服务一直有效,需要将其写入到fstab文件中,这样服务端的资源就会随着服务器的开机而挂载。但是这样会产生一个问题,如果挂载的资源太多或者资源长期挂载而不使用的话,就会造成资源浪费,如果每次在使用的时候会自动挂载,就会解决这一问题。autofs服务会解决这一问题,当客户端需要访问某一文件时,autofs会自动挂载这一文件。autofs使用方法如下:
[if !supportLists](1)[endif]安装autofs服务:dnf install autofs
[if !supportLists](2)[endif]将挂载信息写入配置文件,一般Linux服务器会同时管理多台设备的挂载,如果把这些信息都写进一个配置文件里,那么文件的可读性大大降低,也不利于服务器的执行效率,一般采取的方法是先在主配置文件里按照”挂载目录子配置文件”的格式填写,然后再在子配置文件里按照”挂载目录挂载文件类型及权限:设备名称”的规则填写
[if !supportLists](3)[endif]重启autofs服务程序
执行命令:systemctl startautofs
systemctl enable autofs
这样autofs服务就配置好啦,是不是特别简单。Autofs服务只有检测到有需要挂载的文件时才会自动挂载,大大提高工作效率。
这里要特别强调的一点是NFS服务只能用于Linux操作系统之间的文件共享,如果有Linux和Windows之间的文件共享需要考虑用其他服务,如Samba服务程序等,这里就不详述。如果想要深入了解NFS服务和Samba服务的小伙伴可以查阅《Linux就该这么学(第2版)》这本书,这本书里会比本文介绍的更加详细,如执行命令需要配置的参数,每个参数表示什么意思,每个操作需要的注意事项,书中都会有,诚挚推荐给有需要的小伙伴。