Q群回答:
acs1)本身就是dhcp的,通过mac固定了ip地址,除非你通过acs改变ip或者网内有其他dhcp服务器干扰,否则不会有问题
参见:stackoverflow,使用 lease block
fixed-address ip-address; The fixed-address statement is used to set the ip address of a particular lease. This is required for all lease statements. The IP address must be specified as a dotted quad (e.g., 12.34.56.78).
查看 cloudstack dhcp 的配置
# ps aux |grep client root 766 0.0 0.4 102904 2360 ? Ss 05:15 0:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid -H vm-centos eth0 # cat /var/lib/dhclient/dhclient--eth0.lease lease { interface "eth0"; fixed-address 192.168.0.163; option subnet-mask 255.255.255.0; option dhcp-lease-time 86400; option routers 192.168.0.1; option dhcp-message-type 5; option dhcp-server-identifier 192.168.0.1; option domain-name-servers 192.168.0.1; option dhcp-renewal-time 43200; option dhcp-rebinding-time 75600; renew 6 2022/09/03 15:33:00; rebind 0 2022/09/04 00:58:59; expire 0 2022/09/04 03:58:59; } lease { interface "eth0"; fixed-address 192.168.0.163; option subnet-mask 255.255.255.0; option routers 192.168.0.1; option dhcp-lease-time 86400; option dhcp-message-type 5; option domain-name-servers 192.168.0.1; option dhcp-server-identifier 192.168.0.1; option dhcp-renewal-time 43200; option dhcp-rebinding-time 75600; renew 6 2022/09/03 16:17:38; rebind 0 2022/09/04 02:15:01; expire 0 2022/09/04 05:15:01; }
没有为来宾网络设置vlan范围,创建使用 隔离网络 虚机的时候,报错:
Unable to start a VM due to insufficient capacity
比较坑的是根本原因却是一个INFO级别的错误,Unable to allocate vnet as a part of network Ntwk
, 很容易忽略掉:
2022-09-02 16:46:59,638 INFO [c.c.v.VirtualMachineManagerImpl] (Work-Job-Executor-1:ctx-271177ad job-103/job-104 ctx-13e88e31) (logid:ace71849) Insufficient capacity com.cloud.exception.InsufficientVirtualNetworkCapacityException: Unable to allocate vnet as a part of network Ntwk[205|Guest|8] implement Scope=interface com.cloud.dc.DataCenter; id=1 at com.cloud.network.guru.GuestNetworkGuru.allocateVnet(GuestNetworkGuru.java:298) at com.cloud.network.guru.GuestNetworkGuru.implement(GuestNetworkGuru.java:327) at com.cloud.network.guru.ExternalGuestNetworkGuru.implement(ExternalGuestNetworkGuru.java:136) at org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetwork(NetworkOrchestrator.java:1329) at org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.implementNetwork(NetworkOrchestrator.java:1189) at org.apache.cloudstack.engine.orchestration.NetworkOrchestrator.prepare(NetworkOrchestrator.java:1863) at com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:1199) at com.cloud.vm.VirtualMachineManagerImpl.orchestrateStart(VirtualMachineManagerImpl.java:5853) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:107) at com.cloud.vm.VirtualMachineManagerImpl.handleVmWorkJob(VirtualMachineManagerImpl.java:6018) at com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:102) at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:620) at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102) at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
改用shared网络即可创建虚机。