LoginSignup
5
4

More than 3 years have passed since last update.

WindowsマシンをNetwork USP Toolsサーバにする

Last updated at Posted at 2019-10-09

何をやるか

UPS1台に複数のクライアントPCが接続されている状態で、停電時にすべてシャットダウンしたい
純正ソフトは高いのでフリーソフトで何とかしたい
WindowsマシンをUPSサーバーにしたい

追記:無償版ESXiでは自動シャットダウンできません。記事を書いた当時はこれを知りませんでした…

LinuxやRasPiでやっている方はおられるのですが、Windowsでやっている方が少ないのでメモとして残しておくことにしました。

[環境]
- サーバ:Windows10
- UPS:APC SmartUPS 750 (USB接続)

手順

Windows版NUTをインストールする

公式サイトにWindows用MSIが公開されているのでダウンロードする
https://networkupstools.org/download.html#_binary_packages

現時点で最新版はNUT-Installer-2.6.5-6.msi
MSIを実行するだけなので割愛

libusbの手動インストール

NUTのインストール中に以下のようにlibusbのインストールに失敗した場合は、libusbを手動インストールする
image.png

ここからダウンロードする
http://sourceforge.net/projects/libusb-win32/

UPSを接続した状態でinf-wizard.exeを管理者権限で実行する
image.png

途中、デバイスの選択画面が出るのでUPSを選択してNextを押す
image.png

作成したドライバをどこに保存するか聞かれるので、適当なフォルダに保存する
image.png

「Install Now」をクリックしてインストオールする
※管理者権限でないと失敗する
image.png

一応デバイスマネージャを確認する
image.png

NUTにUPSを認識させる

libusbのドライバを作成したときにできたファイルのうち、以下の2点をNUT\binにコピーしてリネームする

  • x86\libusb0.sys → NUT\bin\libusb.sys
  • x86\libusb0_x86.dll → NUT\bin\libusb.dll

image.png
image.png

ここまで来たら、UPSの認識を確認する
(意外と知られていないのですが、Shift+右クリックで「PowerShellウィンドウをここで開く」のメニューが出ます)
image.png

nut-scanner.exeを実行して、USB接続しているUPSが認識されていることを確認する
ここで、「driver="usbhid-ups"」のところを確認しておく
※このウィンドウは後で使うので開いたままにしておいた方がいい
image.png

NUTの設定ファイルを作成

NUT\etcに設定ファイルのサンプルがあるので、それをコピーして作成する
※サンプルファイル中にあるコメントは省略しています

nut.conf
MODE=netserver

ups.confの[SU750]の部分は好きな名前、driver=のあとは先ほどnut-scanner.exeで確認したものを入れます

ups.conf
[SU750]
driver=usbhid-ups
port=auto

ユーザーを作成

upsd.users
[admin]
password = testpassword
actions = SET
instcmds = ALL

待ち受けIPアドレスとポートの設定
今回はアクセス制限無しにした

upsd.conf
LISTEN 0.0.0.0 3493

自機のシャットダウン設定
※-t で遅延時間設定したほうがいいかも?

upsmon.conf
MONITOR SU750@localhost 1 admin testpassword master
SHUTDOWNCMD "C:\\WINDOWS\\system32\\shutdown.exe -s -t 0"

NUTの起動確認

サービスマネージャから「Network UPS Tools」を見つけて起動します
image.png

ログはイベントビューアーに出ています
起動エラーとか出ていなければ大丈夫だと思います
image.png

upsc.exe [先ほど付けたUPS名] を実行して、バッテリーの状態とかがズラズラと表示されればOK
image.png

ほかのクライアントの設定

ReadyNAS

サーバーIP、ユーザー名、パスワードを入れるだけで認識した
image.png

ESXi 無償版

※これは本来、有償版でないとUPSによるシャットダウンができないのですが、まだ検証できていません。

NUTの公式サイトに、VMWare用のVIBパッケージが公開されているのでインストール
詳細は割愛しますが、Web管理画面からやるにはVIBをデータストアにアップロードし、ホストの「管理画面→パッケージ」からそのフルパスを入れます。
image.png

インストールできたら、詳細設定からサーバ設定を行う
※「Nut」と検索すると該当項目が見つかる
※今回はやむを得ない理由により仮想ゲスト上のWindowsにNUTサーバーを立てたため、「UserVars.NutFinalDelay」の値を長めに設定した
image.png

サービスを起動し、ホストと連動して起動するようにしておく
image.png

念のためESXi Shell上からもNUTサーバーへアクセスできるか確認しておく

# /opt/nut/bin/upsc upsname@hostname

image.png

シャットダウン動作確認

VPN上のリモートから設定してる都合上、停電テストとチューニングはまた今度 :frowning2:

2020.9.27追記:
 記事を書いた同時知らなかったのですが、無償版ESXiではホストの自動シャットダウンができません。
 SSHログインしてシャットダウンコマンドをたたくようにしなければなりませんが、結局やらずじまいでダラダラとそのままにしてしまってます。。
 
 

5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4