本文共 2019 字,大约阅读时间需要 6 分钟。
在rhel5时代使用xen虚拟化的时候,默认/etc/init.d/xendomains服务是启动的,这个服务是确保当正常关闭物理机(不是突然断电)时,如果有虚拟机正在运行,则默认会先保存正在运行的虚拟机状态然后才关闭宿主系统(host),这样下次物理机启动的启动的时候就会再把虚拟机恢复到上次关机前的状态。但是这样会导致关机的时间变长,需要保存的虚拟机越多耗时越长;如果在虚拟机上面配置了集群,还会导致更加严重的问题,由于集群对不同资源启动顺序的要求,可直接导致集群上的服务(Resource Group/Service Group)启动失败。
虽然rhel6上的虚拟化从xen换到了kvm,但是类似rhel5下xendomains的服务依旧存在,在kvm下叫libvirt-guests,在虚拟出来的节点上做集群服务时,为确保集群在物理机重启后仍能正常工作,建议在搭建集群前就停止该服务,并chkconfig libvirt-guests off。kvm下libvirt-guests服务功能演示:如果没有chkconfig libvirt-guests off,host关机时会自动执行/etc/init.d/libvirt-guests stop,host启动时会自动执行/etc/init.d/libvirt-guests start。[root@desktop20 ~]# /etc/init.d/libvirt-guests statusstarted[root@desktop20 ~]# virsh list Id 名称 状态---------------------------------- 1 node4 running 2 node1 running 3 node2 running 4 node3 running[root@desktop20 ~]# /etc/init.d/libvirt-guests stopRunning guests on default URI: node4, node1, node2, node3Suspending guests on default URI...Suspending node4: done Suspending node1: done Suspending node2: done Suspending node3: done [root@desktop20 ~]# /etc/init.d/libvirt-guests startResuming guests on default URI...Resuming guest node4: doneResuming guest node1: doneResuming guest node2: doneResuming guest node3: done[root@desktop20 ~]# 推荐做法:[root@desktop20 ~]# /etc/init.d/libvirt-guests stopRunning guests on default URI: node4, node1Suspending guests on default URI...Suspending node4: done Suspending node1: done [root@desktop20 ~]# chkconfig libvirt-guests off[root@desktop20 ~]# virsh start node1域 node1 已开始[root@desktop20 ~]# virsh start node2域 node2 已开始[root@desktop20 ~]# virsh start node3域 node3 已开始[root@desktop20 ~]# virsh start node4域 node4 已开始[root@desktop20 ~]# virsh list Id 名称 状态---------------------------------- 11 node1 running 12 node2 running 13 node3 running 14 node4 running[root@desktop20 ~]# ref1提供了一种直接改/etc/init.d/libvirt-guests脚本的方法,没验证过,应该也是可行的:vim /etc/init.d/libvirt-guests...ON_SHUTDOWN=shutdownSHUTDOWN_TIMEOUT=10...:wqREF: 1. Make libvirt to shutdown my guests (not suspend)
转载地址:http://dstai.baihongyu.com/