lvm devices sob / dev / mapper missing

16

Estou usando o Debian squeeze e executando o LVM sobre o software RAID 1. Eu acidentalmente descobri que a maioria dos links em /dev/mapper está faltando, embora meu sistema pareça estar funcionando corretamente.

Não sei o que aconteceu. A única coisa que posso imaginar que causou isso foi minha tentativa fracassada de fazer um contêiner do fedora LXC funcionar. Acabei apagando um diretório /cgroup/laughlin , correspondente ao container, mas não consigo imaginar por que isso deveria ter causado o problema. /dev/mapper olhou (fiz algumas alterações, veja abaixo) aproximadamente como

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
crw-------  1 root root  10, 59 Apr  8 10:32 control
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23

debian-video corresponde a um LV que acabei de criar.

No entanto, tenho um grande número de VGs no meu sistema, correspondendo a 4 VGs espalhados por 4 discos. vgs

orwell:/dev/mapper# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  backup       1   2   0 wz--n- 186.26g  96.26g
  debian       1   7   0 wz--n- 465.76g 151.41g
  olddebian    1  12   0 wz--n- 186.26g  21.26g
  testdebian   1   3   0 wz--n- 111.75g  34.22g

Eu tentei rodar

 /dev/mapper# vgscan --mknodes

e alguns dispositivos foram criados (veja a saída abaixo), mas eles não são links simbólicos para os dispositivos dm como deveriam, então não tenho certeza se isso é inútil ou pior. Eles entrariam no caminho da recriação dos links corretos? Devo excluir esses dispositivos novamente?

Acredito que o udev cria esses links, portanto, uma reinicialização corrige esse problema, ou eu obteria um sistema não inicializável? O que devo fazer para corrigir isso? Há alguma verificação de diagnóstico / sanidade que devo executar para ter certeza de que não há outros problemas que eu não notei? Agradecemos antecipadamente por qualquer assistência.

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
brw-rw----  1 root disk 253,  1 Apr 12 05:08 backup-local_src
brw-rw----  1 root disk 253,  2 Apr 12 05:08 backup-video
crw-------  1 root root  10, 59 Apr  8 10:32 control
brw-rw----  1 root disk 253, 15 Apr 12 05:08 debian-boot
brw-rw----  1 root disk 253, 16 Apr 12 05:08 debian-home
brw-rw----  1 root disk 253, 22 Apr 12 05:08 debian-lxc_laughlin
brw-rw----  1 root disk 253, 21 Apr 12 05:08 debian-lxc_squeeze
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
brw-rw----  1 root disk 253, 17 Apr 12 05:08 debian-swap
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23
brw-rw----  1 root disk 253, 10 Apr 12 05:08 olddebian-etch_template
brw-rw----  1 root disk 253, 13 Apr 12 05:08 olddebian-fedora
brw-rw----  1 root disk 253,  8 Apr 12 05:08 olddebian-feisty
brw-rw----  1 root disk 253,  9 Apr 12 05:08 olddebian-gutsy
brw-rw----  1 root disk 253,  4 Apr 12 05:08 olddebian-home
brw-rw----  1 root disk 253, 11 Apr 12 05:08 olddebian-lenny
brw-rw----  1 root disk 253,  7 Apr 12 05:08 olddebian-msi
brw-rw----  1 root disk 253,  5 Apr 12 05:08 olddebian-oldchresto
brw-rw----  1 root disk 253,  3 Apr 12 05:08 olddebian-root
brw-rw----  1 root disk 253, 14 Apr 12 05:08 olddebian-suse
brw-rw----  1 root disk 253,  6 Apr 12 05:08 olddebian-vgentoo
brw-rw----  1 root disk 253, 12 Apr 12 05:08 olddebian-wsgi
brw-rw----  1 root disk 253, 20 Apr 12 05:08 testdebian-boot
brw-rw----  1 root disk 253, 18 Apr 12 05:08 testdebian-home
brw-rw----  1 root disk 253, 19 Apr 12 05:08 testdebian-root
    
por Faheem Mitha 12.04.2011 / 02:35

