/ dev / sdaX和/ dev / disk / by-label / FOO正在消失

我们使用udev版本171运行大约35,000台运行内核版本3.7.0的机器。内核上有aufs补丁和一些与V4L2相关的其他补丁。

在大约200台机器上, /dev/sdaX某些组合,有时还有一些/dev/sdaX标签丢失。 绝大多数(大约90%)这些只是交换分区的问题,其余的10%是更严重的故障,会阻止启动或其他重要的操作。

我已经调查了一些,发现下面的一些有时会解决这个问题。

  1. 有时partprobe会导致缺失的标签重新出现。 也就是说,例如, /dev/sda6存在,但是/dev/disk/by-label/OVERLAYB不存在。 运行partprobe恢复OVERLAYB
  2. 有时,观察到相同的症状,但是partprobe什么都不做。
  3. 有时,分区会以标签丢失的方式出现损坏。 例如, /dev/sda3存在,但/dev/disk/by-label/SWAP丢失,并且swapon /dev/sda3失败, read swap header failed: Invalid argumentmkswap纠正这一点。
  4. 有时,一个分区和它的标签丢失。 mknodmkfs组合可以恢复预期的行为。
  5. 在另一种情况下, /dev/sdaX及其标签丢失。 在mknodmkfs (带有相应的-L )和一个偏执的partprobe ,by-label仍然丢失。

值得注意的是,我从来没有见过/proc/partitions是不正确的,即使当/dev/sdaX丢失。

另外值得注意的是,在一些情况下,当前的根文件系统缺less/dev/sdaX模式。 这将防止启动! 这表明节点在启动时存在,但后来消失。 dmesg没有什么奇怪的。

我知道这是很多不同的事情,但我相信这些都是我们还没有发现的一些更深层次的失败的症状。 我相信在纠正一个问题的时候,我只能解决一个症状,而且问题会再次发生。

我真的不知道要看什么。 有没有人见过这样的事情? 根本问题是什么? 我怎样才能更多地了解情况,帮助我缩小问题空间?

面对与Crucial M500 SSD硬盘类似的问题。 驱动器突然消失,但看到他们再次closures/打开电源是必需的。 将驱动器固件从MU02升级到MU05(最新版本)解决了这个问题。 这个谜还可能与BIOS和驱动器控制器固件版本有关。