Linux
LVM2 pvdisplay 和 vgdisplay 不一致
在我的筆記型電腦中,我有一個硬碟驅動器 (
/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
是在這裡使用的故障排除工具。它應該顯示它檢查的每個塊設備,以及它是否在那裡找到任何東西。)