我在亚马逊上有两个Linux实例。它们都有一个磁盘设备。
为了进行测试,我关闭一个实例 (A) 并将其卷附加到第二个实例 (B),如下所示/dev/xvdf
。
在该服务器中,我可以安装并使用 (B),例如作为/mount/xvdf
.
现在奇怪的是:我重新启动这台服务器(B):有时它会启动,我看到它的卷为/
,(B)卷为/mount/xvdf
。
有时 (B) 开始...并且我的 (B) 卷为/
!
dmesg | grep xvd
这是在这种奇怪的情况下的输出:
[102029834.997373] blkfront: xvda1: barrier or flush: disabled; persistent grants: disabled; indirect descriptors: disabled;
[102029835.000238] blkfront: xvdf: barrier or flush: disabled; persistent grants: disabled; indirect descriptors: disabled;
[102029835.309885] EXT4-fs (xvdf): mounted filesystem with ordered data mode. Opts: (null)
[102029835.323719] EXT4-fs (xvdf): mounted filesystem with ordered data mode. Opts: (null)
[102029835.328251] dracut: Mounted root filesystem /dev/xvdf
[102029836.817661] EXT4-fs (xvdf): re-mounted. Opts: (null)
这是cat /etc/fstab
卷 (B) 的...安装为/
:
LABEL=/
/ ext4 defaults,relatime 1 1 tmpfs
/dev/shm tmpfs defaults 0 0 devpts
/dev/pts devpts gid=5,mode=620 0 0 sysfs
/sys sysfs defaults 0 0 proc
/proc proc defaults 0 0
我是否有可能有“错误”语法,/etc/fstab
因此系统无法识别哪个挂载为/
?
如何解决这个问题?
答案1
问题是您有两卷具有相同标签的卷。因此,哪个最终由 initrd (在您的情况下为 dracut)安装取决于 initrd 代码首先看到哪个。
可能的修复包括在内核命令行上使用设备名称而不是标签,或者更改其中一个系统上的分区标签。