NFS服务器的搭建
1.NFS的认识
NFS(Network File System即网络文件系统)服务最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享文件,可以将远程 Linux 系统上的文件共享资源挂载到本地主机的目录上,从而使得客户端基于TCP/IP协议,像使用本地主机上的资源一样读写远程Linux系统上的共享文件
2.配置需要
- NFS 主程序:nfs-utils
- RPC 主程序:rpcbind
NFS 的主配置文件:/etc/exports 默认为空
3.相关参数
配置参数定义的格式:
共享目录的路径 +允许访问的 NFS 客户端(共享权限参数)
A.服务器端
(1)安装NFS
rpm -q nfs-utils #查看是否安装nfs-utils rpm -q rpcbind #查看是否安装rpcbind yum install nfs-utils #下载nfs-utils yum install rpcbind #下载rpcbind rpm -q nfs-utils #查看是否安装成功nfs-utils rpm -q rpcbind #查看是否安装成功rpcbind systemctl start nfs-utils #启动nfs-utils systemctl startr pcbind #启动pcbind systemctl enable nfs-utils #自启nfs-utils systemctl enable rpcbind #自启pcbind
(2)创建共享目录
mkdir /nfs #创建目录 echo "nfs server">/nfs/nfs.txt #创建文件并写入内容 chmod -Rf 777 /nfs/ #修改权限 ll /nfs/ #查看目录 ll /nfs/nfs.txt #查看文件
(3)配置NFS服务
配置参数格式:共享目录的路径 +允许访问的 NFS 客户端(共享权限参数)
vim /etc/exports #编辑主配置文件 /nfs 192.168.0.*(rw,sync,root_squash) #配置参数 exportfs -r #配置生效 systemctl restart nfs #重启nfs systemctl restart rpcbind #重启rpcbind
IP地址与参数之间没有空格
(4)固定nfs服务端口(或iptables -F清空防火墙的默认策略)
vim /etc/sysconfig/nfs #编辑配置文件 RQUOTAD_PORT=30001 LOCKD_TCPPORT=30002 LOCKD_UDPPORT=30002 MOUNTD_PORT=30003 STATD_PORT=30004 rpcinfo -p localhost #查看 RPC 服务的注册状况
systemctl restart nfs #重启nfs
(5)本机查询nfs服务器
showmount -e 服务器ip
-a :显示目前主机与客户端的 NFS 联机分享的状态
-e :显示某部主机的 /etc/exports 所分享的目录数据
-v:显示版本号
B:linux客户端
(1)创建目录并挂载
mkdir /nfs #创建挂载目录 showmount -e 192.168.0.* #查看服务器抛出的共享目录信息 mount -t nfs 192.168.78.102:/nfs /nfs -o proto=tcp -o nolock #提高NFS的稳定性
vim /etc/fstab #开机挂载
192.168.78.102:/nfs /nfs nfs defaults 0 0
ll /nfs/ #查看挂载文件
df -h #查看挂载结果
提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议
(2)测试
cat /nfs/nfs.txt #查看文件 echo “204” >> /nfs/nfs.txt #追加内容 cat /nfs/nfs.txt #查看文件
(3)卸载已挂在的NFS
umount –lf /nfs/nfs.txt
C.win客户端
(1)开启nfs客户端
打开控制面板—程序—启用或关闭windos功能—选中适用于linux的Windows子系统—点击确定(先不重启) —打开控制面板—程序—启用或关闭windos功能—选中NFS服务中的NFS客户端和管理工具—点击确定—点击立即重启
(2)挂载
win+r打开运行,输入mount \\NFS的IP地址或者主机名\nfs目录名 挂载点: 例如:mount \\192.168.88.128\nfs X:
win+e就可以看到挂载的X盘
(3)取消挂载
win+r打开运行,输入umount X:或者右键X盘,点击取消连接
5.自动挂载服务autofs
(1)autofs的认识
autofs服务程序是一 种Linux系统守护进程,它会在后台检测用户是否要访问某一个还未挂载的文件系统,autofs会自动检测该文件系统是否存在,如果存在则进行挂载,如果用户过了一段时间还没有使用该文件系统,autofs自动将其卸载,节省人力维护的成本和服务器资源
(2)配置文件
autofs服务程序主配置文件为:/etc/auto.master,一般采用主配置和子配置的方式进行配置
主配置文件采用“挂载目录 子配置文件”的格式填写,挂载目录是设备挂载位置的上一级目录
子配置文件采用“挂载目录 挂载文件类型及权限 :设备名称”的格式填写,子配置文件用户自定义,后缀建议以.misc结束
(2)配置安装(自动挂载光驱为例)
a.下载
yum install autofs
b.修改配置文件
vim /etc/auto.master #编辑主配置文件 /media /etc/iso.misc #添加子配置文件
光盘设备一般挂载到/media/cdrom目录中
子配置文件说明:/media /etc/iso.misc
/media 设备挂载位置的上一级目录
/etc/iso.misc 自定义子配置文件
c.编辑子配置文件
vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
把光盘设备挂载到/media/iso 目录中,子配置文件可将挂载目录写为 iso,而-fstype 为文件系统格式参数,iso9660 为光盘设备格式,ro、nosuid 及 nodev 为光盘设备具体的权限参数,/dev/cdrom 则是定义要挂载的设备名称
d.启动autofs服务
systemctl start autofs
systemctl enable autofs
e.查看挂载
df -h #查看文件系统目录 cd /media/iso ls df -h
当切换到iso目录时,使用挂载资源,autofs才自动进行挂载。当系统重启后可以看到它没有挂载上去,而再次切换到/media/iso目录时,又会自动挂载。通过这种方式实现了按需分配,从而节约带宽等资源
f.自动取消挂载
vim /etc/autofs.conf 修改 timeout = #多少秒后,自动取消挂载(单位为秒) cat /etc/autofs.conf |grep -i "timeout =" #查看取消挂载时间