Operamos cerca de 35.000 máquinas executando a versão 3.7.0 do kernel com a versão 171 do udev. O kernel tem patches aufs e algumas outras correções relacionadas à V4L2.
Em cerca de 200 das máquinas, algumas combinações de /dev/sdaX
e, às vezes, o rótulo estão faltando. A grande maioria (cerca de 90%) deles é simplesmente algo errado com a partição swap, os 10% restantes são falhas mais críticas que impediriam a inicialização ou outras operações importantes.
Eu investiguei alguns e descobri que alguns dos itens a seguir resolvem o problema algumas vezes.
- Às vezes,
partprobe
fará com que um marcador ausente seja exibido novamente. Ou seja, por exemplo, /dev/sda6
existe, mas /dev/disk/by-label/OVERLAYB
não. A execução de partprobe
restaura OVERLAYB
.
- Às vezes, os mesmos sintomas são observados, mas
partprobe
não faz nada.
- Às vezes, uma partição aparece corrompida de forma que o rótulo é perdido. Por exemplo,
/dev/sda3
existe, mas /dev/disk/by-label/SWAP
está ausente e swapon /dev/sda3
falha com read swap header failed: Invalid argument
. mkswap
corrige isso.
- Às vezes, uma partição e seu rótulo estão faltando. Uma combinação de
mknod
e mkfs
restaura o comportamento esperado.
- Em outro caso,
/dev/sdaX
e seu by-label estavam faltando. Depois de mknod
, mkfs
(com o -L
apropriado) e um paranoid partprobe
, a etiqueta secundária ainda estava faltando.
É importante observar que eu nunca vi /proc/partitions
estar incorreto, mesmo quando falta um /dev/sdaX
.
Além disso, em alguns casos, o sistema de arquivos raiz atual tinha um modo /dev/sdaX
ausente. Isso impediria a inicialização! Isso indica para mim que o nó existe na inicialização, mas depois desapareceu. Nada parecia estranho em dmesg
.
Eu sei que isso é um monte de coisas diferentes acontecendo, mas eu acredito que estes são todos os sintomas de alguma falha mais profunda que nós não encontramos. Acredito que, ao corrigir um problema, estou apenas desfazendo um sintoma e que o problema acontecerá novamente.
Eu realmente estou perdendo o que mais para olhar. Alguém já viu algo assim antes? Qual poderia ser o problema subjacente? Como eu ainda aprendo mais sobre a situação, para me ajudar a diminuir o espaço do problema?