the*_*ega 11 dhcp libvirt kvm-virtualization
我正在使用 libvirt 和 kvm 来虚拟化我的服务器。我将 libvirt 配置为在网桥网络接口上启动一个 dhcp-server 来为虚拟机提供它们的 ips。每个 VM 总是基于其 mac 获得相同的 ip,配置如下:
<dhcp>
<range start='10.1.1.2' end='10.1.1.254' />
<host mac='54:52:00:21:01:ba' name='virstvm' ip='10.1.1.10' />
<host mac='00:16:36:2d:71:f9' name='secvm' ip='10.1.1.20' />
</dhcp>
Run Code Online (Sandbox Code Playgroud)
问题:每当我向 dhcp 部分添加新主机时,我都必须重新启动 libvirt-bin,它会重新启动我所有的. 这不能成为解决方案,因为这意味着每次添加新服务器时都会停机。有解决办法吗?
小智 7
在 virsh 中添加的net-update命令应该允许 dhcp-host 更新而无需重新启动虚拟网络(我还没有测试过)。
男人 virsh:
net-update 网络命令部分 xml [--parent-index index] [[--live] [--config] | [ - 当前的]]
更新现有网络定义的给定部分,更改可选择立即生效,无需破坏和重新启动网络。
命令是“add-first”、“add-last”、“add”(add-last 的同义词)、“delete”或“modify”之一。
部分是“bridge”、“domain”、“ip”、“ip-dhcp-host”、“ip-dhcp-range”、“forward”、“forward-interface”、“forward-pf”、“portgroup”之一"、"dns-host"、"dns-txt" 或 "dns-srv",每个部分都由 xml 元素层次结构的串联命名,导致元素被更改。例如,“ip-dhcp-host”将更改
<host>
包含在网络<dhcp>
元素内的<ip>
元素内的元素。xml 是要更改的类型的完整 xml 元素的文本(例如“<host mac="00:11:22:33:44:55' ip='1.2.3.4'/>”,或一个包含完整 xml 元素的文件。通过查看所提供文本的第一个字符来消除歧义 - 如果第一个字符是“<”,则为 xml 文本,如果第一个字符不是“<”,则为包含要使用的 xml 文本的文件的名称。
--parent-index 选项用于指定请求的元素在几个父元素中的哪一个(从 0 开始)。例如,一个 dhcp
<host>
元素可以<ip>
位于网络中多个元素中的任何一个;如果未提供 parent-index,则将选择“最合适”的<ip>
元素(通常是唯一已经有<dhcp>
元素的元素),但如果提供了 --parent-index,则该特定实例<ip>
将得到修改。如果指定了 --live,则影响正在运行的网络。如果指定了--config,则影响持久网络的下次启动。如果指定了 --current ,则影响当前网络状态。--live 和 --config 标志都可以给出,但 --current 是独占的。不指定任何标志与指定 --current 相同。
以下程序对我使用 libvirt 版本:Ubuntu 10.04.4 LTS 主机上的 0.7.5-5ubuntu27:
virsh net-dumpxml default > default.xml
$EDITOR default.xml
virsh net-destroy default
virsh net-define default.xml
virsh net-start default
Run Code Online (Sandbox Code Playgroud)
这也适用于默认网络之外的其他网络。只需将示例中的 default 一词替换为网络名称即可。
归档时间: |
|
查看次数: |
9596 次 |
最近记录: |