ESXI 5.5在windows下使用BAT脚本通过SSH进行远程关机?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESXI 5.5在windows下使用BAT脚本通过SSH进行远程关机?相关的知识,希望对你有一定的参考价值。

1、环境介绍
1台ESXI主机, E3 1230V3,32G内存,华硕P9D-MV,32G SSD
1台FREENAS 9.3 存储, I3 4代,16G内存,华硕P9D-MV,32G SSD,提供ISCSI给ESXI的VM使用。
1台 I3 2008R2 Windows主机,4G内存,华硕B85主板,64G SSD,作为USB SEVER,并设置了计划任务进行断电关机BAT脚本。
3台主机与交换机都接入了一台1600W 深圳山特UPS,电池提供1小时不中断。
ESXI FREENAS 均不支持山特UPS连接,所以无法直接使用ESXI判断是否停电

2、使用说明
ESXI主机上运行了15台VM,并开启了SSH。主板Bios设置了 早上9点30自动启动(如果晚上停电自动关机了的话),并开启了WOL(网络唤醒)。
FREENAS 存储,开启了SSH,主板BIOS设置了 早上9点自动(启动如果晚上停电自动关机了的话),并开启了WOL。
2008r2主机,主板BIOS设置了 早上9点自动启动(如果晚上停电自动关机了的话),并开启了WOL。

2008R2主机上运行了一个断电判断脚本,在服务器启动后,会每10分钟PING 网关(直接接市电)与无线AP(直接接市电),如果2者都返回错误,则认为已断电,开始执行关机。
先关闭 ESXI,然后关闭NAS,最后关闭自己。

3、问题
FREENAS与本机可以被正确关闭,所以主BAT脚本无问题。
【ESXI出现关机重启,可能是ESXI关机脚本有问题,而我在手动执行 ESXI 关机脚本时,ESXI 是可以被正确关闭的,但是使用计划任务判断脚本调用ESXI关机脚本,关机就会变成重启,这里何解?是我的脚本错误 还是其他原因?】
附:ESXI关机脚本
@echo off
D:\auto_shutdown_wol\plink.exe -l root -pw admin 192.168.0.16 "nohup /sbin/shutdown.sh ; /sbin/poweroff"
exit

网上搜到一段脚本用来关闭vm,再关机的
# get all the VMs identifiers
VMID=$(/usr/bin/vim-cmd vmsvc/getallvms | grep -v Vmid | awk 'print $1')
# loop through all the VMs
for i in $VMID
do
# get their state(turned on,off,whatever)
STATE=$(/usr/bin/vim-cmd vmsvc/power.getstate $i | tail -1 | awk 'print $2')
# if they are running,turn them off (only works correctly if
# vmware tools are installed on the VMs)
if [ $STATE == on ]
then
/usr/bin/vim-cmd vmsvc/power.shutdown $i
fi
done
#shutdown the host itself
sleep 30
/sbin/shutdown.sh
/sbin/poweroff

实际也可以通过运行命令
esxcli system maintenanceMode set -e y
进入维护模式maintenanceMode(Mode的M为大写)
esxcli system shutdown poweroff -d 60 -r test
关机
问题是虚拟机必须关闭了才能进入维护模式,又回到用脚本来自动关闭虚拟机的问题上来了。追问

我ESXI里设置了 VM 随ESXi主机启动和关闭。
所以使用SSH关闭ESXI时,ESXI会自动先关闭VM,再关闭自己。
我上面有写BAT关闭ESXI的脚本,我用这个脚本,手动执行,可以实现关闭VM后关闭ESXI。
我的问题是:
经常出现 断电后,判断BAT执行后发现断电,开始执行关闭ESXI的脚本
,脚本也确实执行的,VM也全部关闭了,但是,ESXI却从关机变成了重启何解?

追答

/sbin/shutdown.sh
/sbin/poweroff
刚刚测试了下,直接把脚本中最后这两句做了个guan.txt文件,上传到本机的存储中
ssh连接到控制台,cp guan.txt /sbin/guan.sh
chmod 700 /sbin/guan.sh
再用plink.exe 192.168.0.16 -l root -pw admin /sbin/guan.sh执行中会报错,但是确实能正常关机。

要是还关闭不了的话,还是检查下你esxi下的设置,或者主板bios中关于掉电自动开机或唤醒之类的设置项目。
我这边用DELL PowerEdge R710测试脚本和命令行都可以正常关闭电源的。

追问

我这里是3台机子+交换机接了UPS上,1台ESXI 1台FREENAS,1台WIN2008R2,我的判断脚本就是WIN2008每10分钟运行一个判断BAT,如果判断断电,就执行 ESXI-OFF.BAT,手动执行,没任何提示错误,都是自动关闭VM后 关闭ESXI

追答

只要你的脚本逻辑没问题,就不是脚本的问题。还是看看硬件BIOS设置方面和esxi设置上的问题吧。

追问

我在ESXI设置里 没看到有这些的。一般的公司都不用LINUX,所以接触的不多。
关键是这个脚本,我手动执行,就可以关闭EXSI,但是通过计划任务调用执行,就变成重启,完全不理解啊

追答

能不能把你的计划任务具体设置截一下图呢。
尝试勾选计划任务使用最高权限看下。
另外建议关闭esxi主机主板bios中的wol唤醒,同时校队主板时钟是否正确。

