update
This commit is contained in:
@@ -4,6 +4,6 @@
|
||||
|
||||
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||
|
||||
Get-VM | Where {$_.Name -like '*iSCSI*'} | Shutdown-VMGuest -Confirm:$false
|
||||
Get-VM | Where {$_.Name -like '*iSCSI-Server*'} | Shutdown-VMGuest -Confirm:$false
|
||||
|
||||
exit 0
|
||||
|
||||
9
esxi-scripts/iscsi-sys-server-shutdown.ps1
Executable file
9
esxi-scripts/iscsi-sys-server-shutdown.ps1
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
. /opt/idssys/powerwall/settings.ps1
|
||||
|
||||
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||
|
||||
Get-VM | Where {$_.Name -like '*iSCSI-Systems*'} | Shutdown-VMGuest -Confirm:$false
|
||||
|
||||
exit 0
|
||||
96
powerwall.sh
96
powerwall.sh
@@ -593,7 +593,7 @@ CHECKPOWER(){
|
||||
fi
|
||||
|
||||
echo -e "${idsCL[LightCyan]}ServerRack Amps ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_AMP}'A${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}ServerRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_WATT_disp}'W${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}ServerRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_WATT_disp}'W ~ estimate${idsCL[Default]}"
|
||||
echo
|
||||
|
||||
if [ "${SVRRM_VOLT}" != "" ]; then
|
||||
@@ -605,8 +605,8 @@ CHECKPOWER(){
|
||||
VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLT}" | bc`
|
||||
fi
|
||||
|
||||
echo -e "${idsCL[LightCyan]}NetworkRack Amps ${idsCL[Default]}: ${idsCL[Green]}${NETRK_AMP}'A${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}NetworkRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${NETRK_WATT}'W${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}NetworkRack Amps ${idsCL[Default]}: ${idsCL[Green]}${NETRK_AMP}'A ~ estimate${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}NetworkRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${NETRK_WATT}'W ~ estimate${idsCL[Default]}"
|
||||
echo
|
||||
|
||||
echo -e "${idsCL[LightCyan]}Voltage ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLT}'V${idsCL[Default]}"
|
||||
@@ -734,7 +734,7 @@ BATT VOLTAGE: ${BATTVOLT}V" 1
|
||||
echo "($datetime) - ${BATTVOLT}V - Shutting down main servers..." >> ${PW_LOGPOWER}
|
||||
SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "($datetime) Battery Voltage LOW: ${BATTVOLT}V
|
||||
Shutting down main servers" 1
|
||||
SHUTDOWN_MAIN power &
|
||||
SHUTDOWN_MAIN POWER &
|
||||
battstatus=2
|
||||
fi
|
||||
|
||||
@@ -746,7 +746,7 @@ Shutting down main servers" 1
|
||||
echo "($datetime) - ${BATTVOLT}V - Shutting down all remaining servers..." >> ${PW_LOGPOWER}
|
||||
SENDNOTICE "BATT-VOLT REALLY LOW: SHUTDOWN SYS SERVERS" "($datetime) Battery Voltage REALLY LOW: ${BATTVOLT}V
|
||||
Shutting down all servers" 1
|
||||
SHUTDOWN_SYS power &
|
||||
SHUTDOWN_SYS POWER &
|
||||
|
||||
battstatus=3
|
||||
|
||||
@@ -921,12 +921,12 @@ CHECK_SERVICES(){
|
||||
}
|
||||
|
||||
SHUTDOWN_MAIN(){
|
||||
if [ "${1}" == "ServerRoomTH"]; then
|
||||
if [ "${1}" == "ServerRoomTH"] || [ "${1}" == "TEMP"]; then
|
||||
SHUTDOWN_SERVERS MAIN ${2}
|
||||
reason='Server Room Overheated!'
|
||||
sendnotice=true
|
||||
|
||||
elif [ "${1}" == "power"]; then
|
||||
elif [ "${1}" == "POWER"]; then
|
||||
SHUTDOWN_SERVERS MAIN ${2}
|
||||
reason='Low Power!'
|
||||
sendnotice=true
|
||||
@@ -945,12 +945,12 @@ SHUTDOWN_MAIN(){
|
||||
echo
|
||||
}
|
||||
SHUTDOWN_SYS(){
|
||||
if [ "${1}" == "ServerRoomTH"]; then
|
||||
if [ "${1}" == "ServerRoomTH"] || [ "${1}" == "TEMP"]; then
|
||||
SHUTDOWN_SERVERS SYS ${2}
|
||||
reason='Server Room Overheated!'
|
||||
sendnotice=true
|
||||
|
||||
elif [ "${1}" == "power"]; then
|
||||
elif [ "${1}" == "POWER"]; then
|
||||
SHUTDOWN_SERVERS SYS ${2}
|
||||
reason='Low Power!'
|
||||
sendnotice=true
|
||||
@@ -989,15 +989,7 @@ SHUTDOWN_CRIT(){
|
||||
}
|
||||
|
||||
SHUTDOWN_SERVERS(){
|
||||
|
||||
# HOSTS=${1}HOSTS[@]
|
||||
# for ESXIHOST in "${!HOSTS}"; do
|
||||
# echo "Shutting Down: ${ESXIHOST}"
|
||||
# /usr/bin/ssh root@${ESXIHOST} "cp /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async.sh /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${ESXIHOST}.sh"
|
||||
# /usr/bin/ssh root@${ESXIHOST} "cp /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/esxidown.sh /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/esxidown-${ESXIHOST}.sh"
|
||||
# /usr/bin/ssh root@${ESXIHOST} "sed -i 's/\$SCRIPTPATH\/esxidown.sh/\$SCRIPTPATH\/esxidown-${ESXIHOST}.sh/g' /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${ESXIHOST}.sh"
|
||||
# /usr/bin/ssh root@${ESXIHOST} "/vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${ESXIHOST}.sh"
|
||||
# done
|
||||
TEST=true
|
||||
|
||||
echo "($datetime) - Shutting down ${1} servers" >> ${PW_LOGFILE}
|
||||
[ "${TEST}" == "true" ] && echo "RUNNING IN TEST MODE">>${PW_LOGFILE}
|
||||
@@ -1005,56 +997,57 @@ SHUTDOWN_SERVERS(){
|
||||
if [ "${1^^}" == "MAIN" ] || [ "${1^^}" == "ALL" ]; then
|
||||
if [ ! -f $FOLDER/shutdown.main ]; then
|
||||
touch $FOLDER/shutdown.main
|
||||
|
||||
echo -en "Disabling CLS in vCenter ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
ssh root@${PW_VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1
|
||||
ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||
ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||
run=$(ssh root@${PW_VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1)
|
||||
run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
|
||||
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
|
||||
fi
|
||||
echo "Done"
|
||||
|
||||
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
|
||||
echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... "
|
||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||
echo "Done"
|
||||
done
|
||||
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
|
||||
echo -en "Enabling Maintenance Mode on: ${ESXIHOST} ... "
|
||||
[ "${TEST}" != "true" ] && ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' &
|
||||
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1)
|
||||
echo "Done"
|
||||
done
|
||||
sleep 1m
|
||||
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
|
||||
echo -en "Verifying iSCSI VM's stopped on: ${ESXIHOST} ... "
|
||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||
echo "Done"
|
||||
done
|
||||
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||
echo -en "Stopping Remaining VM's on: ${ESXIHOST} ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||
run=$(${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||
echo -en "Shutting down host & disabling Maintenance Mode: ${ESXIHOST} ..."
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"'
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||
run=$(ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"')
|
||||
run=$(ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0')
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
|
||||
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||
echo -en "Waiting for Host (${ESXIHOST}) to shutdown... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
# for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||
# echo -en "Waiting for Host (${ESXIHOST}) to shutdown... "
|
||||
# if [ "${TEST}" != "true" ]; then
|
||||
# while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
|
||||
# sleep 1
|
||||
# done
|
||||
# fi
|
||||
# echo "Done"
|
||||
# done
|
||||
fi
|
||||
fi
|
||||
if [ "${1^^}" == "SYS" ] || [ "${1^^}" == "ALL" ]; then
|
||||
@@ -1062,6 +1055,16 @@ SHUTDOWN_SERVERS(){
|
||||
if [ ! -f $FOLDER/shutdown.sys ]; then
|
||||
touch $FOLDER/shutdown.sys
|
||||
|
||||
if [ "${1^^}" == "SYS" ]; then
|
||||
echo -en "Disabling CLS in vCenter ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
run=$(ssh root@${PW_VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1)
|
||||
run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
|
||||
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
|
||||
fi
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||
echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... "
|
||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
@@ -1069,15 +1072,15 @@ SHUTDOWN_SERVERS(){
|
||||
done
|
||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||
echo -en "Enabling Maintenance Mode on: ${ESXIHOST} ... "
|
||||
[ "${TEST}" != "true" ] && ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' &
|
||||
echo "Done"
|
||||
done
|
||||
sleep 1m
|
||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||
echo -en "Suspending MySQL & LAN-DNS VM's on: ${ESXIHOST} ... "
|
||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1)
|
||||
echo "Done"
|
||||
done
|
||||
# sleep 1m
|
||||
# for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||
# echo -en "Suspending MySQL & LAN-DNS VM's on: ${ESXIHOST} ... "
|
||||
# [ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
# echo "Done"
|
||||
# done
|
||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||
echo -en "Shutting Down VM's on: ${ESXIHOST} ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
@@ -1149,10 +1152,7 @@ SHUTDOWN_SERVER(){
|
||||
# echo -e "${idsCL[Green]}Done\n"
|
||||
|
||||
echo -en "${idsCL[LightCyan]}Shutting down remaining VM's ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${hostip} >/dev/null 2>&1)
|
||||
# ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${hostip} >/dev/null 2>&1
|
||||
fi
|
||||
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${hostip} >/dev/null 2>&1)
|
||||
echo -e "${idsCL[Green]}Done\n"
|
||||
|
||||
echo -en "${idsCL[LightCyan]}Verifying no VMs remain on the host ... "
|
||||
|
||||
Reference in New Issue
Block a user