linux叠加挂载磁盘卷能不能只卸载上层挂载点

问题

废话不多说,直接进入正题:
/dev/sdb1和/dev/sdb2分别挂载在/guazai和/guazai/gua2,当我只需要卸载/guazai时,有必要连下层的/guazai/gua2一并卸载么?
在这里插入图片描述

实验

  1. 先挂载/guazai/gua2,再挂载/guazai
    (挂载点的目录要提前存在,直接mkdir -p /guazai/gua2就行)
    挂载/guazai/gua2时,注意看,盘里是有文件的,df -h也能看到挂载情况。
    在这里插入图片描述
    再挂载/guazai,此时原来挂载下面的/guazai/gua2不见了,也读取不到里面的内容。
    在这里插入图片描述
    如果想既能读取/guazai,又能读取/guazai/gua2,就需要再对/guazai/gua2进行重新挂载。
    在这里插入图片描述
    这个时候,如果我们卸载/guazai,会报错,提示“target is busy.”,但是用lsof +d查看(也可用fuser -cu /guazai代替)发现没有用户进行读取,实际是因为/guazai被共享给下面的gua2了。

在这里插入图片描述
这个时候要强行卸载旧要用umount -l,卸载成功后再用df查看,发现/guazai/gua2还在,能正常读写。这其实多亏了先挂载的/guazai/gua2,不信我们下面再看。
在这里插入图片描述

  1. 先挂载/guazai,再挂载/guazai2
    这个时候gua2下面看不到东西
    在这里插入图片描述
    再挂载/guazai/gua,这个时候/guazai和/guazai/gua2都可读。
    在这里插入图片描述
    这个时候我们卸载/guazai2,和上面一样,umount -f根本卸载不了。
    在这里插入图片描述
    再用umount -l来卸载,两个都不见了。
    在这里插入图片描述

    如果这个时候我们再挂载回来/guazai,发现/guazai有了,但是/guazai/gua2并没有。
    在这里插入图片描述

结论

  1. df 查看到的挂载点信息,自上而下显示了挂载顺序,谁先出现,就是谁先挂载;
  2. 先挂载/guazai/gua2后挂载/guazai,需要再重新挂载一次/guazai/gua2,linux中虽然目录层级没有绝对关系,至少一个挂载点,但是/guazai在访问层次上毕竟还是比/guazai/gua2大一级,后挂载/guazai,会让/guazai下面原有的东西都看不见,如果想再用原来那个gua2盘下面的文件,就还需要再挂载一次;
  3. 先挂载/guazai再挂载/guazai/gua2,先来后到,/guazai已经和根目录建立了绑定关系,这个时间点后对/guazai目录下的任何操作都是针对/guazai对应的挂载盘的,所以/guazai/gua2就是/guazai目录下的了,卸载了/guazai,/guazai/gua2的绑定关系也就没有了。
  4. 生产环境涉及盘迁移时,如果只迁移单个,这个还是需要稍微注意一下的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值