關于virt-cat命令之-c|--connect參數問題
[toc]
virt-cat命令之-c|--connect參數并不能正常顯示遠程主機上的虛擬機中的文件,除非兩臺主機使用共享存儲,并且掛載到主機的路徑也一樣。同時我發(fā)現其他virt-*系列命令也是同樣的問題 ,而virsh命令沒這個問題。
本來想用這個優(yōu)化下KVM虛擬機管理系統(tǒng)項目,現在看來只能另辟蹊徑了。zzxia-kvm-manage是我10年前寫的一個項目,也一直在用,雖然一直沒有大更新,但基本夠用,大家可以試試。他可以批量克隆、修改、刪除、啟動、自動啟動、關閉KVM虛擬機。特別適合中小企業(yè)使用。
0 環(huán)境:
m-centos-2c4g這個虛擬機在p-192-168-11-201(簡稱:201)和p-192-168-11-202(簡稱:202)上都有,虛擬機磁盤文件存放位置也一樣(/zjlh/dg45/kvm-images/m-centos-2c4g.qcow2)
virt-cat版本:
[root@p-192-168-11-201 ~]# virt-cat -V
virt-cat 1.40.2rhel=7,release=10.el7,libvirt
1 測試:
結論:在201上運行virt-cat -c 202表面上可以顯示正常結果,但實際virt-cat的是本機上的虛擬機(m-centos-2c4g),因為當我把本機的虛擬機磁盤文件改名后,再次運行virt-cat -c 202就會出錯,測試過程如下:
- 更名前可以正常輸出:
[root@p-192-168-11-201 ~]# virt-cat -c qemu+ssh://root@192.168.11.202/system -d m-centos-2c4g /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
qemu+ssh://root@192.168.11.202/system 是連接到202的libvirt url
- 更名:
[root@p-192-168-11-201 ~]# mv /zjlh/dg45/kvm-images/m-centos-2c4g.qcow2 /zjlh/dg45/kvm-images/m-centos-2c4g.qcow2---bak
- 更名后出錯
[root@p-192-168-11-201 ~]# virt-cat -c qemu+ssh://root@192.168.11.202/system -d m-centos-2c4g /etc/os-release
libguestfs: error: /zjlh/dg45/kvm-images/m-centos-2c4g.qcow2: 沒有那個文件或目錄
2 同樣,你會發(fā)現其他virt-*系列其他命令也是不行的:
[root@p-192-168-11-201 ~]# virt-sysprep --connect qemu+ssh://root@192.168.11.202/system \
> --copy-in /tmp/ifcfg-eth0:/etc/sysconfig/network-scripts/ \
> --hostname vv.zjlh.lan \
> -d vvvv
[ 0.0] Examining the guest ...
virt-sysprep: error: libguestfs error: /zjlh/vv.img:
沒有那個文件或目錄
If reporting bugs, run virt-sysprep with debugging enabled and include the
complete output:
virt-sysprep -v -x [...]
3 virsh系列命令是可以的:
[root@p-192-168-11-201 ~]# virsh -c qemu+ssh://root@192.168.11.202/system edit vvvv
沒有更改域 vvvv XML 配置。
[root@p-192-168-11-201 ~]# virsh -c qemu+ssh://root@192.168.11.202/system list --all
Id 名稱 狀態(tài)
----------------------------------------------------
3 v-192-168-11-10-ss running
4 v-192-168-11-161-childhood running
- m-centos-2c4g 關閉
- vvvv 關閉