1、已有一只硬盘,装一 centos 6.5,在 /dev/sda,并且有 /opt,里面有文件,
2、加了个硬盘,成为 /dev/sdb1,格式化成 ext4
3、白痴(我本人)用 mount /dev/sdb1 /opt。
4、mount -l,/dev/sdb1 是挂载成功的。
5、ls /opt,依然是原来 sda 上 /opt 的内容。
请问,这样是一种什么状态? 盘挂上了? 那么往后在 /opt 里写东西,是写在 /dev/sda 上,还是 /dev/sdb1 上?
1
pppguest3962 OP 很是妖异的事情,做完操作后,理论上 /opt 是挂载了 /dev/sdb1 的,我当时 ls 了,也确定了 pwd 的当前路径是没错的,里面的确还是 /dev/sda 储存的文件状态,我然后就来发了帖子,然后歇了一会,抽了根烟,
然后 umount 了一下 /dev/sdb 然后再 mout /dev/sdb1 /opt 再 ls /opt,/opt 里有个 lost+found 出现,成功了。。。 什么鬼。。。 |
2
zw 2018-04-12 22:33:38 +08:00
根据我之前的经验,如果将一个分区挂到一个已经有目录或文件的目录下,那么,原来文件和目录将不再可见,后续读写将是在新的分区上,umount 之后,之前的目录和文件又可见了。
|
3
moreMath 2018-04-12 22:36:10 +08:00
mount 一般要挂载到空目录,从新 mdir 一个文件夹再 mount 试试?
mount -l 挺长,你用 df 看看? 读写都是原路径,我理解是挂载点只是影响接入路径 |
4
eccstartup 2018-04-12 22:44:02 +08:00 via iPad
有点危险,/opt 可能非空
|
5
tatsuteng 2018-04-12 22:48:46 +08:00
如果 mount /dev/sdb1 /opt 后,/opt 的 inode 是会变的,会指向 /dev/sdb1 文件系统里的内容。
如果你在 mount 之前已经进入了 /opt 目录,那么在 mount 之后,不重新读取 /opt 的 inode 是看不到文件夹内容变化的;这时候 ls 会有些情况: 1. 直接 `ls`,因为`.`的 inode 没有刷新,你会看到 /dev/sda 的内容 2. `ls /opt`,因为 ls 读取了新的`/opt`inode,你会看到 /dev/sdb1 的内容 |
6
pppguest3962 OP |
7
msg7086 2018-04-12 23:24:27 +08:00
/opt# ls
和 /# ls /opt 是两个操作…… |
8
julyclyde 2018-04-13 10:18:28 +08:00
哪个后执行,哪个“现在”起作用
多次 mount 是一层层叠起来的 |