update
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
VERS='2.3.12-10232023'
|
VERS='2.3.15-10252023'
|
||||||
|
|
||||||
noheader=' update service dailytemp '
|
noheader=' update service dailytemp '
|
||||||
|
|
||||||
|
|||||||
19
esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1
Executable file
19
esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
|
||||||
|
. /opt/idssys/powerwall/settings.ps1
|
||||||
|
|
||||||
|
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||||
|
|
||||||
|
Get-Datastore | Where {$_.Name -like '*iSCSI-SYS*'} | Get-VM | if ($_.PowerState -eq "PoweredOn") {
|
||||||
|
Try{
|
||||||
|
$vm = Get-VM -Name $vmName -ErrorAction Stop
|
||||||
|
switch($vm.PowerState){
|
||||||
|
'poweredon' {
|
||||||
|
sleep 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Catch{
|
||||||
|
Write-Host "VM '$($vmName)' not found!"
|
||||||
|
}
|
||||||
|
}
|
||||||
7
esxi-scripts/iscsi-sys-vm-shutdown.ps1
Executable file
7
esxi-scripts/iscsi-sys-vm-shutdown.ps1
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
|
||||||
|
. /opt/idssys/powerwall/settings.ps1
|
||||||
|
|
||||||
|
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||||
|
|
||||||
|
Get-Datastore | Where {$_.Name -like '*iSCSI-SYS*'} | Get-VM | Where {$_.PowerState -like '*On*' -and $_.Name -notlike '*CLS*'} | Shutdown-VMGuest -Confirm:$false
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||||
|
|
||||||
Get-Datastore | Where {$_.Name -like '*iSCSI-PRI*' -or $_.Name -like '*iSCSI2*'} | Get-VM | if ($_.PowerState -eq "PoweredOn") {
|
Get-Datastore | Where {$_.Name -like '*iSCSI-PRI*'} | Get-VM | if ($_.PowerState -eq "PoweredOn") {
|
||||||
Try{
|
Try{
|
||||||
$vm = Get-VM -Name $vmName -ErrorAction Stop
|
$vm = Get-VM -Name $vmName -ErrorAction Stop
|
||||||
switch($vm.PowerState){
|
switch($vm.PowerState){
|
||||||
|
|||||||
@@ -4,4 +4,4 @@
|
|||||||
|
|
||||||
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||||
|
|
||||||
Get-VM | Where {$_.PowerState -like '*On*' -and ($_.Name -like '*MySQL*' -or $_.Name -like '*PiHole*' -or $_.Name -like '*vCenter*')} | Suspend-VM -Confirm:$false
|
Get-VM | Where {$_.PowerState -like '*On*' -and ($_.Name -like '*MySQL-Node*' -or $_.Name -like '*LAN-DNS*')} | Suspend-VM -Confirm:$false
|
||||||
|
|||||||
25
powerwall.sh
25
powerwall.sh
@@ -825,24 +825,27 @@ SHUTDOWN_SERVERS(){
|
|||||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||||
echo "Done"
|
echo "Done"
|
||||||
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' &
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
sleep 1m
|
||||||
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
|
||||||
echo -en "Verifying iSCSI VM's stopped on: ${ESXIHOST} ... "
|
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" ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||||
echo "Done"
|
echo "Done"
|
||||||
done
|
done
|
||||||
# sleep 1m
|
|
||||||
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||||
echo -en "Stopping Remaining VM's on: ${ESXIHOST} ... "
|
echo -en "Stopping Remaining VM's on: ${ESXIHOST} ... "
|
||||||
if [ "${TEST}" != "true" ]; then
|
if [ "${TEST}" != "true" ]; then
|
||||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' &
|
|
||||||
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
${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
|
${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
echo "Done"
|
echo "Done"
|
||||||
done
|
done
|
||||||
sleep 1m
|
|
||||||
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||||
echo -en "Shutting down host: ${ESXIHOST} ..."
|
echo -en "Shutting down host & disabling Maintenance Mode: ${ESXIHOST} ..."
|
||||||
if [ "${TEST}" != "true" ]; then
|
if [ "${TEST}" != "true" ]; then
|
||||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"'
|
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'
|
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||||
@@ -867,7 +870,18 @@ SHUTDOWN_SERVERS(){
|
|||||||
touch $FOLDER/shutdown.sys
|
touch $FOLDER/shutdown.sys
|
||||||
|
|
||||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||||
echo -en "Suspending DB, PiHole & vCenter VM's on: ${ESXIHOST} ... "
|
echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... "
|
||||||
|
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||||
|
echo "Done"
|
||||||
|
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" ] && ${PW_FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||||
echo "Done"
|
echo "Done"
|
||||||
done
|
done
|
||||||
@@ -882,7 +896,6 @@ SHUTDOWN_SERVERS(){
|
|||||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||||
echo -en "Shutting Down Host: ${ESXIHOST} ... "
|
echo -en "Shutting Down Host: ${ESXIHOST} ... "
|
||||||
if [ "${TEST}" != "true" ]; then
|
if [ "${TEST}" != "true" ]; then
|
||||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0'
|
|
||||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' &
|
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'
|
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user