我已遵循本指南(Ubuntu 11.10 上使用 KVM 进行虚拟化)在我的 Ubuntu 11.10 服务器上设置我的 KVM(虚拟机软件)。但是,我在创建 VM 时没有设置 VM 的 IP 地址,而是使用:
vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=192.168.0.101 --gw=192.168.0.1 --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0
我使用:(我从命令行删除了“--ip=192.168.0.101 --gw=192.168.0.1”)
vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0
我已按照指南的指示设置了网桥,并且新虚拟机的接口已连接到网桥。
我假设 KVM 将通过 DHCP 分配我的虚拟机,但我没有有关新虚拟机 IP 地址的信息,在哪里可以找到虚拟机的 IP 地址和新虚拟机的 SSH?谢谢。
[注:我在不知道虚拟机 IP 地址的情况下成功登录了虚拟机。使用 ”Xming + SSH 与 X 图形转发但是没有为我的虚拟机分配 DHCP IP 地址,除了上述问题,我还有另一个问题:如何在我的虚拟机上启用 DCHP,以便当我使用 Xming 通过“virt 查看器”登录时,我至少可以看到我的虚拟机IP地址在那里。]
答案1
尝试这个:
virsh net-list
virsh net-dhcp-leases <net-name> <--- net-name from above command
如果您知道 MAC 地址,也可以使用以下表格:
virsh net-dhcp-leases <net-name> --mac <mac-address>
MAC地址可以通过dumpxml命令找到。看有没有办法确定kvm主机中哪个虚拟接口属于虚拟机?
答案2
您可以运行arp -n
查看您的虚拟机选择的 IP。这样,您就不必登录来宾虚拟机并输入ifconfig
。
下面的博客提供了更多详细信息,并包含一个自动查找虚拟机地址的 perl 脚本。
答案3
我想这是一个老问题,但如果您使用 nat 或桥接专用网络,当前版本会使virsh
这变得容易得多。我有steak
一个在(路由)专用网络(又名“NAT”)上命名的虚拟机。只需两个命令即可查找内置机制分配的 IP:
$ sudo virsh list
Id Name State
----------------------------------------------------
21 steak running
$ sudo virsh domifaddr steak
Name MAC address Protocol Address
-------------------------------------------------------------------------------
vnet0 76:0c:28:ab:0e:ee ipv4 10.14.1.1/24
我还有另一个虚拟机 ( eggs
),它桥接到常规网络(连接到虚拟机管理程序主机上的桥接设备)。 Libvirt 不会为其分配地址;它从我的网络的 DHCP 服务器获取地址,在我的情况下,该服务器还会更新动态 DNS。当domifadd
该虚拟机没有输出时,这是一种可能的可能性。因此,您基本上必须像查找任何其他机器一样查找地址 - 在 arp 表中查找它可能是最简单的 - 这意味着ip neighbour
现在,asarp
已弃用并且不再出现在某些发行版上。幸运的是,对于我们这些不会用额外元音拼写事物的人来说,您还可以使用较短的版本,例如ip neigh
and ip n
(或ip neighbor
)。 ;) 下面,我用来domiflist
查找 MAC 地址(请注意,它连接到br0
“源”列中),然后在 arp 表中找到它。
$ sudo virsh domifaddr eggs
Name MAC address Protocol Address
-------------------------------------------------------------------------------
$ sudo virsh domiflist eggs
Interface Type Source Model MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 52:54:00:2c:ac:ee
$ ip neigh | grep -i 52:54:00:2c:ac:ee
192.168.0.226 dev br0 lladdr 52:54:00:2c:ac:ee REACHABLE
$ host eggs
eggs.home.domain.com has address 192.168.0.226
答案4
要查看您的虚拟机的 IP 地址,只需运行:
$ arp -n
如果您的系统上未安装 arp,只需安装该net-tools
软件包。