柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 云计算
2014-06-16 10:13:50
CS4.2.1 HA+KVM
|
区别
|
前提
|
备注
|
基于VM
|
启用VM的HA功能后,如果VM异常宕机(crash)
或者进程被异常终止(而并非主机原因),
CS会自动检测并尝试在当前主机重新开启该VM
|
1.VM被从内部(init 0, halt ,shutdown)关闭,或进程被杀掉。 2.不能使用cloudstack控制界面关闭。 |
如果是使用cloudstack控制界面关闭,那该VM不会进行HA
尝试。
如果是前提1中方法导致VM关闭,CS会自动重新启动该VM。
|
基于HOST
|
启用主机的HA功能后,如果物理主机异常宕机或
者出现物理损坏,CS会尝试将在该主机上面的虚
拟机,在打了HA tag的主机上面重新启动。
|
1.不能使用reboot,shutdown这些命令关闭物理主机。
2.必须是被动、异常关闭,而不是主动关闭主机。
3.比如:系统crash、断电,网络故障等。
|
即使是因为物理主机网络异常触发的HA,所有VM都会被
关闭并且在打了HA标签的主机上重新启动。
所以就是VM重新在其他服务器上启动的过程。
|
基于VM+HOST
|
2者结合,才真正实现高可用性。
|
|
生产中,推荐该做法。
|
NFO[storage.secondary.SecondaryStorageManagerImpl](secstorage-1:)Unable tostartsecondary storage vmforstandbycapacity,secStorageVm vmId:4,will recycle itandstartanewone
WARN[cloud.consoleproxy.ConsoleProxyManagerImpl](consoleproxy-1:)Exceptionwhiletrying tostartconsoleproxy
com.cloud.exception.InsufficientServerCapacityException:Unable tocreatea deploymentforVM[ConsoleProxy|v-5-VM]Scope=interfacecom.cloud.dc.DataCenter;id=1
at com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:841)
at com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:577)
at com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:570)
at com.cloud.consoleproxy.ConsoleProxyManagerImpl.startProxy(ConsoleProxyManagerImpl.java:556)
at com.cloud.consoleproxy.ConsoleProxyManagerImpl.allocCapacity(ConsoleProxyManagerImpl.java:928)
at com.cloud.consoleproxy.ConsoleProxyManagerImpl.expandPool(ConsoleProxyManagerImpl.java:1672)
at com.cloud.consoleproxy.ConsoleProxyManagerImpl.expandPool(ConsoleProxyManagerImpl.java:157)
at com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScanner.java:111)
at com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadScanner.java:33)
at com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadScanner.java:81)
at com.cloud.vm.SystemVmLoadScanner$1.run(SystemVmLoadScanner.java:72)
atjava.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
atjava.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
atjava.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
atjava.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
atjava.lang.Thread.run(Thread.java:744)