Linux 使用SNMP脚本重新启动CentOS 5服务器

Linux 使用SNMP脚本重新启动CentOS 5服务器,linux,bash,kvm,centos5,Linux,Bash,Kvm,Centos5,尝试使用bash脚本通过SNMP调用重新启动CentOS 5.10服务器 我能够通过SNMP连接到服务器。 在带有KVM的服务器上运行OnApp 3.2 HV。 从5.7升级到5.10,尝试获得最新的 不使用6.x的软件包 SysRq已启用/boot/config-2.6.18-371.9.1.el5 配置\魔法\系统Q=y 已尝试在/etc/sysctl.conf中启用kernel.sysrq=1 尝试在脚本内部启用:echo 1>/proc/sys/kernel/sysrq 挂起根事件/0,

尝试使用bash脚本通过SNMP调用重新启动CentOS 5.10服务器

我能够通过SNMP连接到服务器。 在带有KVM的服务器上运行OnApp 3.2 HV。 从5.7升级到5.10,尝试获得最新的 不使用6.x的软件包 SysRq已启用/boot/config-2.6.18-371.9.1.el5 配置\魔法\系统Q=y 已尝试在/etc/sysctl.conf中启用kernel.sysrq=1 尝试在脚本内部启用:echo 1>/proc/sys/kernel/sysrq 挂起根事件/0,线程太多。 脚本的基本内容:

#!/bin/bash

logger -p local5.debug -i -- `basename $0` $@

# Remove lock file before reboot
rm -f /onapp/reboot.lk

# Will attempt to sync all mounted filesystems.
echo s > /proc/sysrq-trigger
for i in 1 2 3 4 5; do

    if dmesg | grep "Emergency Sync complete" > /dev/null; then
            break
    else
            sleep 1
    fi
done

# Remount all FS to RO
# Will attempt to remount all mounted filesystems read-only.
echo u > /proc/sysrq-trigger
for i in 1 2 3 4 5; do

    if dmesg | grep "Emergency Remount complete" > /dev/null; then
            break
    else
            sleep 1
    fi

done

# Reboot server
echo "Rebooting"
echo b > /proc/sysrq-trigger

exit 0

如果这不是在CentOS 5上执行此操作的方法,那么通过SNMP的替代方法将非常好。它与centos 5.7上的Zen服务器配合使用,但KVM是基于内核的。。。跳转到CentOS 6不是一个就地升级,因此迁移所有虚拟机将是致命的。

有什么原因不能只运行/sbin/rebbot吗?首先同步磁盘非常重要,因为虚拟机链接到外部存储。这就是脚本等待如此长时间的原因。/sbin/reboot将同步磁盘,重新启动过程的一部分是卸载所有文件系统。True。我将尝试/sbin/重新启动。我在想,出于某种原因,需要将磁盘装回RO。这就是为什么我使用了更严格的sysrq方法,而且无论发生什么情况,它都会重新启动。/sbin/reboot到目前为止不起作用。调查原因。