QNAP UPS + VMware ESXi

先の記事でQNAPにUPSを接続し、QNAPのNUTでクライアントに商用電源の状態を送り、クライアントマシンをshutdownするまでの設定を行ったが、あと1台VMWare ESXiが稼働している。
このマシンにもshutdownの信号を受信できるよう少し調べてみたが、ssh経由でshutdownを行う感じで出来そうだ。

具体的には、QNAPのNUT SERVERからVMwareESXi上に展開したWindowsマシンでNUT CLIENTを建てて、商用電源の喪失信号を受けると、ShutdownScriptを走らせる。

upsmon.conf内のSHUTDOWNCMDを変更
OSのシャットダウンを行わず、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行すると良いそうだ。

#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff’”

下記参考ページの構成と私の構成が異なっており、そのまま対応できない。
しかし、非常に参考になる。
参考ページのGuestOSはUbuntuを利用されているが、私の環境ではWindowsなので、WinNUTを使いGuestWindowsホストのupsmon.confにシャッドダウンコマンドにsshを足して設定すれば良さそうだ。
sshの設定は、参考ページと同じで良さそうだ。

upsmon.conf内のSHUTDOWNCMDを変更することでゲストOSのシャットダウンを行うのではなく、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行する。
#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff'”

なお、これを動作させるためにはESXi上で以下の設定をしておく必要がある。
+ESXiへのSSHログインができるように設定しておく。~
→vSphere Clientからホストの[構成]-[セキュリティプロファイル]で[サービス]のプロパティを開きSSHを選んでオプションボタンを押す。「ホストに連携して開始および停止」を選んで開始ボタンを押した後、OKボタンを押す。
+nutを入れたサーバからのパスワードなしでコマンドを実行するために、SSHキーを登録する。~
→ESXiサーバの/etc/ssh/keys-root/authorized_keys にパブリックキーを登録する。
+ESXi 上でゲストOSの自動起動・停止を設定しておく。~
→vSphere Clientからホストの[構成]-ソフトウェア項目の[仮想マシン起動/シャットダウン]から自動起動設定を選ぶ。

VMwareESXiがGuestOSが何台か稼働中なので、間をみて設定しておくことにする。
参考)

VMware ESXiのUPS連携

QNAP UPS + Windows WinNUT

QNAPにはUPSのために、NUT(Network UPS Tools)がインストールされているようだ。
WEB GUIから設定できるので楽に稼働状態まで持って行ける。
Network UPS Toolsというくらいなので、クライアントへ渡す事も可能だ。

QNAP同士なら、全くCUIに頼らなくても設定できる。

QNAP同士の設定後、Client側で、きちんとUPSを認識してくれた。

QNAPをNUT SERVER、WindowをNUT CLIENTにしてWindowsマシンもShutdownさせる。

WinNUTをインストール
EDITを押し、下記設定を入力

# MONITOR myups@bigserver 1 monmaster blah master
# MONITOR su700@server.example.com 1 upsmon secretpass slave

MONITOR qnapups@192.168.xxx.xxx 1 admin 123456 slave

Install As Service Windowsのサービスとして起動
Use Timed Shutdown バッテリーに切り替わった時にWindowsをshutdown
Shutdown Method バッテリーに切り替わってから何秒後にシャットダウンするかの秒数
Normal(通常),Forced(強制),Force If Hung(止まった場合強制),Hibernate(休止)から選択

WinNUT Ups MonitorがServiceに追加されており、状態が開始、スタートアップが自動に設定されていればOK

WinNUT起動ログ

Level     INFO	09/19/2018 11:40:09	Detected OS as Windows 7
Level   NOTICE	09/19/2018 11:40:09	Network UPS Tools upsmon 2.0.0.4
Level     INFO	09/19/2018 11:40:09	UPS: qnapups@192.168.xxx.xxx (slave) (power value 1)
Level     INFO	09/19/2018 11:40:09	Config Load: MINSUPPLIES set to 1
Level     INFO	09/19/2018 11:40:09	Config Load: NOTIFYCMD set to c:\Program Files\WinNUT\alertPopup.exe
Level     INFO	09/19/2018 11:40:09	Config Load: POLLFREQ set to 5
Level     INFO	09/19/2018 11:40:09	Config Load: POLLFREQALERT set to 5
Level     INFO	09/19/2018 11:40:09	Config Load: HOSTSYNC set to 15
Level     INFO	09/19/2018 11:40:09	Config Load: DEADTIME set to 15
Level     INFO	09/19/2018 11:40:09	Config Load: RBWARNTIME set to 43200
Level     INFO	09/19/2018 11:40:09	Config Load: NOCOMMWARNTIME set to 300
Level     INFO	09/19/2018 11:40:09	Config Load: FINALDELAY set to 5
Level    ALERT	09/19/2018 11:40:09	WinNUTUpsMon Service is starting to monitor UPS

