NFS网络文件系统
NFS(网络文件系统)服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机基于TCP/IP协议,像使用本地主机上的资源那样读写远程Linux系统上的共享文件。
先检查是否安装,如没则安装。
# dnf install nfs-utils
关闭防火墙开启相关的服务。
# iptables -F
# iptablse-save
# firewall-cmd --permanent --zone=public -add-servcie=nfs
# firewall-cmd --permanent --zone=public -add-servcie=rpc-bind
# firewall-cmd --permanent --zone=public -add-servcie=mountd
# firewall-cmd --reload
建立NFS文件共享目录,并设置权限。
# mkdir /nfsfile
# ls -ld /nfsfile
# chmod -Rf 777 /nfsfile
# echo "hi, this is nfs share file." > /nfsfile/n.txt
NFS服务的配置文件为/etc/exports,默认里面没有内容。可以按照“共享目录的路径,允许访问的NFS客户端(共享权限参数)”格式,定义共享的目录与权限。
用于配置NFS服务程序配置文件的参数
注意,NFS客户端地址与权限之间没有空格。
启动和启用NFS服务。NFS需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务的ip地址和端口号等信息发送给客户端。所以还需要重启并启用rpcbind服务。
# systemctl restart rpcbind
# systemctl enable rpcbind
# systemctl start nfs-server
# systemctl enable nfs-server
showmount命令是用来查看NFS共享信息:输出格式为“共享的目录名称 允许使用客户端地址”
showmount命令参数及作用
NFS客户端建立一个挂载目录。并用mount结合-t,指定要挂载的文件系统类型,后面服务器的ip地址,服务器的共享目录及要挂载的本地系统(即客户端)目录。
# mkdir /nfsfile
# mount -t nfs 192.168.10.10:/nfsfile /nfsfile
# cat /nfsfile/n.txt
让共享一直生效,写入/etc/fstab
# vim /etc/fstab
192.168.10.10:/nfsfile /nfsfile nfs default,_netdev 0 0
autofs自动挂载服务
/etc/fstab中挂载信息,开机自动启动,虽然方便,但是如果挂账的远程资源太多,则会给带宽和服务器硬件资源带来很大负载。如长期不用,也会造成硬件资源浪费。当然可以每次使用前进行mount命令手动挂载,但是很烦麻烦。
autofs自动挂载服务可以解决这一问题,autofs服务程序是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。
首先安装autofs
# dnf install autofs
autofs服务程序主配置文件按照“挂载目录 子配置文件”的格式进行填写。
挂载目录是设备挂载位置的上一级目录。
如,光盘一般挂载到/media/cdrom中,那么就写成/media即可。
对应的子配置文件则是对这个挂载目录内的挂载设备信息作进一步的说明。
子配置文件需用户进行定义,文件名没严格要求,但后缀建议以.misc结束。
# vim /etc/auto.master
/meida /etc/iso.misc
子配置文件中,按照“挂载目录 挂载文件类型及权限:设备名称”的格式进行填写。
如:光盘挂载到/meida/iso 中,则写为iso,而-fstype文件系统格式参数,iso9660为光盘设备格式,ro、nosuid及nodev为光盘设备具体权限参数,/dev/cdrom则是定义要挂载的设备名称。配置完启动服务并加入启动项中。
# vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
# systemctl start autofs
# systemctl enable autofs
假设光盘没有挂载,但是却可以切换到这个iso子目录中,光盘被立即自动挂载上。
# df -h
# cd /media
# ls
# cd iso
# ls -l
# df -h
对nfs共享设置自动挂载
我们来对刚才的nfsfile进行设置自动挂载。
先把前面的挂载卸载掉
在客户端使用默认的autofs主配置文件,那么就只修改子配置文件。
# vim /etc/auto.misc
nfsfile 192.168.10.10:/nfsfile (追加这行)
# systemctl restart autofs (重启服务)
# cd /misc/nfsfile (这个misc和主配置文件有关)
# df -h
对samba共享设置自动挂载
如果对上一个笔记中的samba共享进行自动挂载。我们使用系统默认的子配置文件,只需要追加一行。
# vim /etc/auto.misc
samba -fstype=cifs,rw,noperm,credentials=/root/auth.smb ://192.168.10.10/database
说明:samba即在本地的/misc目录下的文件夹名称,未来该目录则为挂载的具体目录
-fstype是相关类型和一些权限其中的credentials=/root/auth.smb是samba共享需要用户名密码,为了方便我们不将用户名密码直接写入文件,而是另存到其他文件由auto.misc调用
😕/192.168.10.10/database为服务器端的共享地址及目录