Linux

LVM2 pvdisplay 和 vgdisplay 不一致

  • March 25, 2014

在我的筆記型電腦中,我有一個硬碟驅動器 ( /dev/sda)。在這個硬碟上,我有一個 EFI 分區 ( /dev/sda1)、一個引導分區 ( /dev/sda2) 和一個包含/( /dev/sda3) 的加密分區。加密分區內部是一個 LVM 卷組,其中包含幾個邏輯卷(/、交換分區等)。

所有這些都可以正常工作;我的 initrd 設置正確,系統啟動沒有任何問題。但是,啟動後,我希望能夠管理卷組。當我嘗試這樣做時,我得到以下輸出:

# 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 

怎麼可能pvdisplay報告物理設備是卷組的成員localdisk,但vgdisplay堅持不存在同一個卷組?這裡出了什麼問題?

我可以根據需要/與問題相關提供有關我的系統的更多資訊。因為我不確定出了什麼問題,所以我現在不確定要添加什麼。

這些是我設置的設備映射器條目。注意兩個 LVM 邏輯卷,以及“根”(即/dev/mapper/root),它是 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 

這是我安裝的文件系統(注/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) 

如果你看/etc/lvm/lvm.conf,有一個devices { ... }部分。您可能需要調整過濾器以接受/dev/mapper/root為有效位置。最簡單的過濾器是接受所有設備:filter = [ "a/.*/" ]. 您也可以只接受您感興趣的設備:filter = [ "a|^/dev/mapper/root$|", "r/.*/" ].

您的 initramfs 可能具有不同的 LVM 配置。

(順便說一句:vgscan -vvv是在這裡使用的故障排除工具。它應該顯示它檢查的每個塊設備,以及它是否在那裡找到任何東西。)

引用自:https://unix.stackexchange.com/questions/121306