最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

cloudstack下libvirtd服務無響應問題

 更新時間:2016年10月05日 15:12:13   作者:gordonchang  
這篇文章主要介紹了cloudstack下libvirtd服務無響應問題的相關資料,需要的朋友可以參考下

在cloudstack4.5.2版本下,偶爾出現libvirtd服務無響應的情況,導致virsh命令無法使用,同時伴隨cloudstack master丟失該slave主機連接的情況。最初懷疑是libvirtd服務或版本的問題,經過分析和排查最終確定是cloudstack-agent的問題。但是在官網上并沒有找到類似的bug提交,該問題可能還存在于更高的版本,需要時間進一步從根本上分析。下面是該問題的處理過程,在此記錄下,關注和使用cloudstack的朋友可以參考。

眾所周知,cloudstack的社區(qū)熱度遠不如openstack,為什么還要選擇clcoudstack?這個問題以后有機會再和大家聊。言歸正傳。

環(huán)境交代

宿主機操作系統(tǒng):centos6.5x64(2.6.32-431.el6.x86_64)
cloudstack版本:4.5.2
libvirt版本:libvirt-0.10.2-54.el6_7.2.x86_64

問題描述

通過cloudstackapi listHosts報警信息顯示:
node5.cloud.rtmap:192.168.14.20 state is Down at 2016-05-13T07:19:04+0800
#有關cloudstackapi的使用方法在其它文章中總結,不在此處說明。

登陸問題宿主服務器檢查:

[root@node5 log]#virsh list --all

沒有響應ctrl^c退出

這時的vm可以正常工作,但處于失控狀態(tài)

嘗試重啟啟動libvirtd服務:

[root@node5 log]# service libvirtd stop

正在關閉 libvirtd 守護進程:                               [失敗]  #無法關閉libvirtd服務

嘗試重啟啟動cloudstack-agent服務:

[root@node5 libvirt]# service cloudstack-agent restart
Stopping Cloud Agent: 
Starting Cloud Agent: 

libvirtd故障依舊

簡單維護

[root@node5 ping]# libvirtd -d -l --config /etc/libvirt/libvirtd.conf 

libvirtd:錯誤:Unable to initialize network sockets。查看 /var/log/messages 或者運行不帶 --daemon 的命令查看更多信息。

[root@node5 log]# libvirtd -d

可以執(zhí)行成功,這時執(zhí)行virsh list --all 可以查看和操作vm

[root@node5 log]#virsh list --all
Id  名稱             狀態(tài)
----------------------------------------------------
 2   i-4-185-VM           running

雖然vm運行正常,現在也可以通過命令正常管理了。但是對于cloudstack平臺而言,宿主機處于down狀態(tài),vm處于失控狀態(tài)。

臨時解決辦法是在其它大的升級和維護過程中重啟服務器解決,根本解決還要具體問題具體分析。

分析與排查

檢查進程

[root@node5 log]# ps ax |grep libvirtd
 6485 ?    R  863:37 libvirtd --daemon -l  #該服務始終處于run狀態(tài)

[root@node5 log]# top -p 6485
top -p 6485
top - 09:19:41 up 12 days, 22:27, 1 user, load average: 3.05, 5.07, 6.64
Tasks:  1 total,  0 running,  1 sleeping,  0 stopped,  0 zombie
Cpu(s): 4.8%us, 1.4%sy, 0.0%ni, 93.1%id, 0.6%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 264420148k total, 182040780k used, 82379368k free,  834232k buffers
Swap: 8388600k total,    92k used, 8388508k free, 100453708k cached

  PID USER   PR NI VIRT RES SHR S %CPU %MEM  TIME+ COMMAND
 6485 root   20  0 984m 12m 4440 R 100.2 0.0 844:22.68 libvirtd       #cpu占用100%,無法釋放,影響系統(tǒng)穩(wěn)定性

殺進程

[root@node5 log]# kill -9 6485
[root@node5 log]# kill -9 6485
[root@master log]# ps ax |grep libvirtd  #檢查進程依然存在
 6485 ?    R  863:37 libvirtd --daemon -l
