我的 KVM 主机在 LVM 卷上运行虚拟机时遇到了问题。从昨晚开始,逻辑卷不再可见(我无法创建它们的快照,尽管我已经创建了几个月的快照)。
运行任何扫描都会导致什么也没找到:
[root@apollo ~]# pvscan
No matching physical volumes found
[root@apollo ~]# vgscan
Reading all physical volumes. This may take a while...
No volume groups found
root@apollo ~]# lvscan
No volume groups found
如果我尝试从中恢复 VG conf 备份,/etc/lvm/backups/vg0
我会收到以下错误:
[root@apollo ~]# vgcfgrestore -f /etc/lvm/backup/vg0 vg0
Couldn't find device with uuid 20zG25-H8MU-UQPf-u0hD-NftW-ngsC-mG63dt.
Cannot restore Volume Group vg0 with 1 PVs marked as missing.
Restore failed.
/etc/lvm/backups/vg0
对于物理卷,有以下内容:
physical_volumes {
pv0 {
id = "20zG25-H8MU-UQPf-u0hD-NftW-ngsC-mG63dt"
device = "/dev/sda5" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 4292870143 # 1.99902 Terabytes
pe_start = 384
pe_count = 524031 # 1.99902 Terabytes
}
}
fdisk -l /dev/sda
显示以下内容:
[root@apollo ~]# fdisk -l /dev/sda
Disk /dev/sda: 6000.1 GB, 6000069312512 bytes
64 heads, 32 sectors/track, 5722112 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000188b7
Device Boot Start End Blocks Id System
/dev/sda1 2 32768 33553408 82 Linux swap / Solaris
/dev/sda2 32769 33280 524288 83 Linux
/dev/sda3 33281 1081856 1073741824 83 Linux
/dev/sda4 1081857 3177984 2146435072 85 Linux extended
/dev/sda5 1081857 3177984 2146435071+ 8e Linux LVM
该服务器正在运行 4 磁盘 HW RAID10,根据 megacli 和 smartd 判断,该服务器运行状况良好。
唯一奇怪的消息/var/log/messages
是每隔几个小时出现一次的以下内容:
Jun 10 09:41:57 apollo udevd[527]: failed to create queue file: No space left on device
输出df -h
[root@apollo ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 1016G 119G 847G 13% /
/dev/sda2 508M 67M 416M 14% /boot
有人知道下一步该做什么吗?除了无法快照之外,虚拟机目前都运行良好。
已更新额外信息 这并不是缺少 inode:
[root@apollo ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 67108864 48066 67060798 1% /
/dev/sda2 32768 47 32721 1% /boot
pvs、vgs 和 lvs 不输出任何内容或输出“未找到卷组”。
答案1
我认为 udev 不知何故停止了工作,所以您无法访问低级命令。
你可以试试:
pvs
vgs
lvs
命令来检查您正在运行的 lvm 配置。
您可以尝试重新启动 udev(或者作为最后的手段重新启动服务器)。
只是出于好奇,df -i
说了什么?