5 respostas

11

Nos dias de hoje /dev está no tmpfs e é criado a partir do zero a cada inicialização por udev . Você pode reiniciar com segurança e esses links voltarão.

Você também deve encontrar links simbólicos LVM para os /dev/dm-X nós nos diretórios /dev/<vg> , um diretório para cada grupo de volumes. No entanto, esses nós recriados por vgscan --mknodes também funcionarão bem, supondo que eles tenham os números principais / secundários adequados - e é uma suposição segura de que eles foram criados corretamente.

Provavelmente, você também pode obter udev para recriar os links simbólicos usando udevadm trigger com uma correspondência apropriada, testando com --dry-run até que esteja correto. No entanto, não parece valer a pena o esforço quando uma reinicialização consertará isso também.

    
por 12.04.2011 / 13:34
36

Acabei de ter um problema semelhante ao que você descreveu, embora para mim isso tenha acontecido quando eu estava tentando instalar o novo Ubuntu 11.10 Oneiric Ozelot em um volume LVM. Eu fiz o seguinte para configurar o lvm em um sistema de inicialização (os volumes lógicos que eu precisava já estavam presentes):

apt-get install lvm2
vgscan --mknodes -v

Agora, lvscan -v mostrou meus volumes, mas eles não estavam em /dev/mapper nem em /dev/<vg>/ . Eu finalmente achei que precisava ativar o grupo de volume, assim:

vgchange -a y <name of volume group>

O comando acima criou todos os arquivos de dispositivos ausentes para mim. Agora eu poderia iniciar o programa de instalação e ele encontraria os volumes lvm e permitiria que eu os instalasse.

Encontrar esta informação no google foi difícil, por isso escrevo esta resposta na esperança de que os outros tenham mais facilidade - daí o contexto em profundidade e o namedropping.

Apesar de não fazer parte da pergunta, para completar eu adicionarei que na situação acima (Ubuntu LVM install) você precisa adicionar lvm2 ao initrd do sistema recém-instalado assim que ele for instalado, ou ele não inicializará . Seu novo sistema deve estar configurado para você no / target, mas se não estiver, faça isso manualmente:

mount /dev/vg/new_root /target
mount /dev/sdx1 /target/boot       # important
mount -o bind /proc /target/proc
mount -o bind /sys /target/sys
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts

Eu precisava fazer isso para fazer o trabalho em rede funcionar no chroot, que eu vou fazer em seguida:

cp /etc/resolv.conf /target/etc/

Agora faça o chroot para o novo sistema e instale o lvm2:

chroot /target
apt-get install lvm2

Observe que ele executa update-initramfs. Agora basta digitar exit e reboot, e seu sistema deve inicializar corretamente.

    
por 17.11.2011 / 21:22
3

Isso também funcionou para mim.

vgchange -a y -name of volume group-

Após um patch do kernel, meu sistema RHEL falhou ao reinicializar. Reclamando de um arquivo /dev/mapper/VG-lv ausente.

Iniciou com um usuário único e comentou /etc/fstab . Uma vez on-line, descobri que meu disco criptografado estava aparecendo como "dispositivo desconhecido" usando pvs .

Corrigido isso, mas ainda não há arquivos de dispositivo para o grupo de volume. A execução do comando acima recriou os arquivos do mapeador de dispositivos e permitiu que eu montasse.

    
por 26.09.2014 / 09:23
2

Eu tive um problema semelhante depois de atualizar meu debian. Durante a reinicialização, esta mensagem apareceu para mim:

Unable to find LVM Volume. 
/dev/mapper/debian-root does not exist.

Eu encontrei a solução aqui :

cryptsetup luksOpen /dev/sda5 lvmsys
lvm
lvm> vgscan        ## scan for volume groups
lvm> vgchange -a y ## activates the volume groups

E voilà, reinicie bem depois disso.

    
por 05.05.2015 / 22:13
0

link é relevante aqui. Tem a ver com tempos limites que a raiz lvm não aparece a tempo.

    
por 28.06.2014 / 00:31