NFS和autofs
NFS和autofs自动挂载
- 前言
- 一、NFS
- 1. 简介
- 2. 原理
- 3. 配置
- 二、autofs
- 1. 简介
- 2. autofs配置
前言
在NFS文件系统的使用过程中,客户端要使用服务端所提供的文件系统,可以在/etc/rc.d/rc.local中设置开机时自动挂载(在/etc/rc.d/rc.local文件中写入的命令,每次系统在操作系统启动时就会执行一次),也可以在登录系统后手动利用mount来挂载
一、NFS
1. 简介
NFS(Network File
System)网络文件系统,最早由Sun公司发展出来的,也是FreeBSD支持的文件系统中的一个,它允许网络中的计算机之间通过TCP/IP网络共享资源。NFS可以通过网络让不同的主机、不同的操作系统可以共享存储。
NFS的优点:
- 节省本地存储空间
- 用户不需要再网络中的每个机器上都创建一个家目录,家目录可以放在NFS服务器上,通过网络访问家目录
- 一些存储设备CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
2. 原理
NFS本身的服务并没有提供数据传递的协议,而是通过使用RPC(远程过程调用 Remote Procedure Call)来实现。当NFS启动后,会随机的使用一些端口,NFS就会向RPC去注册这些端口。RPC就会记录下这些端口,RPC会开启111端口。通过client端和sever端端口的连接来进行数据的传输。在启动nfs之前,首先要确保rpc服务启动。
1. 本地用户要访问nfs服务器中文件,先向内核发起请求,内核处理调用nfs模块及rpc client
2. rpc client向rpc server发起连接
3. 在连接之前,NFS服务除了启动nfsd本身监听的端口2049/tcp和2049/udp,还会启动其它进程(如mountd,statd,rquotad等)以完成文件共享,这些进程的端口是不固定的;是每次NFS服务启动时向RPC服务注册的,RPC服务会随机分配未使用的端口
4. 完成连接,接受访问请求
5. nfs应用程序向内核发起请求
6. 内核调用文件系统
7. client端通过获取的NFS端口来建立和server端的NFS连接并进行数据的传输。
nfs启动各服务的作用:
rpc:远程过程调用协议,是实现本地调用远程主机实现系统调用的协议。portmapper:负责分配rpc server的端口,并在client端请求时,负责响应目的rpc server端口返回给client端,工作在tcp与udp的111端口上。mountd:是nfs服务的认证服务的守护进程,client在收到返回的真正端口时,就会去连接mountd,认证取得令牌。nfsd:nfs的守护进程,负责接收到用户的调用请求后与内核发出请求并得到调用结果响应给用户,工作在tcp和udp的2049端口。idmapd:是NFS的一个程序,用来负责远程client端创建文件后的权限问题。==quotad==:用用于实现磁盘配额,当client端挂载nfs后可以限制磁盘空间的大小。
3. 配置
软件包名:nfs-utils
服务名:nfs-server
主要配置文件:/etc/exports
服务端配置
创建共享目录
mkdir /share编辑配置文件 /etc/exports
格式为: 共享目录 允许访问的主机(访问权限)
例:/share 192.168.1.0/24(rw) 172.16.1.0/24(rw)
不同主机之间用空格分隔
访问权限
ro:只读rw:读写sync:同步,数据同步写到内存与硬盘中async:异步,数据先暂存内存root_squash:将root用户映射为来宾账号 no_root_squash:远程主机用root访问,远程root用户映射为本地root用户all_squash:共享文件的UID和GID映射匿名用户anonymous,适合公用目录,即全部映射为来宾账号no_all_squash:远程主机普通用户访问,映射为本地同UID的用户anonuid=xxx,anongid=xxx:指定映射的来宾账号的UID和GIDsecure:nfs通过1024以下的安全TCP/IP端口发送insecure:nfs通过1024以上的端口发送wdelay:如果多个用户要写入nfs目录,则归组写入(默认)no_wdelay:如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置hide:在nfs共享目录中不共享其子目录no_hide:共享nfs目录的子目录subtree_check:如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)no_subtree_check:不检查父目录权限
使配置文件生效
重启服务
systemctl restart nfs-server
使用exportfs命令:
exportfs -rv
exportfs命令
-r:重新导出,使配置文件生效-u:取消导出-v:显示详细信息,即生效的nfs共享-a:跟-r或-u选项同时使用,表示重新挂载所有文件系统;
放通防火墙
firewall-cmd --permanent --add-service=nfsfirewall-cmd --permanent --add-service=rpc-bindfirewall-cmd --permanent --add-service=mountdfirewall-cmd --reload
重启服务
systemctl restart nfs-server.service
配置实例
客户端配置
查看NFS服务器共享的文件系统
showmount -e servera
showmount命令
-e:查看NFS服务器开放("导出")的文件系统 -a:查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应关系列表 -d:显示NFS服务器所有导出的文件系统被客户端挂载了的文件系统列表
挂载文件系统
临时挂载mount -t nfs servera:/share /mnt
永久挂载
echo '192.168.0.1:/share /mnt nfs defaults 0 0' >> /etc/fstab
客户端挂载时,可以指定挂载选项
echo '192.168.0.1:/share /mnt nfs defaults,(挂载选项) 0 0' >> /etc/fstab
挂载选项
suid/nosuid:文件系统是否支持suid功能 ro/rw:只读或者读写 dev/nodev:是否支持设备文件 exec/noexec:是否支持可执行文件执行 user/nouser:是否支持用户挂载系统 auto/noauto:是否支持自动挂载,即mount -a或者系统启动时自动挂载
配置实例
二、autofs
1. 简介
NFS存在的问题:
由于网络问题,NSF服务器与客户端的连接不会一直存在,当客户端挂载了NFS服务器之后,任何一方脱机都可能造成另一方等待超时。
autofs解决方案:
- 当客户端在有使用NFS文件系统的需求时才让系统自动挂载。
- 当NFS文件系统使用完毕后,让NFS自动卸载。超过5分钟空闲状态,则会自动解除挂载
自动挂载的优势:
1. 自动挂载的NFS共享可以供计算机上的所有用户使用
2. NFS共享不像/etc/fstab中的条目一样永久挂载,从而可以释放网络和系统资源。
3. 自动挂载是在客户端,不需要服务端配置
4. NFS是默认的文件系统的挂载,但也可以用来自动挂载其它的文件系统
5. autofs是一种服务,可以像其它系统服务一样管理
2. autofs配置
客户端安装软件包:
yum -y install autofs
启动autofs服务
systemctl enable --now autofs
编辑配置文件/etc/auto.master或者在/etc/auto.master.d/下创建一个以.autofs结尾的文件
echo '/share /etc/auto.nfs' >> /etc/auto.master.d/nfs.autofs
/share 为监听目录,此目录不需要事先存在,因为autofs会自动建立该目录
/etc/auto.nfs为规则目录,可自定义文件名称建立映射文件
echo 'nfs -rw servera.example.com:/share' >> /etc/auto.nfs
nfs:本地挂载点,是监听目录的子目录
-rw:挂载参数
servera.example.com:/share:服务器所提供的目录重启服务
systemctl restart autofs
监听目录会自动创建出来
触发挂载
cd /share/nfs
配置案例
应用场景
用户不需要再网络中的每个机器上都创建一个家目录,家目录可以放在NFS服务器上,通过网络访问家目录
NFS和autofs相关推荐
- NIS、NFS 與 Autofs 整合應用
NIS.NFS 與 Autofs 整合應用 http://www.babyface.idv.tw/NetAdmin/29200806nisnfsautofs/ 作者:徐秉義(Albert Hsu) N ...
- 服务器所属文件变成nobody,NFS使用autofs挂接后文件属主显示为nobody
问题描述 客户端使用autofs挂接nfs的共享文件全部显示为nobody -rwxr-xr-x 1 nobody nobody 1819 Dec 16 16:53 clear_log.sh -rwx ...
- NFS And Autofs
NFS(network file system) 挂载NFS 文件系统.NFS是一个标准的网络协议用在linux与unix之间,版本7默认使用的是NFSV4,NFSv4使用TCP协议,旧版本的NFS使 ...
- NFS(Autofs)挂载出现文件夹权限日期“?“问号
问题:如下图,通过autofs或者nfs挂载目录后,出现目录无法访问的情况.使用`rm`或者`rm -d`等命令都无法删除,提示`stale file handle`. 解决方法:使用`umount` ...
- 解决方案: NIS+NFS+AUTOFS
NIS+NFS+autofs实现NIS账号的登录 2009-05-15 14:10 1:环境 在NIS中,由于账户的在服务器端,而且它的主目录,因为在添加账号的时候只在服务器上有,而在客户端没有该账户 ...
- L028-老男孩实效教育-nfs网络文件系统企业级优化实战-12节
通过命令:mount -t nfs -o nosuid,noexec,nodev,rw 10.0.0.7:data/ /mnt 将mnt挂载. 挂载的时候因为加了noexec参数,虽然有x ...
- Linux学习笔记-RH135之文件共享系统samba、nfs和iscsi
文件共享系统samba.nfs和iscsi 1.samba的多用户挂载 2.autofs+samba 3.NFS(Net File System) 4.autofs+nfs 5.iscsi 1.sam ...
- linux收集完整技术支持信息的命令有,Linux下常用的日志收集命令(RedhatSuSe)
Linux下日志的采集和分析是一个非常重要的工作,一般厂商在你需要技术支持的时候,都需要你通过对应指令收集系统的信息,我这边列举下常用的两个Linux厂商的收集命令(Redhat Linux以及SuS ...
- TCL通讯上海产品创新中心职位推荐
对于以下岗位如有感兴趣的同学请将简历发送至vincent.song@tcl.com,我们的HR将会及时与您取得联系! 以下是紧急招聘职位信息: 紧急/Emergency Position Androi ...
最新文章
- 修改 SQL Server 服务器的 IP 地址
- ElementUI的DateTimePicker组件修改时间格式
- 软考-信息系统项目管理师-信息系统安全管理
- 装好了ubuntu,w2k却无法启动了,:(
- weblogic常见漏洞
- 面试官: 用css实现android系统的loading动画
- EasyUI基础入门之Pagination(分页)
- [论文翻译] Active Learning by Feature Mixing
- Android访问WCF服务(上篇)-服务端开发
- qtxlsx读写 excel
- 分享经济的巨大潜力,加速改变新生活方式
- 2022-07-25 第五小组 顾祥全 学习笔记 day18-JavaSE-接口
- 苹果手机如何设置喜欢的铃声?想给自己的iphone换个别具特色的铃声吗?
- HDU 5651 xiaoxin juju needs help 组合数
- Sorry, you have been blocked !vultr 又被 openai 屏蔽了,只能换个 vps 了
- 对透明表、簇表的理解
- 如何快速实现增长App用户量?
- Java分别获取指定日期的年月日
- xp开起无线服务器,XP系统笔记本设置成wifi热点(无需软件,绝对成功)
- 开普互联心系农民 服务三农