#はじめに
さて、唐突ですが、 WebSphere Application Server ND Edge Component の導入です。
Edge Component は WebSphere Application Server (WAS) の ND版に付属の
ソフトウェアロードバランサーです。
ロードバランサーといえば、 Big-IP が (私の中では)有名ですが
この Edge Component、 WAS ND を買えばそのライセンスに含まれる、ということで
場合によってはお安くご利用いただけます。
なぜ今導入するのか? と言うと、 一つ目の理由は「たまたま」です。
二つ目は IPv4 向け Load Blancer が 2019年9月30日にサポート終了するためです。
IPv4 向け Load Balancer がサポート終了なら、
今後は IPv6 のみか! と思うかもしれませんが、
IPv4 and IPv6 Load Balancer というのが継続して存在しますので
IPv4 の方ご心配なく。名前、紛らわしいですね。。。
なお、 IPv4 向けを LLB (Legacy Load Balancer), IPv4 and IPv6 向けを ULB (User-mode Load Balancer) というようです。
重要なお知らせ - 2019年9月30日をもって、IPv4向けLoad Balancerのサポートが終了します
https://www-01.ibm.com/support/docview.wss?uid=ibm10733183
今回、 この Edge Component の基本的な機能 ( Load Balancer , Dispatcher ) を
コマンドだけで入れてしまう、という作業の説明です。
たまたま GUI がつかえない環境だったため、 コマンドで入れる方法を調べたのですが
意外と早くできるので、次にやるときのためにまとめておきます。
#環境
関連する SW のバージョンは以下のとおりです。
- AIX 7.2 TL02 SP02
- WebSphere ND Edge Component v9.0 FP9
#導入の流れ
導入の大まかなステップは以下のとおりです。
- メディアの準備
- ファイルシステムの作成
- IBM Installation Manager (IIM) の導入
- Edge + Java8 の導入
- FixPack の適用
FixPack 適用後、 設定等に入るのですが、 今日は 導入・FP適用までで一旦終了です。
#メディアの準備
Edge Component 自体は、IBM の Passport Advantage (PA) サイトからダウンロードします。
では、何をダウンロードすればよい? という話がやや面倒ですね。
いつも、 結局何をダウンロードするんだっけ? という話になることが多いです。
WAS に関しては、 以下のサイトで 各種コンポーネントの Part Number が記載されていますので
それを参考に PA サイトからダウンロードしてください。
今回は Edge Component の中でも基本的な Load Balancer を入れますので、
以下の2つになります。
- IBM WebSphere Edge Components: Load Balancer for IPv4 and IPv6 (for WebSphere Application Server Network Deployment V9.0.0) ( Part Number : CND1SML )
- IBM SDK, Java™ Technology Edition, Version 8 for AIX ( Part Number : CND16ML)
次に、 FixPack のダウンロードです。
FixPack は IBM の Fix Central からダウンロード可能です。
ただ、WAS の場合、以下のページにエディションごと、バージョンごとに整理されていますので
そこからたどるのが良いと思います。
Recommended updates for WebSphere Application Server
今回ダウンロードするのは、FixPack 9 、以下のものになります。
IBM WebSphere Edge Load Balancer for IPv4 and IPv6 : 9.0.0-WS-EDGEULB-FP009.zip
また、 同じ場所から Java8 SDK のFix もダウンロードできますのであわせてダウンロードしておきましょう
ダウンロードしたものを、サーバー上に upload し、 zip を展開しておきます。
(余談ですが、もう 「解凍」 とは言わないみたいですね。。。)
以下の例では、 NFS サーバー上に配置、展開し、導入先サーバーの /mnt にマウントした状態で作業を進めています。
#ファイルシステムの作成
ファイルシステムに関しては、 やや好みの問題、という側面がありますね。
導入できればいいや! であれば /usr, /opt の容量があれば良いです。
厳密には System Requirements で調べる必要がありますが、 まぁ 2~3GB ぐらい?
今回は、 AIX 上でファイルシステムを作成し、そこに導入しました。
ファイルシステムの作成も、 AIX の smit メニューからやってもよいのですが
コマンドで実行です。
マウントポイント | LV 名 | サイズ | PP数 | 備考 |
---|---|---|---|---|
/opt/IBM/InstallationManager | IIM_LV | 512MB | 16 | IIM用 |
/usr/IBM/IMShared | IMShared_LV | 2GB | 64 | WAS 共通コンポーネント用 |
/opt/IBM/WebSphere/Edge | Edge_LV | 512MB | 16 | Edge Component 用 |
PP数は、 該当ファイルシステムのサイズと、そのファイルシステムが所属する VG の PP size から算出できます。PP size は lsvg -l VG名
で確認できます。
ファイルシステムの作成は、 LV 作成 → ファイルシステム作成 → マウント の順で対応します。
mklv -y IMShared_LV -t jfs2 rootvg 64
crfs -v jfs2 -d IMShared_LV -m /usr/IBM/IMShared -A yes
mount /usr/IBM/IMShared
マウントポイントに関しては、 製品のデフォルトです。
(なお、 3番目のファイルシステムは v9 から場所が変わっていますかね。。?)
#IBM Installation Manager (IIM) の導入
IIM について記載を忘れていましたね。
Edge Component だけではなく、 IBM のさまざまなソフトウェアを導入する際に使う
導入・更新の管理ソフトです。
IIM の入手はこちら
Installation Manager and Packaging Utility download documents
これも、他のメディア同様、展開しておきます。
展開したディレクトリを /mnt/IIM189/IIM189 とします。
そこから、コマンドでインストールします。
# cd /mnt/IIM189/IIM189
# ls
Offerings groupinstc installc.ini readme.html userinst
con-disk-set-inst.sh groupinstc.ini jre_7.0.100030.20181001_1448 repository.config userinst.ini
configuration install license repository.xml userinstc
documentation install.ini native silent-install.ini userinstc.ini
groupinst install.xml p2 tools
groupinst.ini installc plugins user-silent-install.ini
# ./installc -acceptLicense -log /mnt/IIM189/iim_inst.log
/opt/IBM/InstallationManager/eclipse ディレクトリーに com.ibm.cic.agent_1.8.9002.20181015_1517 がインストールされました。
。。。あっさりですね。
#Edge + Java8 の導入
Edge, Java8 に関しては、 同時に入れる必要があります。(Edge内でJava を使うため)
導入自体は IIM を使って行います。
IIM は 通常は GUI のツールとして使いますが、 今回は GUI がつかえない環境だったため
コマンドライン (CLI) で導入しました。
まず、作成したファイルシステム /usr/IBM/IMShared
と /opt/IBM/WebSphere/Edge
内の
lost+found
ディレクトリを削除します。
インストール時にご丁寧に中が空か確認するようです。
IIM のコマンドから導入を行うにあたり、 いくつか確認等を行う必要がありますが、
それも IIM のコマンドですべて行います。
■ 導入可能なパッケージの確認
# cd /opt/IBM/InstallationManager/eclipse/tools
# ./imcl listAvailablePackages -repositories /mnt/Edge90/edge9000,/mnt/Edge90FP9/EdgeULB90_FP9,/mnt/Java8/java8_8030
com.ibm.websphere.EDGELBIPV4IPV6.v90_9.0.0.20160526_1939
com.ibm.websphere.EDGELBIPV4IPV6.v90_9.0.9.20180906_1032
com.ibm.java.jdk.v8_8.0.3000.20160526_1317
imcl
が IIM のコマンドラインツールです。
listAvailablePackage
オプションで導入可能なパッケージをリストします。
その際、 -repositories
オプションで、ダウンロードしたメディア(リポジトリ)のディレクトリを コンマ区切りで指定します。
「メディア(リポジトリ)のディレクトリ」というのは正確には、 展開したディレクトリ内の repository.xml
があるディレクトリです。
この例では、 以下の3つのリポジトリを指定しています。
ディレクトリ | メディア |
---|---|
/mnt/Edge90/edge9000 | Edge v9 ディレクトリ |
/mnt/Edge90FP9/EdgeULB90_FP9 | Edge v9 FP9 ディレクトリ |
/mnt/Java8/java8_8030 | Java8 ディレクトリ |
以下の例では、 レスポンスファイルを作成して導入していますが、
imcl で直接インストールも可能です。 その際、Package 名を指定する必要があるため、上記コマンドで確認しておきます。
■レスポンスファイル作成
別のサーバーにも同じ形で導入する場合、レスポンスファイルという導入指示のためのファイルを
作成しておくと便利なケースがあります。 (今回はそうでもないですが)
# ./imcl generateResponseFile -repositories /mnt/Edge90/edge9000,/mnt/Edge90FP9/EdgeULB90_FP9,/mnt/Java8/java8_8030 -output /mnt/Edge90/response_files/response.xml
応答ファイル /mnt/Edge90/response_files/response.xml を生成しました
-output
オプションでファイルの出力先を指定します。
内容は以下のような内容です。
<agent-input>
<variables>
<variable name='sharedLocation' value=''>
<if name='platform:os' equals='win32' value='${specialFolder:PROGRAM_FILES}\IBM\IMShared'/>
<if name='platform:os' equals='win32_vista' value='${specialFolder:PROGRAM_FILES}\IBM\IMShared'/>
<if name='platform:os' equals='linux' value='/opt/IBM/IMShared'/>
<if name='platform:os' equals='solaris' value='/opt/IBM/IMShared'/>
<if name='platform:os' equals='aix' value='/usr/IBM/IMShared'/> <!-- AIX の場合 /usr/IBM/IMShared が指定されています -->
<if name='platform:os' equals='hpux' value='/opt/IBM/IMShared'/>
</variable>
<!-- フィーチャーの対応するセットをインストールするには、features を「required」、「default」、または「all」に設定します。 -->
<variable name='features' value='default'/>
<!-- インストール・ロケーション: -->
<!-- IBM WebSphere Edge Components: Load Balancer for IPV4 and IPV6 -->
<!-- IBM SDK, Java Technology Edition, Version 8 -->
<variable name='installLocation' value=''>
<if name='platform:os' equals='win32' value='${specialFolder:PROGRAM_FILES}\IBM\WebSphere\Edge\ULB'/>
<if name='platform:os' equals='win32_vista' value='${specialFolder:PROGRAM_FILES}\IBM\WebSphere\Edge\ULB'/>
<if name='platform:os' equals='linux' value='/opt/IBM/WebSphere/Edge/ULB'/>
<if name='platform:os' equals='solaris' value='/opt/IBM/WebSphere/Edge/ULB'/>
<if name='platform:os' equals='aix' value='/opt/IBM/WebSphere/Edge/ULB'/>
<if name='platform:os' equals='hpux' value='/opt/IBM/WebSphere/Edge/ULB'/>
</variable>
<!-- IBM WebSphere Edge Components: Load Balancer for IPV4 and IPV6 のフィーチャー -->
<variable name='features.com.ibm.websphere.EDGELBIPV4IPV6.v90'>
<!--
必須フィーチャー:
LoadBalancer: Load Balancer
-->
<if name='features' equals='required' value='LoadBalancer'/>
<!--
デフォルト・フィーチャー:
Dipatcher: Dispatcher
-->
<if name='features' equals='default' value='LoadBalancer,Dipatcher'/>
<!--
デフォルト以外のフィーチャー:
MetricServer: Metric Server
SiteSelector: Site Selector
-->
<if name='features' equals='all' value='LoadBalancer,Dipatcher,MetricServer,SiteSelector'/>
</variable>
<!-- IBM SDK, Java Technology Edition, Version 8 のフィーチャー -->
<variable name='features.com.ibm.java.jdk.v8'>
<!--
必須フィーチャー:
com.ibm.sdk.8: IBM SDK, Java Technology Edition, Version 8
-->
<if name='features' equals='required' value='com.ibm.sdk.8'/>
<!-- デフォルト・フィーチャー: -->
<if name='features' equals='default' value='com.ibm.sdk.8'/>
<!-- デフォルト以外のフィーチャー: -->
<if name='features' equals='all' value='com.ibm.sdk.8'/>
</variable>
</variables>
<server>
<repository location='file:/mnt/Edge90/edge9000/'/>
<repository location='file:/mnt/Java8/java8_8030/'/>
</server>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='${sharedLocation}'/>
<profile id='Load Balancer for IPV4 and IPV6' installLocation='${installLocation}'/>
<install>
<!-- IBM WebSphere Edge Components: Load Balancer for IPV4 and IPV6 9.0.0.0 -->
<offering profile='Load Balancer for IPV4 and IPV6' id='com.ibm.websphere.EDGELBIPV4IPV6.v90' version='9.0.0.20160526_1939' features='${features.com.ibm.websphere.EDGELBIPV4IPV6.v90}'/>
<!-- IBM SDK, Java Technology Edition, Version 8 8.0.3.0 -->
<offering profile='Load Balancer for IPV4 and IPV6' id='com.ibm.java.jdk.v8' version='8.0.3000.20160526_1317' features='${features.com.ibm.java.jdk.v8}'/>
</install>
</agent-input>
細かく見ると、 AIX の場合は Shared File などは /usr/IBM/IMShared に導入される、とか
デフォルトで導入されるパッケージ名などが記載されていることが分かります。
場合によっては、これを編集する、ということもあるかもしれません。
■ Edge Component の導入
作成したレスポンスファイルを用いて導入です。
# ./imcl input /mnt/Edge90/response_files/response.xml -log /tmp/edge_inst.log -acceptLicense
/opt/IBM/WebSphere/Edge/ULB ディレクトリーに com.ibm.websphere.EDGELBIPV4IPV6.v90_9.0.0.20160526_1939 がインストールされました。
/opt/IBM/WebSphere/Edge/ULB ディレクトリーに com.ibm.java.jdk.v8_8.0.3000.20160526_1317 がインストールされました。
なお、ここではレスポンスファイルを用いましたが、
レスポンスファイルを作らずに、直接インストールすることも出来ます。
コマンドの書式は以下のとおりです。(詳細は末尾リンク先のマニュアル参照)
imcl install packageID[_version][,featureID]
-repositories source_repository
-acceptLicense
■ バージョンの確認
以下のコマンドで、バージョンの確認を行います。
# ./imcl listInstalledPackages
com.ibm.cic.agent_1.8.9002.20181015_1517
com.ibm.java.jdk.v8_8.0.3000.20160526_1317
com.ibm.websphere.EDGELBIPV4IPV6.v90_9.0.0.20160526_1939
Edge IPv4 and IPv6 の 9.0.0 が導入されていることが (なんとか)分かります。
#FixPack の導入
FixPack に関しても、基本的には導入のときとほぼ同じ感じです。
ただ、レスポンスファイルは使わず、 imcl updateAll
でアップデートします。
# ./imcl updateAll -repositories /mnt/Edge90FP9/EdgeULB90_FP9 -acceptLicense
/opt/IBM/WebSphere/Edge/ULB ディレクトリー内で com.ibm.websphere.EDGELBIPV4IPV6.v90_9.0.9.20180906_1032 に更新されました。
同様にバージョンを確認します。
# ./imcl listInstalledPackages
com.ibm.cic.agent_1.8.9002.20181015_1517
com.ibm.java.jdk.v8_8.0.3000.20160526_1317
com.ibm.websphere.EDGELBIPV4IPV6.v90_9.0.9.20180906_1032
かろうじて v9.0.9 になっているのが分かります。
Java8 についても同様にアップデートしますが、やり方は同じですので割愛します。
以上で、 Edge Component をコマンドで入れる方法のまとめはおしまいです。
どこかの誰かが少しでも助かれば幸いです!
#参考
■Passport Advantage (PA)
https://www.ibm.com/software/jp/passportadvantage/pao.html
■V9.0: Download WebSphere Application Server Network Deployment Version 9 from Passport Advantage Online
https://www-01.ibm.com/support/docview.wss?uid=swg27048323
■Recommended updates for WebSphere Application Server
https://www-01.ibm.com/support/docview.wss?uid=swg27004980
■Installing Edge Components with IBM Installation Manager
https://www.ibm.com/support/knowledgecenter/SSAW57_9.0.0/com.ibm.websphere.edge.doc/concepts/installing.html
■imcl コマンドを使用して応答ファイルを生成
https://www.ibm.com/support/knowledgecenter/ja/SSDV2W_1.8.0/com.ibm.cic.commandline.doc/topics/t_imcl_generate_response_file.html
■imcl コマンドのコマンド行引数
https://www.ibm.com/support/knowledgecenter/ja/SSDV2W_1.8.0/com.ibm.cic.commandline.doc/topics/r_tools_imcl.html
■imcl コマンドの使用によるパッケージのインストール
https://www.ibm.com/support/knowledgecenter/ja/SSDV2W_1.8.0/com.ibm.cic.commandline.doc/topics/t_imcl_install.html
■Installation Managerのimclコマンドを使用してインストール可能なパッケージやiFixを確認する方法
https://www-01.ibm.com/support/docview.wss?uid=swg21684638
■imcl コマンドを使用した、すべてのインストール済みパッケージの更新
https://www.ibm.com/support/knowledgecenter/ja/SSDV2W_1.8.0/com.ibm.cic.commandline.doc/topics/t_imcl_updateall.html