テレビサーバのT3500、T3500TV、T3600にインストール設定完了

QNAPのNUTと通信出来るかを確認するため、QNAP CLIENTから情報を取得してみる。

upsc qnapups@192.168.xxx.xxx
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.runtime: 1680
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 26.8
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion 
device.model: Smart-UPS 750
device.serial: AS1317214978  
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 1
driver.parameter.port: /dev/ttyS1
driver.version: 2.6.5
driver.version.data: APC HID 0.95
driver.version.internal: 0.37
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: UPS 08.3 / ID=18
ups.mfr: American Power Conversion 
ups.mfr.date: 2013/04/27
ups.model: Smart-UPS 750
ups.productid: 0003
ups.serial: AS1317214978  
ups.status: OL
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d

このように情報が取得出来る。
ところで、Windows版のupscは何処にあるんだ?

動作確認のため、ACケーブルを抜いてみる。きちんと仕事をしてくれているようだ。

Level   NOTICE	09/19/2018 12:32:58	UPS qnapups@192.168.xxx.xxx on battery
Level   NOTICE	09/19/2018 12:33:09	UPS qnapups@192.168.xxx.xxx on line power

なぜか、popupが立ち上がってこないなぁ・・・
しかたないので、line通知に変更

windows版curl.exeを配置してから、sndline.batを作成

:line settings
	set url="https://notify-api.line.me/api/notify"
	set curl="E:\bin\curl.exe"
	set token="Line Token ID"
	set lineMSG="message=[ %COMPUTERNAME% ] UPS IS ON BATTERY!!!"
echo %lineMSG%
:Line送信処理
	%curl% %url% -H "Authorization: Bearer %token%" -d %lineMSG%

batを書いても通知が来ないなぁ・・・
Install先が悪いのかもしれないなぁ・・・
installディレクトリを変更してみるか。

参考)

PT2 と PX-Q3PE ChSet書換

2018/8/31 チューナーサーバーで部分的に視聴できない部分があったので、見直してみた。

現在は、チューナーサーバ2台と録画サーバー1台で構成しています。

DELL Precision T3500
PT2 × 2
PX-Q3PE × 1
DELL Precision T7600
PT2 x 1

全てSpinel経由で接続し、EpgTimerとEDCBに渡している。
Spinel3の設定を下記の通り変更し、局Scanを再度行えばOK

Spinel3


Spinel3/BonDriver/BonDriver_PT-S.ChSet.txt