追问

下周上班的截图
计划任务使用的是以最高权限运行,且不登录也执行,但是为了CMD能开启,特意让2008R2自动登录的,所以计划任务那里 执行结果都是显示的正常。
ESXI的时间是UTC 不可更改,所以主板是0时区时间,这个没什么好在意的,在系统里的时间可以设置成+8时区。

追答

好的

追问

我觉得计划任务没问题,选的不管是是否登录都运行,为了保证CMD框能打开,我已设置成了自动登录的。

应该是关机后有什么东西唤醒了 ESXI????

追答

那只能建议你升级下主板bios,同时能关闭wol启动类的项目的话最好了,临时测试下,以便确定是否是唤醒类设置导致的问题。

参考技术A 1.ssh是c/s结构,windows连接liunx,liunx必须安装ssh服务端,下载个windows的ssh客户端就可以连接了
2。ifconfig eth0 IP netmask 掩码。
route add default gw
3.windows下的ssh软件有很多,putty,SecureCRT等。操作很简单添上ip,用户名,密码,端口。就可以连上啦。连不上就看看,服务启动没有,还有防火墙哦。追问

不要答非所问,谢谢~

参考技术B 服务器电源管理方面,ipmi是最好的管理方式了。追问

不要答非所问,谢谢~

追答

~任务管理模式你知道是由哪个部分决定的吗?系统下的定时任务你知道是由哪部分硬件去执行的吗?如果系统无法执行定时任务。还有什么办法远程关机重启或者直接断电或者warm/cold 重启吗?你右键搜索ipmi~服务器之所以稳定,之所以贵,很大一部分原因就是要满足ipmi的设计~~用脚本,呵呵,系统挂了就等bios去唤醒?还指望wol?现在10g以上的网卡基本取消了这个功能~机器有点问题连不上,就半夜跑机房?~还有,你这个脚本无非就是一个调用软件发参数,你这么贴出来问别人,别人知道个蛋啊...

追问

不要答非所问 谢谢,问问题就是要解决问题。
不是所有的企业都有能力买几十上百万的集群的,也不是所有的企业都能提供2 3天的UPS供电的,懂?
我要求就是在我这里的硬件基础上解决断电后ESXI关机,而不是变成重启了,OK?

追答

只能说拒绝新知识,自以为懂很多....国内这种low逼技术员难怪拉低薪水

追问

这里问是要求解决问题,不是让你来提意见的,新知识是有空闲 有条件时去学习的,TMD 人家在这急的要在现有设备上解决问题, 你来个学习IPMI去,你脑残不?

追答

你他么才脑残,所有东西都现有的,网上有现成的。自己一心想求成,麻痹要不是心情好,服务器端技术类问题,国内很大一部分你们这种吊问题最后都转到我 一个圈子里面,还要收费的。没有现成还不乐意了,果然low逼都一个德行。技术差不肯学没耐心素质也差还以为别人也跟你一个档次

追问

我说了,要在现有设备上找出问题,别说别的,你给出可能的问题所在了吗?可笑

ESXI低版本升级到ESXI6.7

一、注意事项

系统升级存在一定的风险,升级前建议将ESXI上面的虚拟机迁移到其他ESXI服务器上,避免升级过程出现问题影响到虚拟机无法启动。这里也需要注意不是所有的ESXI版本都可以升级到ESXI6.7的,本文介绍一个版本升级过程,其他版本可以参考此文。

原版本

升级到版本

升级支持

ESXI 5.5

ESXI 6.7

不支持

ESXI 5.5

ESXI 6.5

支持

ESXI 6.0

ESXI 6.7

支持

ESXI 6.5

ESXI 6.7

支持

ESXI 6.5 U2

ESXI 6.7

不支持

ESXI 6.5 U2

ESXI 6.7 U1

支持

二、升级ESXI 6.0 至 ESXI 6.7

2.1 介绍,登陆控制台,查看版本

本文使用的是ESXI 6.0 版本号为:3620759

2.2 放入ESXI 6.7光盘,重新引导,等待系统开始加载

2.3 进入到VMware ESXI 6.7加载界面

2.4 进入VMware ESXI 6.7安装向导界面

2.5 选择安装VMware ESXI 6.7存储设备

2.6 等待系统进行自检,完成后系统会检测出是否安装过VMware ESXI其他版本,这里会提示是升级还是全新安装,这里选择升级ESXI

2.7 开始安装ESXI 6.7版本,点击回车进行重启

2.8 到此VMware ESXI 6.0-6.7升级完成,配置信息都已经保留

升级过程比较简单,生产环境在升级操作之前需要先查看是否支持该版本升级,升级之前一定记得做好虚拟机迁移和备份工作。

以上是关于ESXI 5.5在windows下使用BAT脚本通过SSH进行远程关机?的主要内容,如果未能解决你的问题,请参考以下文章

如何让Python脚本在cmd下执行

vmware ESXi-5.5u1-1746018-IBM 部署配置

vmware esxi 5.5怎样配置客户机

ESXi 5.5view 6.2环境下配置K1桌面虚拟化

在主机上安装vm的esxi 5.0后,过一段时间无法ping通esxi主机的IP地址,无法通过控制台访问esxi主机。

esxi 75% write error code 5