Planning Analytics Local のPlanning Analytics Workspace のサービスからの起動停止


概要

Planning Analyticsとは、Cognos TM1の後継製品で、Planning Analytics Local(PAL)とは、オンプレで動くPlanning Analyticsです。
Planning Analytics Workspaceは、新規のWebインターフェースで、Windows 2012 Server R2では、以下のようにDockerの上で動作します。

PALやWorkspaceに関しては、こちらの記事をご参照下さい。
IBM Planning Analytics Local 2.0の紹介(Cognos TM1の後継製品)
https://qiita.com/shinyama/items/77fddc9a84de04826bc9

Docker VMは、pawという名称で、Workspaceで提供されているstart.batスクリプトからDocker VMを作成します。
Docker VMは、Oracle VM Virtual Boxの上で動作しますが、最近行った検証で、リモートデスクトップでサーバーにログイン後、Docker VMを起動し、ログオフしてセッションを切ると、Docker VMは落ちてしまう事がわかりました。
Docker VMはセッションの中で動くものなので、そのセッションが切れてしまうと、サーバー上で動き続けるものではないようですね。

そうなると、本番でどういう運用すれば良いのやらと思い、開発元に聞いたところ、VBoxVmServiceを使ってDocker VMの起動をWindowsサービスに登録すれば良いかも知れない、という情報をもらい、実際に検証してみましたのでフィードバックします。

Planning Analytics Localで、Planning Analytics Workspaceを使用するプロジェクトでは必須の知識なので、覚えておいて頂ければと思います。
※Planning Analytics for Excel(PAx) を使用する環境でも、Planning Analytics Workspaceの実装は必須なのでご注意下さい。

実装手順

まずは普通の手順で、PAWで提供されるStart.batからDocker VM(paw)を作成し、Workspaceアクセスできるところまで持っていきます。
デスクトップ上に「Oracle VM VirtualBox」のアイコンが表示されるので、バージョンを確認しておきます。
画像だと「5.1.8」ですね。

Docker VMは停止しておきましょう。
管理ツールがブラウザで開いている場合、ブラウザを閉じて、start.batのプロンプト画面ではCtrl + Cをしておきます。
以下のコマンドで、Docker VM(paw)を停止します。
docker-machine stop paw

以下のサイトから、VBoxVmServiceをダウンロードします。
ここで、最新バージョンをダウンロードするのではなく、先ほど確認したVirtualBoxに対応したバージョンをダウンロードしましょう。※VBoxVmService-5.1-Plum.exeをダウンロードしました。
http://vboxvmservice.sourceforge.net/

VBoxVmService-5.1-Plum.exeを管理者実行してインストールします。

C:\vmsフォルダにインストールされるので、VBoxVmService.iniを編集します。

VBoxVmService.iniは以下の記載です。
Vm0の記載でVmName、ShutdownMehtodの変更を忘れないように。
VBOX_USER_HOMEのAdministratorは、実環境のユーザーに合わせて変更してください。

[Settings]
VBOX_USER_HOME=C:\Users\Administrator\.VirtualBox
RunWebService=no
PauseShutdown=5000

[Vm0]
VmName=paw
ShutdownMethod=acpipowerbutton
AutoStart=yes

編集後、ファイルを保存し、TM1の各種サービスを停止した後に、WindowsOSを再起動します。

するとこの様に「VBoxVmService」がサービスに登録され、Docker VMがサービスから起動可能となります。

リモートデスクトップでログオフしても、Workspaceへの接続が可能となります。

ポイントは、
①管理ツールとdocker VMをきちんと停止してから作業に入る事
②VBoxVmServiceとOracle VM VirtualBoxのバージョンをあわせる事
③VBoxVmService.iniを上記のように編集する事
ですね。

結構苦労してこれに辿り着きましたので、是非ご参考にして下さい。