;BS/CS用
;チューナー空間(タブ区切り:$名称、BonDriverとしてのチューナ空間)
$BS	0
$CS110	1
;チャンネル(タブ区切り:名称、BonDriverとしてのチューナ空間、BonDriverとしてのチャンネル、PTxとしてのチャンネル、TSID(10進数で衛星波以外は0))
BS1/TS0 BS朝日	0	0	0	16400
BS1/TS1 BS-TBS	0	1	0	16401
BS1/TS2 BSジャパン	0	2	0	16402 
BS3/TS0 WOWOW	0	3	1	16432
BS3/TS1 NHKBSプレミアム	0	4	1	16433
BS3/TS2 ディズニー・チャンネル	0	5	1	17970
BS5/TS0 WOWOW LIVE	0	6	2	17488
BS5/TS1 WOWOW CINEMA	0	7	2	17489
BS7/TS2 Disney Channel	0	8	3	18034
BS9/TS0 BS11	0	9	4	16528
BS9/TS1 Star Channel HV	0	10	4	16529
BS9/TS2 TwellV	0	11	4	16530
BS11/TS0 FOX bs238	0	12	5	18096
BS11/TS1 BSスカパー!	0	13	5	18097
BS11/TS2 放送大学	0	14	5	18098
BS13/TS0 BS日テレ	0	15	6	16592
BS13/TS1 BSフジ	0	16	6	16593
BS13/TS2 BSアニマックス	0	17	6	18130
BS15/TS1 NHK BS1/2	0	18	7	16625
BS15/TS2 Star Channel 2/3	0	19	7	16626
BS19/TS0 グリーンチャンネル	0	20	9	18224
BS19/TS1 J SPORT 1	0	21	9	18225
BS19/TS2 J SPORT 2	0	22	9	18226
BS21/TS0 IMAGICA BS	0	23	10	18256
BS21/TS1 J SPORT 3	0	24	10	18257
BS21/TS2 J SPORT 4	0	25	10	18258
BS23/TS0 BS釣りビジョン	0	26	11	18288
BS23/TS1 日本映画専門チャンネル	0	27	11	18289
BS23/TS2 D-Life	0	28	11	18290
ND2	1	0	12	24608
ND4	1	1	13	28736
ND6	1	2	14	28768
ND8	1	3	15	24704
ND10	1	4	16	24736
ND12	1	5	17	28864
ND14	1	6	18	28896
ND16	1	7	19	28928
ND18	1	8	20	28960
ND20	1	9	21	28992
ND22	1	10	22	29024
ND24	1	11	23	29056
;BS17/TS1 難視聴対策	0	11	8	17168
;BS17/TS2 難視聴対策	0	12	8	17169

Spinel3/BonDriver/BonDriver_Q3PE_S0.ini

[BS]
CHANNEL_NUM = 30
CH001	= BS1/TS0,0,11727480,0x4010
CH002	= BS1/TS1,0,11727480,0x4011
CH003	= BS1/TS2,0,11727480,0x4012 
CH004	= BS3/TS0,0,11765840,0x4030
CH005	= BS3/TS1,0,11765840,0x4031
CH006	= BS5/TS0,0,11804200,0x4450
CH007	= BS5/TS1,0,11804200,0x4451
CH008	= BS5/TS0,0,11804200,0x4450 
CH009	= BS5/TS1,0,11804200,0x4451
CH010	= BS7/TS0,0,11842560,0x4470
CH011	= BS9/TS0,0,11880920,0x4090
CH012	= BS9/TS1,0,11880920,0x4091
CH013	= BS9/TS2,0,11880920,0x4092
CH014	= BS11/TS0,0,11919280,0x46b0 
CH015	= BS11/TS1,0,11919280,0x46b1 
CH016	= BS11/TS2,0,11919280,0x46b2 
CH017	= BS13/TS0,0,11957640,0x40d0
CH018	= BS13/TS1,0,11957640,0x40d1
CH019	= BS15/TS1,0,11996000,0x40f1
CH020	= BS13/TS2,0,11957640,0x46d2
CH021	= BS19/TS0,0,12072720,0x4730 
CH022	= BS19/TS1,0,12072720,0x4731 
CH023	= BS19/TS2,0,12072720,0x4732 
CH024	= BS3/TS2,0,11765840,0x4632
CH025	= BS21/TS0,0,12111080,0x4750
CH026	= BS21/TS1,0,12111080,0x4751
CH027	= BS21/TS2,0,12111080,0x4752
CH028	= BS23/TS0,0,12149440,0x4770
CH029	= BS23/TS1,0,12149440,0x4771
CH030	= BS23/TS2,0,12149440,0x4772
 
[CS110]
CHANNEL_NUM = 12
CH001	= ND2,237,12291000,0x0
CH002	= ND4,100,12331000,0x0
CH003	= ND6,221,12371000,0x0
CH004	= ND8,055,12411000,0x0
CH005	= ND10,228,12451000,0x0
CH006	= ND12,260,12491000,0x0
CH007	= ND14,251,12531000,0x0
CH008	= ND16,290,12571000,0x0
CH009	= ND18,240,12611000,0x0
CH010	= ND20,307,12651000,0x0
CH011	= ND22,160,12691000,0x0
CH012	= ND24,257,12731000,0x0

ffmpeg x264 x265

コーデックの指定

