XenServer VM Restart Issue

一台跑在xenserver上的Jenkins VM下午陆续出现运缓慢打包时间长的问题,在VM中运行glances/top等均未见异常。尝试重启该VM,长久没有反应,关闭一些无用的VM,xencenter均显示为黄色为powerstate状态;因为xenserver是基于CentOS上的系统,进入Linuux里面排错。

  1. 磁盘Raid诊断,命令输出未见坏道

    rpm -ivh storcli-1.23.02-1.noarch.rpm
    /opt/MegaRAID/storcli/storcli64 show
    /opt/MegaRAID/storcli/storcli64 /0 show event
    /opt/MegaRAID/storcli/storcli64 /c0 show
  2. 检查vm状态

    # 常用命令
    xe vm-list --all                                    #或者 xl vm-lis
    xe vm-reset-powerstate \
    uuid=7db01146-a5ea-c2de-0867-c23c4263aa07 \
    --force                                             #reset powerstate状态
    xe vm-reboot \
    name-label=7db01146-a5ea-c2de-0867-c23c4263aa07     #reboot vm
    xe vm-list|grep -n1 running|\
    grep -v 'Control'|awk '/name/{print $NF}'           #list running vm
    xe vm-list |grep -n3 -v halt                        #list halt vm
  3. 脚本

  • vm-shutdown脚本

    #!/bin/sh
    #filename: vmshutdown.sh
    VMS=$(xe vm-list|grep -n1 running|grep -v 'Control'|awk '/name/{print $NF}')
    for VM in ${VMS[@]}
      do
        echo "Shutdown $VM"
        xe vm-shutdown vm=$VM
    done
  • vm-start脚本

    #!/usr/bin/env perl
    #filename: vmstart.pl
    #usage: perl ./vmstart.pl vmlist
    use 5.010;
    foreach (<>){
    next if /^#/;
    print;
    $cmd = "xe vm-start vm=$_";
    system $cmd;
    }
  • vm-start脚本的vmlist

    cat vmlist
    #vmconfig
    vm-1
    vm-2
    vm-3

在Linux下重启xenserver后,启动VM后一切恢复正常

perl vmstart.pl vmlist

xenserver配置信息如下:

xenserver 7.1.0 - e5-2630 v3 @ 2.40 GHZ - 128g ram - 2 + 4 TB raid1