我创建了一个卷组,webserver
其中包含卷home
和usr
它们的创建方式相同,/etc/fstab
列为
/dev/webserver/home /home /ext4 rw,noatime 0 0
/dev/webserver/usr /usr /ext4 rw,noatime 0 0
然而,mount
将它们显示为
/dev/mapper/webserver-usr on /usr
/dev/mapper/webserver-home on /home
并df
作为
/dev/webserver/usr 999 999 999 99% /usr
/dev/mapper/webserver-home 999 999 999 99% /home
(不是真实的数字,无法复制/粘贴,并且数字无论如何都不相关)
为什么mapper
有些地方显示而另一些地方不显示?
无论如何,它似乎工作得很好,只是对差异感到困惑。
答案1
/usr
(或/
) 与通常的区别在于/home
rootfs(包括/usr
)必须在启动时尽早安装。这是由 initramfs 完成的。
另一方面/home
,/var/www
、 和您可能拥有的其他常规分区应该稍后在完整 init 系统的常规引导过程中挂载到 initramfs 之外。
因此,安装时的行为在某些细节上可能会有所不同。
例如,在我的系统上,rootfs 显示为/dev/dm-34
而不是/dev/SSD/root
或/dev/mapper/SSD-root
。这只是因为分区是由 UUID 标识的,并且该findfs
实用程序在 initramfs / busybox 与完整系统 / util-linux 中的实现方式不同:
# busybox findfs UUID=fa15678f-7e7e-4a47-8ed2-7cea7a5d037d
/dev/dm-34
# findfs UUID=fa15678f-7e7e-4a47-8ed2-7cea7a5d037d
/dev/mapper/SSD-root
该命令也可能返回/dev/SSD/root
,具体取决于/dev
设备名称与符号链接的填充方式。将符号链接方向更改/dev/SSD/root -> /dev/mapper/SSD-root
为后/dev/mapper/SSD-root -> /dev/SSD/root
,结果是相同的:
# busybox findfs UUID="fa15678f-7e7e-4a47-8ed2-7cea7a5d037d"
/dev/SSD/root
# findfs UUID="fa15678f-7e7e-4a47-8ed2-7cea7a5d037d"
/dev/SSD/root
我还没有查看代码如何决定选择哪个名称作为规范名称。
最后这并不重要,只要挂载了正确的文件系统,这最多只是一个表面问题。