LVM2 pvdisplay e vgdisplay discordam

4

No meu laptop, eu tenho um único disco rígido ( /dev/sda ). Neste disco rígido, tenho uma partição EFI ( /dev/sda1 ), uma partição de inicialização ( /dev/sda2 ) e uma partição criptografada contendo / ( /dev/sda3 ). Dentro da partição criptografada há um grupo de volumes LVM, que contém alguns volumes lógicos ( / , uma partição de swap, etc.).

Tudo isso funciona bem; my initrd configura tudo corretamente, e o sistema inicializa sem problemas. No entanto, após a inicialização, eu queria ser capaz de gerenciar o grupo de volumes. Quando tentei fazer isso, recebi a seguinte saída:

# pvdisplay /dev/mapper/root 
  --- Physical volume --- 
  PV Name               /dev/mapper/root 
  VG Name               localdisk 
  PV Size               931.31 GiB / not usable 1.69 MiB 
  Allocatable           yes (but full) 
  PE Size               4.00 MiB 
  Total PE              238416 
  Free PE               0 
  Allocated PE          238416 
  PV UUID               I3wArE-g6yl-9ywx-Df8d-3w1N-wuuQ-FrQjoK 

# vgdisplay localdisk 
  Volume group "localdisk" not found 
  Skipping volume group localdisk 

Como é possível que pvdisplay relate que o dispositivo físico é membro do grupo de volumes localdisk , mas vgdisplay insiste que o mesmo grupo de volumes não existe? O que está errado aqui?

Eu posso fornecer mais informações sobre o meu sistema conforme necessário / relevante para a pergunta. Porque eu não tenho certeza do que está errado, não tenho certeza do que adicionar neste momento.

Estas são as entradas do mapeador de dispositivos que eu configurei. Observe os dois volumes lógicos do LVM, bem como "root" (ou seja, /dev/mapper/root ), que é a partição pai criptografada pelo LUKS.

# dmsetup info 
Name:              localdisk-swap 
State:             ACTIVE 
Read Ahead:        256 
Tables present:    LIVE 
Open count:        2 
Event number:      0 
Major, minor:      251, 1 
Number of targets: 1 
UUID: LVM-75jhqCBBFayCVQECgTH8NOFfkrjYCqiHa0oIafGLgBOZbuhrYISOHQo97Gamy74E 

Name:              localdisk-root 
State:             ACTIVE 
Read Ahead:        256 
Tables present:    LIVE 
Open count:        1 
Event number:      0 
Major, minor:      251, 2 
Number of targets: 1 
UUID: LVM-75jhqCBBFayCVQECgTH8NOFfkrjYCqiHzpANUdFbPYfliL6gmKoBdhol2zj9Gl6z 

Name:              root 
State:             ACTIVE 
Read Ahead:        256 
Tables present:    LIVE 
Open count:        2 
Event number:      0 
Major, minor:      251, 0 
Number of targets: 1 
UUID: CRYPT-LUKS1-d5f7cc568cc74201be3fde108e37162e-root 

Aqui estão os sistemas de arquivos que eu montei (note /dev/mapper/localdisk-root on / ):

# mount 
rootfs on / type rootfs (rw) 
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) 
udev on /dev type devtmpfs (rw,nosuid,relatime,size=10240k,nr_inodes=1006523,mode=755) 
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620) 
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) 
/dev/mapper/localdisk-root on / type ext4 (rw,noatime,commit=0) 
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,size=805564k,mode=755) 
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) 
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime) 
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) 
cgroup_root on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755) 
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) 
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) 
openrc on /sys/fs/cgroup/openrc type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib64/rc/sh/cgroup-release-agent.sh,name=openrc) 
cpu on /sys/fs/cgroup/cpu type cgroup (rw,nosuid,nodev,noexec,relatime,cpu) 
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nodev,noexec,nosuid) 
    
por CmdrMoozy 25.03.2014 / 05:17

1 resposta

3

Se você procurar em /etc/lvm/lvm.conf , há uma seção devices { ... } . Você provavelmente precisará ajustar o filtro para aceitar /dev/mapper/root como um local válido. O filtro mais fácil seria aceitar todos os dispositivos: filter = [ "a/.*/" ] . Você também pode aceitar apenas o dispositivo em que está interessado: filter = [ "a|^/dev/mapper/root$|", "r/.*/" ] .

Seu initramfs provavelmente tem uma configuração LVM diferente.

(BTW: vgscan -vvv é a ferramenta de solução de problemas para usar aqui. Isso deve mostrar cada dispositivo de bloco verificado, e se encontrou alguma coisa lá.)

    
por 25.03.2014 / 18:04