:CPU H264 : -vcodec libx264
:CPU H265 : -vcodec libx265
:Nvidia H264 : -vcodec h264_nvenc
:Nvidia H265 : -vcodec hevc_nvenc

downloadしながら再生に対応

-movflags +faststart

参考
http://tech.ckme.co.jp/ffmpeg_h264.shtml

ソフトウェアエンコードとGPUを利用したハードウェアエンコードの差が激しい
速度的には、圧倒的にハードウェアエンコードだが、ファイルサイズ的には、圧倒的にソフトウェアエンコードが有利という結果に。
どちらをメインで使うか悩んでしまう結果となった。
要約すると下記表の通り

h264 h265
速度 ファイルサイズ 速度 ファイルサイズ
cpu 8.6x 81.9MB 2.5x 46.1MB
gpu 11.5x 380.7MB 11.5 381MB

Machine
CPU Xeon E5-2687W SMP PowerLimit 80%
MEM 64GB
GPU GTX-1080
OS Windows 10.0.17134.228
FFMPEG 4.0.2

source file

Stream #0:0[0x1003]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 720x480 [SAR 32:27 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1043]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 256 kb/s

h264 cpu encoding 8.6x(9.3x) 81.9MB

ffmpeg -deinterlace -dual_mono_mode main -i test.ts -vcodec libx264 -movflags +faststart test.cpu264.mp4

h264 gpu encoding 11.5x 380.7MB

ffmpeg -deinterlace -dual_mono_mode main -i test.ts -vcodec libx265 -movflags +faststart test.cpu265.mp4

h265 cpu encoding 2.5x(3.2x) 46.1MB

ffmpeg -deinterlace -dual_mono_mode main -i test.ts -vcodec h264_nvenc -movflags +faststart test.gpu264.mp4

h265 gpu encoding 11.5x 381MB

ffmpeg -deinterlace -dual_mono_mode main -i test.ts -vcodec hevc_nvenc -movflags +faststart test.gpu265.mp4

DELL Precision T3500 に入替

会社のメインマシンで使っていたShuttle SH55J2を導入したのは2009年9月すでに5年以上経過してOSもWindows XPだったりする。

このマシンには、PT1を仕込み録画サーバーとしても稼働させていたので、なかなかUPGRADEする気持ちが起きなかった。

しかしすでに、WinXPの消費期限も切れてしまって、アプリケーションなどもWindows XPのサポートが打ち切られ出した。SSDもそろそろ寿命かもしれないし・・・

業務アプリケーション特にWeb APPなんかでIEのバージョン指定をしているものが多く、一時的にWin7を導入していたものを使っていたが、管理する台数が増えると煩雑さも比例していき、ついに重い腰を上げて新しい機械を導入することとした。

導入するといっても、昨今の経済情勢から考え新型を導入するのは気が引けるので、中古で探してきた。

中古でも、導入後最低5年は使いたいので、OSを8.1にするか7にするか悩んだが、やはり使いにくいWin8は却下となり、Windows7を導入した。

ただ、Windows7もメインストリームのサポートは終了しており、延長サポートもあと5年弱 T3500を5年運用するには丁度いい感じだ。

Shuttle SH55J2とDELL Precision T3500を比較してみる。

T3500 SH55J2
OS Windows 7 Windows XP SP3
Chipset X58 H55 Express
CPU Xeon W3680@3.33GHz(6core) Core i7 870@2.93GHz(4core)
Memory 24GB  3GB(4GB)
SSD SANDISK SDSSDHII480G  OCZ-VERTEX2 60G
HDD SAS6/ir SATA-RAID1  Hitachi HDS721010CLA332
VGA Quadro 2000  GeForce GT 240
NIC Broadcom NetXtreme 57xx GbE  Realtek PCIe GbE
RecSys PT2 x 2 PT1 x 1

こう見てみると、かなりグレードアップしたように思う。

あと1つ気に入らないのは、VGA位だろうか・・・そろそろ4Kディスプレイを買おうと思っているが、Quadro 2000では無理だなぁ。

2日がかりで、OSインストール、環境設定、業務アプリケーションのインストール等々ようやく日常業務をこなせる状態まで持ってくることが出来たが、まだ若干環境設定が必要になるだろうが、これは、都度 変更していこう。設定項目がたくさん有りすぎて・・・

ほんと Windowsって面倒くさい。