在Ubuntu 17.04上使用libvirt 3.0.0
我在我的服务器上定义了多个虚拟networking:
# virsh net-list --all Name State Autostart Persistent ---------------------------------------------------------- default active yes yes ... virtual-mgt-5 active yes yes ...
当虚拟机在“virtual-mgt-5”上启动时,需要dnsmasq DHCP服务器获取其IP地址/子网长度的接口,一旦获取IP信息,通过其FQDN将无法访问该虚拟机。
缺省值用于每个dnsmasq实例:
systemctl status libvirtd ● libvirtd.service - Virtualization daemon Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2017-06-10 19:48:58 CEST; 3ms ago Docs: man:libvirtd(8) http://libvirt.org Main PID: 25365 (libvirtd) Tasks: 35 (limit: 4915) Memory: 27.1M CPU: 28ms CGroup: /system.slice/libvirtd.service ├─22262 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper ├─22263 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper ... ├─24061 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/virtual-mgt-5.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper ├─24062 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/virtual-mgt-5.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper ... ├─25365 /usr/sbin/libvirtd └─25384 /usr/sbin/dnsmasq --help
我想知道“–leasefile-ro”这个选项是否会阻碍:/etc/libvirt/qemu/networks/virtual-mgt-5.xml中可能存在key =值来启用此行为,但是我找不到networkingXML格式 。
相应的XML文件的内容是:
virsh net-edit virtual-mgt-5 <network ipv6='yes'> <name>virtual-mgt-5</name> <uuid>193ac2c9-13fc-44a6-83f8-477790f1f470</uuid> <forward mode='route'/> <bridge name='virbr5' stp='on' delay='0'/> <mac address='52:54:00:b9:ea:63'/> <domain name='actionmystique.net'/> <ip address='172.21.0.1' netmask='255.255.0.0'> <dhcp> <range start='172.21.0.1' end='172.21.255.254'/> </dhcp> </ip> <ip family='ipv6' address='fc21::1' prefix='64'> <dhcp> <range start='fc21::1' end='fc21::fffe'/> </dhcp> </ip> </network>
任何build议?
Libvirt提供了两个“nss”模块,可以为客人启用名称parsing。 “libvirt”模块将主机名(在networkingXML中定义)parsing为IP地址。 'libvirt-guest'模块采取了一种稍微不同的方法,将来宾域名(而不是主机名)parsing为IP地址。 后者意味着你不需要添加主机名到networkingXML – 你可以只是virsh start myguest && ssh myguest