久しぶりにAPC Smart-UPS に Network Management Cardを入れて設定することになった。
しかしAPCのサイトにある「Network Management Card | よくあるお問い合わせ」にある「Network Management Card 2のAPC Device IP Configration Wizard 5.0.2 を使用したIPアドレス設定方法」に記載されているリンク先は軒並み機能していなかった。
そんなわけでメモ書き
1) Network Management CardのIPアドレスを振るのはシリアル接続かDevice IPソフトウェア
Network Management Card Device IP Configuration Utility v5.0.4
ただし、Java Runtime Environment 1.8以降が必要なのだが、何を使うかが悩みどころ・・・
APCのドキュメント的にはすなおにOracle Java SE Runtime Environmentのダウンロードを推奨で
他社をみるとQuestもOracle JRE「JRE(version 1.8 or above) Installation for Microsoft Windows (4229374)」
キヤノンITソリューションはAmazon Correttoを使っていた「Q:【構築手順】Windows Server環境で、オープンソースJDKを利用してセキュリティ管理ツールをインストールするには?」
とりあえず今回はjre-8u361-windows-x64.exeを使った
2) Network Management Cardのfirmware
UPS Network Management Cardsのfirmware からfirmwareをダウンロード
カードを挿すUPSの種類により適用するfirmwareも異なる
3) Device IP使っても出ない場合
dhcpで範囲内にいるはずなのにDevice IPで出てこなかった
その場合はarp -aの結果からMACアドレスが「28:29:~」(Network Management Card 3/AP9640Jの場合)で始まるものを探して総当たりでhttpsアクセスしてみるとよい
4)Network Management Card 3の言語表示
Network Management Card 2では追加言語ファイルを導入しないと日本語表示がなかったりした。
Network Management Card 3は標準状態で多言語対応しているのだが、デフォルト表示が基本Englishとなっている。
ログイン画面の言語設定変更は[Configuration]-[Security]-[Local Users]-[Default Settings]
ここのLanguageを「English」から「日本語」に変えるとログイン画面の表示が日本語になります。
ログイン画面は日本語になったものの「apc」ユーザでログインすると英語表示。
これはユーザ特有設定の方にあるため、[Configuration]-[Security]-[Local Users]-[Management]でユーザ一覧を表示する
「apc」をクリックしてLanguageを「English」から「日本語」に変える
4)PCNSのコマンドファイルの指定について
シャットダウン時にバッチファイルを実行させるべく「コマンドファイルのパス」に指定しようと文字を入力しはじめたら下記の様に言われた。
コマンドファイルを読み込めませんでした。ファイルはPowerChuteインストールディレクトリのuser_filesフォルダーにある必要があります。詳細については、ヘルプを参照してください。
ということは、C:\Program Files\APC\PowerChute\user_files にファイルを置いて、ファイル名だけ指定すればいいのかと思ったが、相変わらず上記のエラー
フルパスで指定したら通った・・・
5) ssh接続がうまく行かない
PowerChute Network Shutdown のv4.4にはsshで他のサーバにログインしてコマンドを実行する機能がある。
これを利用してNetAppにログインしようとしたのだがうまくいかない
SSH アクションとして2種類登録を作ってみた
1つはユーザ名とパスワードを入力してログインするタイプ
もう1つはsshキーを使ってログインするもの。
ここで指定したsshキーは C:\Program Files\APC\PowerChute\user_files\ssh_id_rsa.txt という形でWindows Server標準のssh-keygenコマンドを使って作成したやつをコピーしたもの。
アクセス権については特に調整していない。
どちらの設定でも実行するコマンドを列挙した「SSHコマンドファイルのパス」は C:\Program Files\APC\PowerChute\user_files\netappshutdown.txt とした。
内容は以下の確認なしでNetAppを停止する手法を記載した。
set -confirmations off; system node halt -node * -inhibit-takeover true -ignore-quorum-warnings true
で・・・これだけでは動かなかった。
PowerChute Network Shutdownのヘルプにある「SSH設定」の説明で以下がある。
認識されているコマンドプロンプトは次のとおりです。
・$ (Linux)
・# (Linux admin/root)
・> (Windows または RPDU)
ssh_prompt_regex」設定を[SSHAction]セクションに追加することにより、カスタムコマンドプロンプトは、PowerChute構成ファイル (pcnsconfig.ini) を介して追加できます。例えば: 「~」のカスタムコマンドプロンプトを追加するには、「ssh_prompt_regex = ~\s」を追加します。
NetAppのコマンドプロンプトは「クラスタ名::> 」なので、WindowsまたはRPDUの「>」で通るものかと思っていたのですが、違ったようです。
C:\Program Files\APC\PowerChute\group1\pcnsconfig.iniの[SSHAction数字]に以下のように「::>」プロンプトを追加することで動作するようになりました。
ssh_prompt_regex = \::>\s