用户工具

站点工具


02-工程实践:cloudstack:troubleshooting

问题

IP分配

  • 家庭路由器,Shared网络下,模板的网卡是DHCP时,可以获取到IP地址,那么是谁负责分配的IP,即DHCP服务器是谁?是家里的路由器?还是CloudStack里的虚拟路由器?
  • DHCP分配的IP是否有变化的风险?是否需要设置为static?有什么手段可以设置为static?

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不足

没有为来宾网络设置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网络即可创建虚机。

1)
大概是apache cloudstack缩写
02-工程实践/cloudstack/troubleshooting.txt · 最后更改: 2022/09/03 13:55 由 annhe