linux 同一分区是否可挂载多个目录

2016-09-10 20:19:37 +08:00
 leimbag

目前有 2 个硬盘, SSD 和 HDD , SSD 作为 /的系统盘,现在想把 /home 单独挂载到 HDD 上,同时还想建立一个 /data 目录,也是挂载到 HDD 硬盘上。 HDD 只建了一个分区 /dev/sdb1 , mount /dev/sdb1 /home 后,是否可以再通过执行 mount /dev/sdb1 /data 挂载。 我自己试了下,发下 data 和 home 目录是一样的内容。有无办法让 data 也挂载在 HDD 下,但是和 home 目录内容是独立的。 目的:统一使用 HDD 盘做数据盘,保存所有的数据,比如 /var 目录也挂载 HDD 下,难道只能一个目录一个分区吗?

22780 次点击
所在节点    Linux
31 条回复
leimbag
2016-09-10 23:37:30 +08:00
@wwqgtxx 感谢,可以,只不过在 home 下会有个 data->/data 的软连,感觉不是很优雅。
orzfly
2016-09-10 23:47:51 +08:00
@wwqgtxx 不是所有的程序都可以和软连接很好的工作……
wwqgtxx
2016-09-10 23:51:11 +08:00
@orzfly 貌似还没遇到对软连接支持不好的程序
guizer
2016-09-11 01:19:59 +08:00
mount /dev/sdb1/ /mnt
mkdir /mnt/{data,home}
mount /mnt/data /data
mount /mnt/hone /home


这样或许可以
ryd994
2016-09-11 03:37:15 +08:00
@orzfly 那就用硬链啊,或者 bind mount ,直接在底层,和普通文件一样
Arthur2e5
2016-09-11 06:04:21 +08:00
@leimbag 同分区多个独立目录哪里不优雅了?没有多余分区,可以共享存储……高级? Linux 平常不吃那套,你真高兴可以玩 btrfs-subvolume 。

> 其他的不用在 /etc/fstab 下做永久启动绑定了吧?

你的 bind 也需要 fstab 作绑定啊。 https://serverfault.com/questions/613179/how-do-i-do-mount-bind-in-etc-fstab
leimbag
2016-09-11 11:15:30 +08:00
@Arthur2e5 感谢, 目录的 bind 确实需要在 fstab 做绑定
UUID=56239839-fd52-4b2c-b14a-7c653cef0707 /mnt/sdb1 xfs defaults 0 0
/mnt/sdb1/home /home none bind 0 0
/mnt/sdb1/data /data none bind 0 0
采用以上方式修改 fstab ,重启也能发现 home 和 data

通过 mount 可以看到 home 和 data 都挂载 /dev/sdb1 下面,但是 通过 df 命令,无法查看到 home 的挂载情况,只有 data 的挂载,如下:
/dev/sdb1 1905108984 80788 1905028196 1% /data

有什么办法能 使用 df 显示 home 和 /mnt/sdb1 的 df 情况呢?

我说的不优雅, 主要之前在 home 下建立一个 data 然后挂载 data 到 /home/data,或使用 ln 会产生软连接,或使用 bind 会影响 home 的内容,当然可以换个目录不在 home 下,比如 mnt/sdb1 这样的,感觉上会好的。我也很喜欢同分区多独立目录方式,只是不想让目录交叉混乱而已,希望有个清晰的目录结构和分区挂载 情况。
leimbag
2016-09-11 11:16:20 +08:00
@guizer 感谢,采用了类似的方式,只是 df 无法正常显示。
skydiver
2016-09-11 12:37:12 +08:00
@leimbag df 是按照分区显示的…你这样当然显示不了
guizer
2016-09-12 12:23:36 +08:00
@leimbag
哈哈,我瞎蒙的,能用就好
cheek
2017-03-18 23:31:23 +08:00
我的树莓 就把同一分区挂到 2 个目录上了,系统基本正常
/dev/root 15G 8.4G 5.6G 60% /
/dev/root 15G 8.4G 5.6G 60% /mnt/thunder

/dev/root 连接的是 /dev/mmcblk0p2 分区,

不知道怎么就成这样了,导到迅雷下载时 有时文件会丢失,应该是被覆盖了,

其实第二条绑定的命令是用 mount --bind /root/thunder /mnt/thunder ,但 df 显示是 /dev/root 绑到了 /mnt/thunder
有遇到类似的情况吗?不知道怎么解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX