「WSL」でノートPCにPOLESTAR Automation一式を入れてみた

2019年1月29日

ワイドテックのYです。

今年初のコラム脱稿が1月末ギリギリというタイミングになってしまいましたが、大型のお客様案件やその他POLESTAR Automation関連のいくつもの企画が、年明け早々から一斉に走り出してしまい、コラム執筆に手が回らなかったためです。
そんな中、多少時間が取れたので、POLESTAR Automationのインストールについて、ちょっと変わった「実験」をしてみました。今回はそのお話です。

■Windows上でLinuxが動く「WSL」とは

今回の実験を思い付いたのは、Windows 10上でLinuxのコマンドライン用ソフトウェアが動かせるという「Windows Subsystem for Linux(WSL)」を試してみたのがきっかけです。 WSLは2016年にβ版が、2017年のFall Creators Update(v1709)で正式版がそれぞれリリースされています。発表当初はBash on WindowsとかBash on Ubuntu on Windowsなどと呼ばれていたこともあります。発表された頃からその存在は認識していたのですが、Linuxは一昨年の秋にRaspberry Pi(ラズパイ)を触るまで本格的に弄ったことがなく、今も自分にとってはラズパイを含めたシングルボードコンピュータでの利用が中心なので、実際にWSLを試したのは今年に入ってからです。

さて、WSLについて軽く解説しておきますと、その実体は、Windows 10のカーネルでユザーモードのLinux用ソフトウェアを動作させるためのカーネルインターフェースであり、Linuxカーネルそのものは含まれません。
独自のカーネルを持った仮想マシン(VM)ではないので、互換性も完全ではないとされていますが、VMでない分、リソース消費が少なく、低スペックのPCでも使えると思います。
あと、Windows上でLinuxを動かす手段として以前からあるのはHyper-Vですが、Hyper-Vが使えるのは64ビット版のWindows 10 ProやEnterprise等であり、Windows 10 Homeでは使えません。WSLなら、64ビット版であればWindows 10 HomeでもOKというのも、敷居が低くて好ましいです。
WSLではDebianやSuSEなども動かせるようですが、Bash on Ubuntu on Windowsという当初の呼称からもわかるようにUbuntuのCanonical社が開発に協力したようで、基本はUbuntuです。日本で多数派? のCentOSには未対応なので、Fedora系統が使いたい場合はFedora Remix for WSL(有償です)というのを選ぶことになるようです。
UbuntuといってもGUIは使えませんが、実際に試してみると、Linux用に開発されたコマンドラインのプログラムは違和感なく動きます。WebサーバーのNginxとかPHP 7.2、MariaDB、そしてWordPressも試してみましたが、あっさり普通に起動して拍子抜けするほどでした。
ただし、VMではなくカーネルはWindows側と共用なので、アップデートパッチ(apt update→apt upgrade)を適用して再起動を求められた場合は、Windowsのシステム(OS)ごと再起動するまで適用されません。あと、ネットワークインターフェースもWindowsに被る形になるので、Windows側で例えばWebサーバーなどが動いている場合は、ポート番号が被らないように設定しないと、競合します。

■POLESTAR AutomationをノートPC+WSLで動かしてみる

そんなわけで、WSLを触っているうちに試してみたくなったのが、果たしてWSLにPOLESTAR Automationの管理サーバーを構築できるのか? です。
まず、前もってお断りしておくと、POLESTAR Automationの推奨スペックは論理4コア以上、メモリ16GB以上のサーバーマシン、サーバーOSです。WSLは最新のWindows Server 2019でも動いているようですが、今のところはクライアント用のWindows 10が中心だと思います。サーバーOSでないことには目を瞑るとしても、このスペックを満たすPCとなると、それなりのものになりますね。
とりあえず前提条件は果敢に無視し、まずはデスクトップPC上のWindows 10 ProにWSL環境を作って動かしてみました。Intel G3260というデュアルコアCPU、メモリは8GBで、Hyper-Vも動かしたことがありますが、常用には結構しんどい環境です。
今回は、WSLを有効化してWindowsストアから最新LTS(長期サポート)版のUbuntu 18.04をインストール後、POLESTAR Automationの動作に必要なJava VMとMariaDBをインストールします。前回ご紹介したAdoptOpenJDKとMariaDB 10.3をインストール後、POLESTAR Automationを入れてみたら…いとも簡単に動いてしまいました。
Windows側のブラウザからlocalhostで開いてみましたが、普通に見慣れたPOLESTAR Automationの管理画面が開きます。

WindowsデスクトップでWSL経由でPOLESTAR Automationを動かしてみたところ
WindowsデスクトップでWSL経由でPOLESTAR Automationを動かしてみたところ

次にノートPC。普段個人で愛用している、メモリ4GB(増設不可)、CPUはIntel Core m3、Windows 10 Home 64ビット版のプリインストールされた、12インチ液晶で1kg強の、いわゆるモバイルノートPCです。
こちらでも同様にWSLでUbuntuが動くようにした後、デスクトップと同じようにAdoptOpenJDKとMariaDB 10.3を入れてからPOLESTAR Automationをセットアップします。

ノートPCでもPOLESTAR。ちなみに本邦初公開の英語版です。POLESTAR Automationは、ベトナムやインドネシアなど東南アジアでも使われています
ノートPCでもPOLESTAR。ちなみに本邦初公開の英語版です。
POLESTAR Automationは、ベトナムやインドネシアなど東南アジアでも使われています

ギリギリのメモリ容量ですが、このノートPCはストレージが100% SSDなおかげか、意外にも軽く動きます。
こんな感じで、Hyper-Vがサポートされずメモリも厳しいWindows 10 HomeのノートPCでも、WSLを使ってPOLESTAR Automationを動かせるようになりました。
ちなみに、自分自身(WSL側でもWindows側でも。ただしどちらか一方)にエージェントをインストールする、つまり1台のPCにPOLESTAR Automation一式をインストールすることができますので、簡単な動作確認なら1台のPC上で完結させることも可能です。ノートPCなら、どこでもテストが可能となるわけです。エージェント経由でPCの再起動を伴うようなテストは、もちろんできませんが…

ところで、実はWSLなどという回りくどい手段を使わなくても、POLESTAR AutomationにはWindows版のインストーラもありますので、そのままノートPCを含むあらゆるWindows PCにインストールすることが可能です。
それなのに、なぜこんなややこしいテストをしたのかといいますと、現在社内でとあるプロジェクトが動いていて、その至上課題のひとつがWindows用、Linux用の両インストーラに関する「インストール手順の簡素化」だったりするのですが、その一環として自分の普段使っているWindows PC上に手っ取り早くLinux環境を作り、LinuxでのPOLESTAR Automationの新しいインストール手順と動作を確認してみたかったからです。
「とあるプロジェクト」の詳細は、間もなく発表できると思います。乞うご期待!

そして、本年も引き続きPOLESTAR Automationと本コラムをご愛顧賜りますよう、よろしくお願いします!