我有一台机器设置,Centos6作为虚拟化主机.它有一个250G硬盘驱动器,配置为单个lvm卷组(vg_fluke).现在我想使用主机的lvm作为KVM的存储池.
我找到了this question on SF,方法一描述了我想要实现的目标.但我找不到办法解决这个问题.
我尝试了以下内容,但由于文档很粗略,我确信我做错了.
virsh # pool-define-as guest_images_lvm logical - - - - /dev/vg_fluke Pool guest_images_lvm defined
然后跟着它,
virsh # pool-start guest_images_lvm error: Failed to start pool guest_images_lvm error: internal error Child process (/sbin/vgchange -ay -) status unexpected: exit status 5
有关LVM设置的更多信息:
[root@fluke ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb2 vg_fluke lvm2 a-- 232.39g 125.45g [root@fluke ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv_home vg_fluke -wi-ao 5.00g lv_root vg_fluke -wi-ao 100.00g lv_swap vg_fluke -wi-ao 1.94g [root@fluke ~]# vgs VG #PV #LV #SN Attr VSize VFree vg_fluke 1 3 0 wz--n- 232.39g 125.45g
更新:
按照@ sitaktif的建议,现在得到以下错误:
virsh # pool-define-as lv_guest_vm logical --target /dev/vg-main Pool lv_guest_vm defined virsh # pool-start lv_guest_vm error: Failed to start pool lv_guest_vm error: internal error '/sbin/vgchange -ay lv_guest_vm' exited with non-zero status 5 and signal 0: Volume group "lv_guest_vm" not found
注意:我正在尝试使用VG为vg-main的其他机器.我是否必须为libvirt创建第二个用于虚拟机的VG?如何在现有VG中使用LV进行设置?
解决方法
以下命令不正确:
virsh # pool-define-as guest_images_lvm logical - - - - /dev/vg_fluke
…因为它执行:
/sbin/vgchange -ay -
…代替:
/sbin/vgchange -ay /dev/vg_fluke
只是明确地命名参数而不是使用破折号:
pool-define-as guest_images_lvm logical --target /dev/vg_fluke
这应该可以解决你的问题.