在某个想搞学习的周日上午,尝试着用命令行给KVM虚拟机增加硬盘.
创建磁盘
#qemu-img create -f qcow2 /home/kvm-fs/sy-B80915disk1.qcow2 10G
绑定磁盘到域:sy-B80915
#virsh attach-disk sy-B80915 /home/kvm-fs/sy-B80915disk1.qcow2 vdb --live --config
后面我想解绑,结果不小心将主磁盘vda给解绑了
#virsh detach-disk sy-B80915 vda --live --config
但我还是把vdb,也就是sy-B80915disk1.qcow2给解绑了
#virsh detach-disk sy-B80915 vdb --live --config
后面仍然可正常重启虚拟机并使用,但我觉得sy-B80915disk1.qcow2名字取得不好,删掉重新创建sy-B80915vdb.qcow2
#rm -rf /home/kvm/sy-B80915disk1.qcow2
#qemu-img create -f qcow2 /home/kvm-fs/sy-B80915vdb.qcow2 10G
然后再次绑定
#virsh attach-disk sy-B80915 /home/kvm-fs/sy-B80915vdb.qcow2 vdb --live --config
结果报错如下:
error: XML error: target ‘vdb’ duplicated for disk sources ‘sy-B80915disk1.img’ and ‘sy-B80915vdb.img’
大致意思是重复绑定,但之前明明已经解绑了。
唯一的异常操作就是不小心把主磁盘vda解绑了,但系统仍可运行。于是去查看xml文件,对比其他虚拟机,发现sy- B80915的xml文件少了主磁盘vda,解绑vda时,改变了xml文件。于是在xml文件重新加上vda。
执行如下命令编辑xml文件:
#virsh edit sy-B80915
修复vda的xml定义,如下图1:
图1
然后再次绑定sy-B80915vdb.qcow2,成功!
#virsh attach-disk sy-B80915 /home/kvm-fs/sy-B80915vdb.qcow2 vdb --live --config