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

问题

废话不多说,直接进入正题:
/dev/sdb1和/dev/sdb2分别挂载在/guazai和/guazai/gua2,当我只需要卸载/guazai时,有必要连下层的/guazai/gua2一并卸载么?
linux叠加挂载磁盘卷能不能只卸载上层挂载点_第1张图片

实验

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

linux叠加挂载磁盘卷能不能只卸载上层挂载点_第5张图片
这个时候要强行卸载旧要用umount -l,卸载成功后再用df查看,发现/guazai/gua2还在,能正常读写。这其实多亏了先挂载的/guazai/gua2,不信我们下面再看。
linux叠加挂载磁盘卷能不能只卸载上层挂载点_第6张图片

  1. 先挂载/guazai,再挂载/guazai2
    这个时候gua2下面看不到东西
    linux叠加挂载磁盘卷能不能只卸载上层挂载点_第7张图片
    再挂载/guazai/gua,这个时候/guazai和/guazai/gua2都可读。
    linux叠加挂载磁盘卷能不能只卸载上层挂载点_第8张图片
    这个时候我们卸载/guazai2,和上面一样,umount -f根本卸载不了。
    在这里插入图片描述
    再用umount -l来卸载,两个都不见了。
    linux叠加挂载磁盘卷能不能只卸载上层挂载点_第9张图片

    如果这个时候我们再挂载回来/guazai,发现/guazai有了,但是/guazai/gua2并没有。
    linux叠加挂载磁盘卷能不能只卸载上层挂载点_第10张图片

结论

  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. 生产环境涉及盘迁移时,如果只迁移单个,这个还是需要稍微注意一下的。

你可能感兴趣的:(linux,linux,linux叠加挂载,嵌套挂载,linux嵌套挂载,umount,-f失败)