構成
- UPS: APC Smart-UPS 750 LCD
- Ubuntu 20.04
BOXNUC7CJYH
- TrueNAS
-
Intel Pentium Gold G6400
/DDR4 16GiB
/ HDD x8 (4Tx2, 8Tx2) / SSD x4 (ADATA ASU650SS-120GT-R x2
,Crucial CT480BX500SSD1JP x2 (USB)
) - https://qiita.com/uyiromo/items/3e634e2eeae1be27ef01#hw-%E6%A7%8B%E6%88%90
-
- ESXi
-
Intel Core i5 10400
/DDR4 SODIMM 32 GiB
- https://qiita.com/uyiromo/items/b1c13e571cbc8a87b250#%E6%A7%8B%E6%88%90
-
- Windows 11
-
Intel Core i5 12600K
/DDR4 64 GiB
/GeForce RTX 3060 Ti
/HDD 2Tx2
/NVMe SSD 500Gx2
-
UPS 構成
- Master
- Ubuntu 20.04
- Slave
- TrueNAS
- ESXi
- Windows 11
- Misc
- 28 inch 4K モニタ x4
- スイッチングハブ LS108G
- 通常使用時
- UPS 出力:250W
- バッテリ持続時間:19m
- FF XV Bench 実行時
- 高品質 / 4K / フルスクリーン
- UPS 出力:480W
- バッテリ持続時間:4m
UPS Master 設定
-
NUT (Network UPS Tools)
で管理する
UPS - Ubuntu 接続
- USB ケーブル(A to B)で接続
NUT 設定
Install
% sudo apt install nut
UPS との通信設定:/etc/nut/ups.conf
/etc/nut/ups.conf
1 diff --git a/etc/nut/ups.conf.bak b/etc/nut/ups.conf
2 index 3ea1354..195d95b 100644
3 --- a/etc/nut/ups.conf.bak
4 +++ b/etc/nut/ups.conf
5 @@ -136,5 +136,11 @@
6_ # To find out if your driver supports any extra settings, start it with
7 # the -h option and/or read the driver's documentation.
8
9 +[smartups]
10 + driver = usbhid-ups
11 + port = auto
12 + desc = "APC SmartUPS"
13 +
14 +
15 # Set maxretry to 3 by default, this should mitigate race with slow devices:
16 -maxretry = 3
17 +#maxretry = 1
- 起動確認
% sudo upsdrvctl start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
interrupt pipe disabled (add 'pollonly' flag to 'ups.conf' to get rid of this message)
Using subdriver: APC HID 0.96
upsd のモード設定:/etc/nut/nut.conf
-
standalone
- UPS に直接繋がっている自身のみを保護
-
netserver
- NUT Master として動作
/etc/nut/nut.conf
1 diff --git a/etc/nut/nut.conf.bak b/etc/nut/nut.conf
2 index 9309825..2ab586b 100644
3 --- a/etc/nut/nut.conf.bak
4 +++ b/etc/nut/nut.conf
5 @@ -29,4 +29,4 @@
6 # This file is intended to be sourced by shell scripts.
7 # You MUST NOT use spaces around the equal sign!
8
9 -MODE=none
10 +MODE=netserver
upsd master 設定:/etc/nut/upsd.conf
- 「どの slave から」「どのポートで」接続を受け入れるか
/etc/nut/upsd.conf
1 diff --git a/etc/nut/upsd.conf.bak b/etc/nut/upsd.conf
2 index 7292777..c49e99f 100644
3 --- a/etc/nut/upsd.conf.bak
4 +++ b/etc/nut/upsd.conf
5 @@ -43,6 +43,9 @@
6 #
7 # This will only be read at startup of upsd. If you make changes here,
8 # you'll need to restart upsd, reload will have no effect.
9 +LISTEN 0.0.0.0 3493
10
11 # =======================================================================
12 # MAXCONN <connections>
nut-server 設定
% sudo systemctl start nut-server
% sudo systemctl status nut-server
% sudo systemctl enable nut-server
upsd user account:/etc/nut/upsd.users
- upsd にアクセスするユーザアカウントの設定
- UserName:
upsmon
- Password:
*********
- upsmon:
master
- UserName:
/etc/nut/upsd.users
1 diff --git a/etc/nut/upsd.users.bak b/etc/nut/upsd.users
2 index ec78eb5..48415e4 100644
3 --- a/etc/nut/upsd.users.bak
4 +++ b/etc/nut/upsd.users
5 @@ -70,3 +70,6 @@
6 # The matching MONITOR line in your upsmon.conf would look like this:
7 #
8 # MONITOR myups@localhost 1 upsmon pass master (or slave)
9 +[upsmon]
10 + password = *******
11 + upsmon master
UPS モニタリング upsmon 設定:/etc/nut/upsmon.conf
-
MONITOR
ups-name@ups-host 1 <username> <password> master
- ups-name は
/etc/nut/ups.conf
の[ups-name]
- usename/password は
/etc/nut/upsd.users
に同じ -
1
: システムに繋がっている UPS の数 -
master
/slave
:master
は他のslave
の後に shutdown する
-
MINSUPPLIES
- これ以上の台数の UPS が反応するなら、正常状態と判断する
-
SHUTDOWNCMD
- シャットダウン用コマンド
-
NOTIFYCMD
- イベントが発生した時に呼ぶコマンド
-
POLLFREQ
- [seconds] の間隔で、UPSの状態確認を行う
-
POLLFREQALERT
- [seconds] の間隔で、バッテリ稼働中の UPS の状態確認を行う
-
HOSTSYNC
- Master として、Slave が FSD (Forced Shutdown) に応答して切断するのを [seconds] で待つ。応答+切断が無い場合、その slave を無視して進む。
-
DEADTIME
- [seconds]
- UPS が
POLLFREQ
/POLLFREQALERT
に対して応答しない時、DEADTIME
以上の時間応答しないなら、UPS は stale とみなす。 - On Battery Stale なら、UPS が low battery になったと見なして強制シャットダウンを行う
-
POWERDOWNFLAG
- FSD した場合、ここで指定されたファイルを作成する(FSD されたかのフラグ)
-
NOTIFYMSG
- upsmon のイベント検知時のメッセージ定義
-
NOTIFYFLAG
- upsmon のイベント検知時のデフォルト動作定義
-
SYSLOG
: syslog へ書き込む -
WALL
: ログイン中のユーザに警告する -
EXEC
:NOTIFYCMD
をメッセージ付きで実行する
-
RBWANTIME
- [seconds]
- replace が必要なバッテリの警告インターバル
-
NOCOMMWANTIME
- [seconds]
- 全ての UPS と通信できない場合の警告インターバル
-
FINALDELAY
- [seconds]
-
NOTIFY_SHUTDOWN
を受けてから、SHUTDOWNCMD
を実行するまでのインターバル
/etc/nut/upsmon.conf
1 diff --git a/etc/nut/upsmon.conf.bak b/etc/nut/upsmon.conf
2 index f3a0862..90a6cab 100644
3 --- a/etc/nut/upsmon.conf.bak
4 +++ b/etc/nut/upsmon.conf
5 @@ -82,6 +82,7 @@
6 # MONITOR myups@bigserver 1 monmaster blah master
7 # MONITOR su700@server.example.com 1 upsmon secretpass slave
8 # MONITOR myups@localhost 1 upsmon pass master (or slave)
9 +MONITOR upsmon@localhost 1 smArt%UPS master
10
11 # --------------------------------------------------------------------------
12 # MINSUPPLIES <num>
13 @@ -127,6 +128,7 @@ SHUTDOWNCMD "/sbin/shutdown -h +0"
14 #
15 # Example:
16 # NOTIFYCMD /bin/notifyme
17 +NOTIFYCMD /sbin/upssched
18
19 # --------------------------------------------------------------------------
20 # POLLFREQ <n>
21 @@ -261,6 +263,9 @@ POWERDOWNFLAG /etc/killpower
22 # IGNORE - Don't do anything
23 #
24 # If you use IGNORE, don't use any other flags on the same line.
25 +NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
26 +NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
27 +NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
28
29 # --------------------------------------------------------------------------
30 # RBWARNTIME - replace battery warning time in seconds
upssched 設定:/etc/nut/upssched.conf
-
CMDSCRIPT
- AT... で定義される timename を引数として実行されるスクリプト
-
PIPEFN
- start/stop timer の通信で使用されるファイルパス
-
LOCKFN
- lock で使用されるファイルパス
-
AT
-
AT ONBATT * START-TIMER upsgone 300
-
*
: 任意の UPS が -
ONBATT
: バッテリ動作に移行したら -
START-TIMER
: タイマーをスタートさせる -
upsgone
: タイマーの名前 -
300
:ONBATT
になって300
秒経過したら、upsgone
をCMDSCRIPT
に渡して起動させる
-
-
AT ONLINE * CANCEL-TIMER upsgone
- 任意の UPS が復帰したら、
upsgone
タイマーをキャンセルする
- 任意の UPS が復帰したら、
-
AT ONLINE * EXECUTE ups-back-on-line
- 任意の UPS が復帰したら、
ups-back-on-line
を即時にCMDSCRIPT
に渡す
- 任意の UPS が復帰したら、
-
/etc/nut/upssched.conf
1 diff --git a/etc/nut/upssched.conf.bak b/etc/nut/upssched.conf
2 index 6626942..f01f3ee 100644
3 --- a/etc/nut/upssched.conf.bak
4 +++ b/etc/nut/upssched.conf
5 @@ -42,6 +42,7 @@ CMDSCRIPT /bin/upssched-cmd
6 # about how your system works before potentially opening a hole.
7 #
8 # PIPEFN /run/nut/upssched/upssched.pipe
9 +PIPEFN /run/nut/upssched.pipe
10
11 # ============================================================================
12 #
13 @@ -57,6 +58,7 @@ CMDSCRIPT /bin/upssched-cmd
14 # You should put this in the same directory as PIPEFN.
15 #
16 # LOCKFN /run/nut/upssched/upssched.lock
17 +PIPEFN /run/nut/upssched.lock
18
19 # ============================================================================
20 #
21 @@ -111,3 +113,6 @@ CMDSCRIPT /bin/upssched-cmd
22 # 'ups-back-on-line' via CMDSCRIPT.
23 #
24 # AT ONLINE * EXECUTE ups-back-on-line
25 +AT ONBATT * START-TIMER upsgone 300
26 +AT ONLINE * CANCEL-TIMER upsgone
27 +AT LOWBATT * START-TIMER upsgone 5
28 \ No newline at end of file
動作確認
% upsc smartups
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.runtime: 1140 <---- [seconds]
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 27.3
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion
device.model: Smart-UPS 750
device.serial: *********************
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: APC HID 0.96
driver.version.internal: 0.41
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: UPS 09.3 / ID=18
ups.mfr: American Power Conversion
ups.mfr.date: 2016/06/15
ups.model: Smart-UPS 750
ups.productid: 0003
ups.serial: *****************
ups.status: OL
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d
UPS Slave 設定
TrueNAS
TrueNAS-12.0-U8
-
UPS Service
を使う
UPS Service 有効化
-
Services
>UPS
-
Running
&Start Automatically
-
UPS 設定
General Options
-
Identifier
-
/etc/nut/ups.conf
の[*****]
-
-
UPS Mode
- Slave
Remote Host
-
Remote Port
-
/etc/nut/upsd.conf
で設定したポート番号
-
-
Port or HostName
- auto
Monitor
-
Monitor User
/Monitor Password
-
/etc/nut/upsd.users
で設定したアカウント情報
-
Shutdown
-
Shutdown Mode
- UPS goes on battery
-
Shutdown Timer
-
UPS goes on battery
の場合、[seconds] の間反応しなかったらシャットダウンを開始する(その間に復帰したらキャンセル)
-
Shutdown Command
-
Send Email Status Updates
Email
Email Subject
確認
-
Reporting
>UPS
で統計が見えたら OK
ESXi
ESXi 7.0 Update3c
- 方針:SSH でログインして shutdown する
Product: VMware ESXi
Version: 7.0.3
Build: Releasebuild-19193900
Update: 3
Patch: 20
ssh 有効化
ナビゲータ > ホスト > 管理 > サービス
-
TSM-SSH
起動
- ポリシーを
ホストと連動して起動および停止します
鍵ペア設定
- Master 側で
root
として鍵を生成ssh-keygen -t ed25519 -C $USER@`hostname`
- ESXi にログインして Master の /root/.ssh/id_ed25519.pub を ESXi の /etc/ssh/keys-root/authorized_keys に追記
- ed25519 は設定してあげないと鍵として機能しないらしい……
- https://sig9.org/archives/2975
ubuntu# ssh <ESXi> "echo `cat /root/.ssh/id_ed25519.pub` > /etc/ssh/keys-root/authorized_keys"
ubuntu# ssh <ESXi> "echo "PubkeyAcceptedKeyTypes=+ssh-ed25519" >> /etc/ssh/sshd_config"
ubuntu# ssh <ESXi> "/etc/init.d/SSH restart"
シャットダウンスクリプト
-
vim-cmd vmsvc/getallvms
で Vmid を得る
[root@localhost:~] vim-cmd vmsvc/getallvms
Vmid Name File Guest OS Version Annotation
5 win2 [TrueNAS SSD] win2/win2.vmx windows9_64Guest vmx-19
[root@localhost:~] Vmids=$( vim-cmd vmsvc/getallvms | awk 'NR>1 { print $1 }' )
[root@localhost:~] echo $Vmids
5
-
vim-cmd vmsvc/power.getstate
で電源状態を得る
[root@localhost:~] vim-cmd vmsvc/power.getstate 5
Retrieved runtime info
Powered on
[root@localhost:~] for vmid in $Vmids; do vim-cmd vmsvc/power.getstate $vmid; done
Retrieved runtime info
Powered on
-
Powered on
ならvim-cmd vmsvc/power.shutdown
でシャットダウン操作を行う -
完成形
#!/bin/sh
Vmids=$( vim-cmd vmsvc/getallvms | awk 'NR>1 { print $1 }' )
for vmid in $Vmids; do
vim-cmd vmsvc/power.getstate $vmid | tail -n 1 | grep "Powered on" &> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
vim-cmd vmsvc/power.shutdown $vmid
fi
done
poweroff -d 0
- 以下のエラーメッセージが出る場合は ESXi Console などから VMWare Tools をマウントしてインストールする
[root@localhost:~] vim-cmd vmsvc/power.shutdown 5
(vim.fault.ToolsUnavailable) {
faultCause = (vmodl.MethodFault) null,
faultMessage = <unset>
msg = "Received SOAP response fault from [<<io_obj p:0x000000d22d219f18, h:5, <TCP '127.0.0.1 : 58564'>, <TCP '127.0.0.1 : 8307'>>, /sdk>]: shutdownGuest
Cannot complete operation because VMware Tools is not running in this virtual machine."
}
スクリプトの自動生成
-
/sbin/shutdown-all.sh
を Boot 時に生成させる
/etc/rc.local.d/local.sh
#!/bin/sh ++group=host/vim/vmvisor/boot
# local configuration options
# Note: modify at your own risk! If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading. Changes are not supported unless under direction of
# VMware support.
# Note: This script will not be run when UEFI secure boot is enabled.
cat << EOF > /sbin/shutdown-all.sh
#!/bin/sh
Vmids=$( vim-cmd vmsvc/getallvms | awk 'NR>1 { print $1 }' )
for vmid in $Vmids; do
vim-cmd vmsvc/power.getstate $vmid | tail -n 1 | grep "Powered on" &> /dev/null
ret=$?
if [ $ret -eq 0 ]; then
vim-cmd vmsvc/power.shutdown $vmid
fi
done
poweroff -d 0
EOF
chmod +x /sbin/shutdown-all.sh
exit 0
Windows 11
Windows 11 Home (21H2) 10.0.22000 / Build 22000.556
- 方針:SSH でログインして shutdown する
OpenSSH サーバ機能の有効化
- 設定 > アプリ > オプション機能
-
OpenSSH サーバ
を有効化する
-
ユーザ設定
- ローカルアカウントを作成する
- パスワードを設定
- 管理者 / Administrators に設定しておく
鍵認証設定
- sshd の設定変更
-
C:\ProgramData\ssh\sshd_config
から、鍵認証の保存場所をユーザディレクトリに変更しておく -
Match Group ...
をコメントアウト - OpenSSH サービスを再起動
-
ProgramData\ssh\sshd_config
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
- 公開鍵の配置
%USERPROFILE%\.ssh\authorized_keys
- アクセス権限の編集
- Administrators と所有者にフルコントロール(今回は
UPS
)
- Administrators と所有者にフルコントロール(今回は
C:\Users\UPS\.ssh>icacls authorized_keys /grant BUILTIN\Administrators:f
処理ファイル: authorized_keys
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
C:\Users\UPS\.ssh>icacls authorized_keys /grant *******\UPS:f
処理ファイル: authorized_keys
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
C:\Users\UPS\.ssh>icacls authorized_keys
authorized_keys *******\UPS:(F)
BUILTIN\Administrators:(F)
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
SSH 動作確認
-
ssh ups@<win11-ip/host> "shutdown.exe -s -t 0"
- 鍵認証と管理者設定ができていれば、ssh から即時シャットダウンされる
最終構成
-
Master
- Ubuntu 20.04
-
Slave
- Windows 11
- TrueNAS
- ESXi
-
UPS Shutdown
- Master が upsmon で検知
- TrueNAS が NUT Client で
NOTIFY_SHUTDOWN
を受信- Windows 11 を SSH & Shutdown
- ESXi を SSH & Shutdown
- 自身を Shutdown
- Win/ESXi は TrueNAS をマウントしているので、順序を守らせる目的もある
-
TrueNAS SHUTDOWNCMD
/root/shutdown-all.sh
/root/shutdown-all.sh
#!/bin/sh
ssh ups@<win11> "shutdown.exe -s -t 0"
ssh <esxi> "/sbin/shutdown-all.sh"
/sbin/shutdown -p now
Try 記録
ESXi を PowerCLI でシャットダウンする
- [Master]
Ubuntu 20.04.4 LTS
Linux ubuntu 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
- [Slave]
ESXi 7.0 Update3c
Product: VMware ESXi
Version: 7.0.3
Build: Releasebuild-19193900
Update: 3
Patch: 20
-
PowerCLI
でやる
PowerShell のインストール (Ubuntu)
% curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add
% sudo curl -o /etc/apt/sources.list.d/microsoft.list https://packages.microsoft.com/config/ubuntu/20.04/prod.list
% sudo apt update
% sudo apt install powershell
PowerCLI のインストール (Ubuntu)
% sudo pwsh
PowerShell 7.2.2
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS /home/uyiromo> Install-Module -Name VMWare.PowerCLI
PowerCLI のテスト (Ubuntu)
# Disable "command confirmation" and "certification error"
PS /home/uyiromo> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false | Out-Null
# Create credential with both User and Password
PS /home/uyiromo> $User = "root"
PS /home/uyiromo> $Password = ConvertTo-SecureString -String "******" -AsPlainText -Force
PS /home/uyiromo> $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $Password
# Connect to the ESXi Host
PS /home/uyiromo> $VMHost = "192.168.*.*"
PS /home/uyiromo> Connect-VIServer -Server $VMHost -Credential $Credential | Out-Null
# Get ALL VMs and Shutdown them
PS /home/uyiromo> Get-VM | Stop-VM -Confirm:$false
Stop-VM: 3/26/2022 11:09:11 PM Stop-VM Current license or ESXi version prohibits execution of the requested operation.
- ESXi Free License だと API が Read-Only になるから使えないらしい……
Windows 11 で NUT Tools を使う
NUT Tools の Download & Install
-
https://networkupstools.org/download.html#_binary_packages
- Windows (complete port, Beta): Windows MSI installer 2.6.5-6
BugFix
- DLL が欠けているため、Download する
http://web.archive.org/web/20160826051001/http:/indy.fulgan.com/SSL/
-
openssl-1.0.2g-i386-win32.zip
-
openssl-1.0.2g-x64_86-win64.zip
では機能しない
-
- Download した zip から、
LIBEAY32.dll
/SSLEAY32.dll
を NUT に Copy-
C:\Program Files (x86)\NUT\bin\
-
upsc
とかのため
-
-
C:\Program Files (x86)\NUT\sbin\
- こちらにもコピーしないと
upsmon
が起動しない
- こちらにもコピーしないと
-
-
libgcc_s_dw2-1.dll
のコピー-
C:\Program Files (x86)\NUT\bin\
からC:\Program Files (x86)\NUT\sbin\
へ -
upsmon
の動作のため
-
upsc 動作確認
C:\Users\User> "C:\Program Files (x86)\NUT\bin\upsc.exe" <ups-name>@<ups-ip/host>:<ups-port>
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.runtime: 960
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 27.0
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion
device.model: Smart-UPS 750
device.serial: **************
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: APC HID 0.96
driver.version.internal: 0.41
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: UPS 09.3 / ID=18
ups.mfr: American Power Conversion
ups.mfr.date: 2016/06/15
ups.model: Smart-UPS 750
ups.productid: 0003
ups.serial: ****************
ups.status: OL
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d
NUT Client 設定
-
etc/nut.conf
- NUT Client として起動する
-
MODE=netclient
を追記
-
etc/upsmon.conf
- NUT 監視設定
MONITOR <ups-name>@<ups-ip/host> 1 <ups-Username> <ups-Password> slave
SHUTDOWNCMD "C:\\WINDOWS\\system32\\shutdown.exe -s -t 0"
NUT サービス起動
-サービスの管理から、
- ログオンアカウントを管理者アカウントに変えて
- サービスを開始する
UPS 連動テスト
- Master に繋いであるのは確認できたが、
NOTIFY_SHUTDOWN
に反応してないように見える……-
SHUTDOWNCMD
をメモ帳あたりに設定しても反応しないし……
-
- 何か間違えてる可能性はあるが、それはそれとして別の回避法があるなら面倒なので諦める
ref
- UbuntuServerの停電対策を行う
- Debian-GNU-Linux-Profiles/docs/ha/using-ups-with-nut.md
- upsc 出力のドキュメント
- vSphere 6.7 Update1 で ESXi への SSH アクセス時に ED25519 が使えるようにする