我有一个 kvm/qemu/libvirt 主机,其中有几台虚拟机在 br0 上顺利运行,其 IP 地址与它们在内部运行的主机位于同一网络中,即 192.168.10.0/24。
因此,我正在使用 CoreOS 并遵循其集群指南在 libvirt 上运行 CoreOS尽可能接近。当我尝试使用他们的deploy_coreos_libvirt.sh
脚本时,它找不到虚拟网络“默认”。确实没有根据 定义虚拟网络virsh net-list
。我的 Ubuntu 14.04.4 主机没有示例 network/default.xml 文件,但我的 CentOS 7 kvm 主机有。同样,两台机器都没有定义虚拟网络。下面是来自 CentOS 7 的示例 network/default.xml。
<network>
<name>default</name>
<bridge name="virbr0"/>
<forward/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254"/>
</dhcp>
</ip>
</network>
那么,如果我的物理实验室网络是 192.168.10.0/24,我应该使用哪个网络作为我的虚拟网络?CoreOS 页面上的 user_data 示例有“Network”:“10.1.0.0/16”。我应该在虚拟网络配置中使用它吗?
答案1
我从这个 xml 定义了一个新的虚拟网络
<network>
<name>default</name>
<bridge name="br1"/>
<forward/>
<ip address="192.168.11.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.11.2" end="192.168.11.254"/>
</dhcp>
</ip>
</network>
一旦我定义了 br1 (net-define) 并激活它 (net-start),deploy_coreos_libvirt.sh 就可以毫无问题地为我构建三个新的 CoreOS VM。必须使用它arp -a
来找出它们的 IP 地址,但这没什么大不了的。如果有一个 virsh 命令可以做到这一点就好了。
我可以轻松进出这些新虚拟机,就像它们在我的 LAN 的本地网络上一样。太好了。