eu tenho uma máquina VM que reiniciou ontem à noite e não conseguimos conectar a ela via ssh. eu usei console e vi que só /
e swap
são montados com lsblk
o comando:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sdb 8:16 0 8G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 6G 0 part [SWAP]
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 20G 0 part
sde 8:64 0 400M 0 disk
└─sde1 8:65 0 399M 0 part
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part /
sdd 8:48 0 20G 0 disk
└─sdd1 8:49 0 20G 0 part
sdf 8:80 0 10G 0 disk
└─sdf1 8:81 0 10G 0 part
mas quando eu corri df -h
:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 1.2G 18G 7% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sde1 20G 1.2G 18G 7% /boot
/dev/sdd1 20G 1.2G 18G 7% /data
/dev/sdc1 20G 1.2G 18G 7% /opt
/dev/sdb1 20G 1.2G 18G 7% /var
/dev/sdf1 20G 1.2G 18G 7% /backup
quando eu corri ls -hal
neles, eles estavam todos vazios, exceto para /
. Tentei desmontar e montar partições, recebi um erro de que as partições não são montadas. eu montei todos eles novamente, por exemplo:
mount /dev/sdf1 /backup
e df -h
:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 1.2G 18G 7% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sde1 387M 40M 327M 11% /boot
/dev/sdd1 20G 14G 4.9G 75% /data
/dev/sdc1 20G 1.4G 18G 8% /opt
/dev/sdb1 2.0G 155M 1.8G 9% /var
/dev/sdf1 9.9G 2.4G 7.0G 26% /backup
e está tudo bem. reiniciei para testar. Aconteceu novamente. only /
e swap foram montados. blkid
resultado:
/dev/sdb1: UUID="3a11afe1-52d5-4e31-96a0-66da2c8e70eb" TYPE="ext3"
/dev/sdf1: UUID="0e1f69a7-36d9-4af1-a537-afaa211e87d7" TYPE="ext3"
/dev/sdb2: UUID="416970f8-c21b-419b-90d5-eb8eabb685a6" TYPE="swap"
/dev/sdc1: UUID="d380ddf8-3476-46b3-8e80-9dd3b394dd13" TYPE="ext3"
/dev/sde1: UUID="b224fa8a-e909-432e-927e-4a98fe2d74d0" TYPE="ext3"
/dev/sda1: UUID="9407e385-168c-4e37-9651-1de04406b620" SEC_TYPE="ext2"
TYPE="ext3"
/dev/sdd1: UUID="e8439366-d29d-43c3-ad5e-635855f4e42e" TYPE="ext3"
parte da cat /etc/fstab
saída:
UUID=9407e385-168c-4e37-9651-1de04406b620 / ext3 defaults 0 0
UUID=b224fa8a-e909-432e-927e-4a98fe2d74d0 /boot ext3 defaults 0 0
UUID=e8439366-d29d-43c3-ad5e-635855f4e42e /data ext3 defaults 0 0
UUID=d380ddf8-3476-46b3-8e80-9dd3b394dd13 /opt ext3 defaults 0 0
UUID=3a11afe1-52d5-4e31-96a0-66da2c8e70eb /var ext3 defaults 0 0
UUID=416970f8-c21b-419b-90d5-eb8eabb685a6 swap swap defaults 0 0
UUID=0e1f69a7-36d9-4af1-a537-afaa211e87d7 /backup ext3 defaults 0 0
por que isso acontece?
Talvez alguém ou algo tenha
/etc/mtab
se tornado não gravável (arquivo imutável? erros do sistema de arquivos mantendo o sistema de arquivos raiz somente leitura?), e contém dados antigos de antes da reinicialização. Como resultado, os comandosmount
edf
pensam que os sistemas de arquivos já estão montados, embora na verdade não estejam.Verifique se há sistemas de arquivos em estado somente leitura:
grep ro, /proc/mounts
Verifique imutáveis
/etc/mtab
:lsattr /etc/mtab
Use o
chattr -i /etc/mtab
comando para remover oi
sinalizador mutável,/etc/mtab
se necessário.Nos sistemas modernos,
/etc/mtab
é cada vez mais frequentemente um link simbólico para/proc/mounts
ou/proc/self/mounts
. Se o seu sistema/distribuição tiver uma versão antiga domount
comando, essa vinculação pode fazer com que a opção mountuser
falhe, pois ela não pode gravar o nome do usuário que montou um determinado sistema de arquivos em/etc/mtab
. Se você não usar auser
opção de montagem, também poderá criar esse link simbólico em sistemas mais antigos.A vantagem dessa vinculação é que erros como o que você está enfrentando não podem acontecer, pois
/proc/mounts
(ou/proc/self/mounts
em sistemas com suporte a namespace) sempre tem informações atualizadas em sistemas de arquivos montados, direto do próprio kernel.Versões mais recentes do
mount
comando serão usadas/run/mount
para essa finalidade se/etc/mtab
estiverem vinculadas a/proc/self/mounts
.Se você descobrir
/etc/mtab
que foi definido como imutável e não encontrar outro motivo para isso, pode ter sido hackeado, pois tornar/etc/mtab
imutável pode ser uma maneira de um intruso esconder suas ferramentas da observação casual ...É possível que seu sistema de arquivos raiz tenha sido definido como somente leitura antes do sistema ser desligado e os
umount
comandos usados para desmontar todos os discos não conseguiram remover entradas de arquivos/etc/mtab
. Na inicialização, omount -a
comando ("montar tudo o que ainda não está montado") analisava/etc/mtab
e determinava que tudo já estava montado, portanto, nenhuma ação era necessária.Isso explicaria todos os seus sintomas: - montagens falhando ao serem aplicadas na inicialização -
df -h
comando mostrando essencialmente o mesmo disco para vários pontos de montagem - erros "não montados" quando você tentou desmontar sistemas de arquivos aparentemente montados - montagem funcionando após as tentativas de desmontagem.Como foi sugerido pela telcoM , pode ser melhor substituir o arquivo
/etc/mtab
por um link simbólico para/proc/mounts
. Mas tome este conselho com cautela: ele pode quebrar seu sistema se não estiver configurado para esperar isso.eu li as respostas de roaima e telcoM e descobri que todos os sistemas de arquivos, inclusive
/
, são READ-ONLY. verifiquei as mensagens do kerneldmesg
e descobri que o SELinux estava impedindo que as partições da VM fossem montadas. bem, tudo foi somente leitura e eu não consegui desabilitar o SELinux,/etc/selinux/config
então usei o UBUNTUlive, desativei o SELinux, reiniciei meu sistema e tudo está bem e voltou ao normal.