[root@node5 ~]# libvirtd -d -l --config /etc/libvirt/libvirtd.conf
libvirtd:錯誤:Unable to initialize network sockets。查看 /var/log/messages 或者運行不帶 --daemon 的命令查看更多信息。
[root@node5 ~]# netstat -antp |grep 16509
tcp    0   0 0.0.0.0:16509        0.0.0.0:*          LISTEN   3658/libvirtd    
tcp    1   0 192.168.14.25:16509     192.168.14.22:8717     CLOSE_WAIT -          
tcp    1   0 192.168.14.25:16509     192.168.14.20:5152     CLOSE_WAIT -          
tcp    1   0 192.168.14.25:16509     192.168.14.10:39359     CLOSE_WAIT -          
tcp    0   0 :::16509          :::*            LISTEN   3658/libvirtd    
tcp    39   0 ::1:16509          ::1:19715          CLOSE_WAIT - 

經過上述操作,初步判斷l(xiāng)ibvirtd陷入了hang死狀態(tài)。

追蹤進程

[root@node5 log]#strace -f libvirtd
[pid 107570] close(23058)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23059)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23060)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23061)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23062)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23063)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23064)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23065)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23066)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23067)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23068)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23069)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23070)        = -1 EBADF (Bad file descriptor)
[pid 107570] close(23071)        = -1 EBADF (Bad file descriptor)
^C[pid 107570] close(23072 <unfinished ...>
Process 107559 detached
Process 107560 detached
Process 107561 detached
Process 107562 detached
Process 107563 detached
Process 107564 detached
Process 107565 detached
Process 107566 detached
Process 107567 detached
Process 107568 detached
Process 107569 detached
Process 107570 detached

父進程6485在不斷的產生和關閉子進程,并返回錯誤信息。Bad file descriptor的原因(如何觸發(fā)的,誰觸發(fā)的)? 循環(huán)為何無法退出?問題如何再現?

獲得更多的線索

官方文檔(libvirtd各種故障診斷記錄和解決辦法非常詳盡)
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/sect-Troubleshooting-Common_libvirt_errors_and_troubleshooting.html#sect-libvirtd_failed_to_start

開啟系統(tǒng)日志

Change libvirt's logging in /etc/libvirt/libvirtd.conf by enabling the line below. To enable the setting the line, open the /etc/libvirt/libvirtd.conf file in a text editor, remove the hash (or #) symbol from the beginning of the following line, and save the change:
log_outputs="3:syslog:libvirtd"

參照配置,重啟服務器等待下次故障觀察日志

......

Jun 1 12:42:26 node5 abrtd: New client connected
Jun 1 12:42:26 node5 abrtd: Directory 'pyhook-2016-06-01-12:42:26-70065' creation detected
Jun 1 12:42:26 node5 abrt-server[70066]: Saved Python crash dump of pid 70065 to /var/spool/abrt/pyhook-2016-06-01-12:42:26-70065
Jun 1 12:42:26 node5 abrtd: Package 'cloudstack-common' isn't signed with proper key
Jun 1 12:42:26 node5 abrtd: 'post-create' on '/var/spool/abrt/pyhook-2016-06-01-12:42:26-70065' exited with 1
Jun 1 12:42:26 node5 abrtd: Deleting problem directory '/var/spool/abrt/pyhook-2016-06-01-12:42:26-70065'
Jun 1 12:43:26 node5 abrt: detected unhandled Python exception in '/usr/share/cloudstack-common/scripts/vm/network/security_group.py'
......

Jun 6 10:36:21 node5 libvirtd: 102840: warning : qemuDomainObjBeginJobInternal:878 : Cannot start job (modify, none) for domain i-4-30-VM; current job is (modify, none) owned by (102925, 0)
Jun 6 10:36:21 node5 libvirtd: 102840: error : qemuDomainObjBeginJobInternal:883 : Timed out during operation: cannot acquire state change lock
Jun 6 10:39:59 node5 libvirtd: 114071: info : libvirt version: 0.10.2, package: 54.el6_7.2 (CentOS BuildSystem <http://bugs.centos.org>, 2015-11-10-10:25:08, c6b9.bsys.dev.centos.org)
Jun 6 10:39:59 node5 libvirtd: 114071: error : virNetSocketNewListenTCP:312 : Unable to bind to port: 地址已在使用
Jun 6 10:40:46 node5 libvirtd: 114147: info : libvirt version: 0.10.2, package: 54.el6_7.2 (CentOS BuildSystem <http://bugs.centos.org>, 2015-11-10-10:25:08, c6b9.bsys.dev.centos.org)
Jun 6 10:40:46 node5 libvirtd: 114147: error : virNetSocketNewListenTCP:312 : Unable to bind to port: 地址已在使用
Jun 6 10:42:15 node5 libvirtd: 114204: info : libvirt version: 0.10.2, package: 54.el6_7.2 (CentOS BuildSystem <http://bugs.centos.org>, 2015-11-10-10:25:08, c6b9.bsys.dev.centos.org)
Jun 6 10:42:15 node5 libvirtd: 114204: error : virNetSocketNewListenTCP:312 : Unable to bind to port: 地址已在使用
Jun 6 10:47:05 node5 libvirtd: 114375: info : libvirt version: 0.10.2, package: 54.el6_7.2 (CentOS BuildSystem <http://bugs.centos.org>, 2015-11-10-10:25:08, c6b9.bsys.dev.centos.org)
Jun 6 10:47:05 node5 libvirtd: 114375: error : virNetSocketNewListenTCP:312 : Unable to bind to port: 地址已在使用
Jun 6 10:47:23 node5 libvirtd: 114412: info : libvirt version: 0.10.2, package: 54.el6_7.2 (CentOS BuildSystem <http://bugs.centos.org>, 2015-11-10-10:25:08, c6b9.bsys.dev.centos.org)
Jun 6 10:47:23 node5 libvirtd: 114412: error : virNetSocketNewListenTCP:312 : Unable to bind to port: 地址已在使用
......

Jun 12 03:08:02 node5 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="3111" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Jun 12 09:20:40 node5 libvirtd: 72575: info : libvirt version: 0.10.2, package: 54.el6_7.2 (CentOS BuildSystem <http://bugs.centos.org>, 2015-11-10-10:25:08, c6b9.bsys.dev.centos.org)
Jun 12 09:20:40 node5 libvirtd: 72575: error : virPidFileAcquirePath:410 : Failed to acquire pid file '/var/run/libvirtd.pid': 資源暫時不可用

并未獲得致命錯誤和更多線索。(該日志配置選項還是很有必要打開的,很多問題都可以通過它來定位)

解決過程

解決思路

嘗試和找到終止進程、重啟服務的方法
提交bug,等待補丁升級
分析源代碼,再現問題,解決問題(投入研發(fā)和時間)
由于不能再現問題,還是從簡入繁吧。觸發(fā)這些子進程的元兇是誰?還是cloudstack-agent的嫌疑最大,但之前重啟過該服務并沒有解決問題,那么agent服務是怎么一回事呢?

看下啟動腳本可以基本了解,

[root@node5 libvirt]# cat /etc/rc.d/init.d/cloudstack-agent

#!/bin/bash

# chkconfig: 35 99 10
# description: Cloud Agent

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well

. /etc/rc.d/init.d/functions

# set environment variables

SHORTNAME=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//')
PIDFILE=/var/run/"$SHORTNAME".pid
LOCKFILE=/var/lock/subsys/"$SHORTNAME"
LOGDIR=/var/log/cloudstack/agent
LOGFILE=${LOGDIR}/agent.log
PROGNAME="Cloud Agent"
CLASS="com.cloud.agent.AgentShell"
JSVC=`which jsvc 2>/dev/null`;

# exit if we don't find jsvc
if [ -z "$JSVC" ]; then
  echo no jsvc found in path;
  exit 1;
fi

unset OPTIONS
[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME"

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun"

for jdir in $JDK_DIRS; do
  if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
    JAVA_HOME="$jdir"
  fi
done
export JAVA_HOME

ACP=`ls /usr/share/cloudstack-agent/lib/*.jar | tr '\n' ':' | sed s'/.$//'`
PCP=`ls /usr/share/cloudstack-agent/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'`

# We need to append the JSVC daemon JAR to the classpath
# AgentShell implements the JSVC daemon methods
export CLASSPATH="/usr/share/java/commons-daemon.jar:$ACP:$PCP:/etc/cloudstack/agent:/usr/share/cloudstack-common/scripts"

start() {
  echo -n $"Starting $PROGNAME: "
  if hostname --fqdn >/dev/null 2>&1 ; then
    $JSVC -Xms256m -Xmx2048m -cp "$CLASSPATH" -pidfile "$PIDFILE" \
      -errfile $LOGDIR/cloudstack-agent.err -outfile $LOGDIR/cloudstack-agent.out $CLASS
    RETVAL=$?
    echo
  else
    failure
    echo
    echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr
    RETVAL=9
  fi
  [ $RETVAL = 0 ] && touch ${LOCKFILE}
  return $RETVAL
}

stop() {
  echo -n $"Stopping $PROGNAME: "
  $JSVC -pidfile "$PIDFILE" -stop $CLASS
  RETVAL=$?
  echo
  [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status -p ${PIDFILE} $SHORTNAME
    RETVAL=$?
    ;;
  restart)
    stop
    sleep 3
    start
    ;;
  condrestart)
    if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then
      stop
      sleep 3
      start
    fi
    ;;
  *)
  echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}"
  RETVAL=3
esac

exit $RETVAL

[root@node5 libvirt]# ps ax |grep jsvc.exec
 6655 ?    Ss   0:00 jsvc.exec -Xms256m -Xmx2048m -cp /usr/share/java/commons-daemon.jar:/usr/share/cloudstack-agent/lib/activation-1.1.jar:/usr/share/cloudstack-agent/lib/antisamy-1.4.3.jar:/usr/share/cloudstack-agent/lib/aopalliance-1.0.jar:/usr/share/cloudstack-agent/lib/apache-log4j-extras-1.1.jar:/usr/share/cloudstack-agent/lib/aspectjweaver-1.7.0.jar:/usr/share/cloudstack-agent/lib/aws-java-sdk-1.3.22.jar:/usr/share/cloudstack-agent/lib/batik-css-1.7.jar:/usr/share/cloudstack-agent/lib/batik-ext-1.7.jar:/usr/share/cloudstack-agent/lib/batik-util-1.7.jar:/usr/share/cloudstack-agent/lib/bcprov-jdk15-1.46.jar:/usr/share/cloudstack-agent/lib/bcprov-jdk16-1.46.jar:/usr/share/cloudstack-agent/lib/bsh-core-2.0b4.jar:/usr/share/cloudstack-agent/lib/cglib-nodep-2.2.2.jar:/usr/share/cloudstack-agent/lib/cloud-agent-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-api-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-core-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-engine-api-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-engine-components-api-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-engine-schema-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-cluster-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-config-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-db-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-events-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-ipc-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-jobs-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-managed-context-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-rest-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-security-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-plugin-hypervisor-kvm-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-plugin-network-ovs-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-server-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-utils-4.5.2.jar:/usr/share/cloudstack-agent/lib/commons-beanutils-core-1.7.0.jar:/usr/share/cloudstack-agent/lib/commons-codec-1.6.jar:/usr/share/cloudstack-agent/lib/commons-collections-3.2.1.jar:/usr/share/cloudstack-agent/lib/commons-configuration-1.8.jar:/usr/share/cloudstack-agent/lib/commons-daemon-1.0.10.jar:/usr/share/cloudstack-agent/lib/commons-dbcp-1.4.jar:/usr/share/cloudstack-agent/lib/commons-fileupload-1.2.jar:/usr/share/cloudstack-agent/lib/commons-httpclient-3.1.jar:/usr/share/cloudstack-agent/lib/commons-io-1.4.jar:/usr/share/cloudstack-agent/lib/commons-lang-2.6.jar:/usr/share/cloudstack-agent/lib/commons-logging-1.1.3.jar:/usr/share/cloudstack-agent/lib/commons-net-3.3.jar:/usr/share/cloudstack-agent/lib/commons-pool-1.6.jar:/usr/share/cloudstack-agent/lib/cxf-bundle-jaxrs-2.7.0.jar:/usr/share/cloudstack-agent/lib/dom4j-1.6.1.jar:/usr/share/cloudstack-agent/lib/ehcache-core-2.6.6.jar:/usr/share/cloudstack-agent/lib/ejb-api-3.0.jar:/usr/share/cloudstack-agent/lib/esapi-2.0.1.jar:/usr/share/cloudstack-agent/lib/geronimo-javamail_1.4_spec-1.7.1.jar:/usr/share/cloudstack-agent/lib/geronimo-servlet_3.0_spec-1.0.jar:/usr/share/cloudstack-agent/lib/gson-1.7.2.jar:/usr/share/cloudstack-agent/lib/guava-14.0-rc1.jar:/usr/share/cloudstack-agent/lib/httpclient-4.3.6.jar:/usr/share/cloudstack-agent/lib/httpcore-4.3.3.jar:/usr/share/cloudstack-agent/lib/jackson-annotations-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-core-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-core-asl-1.8.9.jar:/usr/share/cloudstack-agent/lib/jackson-databind-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-jaxrs-json-provider-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-mapper-asl-1.8.9.jar:/usr/share/cloudstack-agent/lib/jackson-module-jaxb-annotations-2.1.1.jar:/usr/share/cloudstack-agent/lib/jasypt-1.9.0.jar:/usr/share/cloudstack-agent/lib/java-ipv6-0.10.jar:/usr/share/cloudstack-agent/lib/javassist-3.12.1.GA.jar:/usr/share/cloudstack-agent/lib/javassist-3.18.1-GA.jar:/usr/share/cloudstack-agent/lib/javax.inject-1.jar:/usr/share/cloudstack-agent/lib/javax.persistence-2.0.0.jar:/usr/share/cloudstack-agent/lib/javax.ws.rs-api-2.0-m10.jar
 6657 ?    Sl   0:05 jsvc.exec -Xms256m -Xmx2048m -cp /usr/share/java/commons-daemon.jar:/usr/share/cloudstack-agent/lib/activation-1.1.jar:/usr/share/cloudstack-agent/lib/antisamy-1.4.3.jar:/usr/share/cloudstack-agent/lib/aopalliance-1.0.jar:/usr/share/cloudstack-agent/lib/apache-log4j-extras-1.1.jar:/usr/share/cloudstack-agent/lib/aspectjweaver-1.7.0.jar:/usr/share/cloudstack-agent/lib/aws-java-sdk-1.3.22.jar:/usr/share/cloudstack-agent/lib/batik-css-1.7.jar:/usr/share/cloudstack-agent/lib/batik-ext-1.7.jar:/usr/share/cloudstack-agent/lib/batik-util-1.7.jar:/usr/share/cloudstack-agent/lib/bcprov-jdk15-1.46.jar:/usr/share/cloudstack-agent/lib/bcprov-jdk16-1.46.jar:/usr/share/cloudstack-agent/lib/bsh-core-2.0b4.jar:/usr/share/cloudstack-agent/lib/cglib-nodep-2.2.2.jar:/usr/share/cloudstack-agent/lib/cloud-agent-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-api-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-core-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-engine-api-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-engine-components-api-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-engine-schema-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-cluster-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-config-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-db-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-events-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-ipc-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-jobs-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-managed-context-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-rest-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-framework-security-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-plugin-hypervisor-kvm-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-plugin-network-ovs-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-server-4.5.2.jar:/usr/share/cloudstack-agent/lib/cloud-utils-4.5.2.jar:/usr/share/cloudstack-agent/lib/commons-beanutils-core-1.7.0.jar:/usr/share/cloudstack-agent/lib/commons-codec-1.6.jar:/usr/share/cloudstack-agent/lib/commons-collections-3.2.1.jar:/usr/share/cloudstack-agent/lib/commons-configuration-1.8.jar:/usr/share/cloudstack-agent/lib/commons-daemon-1.0.10.jar:/usr/share/cloudstack-agent/lib/commons-dbcp-1.4.jar:/usr/share/cloudstack-agent/lib/commons-fileupload-1.2.jar:/usr/share/cloudstack-agent/lib/commons-httpclient-3.1.jar:/usr/share/cloudstack-agent/lib/commons-io-1.4.jar:/usr/share/cloudstack-agent/lib/commons-lang-2.6.jar:/usr/share/cloudstack-agent/lib/commons-logging-1.1.3.jar:/usr/share/cloudstack-agent/lib/commons-net-3.3.jar:/usr/share/cloudstack-agent/lib/commons-pool-1.6.jar:/usr/share/cloudstack-agent/lib/cxf-bundle-jaxrs-2.7.0.jar:/usr/share/cloudstack-agent/lib/dom4j-1.6.1.jar:/usr/share/cloudstack-agent/lib/ehcache-core-2.6.6.jar:/usr/share/cloudstack-agent/lib/ejb-api-3.0.jar:/usr/share/cloudstack-agent/lib/esapi-2.0.1.jar:/usr/share/cloudstack-agent/lib/geronimo-javamail_1.4_spec-1.7.1.jar:/usr/share/cloudstack-agent/lib/geronimo-servlet_3.0_spec-1.0.jar:/usr/share/cloudstack-agent/lib/gson-1.7.2.jar:/usr/share/cloudstack-agent/lib/guava-14.0-rc1.jar:/usr/share/cloudstack-agent/lib/httpclient-4.3.6.jar:/usr/share/cloudstack-agent/lib/httpcore-4.3.3.jar:/usr/share/cloudstack-agent/lib/jackson-annotations-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-core-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-core-asl-1.8.9.jar:/usr/share/cloudstack-agent/lib/jackson-databind-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-jaxrs-json-provider-2.1.1.jar:/usr/share/cloudstack-agent/lib/jackson-mapper-asl-1.8.9.jar:/usr/share/cloudstack-agent/lib/jackson-module-jaxb-annotations-2.1.1.jar:/usr/share/cloudstack-agent/lib/jasypt-1.9.0.jar:/usr/share/cloudstack-agent/lib/java-ipv6-0.10.jar:/usr/share/cloudstack-agent/lib/javassist-3.12.1.GA.jar:/usr/share/cloudstack-agent/lib/javassist-3.18.1-GA.jar:/usr/share/cloudstack-agent/lib/javax.inject-1.jar:/usr/share/cloudstack-agent/lib/javax.persistence-2.0.0.jar:/usr/share/cloudstack-agent/lib/javax.ws.rs-api-2.0-m10.jar

重啟服務

[root@node5 bin]# service cloudstack-agent status
cloudstack-agent (pid 6657) 正在運行...
[root@node5 bin]# service cloudstack-agent stop
Stopping Cloud Agent:

[root@node5 bin]# service cloudstack-agent status
cloudstack-agent (pid 6657) 正在運行..

ps ax |grep jsvc.exec 也驗證了進程依然存在

眼前一亮的同時,也發(fā)現了之前使用restart帶來的問題,stop不成功的問題被掩蓋了~~~有沒有懊惱? 不過來不及反思,接下來的問題還遠不是這么簡單......

[root@node5 bin]# kill -9 6655 6657
[root@node5 bin]# kill -9 6655 6657
-bash: kill: (6655) - 沒有那個進程
-bash: kill: (6657) - 沒有那個進程
[root@node5 bin]# service cloudstack-agent status
cloudstack-agent 已死,但 pid 文件仍存
[root@node5 bin]# rm /var/run/cloudstack-agent.pid
rm:是否刪除普通文件 "/var/run/cloudstack-agent.pid"?y
[root@node5 bin]# service cloudstack-agent status
cloudstack-agent 已死,但是 subsys 被鎖
[root@node5 bin]# service cloudstack-agent start
[root@node5 bin]# service cloudstack-agent status
cloudstack-agent (pid 109382) 正在運行...
[root@node5 bin]# netstat -antp |grep 8250
tcp    0   0 192.168.14.20:22220     192.168.14.10:8250     ESTABLISHED 109382/jsvc.exec 

處理后狀態(tài)恢復正常,但是libvirtd仍然無法殺掉, 很快netstat -antp |grep 8250 狀態(tài)再次消失,cloudstack master平臺監(jiān)控主機記錄由Up狀態(tài)轉為disconnect狀態(tài)。不過畢竟不是down狀態(tài),較之前已經有了進步。

啟動一個libvirtd -d看下,

[root@node5 bin]# libvirtd -d
[root@node5 bin]# ps ax |grep libvirtd
  6485 ?    R  863:37 libvirtd --daemon -l
 130057 ?    Sl   0:38 libvirtd -d
 28904 pts/0   S+   0:00 grep libvirtd

然后在cloudstack master平臺上手工點擊強制重新連接該主機,成功了。主機監(jiān)控狀態(tài)由disconnect轉為Up,這時再次嘗試殺掉6485仍然是不成功的,于是又在cloudstack master管理平臺上嘗試著點擊操作了一下暫停vm命令,vm成功暫停。再返回服務器上觀察原來hung死的libvirtd進程已經消失。

[root@node5 bin]# libvirtd -d
[root@node5 bin]# ps ax |grep libvirtd
 130057 ?    Sl   0:38 libvirtd -d
 28904 pts/0   S+   0:00 grep libvirtd

至此既恢復了平臺對該主機的管控,也終止了libvirtd異常進程。問題初步歸于cloudstack-agent在處理發(fā)送個libvirtd的信號上存在些小問題。以后再單獨分析下jsvc進程,再現問題和根本解決。

問題反思

在處理服務異常的問題上,命令行參數不要用restart,用stop和kill來調試。說起來都是淚!

相關文章

  • 在Linux開發(fā)板中使用.NET實現音頻錄制與播放功能

    在Linux開發(fā)板中使用.NET實現音頻錄制與播放功能

    本文將以Linux開發(fā)板為基礎,使用ALSA音頻框架和C#語言,演示如何實現基礎的音頻錄制與播放功能,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2025-03-03
  • centos7 無線網卡驅動的安裝及無線網絡的配置詳解

    centos7 無線網卡驅動的安裝及無線網絡的配置詳解

    本篇文章主要介紹了centos7 無線網卡驅動的安裝及無線網絡的配置詳解,具有一定的參考價值,有興趣的可以了解一下。
    2017-03-03
  • linux系統(tǒng)對外開放3306、8080等端口,防火墻設置詳解

    linux系統(tǒng)對外開放3306、8080等端口,防火墻設置詳解

    這篇文章主要介紹了linux系統(tǒng)對外開放3306、8080等端口,防火墻設置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • VMWare中CentOS ifcfg-eth0配置方法(親測直接可用)

    VMWare中CentOS ifcfg-eth0配置方法(親測直接可用)

    本篇文章主要介紹了VMWare中CentOS ifcfg-eth0配置,這些配置是基于VMware Network Adapter VMnet8,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • 使用ssh-keygen,實現免密碼登陸linux的方法

    使用ssh-keygen,實現免密碼登陸linux的方法

    下面小編就為大家?guī)硪黄褂胹sh-keygen,實現免密碼登陸linux的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Linux查看進程的所有信息的方法示例

    Linux查看進程的所有信息的方法示例

    這篇文章主要介紹了Linux查看進程的所有信息的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 實現兩臺MySQL數據庫數據的同步的方法

    實現兩臺MySQL數據庫數據的同步的方法

    做開發(fā)的時候要做Mysql的數據庫同步,兩臺安裝一樣的系統(tǒng),都是FreeBSD5.4,安裝了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1.15,都是目前最新的版本。
    2008-04-04
  • Ubuntu上使用Netdata設置實時性能監(jiān)控的詳細流程

    Ubuntu上使用Netdata設置實時性能監(jiān)控的詳細流程

    Netdata通過可擴展的Web儀表板提供準確的性能監(jiān)控,可以顯示Linux系統(tǒng)上的流程和服務。這篇文章給大家介紹Ubuntu上使用Netdata設置實時性能監(jiān)控的流程,感興趣的朋友一起看看吧
    2018-08-08
  • LNAMP架構中后端Apache獲取用戶真實IP地址的2種方法

    LNAMP架構中后端Apache獲取用戶真實IP地址的2種方法

    Nginx作為前端,Apache作為后端的情況下,Apache只能獲取到Nginx前端的ip地址(127.0.0.1),而無法獲取到用戶的真實ip地址,在這種情況下,后端Apache如何獲取用戶真實IP地址?
    2014-03-03
  • 干貨 | Linux新手入門好書推薦

    干貨 | Linux新手入門好書推薦

    今天在知乎上看到了這樣一個問答:學習操作系統(tǒng)的知識,看哪本書好?讀完之后,我決定理一下操作系統(tǒng)方面的好書推薦給需要學習這個方向知識的人。下面這篇文章主要給Linux新手們推薦了一些入門的好書,需要的朋友可以參考下。
    2017-10-10

最新評論

犍为县| 白玉县| 潢川县| 抚远县| 济宁市| 唐河县| 乌海市| 溧阳市| 新津县| 柘荣县| 交口县| 乐清市| 东辽县| 白河县| 沧州市| 思南县| 介休市| 唐海县| 寻乌县| 丹江口市| 成安县| 铁岭市| 五原县| 洞口县| 奉节县| 富源县| 吉木萨尔县| 讷河市| 大宁县| 乐东| 西丰县| 黔西县| 修武县| 集安市| 乌海市| 凤山县| 邹平县| 和林格尔县| 建德市| 隆德县| 壶关县|