如何在ESXi上加上自己的看门狗
来源:互联网 发布:机器人动力学知乎 编辑:程序博客网 时间:2024/04/30 05:22
因工作需要,接触了VMware公司的VMware-VMvisor-3.5.0_Update_3-123629。进入后台发现是很古怪的Linux系统:裁剪的内核、busybox平台、定制的esxcfg-xxx命令。
使用一段时间后发现其自身也并非十分稳定,有事后台程序在高负载情况下会失效,需要自动重启,也需要增加些特殊的后台功能。于是想到加个自制的后台看门狗脚本。然而,什么新增的脚本放上去,一旦重启系统后就没了,除非将新文件放到datastore的目录下,但是如何保证启动ESXi时能启动我的脚本也是个麻烦事。
经过一番研究,发现其自身一个机制可以帮忙。
ESXi自带脚本/sbin/backup.sh的61行左右有句话“# Save all modified files in /etc"。ESXi的自身机制包括启动后将一个实现压缩好的系统环境包释放出来,因此自己擅自添加新文件没有用。而是用户的配置是需要保存的,所以也有备份修改的机制。
在/etc/init.d下面有若干服务程序,其中hostd为shell脚本,可被编辑修改,也可通过/sbin/backup.sh进行修改后保存。
我的做法如下:
1、创建自己的看门狗脚本,存到永久存储区域/vmfs/volumes/datastore1下
vi /vmfs/volumes/datastore1/my_watchdog.sh
-------------------------------------------------------------------------------------------
#!/bin/bash
LOG=/vmfs/volumes/datastore1/mydog.log
DISK=/vmfs/volumes/datastore1
PIDFILE=/var/run/esxi_dog.pid
#Should I run?
if [ -e $PIDFILE ]; then
exit 0
else
echo $$ > $PIDFILE
echo "Hello esxi" > $LOG
fi
# ESXi's services may still booting, my dog wait for a while
sleep 300
while [ 1 ];
do
date >> $LOG
cp /var/log/message* /vmfs/volumes/datastore1/
sleep 60
done
-----------------------------------------------------------------------------------------------
2、修改/etc/init.d/hostd,保证我的看门狗能在ESXi启动后启动。
vi /etc/init.d/hostd
在它的start函数最后添加上setsid /vmfs/volumes/datastore1/my_watchdog.sh &
在它的stop函数最后添加上kill -9 `cat /var/run/esxi_dog.pid`和 rm -f /var/run/esxi_dog.pid
3、确保添加修改完毕后,执行/sbin/backup.sh 1,回车;然后命令重启esxi。
o了!
- 如何在ESXi上加上自己的看门狗
- 如何在CSDN上加上一个自己的小栏目
- 如何在自己的网页的地址栏前上加上自己的logo
- 如何在自己新建的网页上加上图标 .ico文件
- 如何在上传的图片上加上版权文字
- 如何在上传的图片上加上版权文字
- 如何在上传的图片上加上版权文字[转]
- 如何在上传的图片上加上版权文字
- 如何在 dataGrid 上的第一列加上 CheckBox
- 如何在 ListView 上加上按鍵過濾的功能
- 如何在 VMware ESXi 虚拟机上运行 KVM
- 今天在自己Blog上加上了Google广告
- 如何在自己的网站地址前面加上个性的小图标
- fuel 5.1在vmware esxi上的部署
- Winform 如何在界面控件上加上一行旋转角度的字体内容
- Winform 如何在界面控件上加上一行旋转角度的字体内容
- PHP如何在原时间上加上一天?一个小时?
- PHP如何在原时间上加上一天?一个小时?.......
- 關務賬務SQL
- object-c 密码帐号加密 base64
- javascript 字符串和0比较
- 用C#通过DatabaseLink连接远程Oracle数据表的错误,及其变通方法
- tomcat下执行solr
- 如何在ESXi上加上自己的看门狗
- linux--mysql操作命令
- 近期招聘面试的一点感受
- 自己调试的第一个LoadRunner脚本经验总结
- 数据结构 笔记
- linux--安装和配置
- URL读取
- zz C++ Operator Precedence
- try catch finally用法