首页 > 代码库 > 烂泥:使KVM显示VM的IP地址及主机名

烂泥:使KVM显示VM的IP地址及主机名

本文首发于烂泥行天下

KVM虚拟化学习已经有一段时间了,现在虚拟化软件比较多,对比了下目前使用比较多的VMware Vsphere。发现在不进入VM系统的情况下,Vsphere可以查看VM的IP地址,。如下:

lip_image001

同时你也会发现,Vsphere只能查看VM的IP地址,不能查看其他的信息。如果要查看的话,只能登录到VM系统中查看。而且要查看VM的IP地址的话,我们还需要在VM的系统中安装好vmtools这个软件包。

当然,我们也可以通过描述来解决查看虚拟机的相关情况。如下:

lip_image002

此时再来对比KVM中的VM我们会发现,KVM不能通过类似于Vsphere方法来查看VM的IP地址。

难道说KVM不支持吗?

错的,KVM也是可以支持的。而且KVM比Vsphere更简单,不需要安装任何软件包,只需要在VM的XML配置文件中添加一行命令就可以搞定。

具体操作如下,登录KVM,找到一台VM。如下:

ssh root@192.168.1.102

lip_image003

修改KVM虚拟机VM的XML配置,添加<title>参数,在该参数中可以自定义VM的信息,包括VM的IP、hostname等等。具体操作如下:

virsh edit xp

lip_image004

保存该VM配置文件,然后启动该VM,如下:

virsh start xp

lip_image005

然后使用virsh list –title命令查看,如下:

lip_image006

通过上图我们可以很容易的看到,目前虚拟机XP的IP地址是192.168.1.202。这个和我们在前面配置文件中填写的<title>参数一样。

这样就达到了,在VM运行时查看VM的IP地址的目的。

<title>参数,没有在virt-install命令中,而是在virsh命令中,我们可以通过man virsh,进行查看。如下:

lip_image007

注意以上我们测试是VM运行时,查看VM的相关信息。那如果VM没有运行呢?

该如何查看VM的IP地址呢?

我们还可以通过<description>参数,来添加相关的描述。如下:

virsh edit win7

lip_image008

然后使用virsh desc win7命令查看,如下:

lip_image009

通过上图我们可以很容易的看到,目前虚拟机win7处于关闭状态,但是我们可以看到win7的IP地址是192.168.1.201。这个和我们在前面VM配置文件中填写的<description>参数一样。

注意:<description>参数是virt-install命令支持的,virsh不支持。有关<description>参数的使用,我们可以通过man virt-install查看得到,如下

lip_image010

virt-install命令支持<description>参数,那说明我们可以在安装虚拟机时添加有关VM的描述信息。使用命令如下:

virt-install -n win7 -r 2048 --vcpus=1 --os-type=windows -l http://192.168.1.102/G71_X64_IE10_V5.2.iso -f /dev/vg1/win7 --bridge=br0 -m 00:16:3E:12:D7:5D  --vnc --vnclisten=0.0.0.0 --vncport=5999 --description "192.168.1.201_win7_20140926" -x "--device=eth0 ip=192.168.1.220 netmask=255.255.255.0 gateway=192.168.1.1"

注意上面这条命令也是比较有意思的,比如,我现在网络中就只有一台服务器,而这台服务器上目前只有一个web应用,而系统的镜像文件存放在这台服务器上。我现在要求在这台服务器上不安装其他软件,也不在其他配置的话。如何让网络中的其他KVM服务器通过这个镜像文件,来网络安装系统。

而通过上述这个命令就可以达到要求。

本文出自 “烂泥行天下” 博客,请务必保留此出处http://ilanni.blog.51cto.com/526870/1559789

烂泥:使KVM显示VM的IP地址及主机名