架构师之路-学渣到学霸历程-25
NFS自动挂载技术
今天分享一个自动挂载技术的实战;
如果是有共享目录,日常我们要手工添加至本地,那么有没有一种可能就是我直接想访问共享目录它就能帮助我们直接挂载?
答案铁定是有的;只要你有想法,自然在Linux的世界里面就没有实现不来的;
我们看看这一个操作是如何实现的,go~!
1、自动挂载技术
autofs服务程序与mount命令不同之处在于它是一种守护进程,只有检测到用户试图访问一个尚未挂载的文件系统时才自动的检测并挂载该文件系统。
Autofs非常方便,主要有两个特点
- 设置开机不一定要挂载的目录,当用的时候才实现自动挂载。
- 这个十分方便,使用的时候才会自动挂载
- 用户不使用自动挂载的目录一段的时间,会自动卸载。(默认时间为5分钟),可以在autofs.conf
2、安装autofs服务
2.1、服务器安装好nfs服务
#配置自己的nfs规则
[root@Linux1 ~]# vim /etc/exports
/data/liangjiawei 192.168.75.0/24(rw,sync)
# 格式:#/data/liangjiawei 要共享的目录,需要存在(不存在就可以创建)#192.168.75.0/24 谁能挂载使用,可以是网段,也可以指定具体ip# (rw,sync) 挂载的一些参数,rw表示挂载为可读可写,sync表示同步#创建对应的目录
[root@Linux1 ~]# mkdir -p /data/liangjiawei#然后查看一下这些的目录的权限#这个实际上就是这个nfs挂在出来的权限;
[root@Linux1 ~]# ls -ld /data/ /data/liangjiawei/
drwxr-xr-x 3 root root 25 10月 3 16:06 /data/
drwxr-xr-x 2 root root 6 10月 3 16:06 /data/liangjiawei/#重新读取一下配置文件-导出(广播)编辑的文件,并重启rpc和nfs服务#并且重启一下nfs服务
[root@Linux1 ~]# systemctl restart rpcbind nfs
[root@Linux1 ~]# exportfs -r
2.2、客户端操作:
#直接安装autofs服务
[root@Linux2 ~]# yum -y install autofs
基本上到这里已经安装完成
主要的文件说明:
- /etc/auto.master文件:
- 这个文件直接定义了哪个目录是自动挂载的
3、autofs实验说明
3.1、编辑一下主要的auto.master文件
#查看一下配置文件
[root@Linux2 ~]# grep -v "^#" /etc/auto.master
/misc /etc/auto.misc #这个是默认的配置文件
/net -hosts
+dir:/etc/auto.master.d
+auto.master#然后看看这个/etc/auto.misc文件
[root@Linux2 ~]# grep -v "^#" /etc/auto.misc #这里就是默认这个服务的
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom#测试一下-->默认的文件#优先启动autofs服务
[root@Linux2 ~]# systemctl start autofs#服务启动了就多了一个/misc文件
[root@Linux2 ~]# ls -a /misc
. ..#如果说,我们直接cd cd这个目录,就会自动挂载这个iso文件
[root@Linux2 ~]# cd /misc/cd
[root@Linux2 cd]# ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL#这里就会自动挂载了
[root@Linux2 cd]# df -h | grep cd
/dev/sr0 4.4G 4.4G 0 100% /misc/cd
3.2、配置属于自己的自动挂载项目
服务器端配置:
#创建两个目录
[root@Linux1 ~]# mkdir /data/read-auto /data/write-auto
[root@Linux1 ~]# ll -ld /data/read-auto/ /data/write-auto/
drwxr-xr-x 2 root root 6 10月 3 16:58 /data/read-auto/
drwxr-xr-x 2 root root 6 10月 3 16:58 /data/write-auto/#然后共享这两个目录出去
[root@Linux1 ~]# vim /etc/exports
.......
/data/read-auto 192.168.75.0/24(ro,sync,no_root_squash)
/data/write-auto 192.168.75.0/24(rw,sync,no_root_squash)#重启服务
[root@Linux1 ~]# systemctl restart nfs
[root@Linux1 ~]# exportfs -r
客户端配置:
- 修改属于自己的nfs.misc文件
#修改配置文件
[root@Linux2 ~]# vim /etc/auto.master
.........
/nfs /etc/nfs.misc#/nfs是总的访问目录(客户端的目录) /etc/nfs.misc是对总访问目录的描述,用于子目录的编辑,用户权限分离
- 然后编辑一下nfs.misc文件
#编辑对应的权限
[root@Linux2 ~]# vim /etc/nfs.miscread-nfs -fstype=nfs,ro,sync 192.168.75.71:/data/read-auto
write-nfs -fstype=nfs,rw,sync 192.168.75.71:/data/write-auto
3.3、验证权限&启动autofs服务
#重启一下autofs服务
[root@Linux2 ~]# systemctl restart autofs#登录不同的目录来验证权限
[root@Linux2 ~]# cd /nfs
[root@Linux2 nfs]# ls#这里面什么都没有#只读目录不能创建
[root@Linux2 nfs]# cd read-nfs
[root@Linux2 read-nfs]# ls
[root@Linux2 read-nfs]# touch aa.txt
touch: 无法创建"aa.txt": 只读文件系统#切换可写目录-->成功实现权限分离
[root@Linux2 ~]# cd /nfs/write-nfs
[root@Linux2 write-nfs]# touch aa.txt
[root@Linux2 write-nfs]# ls
aa.txt
分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:💕立志要成为一名架构师
- 不断地去坚持学,其中的各种各样的难度,不言而喻~!
- 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!
如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!