2016年07月

28

ハイパーコンバージド製品のNutanixを解説!

皆様こんにちは。てくさぽBLOG メンバーの 佐野です。

 

4月に書いたハイパーコンバージドの紹介記事が好評のようで、ありがたいです。
今回は皆様も興味があると思いますNutanixについて詳しく書きます。

 

1.Nutanixとは

Nutanixは2009年に創業した会社で、GoogleやFacebookなどをスピンアウトした人々が設立しました。

Nutanixが目指す先は「インビジブルなインフラストラクチャー」です。
インビジブルとは「見えない=意識しなくてよい存在」という意味で、ユーザーや管理者があまり意識せずに簡単に使えるインフラを目指しています。

これを実現するために、Nutanixでは専用ストレージやSANスイッチを排除したシンプルな環境であるハイパー・コンバージド製品をアプライアンスとして提供しています。
ストレージやSANスイッチが存在しないことでストレージの管理スキルが不要となり、サーバー管理者が全てを管理できるようになるため、運用管理の点でお客様にメリットが生まれます。

従来のITインフラスタックとNutanixのインフラスタックの簡単な構成要素の比較図は以下になります。
これを見て頂くと、インフラを構成する要素が大幅に減っていることが分かると思います。

Nutanix01

 

日本ではまだ知名度はそれほど高くありませんが、米国での知名度はかなり高く、NutanixはGartnerの2015年のMagic Quadrantではリーダーの位置づけになっています。

(参考サイト)http://www.slaitconsulting.com/nutanix-leader-2015-gartner-magic-quadrant-integrated-systems/

 

2.Nutanixの特徴

Nutanix製品の最大の特長は、GoogleやFacebook、Amazonといった超大規模な独自のシステムのメリット(スケールやメンテナンスの効率化)を一般企業でも利用できるように分散ファイルシステムを独自で開発し、アプライアンスとして提供していることです。

Nutanixアプライアンスは最低3ノードから利用開始でき、1ノード単位で増設することができるため、リソースの利用効率を高めながら拡張していくことが可能です。

拡張の際にも、事前にハイパーバイザーが導入済みで出荷されるため、機器を搭載しネットワークを接続して電源をつなぐだけよく、数十分で利用開始することができます。
もちろん、既存環境に追加・拡張を行う際にシステム停止は必要ありません。

SANやNASがないため、前述のインフラスタックを見ても分かる通り、シンプルな構成となっており障害発生時にも問題の解決がスムーズに行えます。

システム運用開始後には、単一の管理Web画面である”Prism”を見ることで、システムのリソース状況からシステムの状況まで確認することができます。

Nutanix02

上に添付してある画像がPrismの画面ですが、画面を縦に4分割して見ると、左から、システム概要、パフォーマンス、システムヘルス、アラートの情報となっています。
このように、日常の運用管理においても単一のWeb画面を確認すればよいため、個別に確認をしなくてはいけない従来の基盤に比べて運用負荷を格段に減らすことができます。

 

3.Nutanixの信頼性

Nutanixのデータ冗長化は、現在ディスクの冗長化でよく使われるRAIDは利用しておらず、ノード間での2重ミラーリングもしくは3重ミラーリング(Proエディション以上必須)での冗長化となります。
RAIDはノード内でのデータ保護となるため、ノードがダウンすると全てのデータが失われてしまいますが、他のノードにデータをコピーしていればノードダウン時にも復旧ができるのがこのNutanixが採用している方式のメリットです。

また、ノード障害が発生した後、自動的にデータの冗長化を復旧させるセルフヒーリングが発動し、特に管理者が何かの操作を実施しなくても、データの冗長性は確保されます。
副次的な効果として、RAIDのようなパリティーの再計算をしなくて済むので、復旧時間も早く済むことが多いようです。

<イレージャー・コーディング>

2重ミラーリング・3重ミラーリングでは、単純に2倍・3倍のディスク容量が必要となりますが、Nutanixではイレージャー・コーディングもサポートしています。

イレージャー・コーディングはオブジェクトストレージでよく使われるデータ冗長・容量削減の方式です。具体的にはデータを分割し、その分割後のデータに対してパリティを付与することで冗長性を担保します。

簡単にイメージ図を以下に図示しておきます。

Nutanix04

 

メリットは、容量が2重コピーに比べて削減できること、2重コピーと同様に1台のノードがダウンしてもデータが復旧できることが挙げられます。

デメリットは、データの分割・パリティ計算にCPU能力を使ってしまうことです。
処理能力への影響が大きいので、イレージャー・コーディングの利用はコールドデータ(=HDDのデータ)に対してのみの適用が推奨されています。

 

4.Nutanixの動作

ここからはNutanixでのデータを書き込みと読み込み動作について書きます。

Nutanixでは、IO要求は全てController VM(以下CVM)が処理を行います。CVMは、各ノードに1台だけが稼働し、そのノードに接続しているSSD・HDDに対してIOの処理を行います。

・データの書き込み時の動作

データ書き込み時(2重ミラーリング)には、

1.ゲストOSからの書き込み要求が発生するとCVMが要求を受け取る

2.ノードのローカルに接続されているSSDに(容量に空きがあれば)データを書き込み

3.他のノード上のCVMへデータの書き込みを要求

4.2.と同様にローカルのSSDにデータを書き込み

5.ゲストOSに書き込み完了の通知

という流れを踏みます。この流れを見てもらえばわかる通り、データは必ず別のノードにミラーリングして書き込みがなされます。
図示すると以下のような流れとなります。

Nutanix03

<参考:動画概要YouTube>

SSDからHDDへは定期的にデータが退避されるようになっていて、アクセス頻度の低いデータをSSDからHDDに移動します。このため、SSDは常に空きがある状態となるため、IOを非常に高速に実行することができます。

・データ読み込み時の動作

データの読み込み時は、書き込みしたデータがノードのローカルに必ずあるはずですので、ローカルからの読み込みになります。そのため、ノード間の通信が発生せずパフォーマンス上のメリットがあります。
仮にvMotionなどを利用した後で書き込みをしたノード上に仮想マシンが動作していないような場合には、ネットワーク越しに不足しているデータを読み込みますので、ローカルにデータがないからエラーになるというようなことはありません。この場合、読み込んだデータはローカルに保管しますので、2度目以降の読み込み発生時にはノード間の通信は発生しません。

 

5.ラインナップ

NutanixアプライアンスにはNXシリーズと500名以下の企業を対象としたXpressモデルの2種類があります。

現在Xpressモデルの詳細情報を入手できていないので、ここにスペックなどを書くことはできませんが、
・最大4ノードまで
・ソフトウェアの機能に一部制限あり(専用のXpressエディション)
・ご購入頂ける企業は従業員数500名以下
といった制限がある代わりに、かなり安価にご購入頂けるモデルとなっています。

NXシリーズはXpressモデルのような制限はなく、ソフトウェアも3つのエディション(Starter、Pro、Ulitamate)から選択頂けます。

最新はBroadwell CPUを搭載したG5モデルとなり、以下の4つのモデルがあります。

Nutanix05

機器のサイジング結果次第で、どのモデルを選択するのかは変わってきますが、ほとんどの場合がNX-1000シリーズもしくはNX-3000シリーズからスタートします。

お客様環境のNutanixクラスタ内で、複数のモデルを混在させることができますので、まずはNX-1000シリーズから導入し、追加するワークロードに合わせてNX-3000を増設していくなんてこともできます。

モデル設定の際には特に2U4ノードモデルを採用することでラックスペース削減に大きく効いてきますので、是非既存の環境とTCOを比べてみてください。

 

6.まとめ

本記事ではNutanixに関する概要と少し詳しい解説をお届けいたしました。もっと詳しい内容も書きたかったのですが、記事スペースの関係上、ここまでが限界です。

ご要望や反響が大きければ続編も書きますのでお楽しみに!

 

 

<関連記事>

今注目の”ハイパー・コンバージド・インフラ”とは

ハイパーコンバージド製品のNutanixを解説! Vol.2

ハイパーコンバージド製品のNutanixを解説! Vol.3

10分でわかる『Nutanix製品』まとめ New! (※ MERITひろば へのログインが必要です。)

 

———-

この記事に関する、ご質問は下記までご連絡ください。

エヌアイシー・パートナーズ株式会社

技術支援本部

E-Mail:nicp_support@NIandC.co.jp

その他の記事

2021年09月17日

【やってみた】IBM Power Virtual Server のAIX環境をバックアップしてみた Part.2

こんにちは。 てくさぽBLOGメンバーの 村上です。 本ブログは、 IBM Power Systems Virtual Server をトライしてみた内容や感想をご紹介するブログです。 シリーズ化していますので、まずインデックスのご紹介をします。   インデックス ・【やってみた】IBM Power Virtual Server でAIX環境を作ってみた ・【やってみた】IBM Power Virtual Server のAIX環境にSWを導入してみた  ・【やってみた】IBM Power Virtual Server のAIX環境を日本ロケールにしてみた ・【やってみた】IBM Power Virtual Server のAIX環境をバックアップしてみた Part.1 ・【やってみた】IBM Power Virtual Server のAIX環境をバックアップしてみた Part.2 ←今回 ・【やってみた】IBM Power Virtual Server のAIX環境とIBM Cloud IA環境を接続してみた 今回は、AIX環境のバックアップ手順のご紹介です。 検証環境で2種類のバックアップ方法を試しましたので、Part.1 とPart.2(本ブログ)に分けてご紹介しています。 本ブログでは 「AIX環境をバックアップしてみた Part.2」として、FlashCopy によるバックアップ手順をご紹介します。   セクション 以下の1)~4)のセクションに分けてご紹介します。 1)  FlashCopy の説明 2)  IBM Cloud CLI 導入 3)  FlashCopy によるバックアップの事前準備 4)  FlashCopy の実施 検証はAIXのインスタンスで行いましたが、IBM i のインスタンスでも同等の手順で操作を行うことができます。 利用したクライアント端末(私のPC)は、Windows10 pro バージョン2004です。   1) FlashCopy の説明 Power Virtual Server で実装する FlashCopy  は以下の仕様となっています(IBM Cloud 柔らか層本 20210915版より)。 説明 ・IBM Cloud で提供されており、外部ストレージ装置のコピーを実施する ・バックアップ/リストアの時間が大幅に削減できる ・NWデータ転送量を削減できる 主な用途 ・データベース領域のバックアップ(容量が大きいものにおススメ) ・VM全体のバックアップ 対象 rootvg を含む任意のボリューム 保管場所 外部ストレージ装置 取得時の LPAR停止有無 不要 ※ ファイルの整合性担保のためにバックアップ前にはアプリの静止、LPAR停止が推奨される 制約事項 など ・リストア時はアプリ静止、LPAR停止が推奨 ・GUIは未実装であり、API呼び出しでのみ実行可能(2021年9月 時点) ・FlashCopy 先のストレージは無償で利用可能 ・インスタンス削除と同時にFlashCopy データも消失する FlashCopyとは、「Snapshot 」「Clone 」「Point in time Copy」とも呼ばれ、ある一時点のボリュームのコピーを作成する機能です。コピー元とコピー先は異なるLUN(ストレージのボリューム単位)を使用することができ、バックアップ手法として利用されています。 FlashCopy 先のディスクは課金されず無料で利用することができますが、バックアップデータの実体をWEBインターフェースの画面で確認することはできません。また、インスタンスを削除するタイミングで FlashCopy のデータも消失するため、バックアップデータはICOSなどへのデータのエクスポートが推奨されています。   2) IBM Cloud CLI 導入 FlashCopy を実施する前に、実施環境(ローカルPC)の準備を行います。 Power Virtual Server の FlashCopy は「IBM Cloud API 」を利用します。残念ながらWEBインターフェース画面では FlashCopy 機能が提供されていません(2021年9月時点)。 FlashCopy の実行は「IBM Cloud API 」で行いますが、Power Virtual Server へのログインやFlashCopy に必要なパラメータ取得などで 「IBM Cloud CLI 」も利用します。 IBM Cloud API とは 仮想サーバを簡単にデプロイおよび構成するために利用されるAPI(アプリケーション・プログラム・インターフェイス) :利用する場合、モジュールとしてのインストールは不要 IBM Cloud CLI とは IBM Cloud のリソースを管理するためのCLI(コマンド・ライン・インターフェイス) :利用する場合、モジュールとしてのインストールが必要 「IBM Cloud CLI 」を利用するためには、ローカルPCに「IBM Cloud CLI」のモジュールをインストールする必要があります。 では、IBM Cloud CLI のインストール作業を行っていきます。 ・WEBブラウザーを利用して、GitHub の IBM Cloud リポジトリーにアクセスします。 ・IBM Cloud CLI を導入するPCのOSを選択します(私のPCは下記のピンク色で囲んだOS)。 IBM Cloud CLI のインストーラーがローカルPC内にダウンロードされました。 ※ 上記は2021年1月時点のバージョンで、2021年9月時点の最新版は v2.0.3 です。 ・ローカルPC内にダウンロードしたインストーラーをダブルクリックして起動します。 「IBM Cloud CLI の インストール・ウィザード」が表示されます。 ・「Next」をクリックします 「License Agreement 」の画面が表示されます ・「I accept the terms in the license agreement」にチェックを入れます ・「Next」をクリックします 「Ready to Install the Program」の画面が表示されます。 ・「Install」をクリックします 「The installation completed successfully」のメッセージでインストールが正常に終了した画面が表示されます。 ・「Finish」をクリックします IBM Cloud CLI のインストールが完了です! IBM Cloud CLI が正常にインストールされていることを確認します。 これ以降の作業では、CUI を利用して検証を行います。CUI は Windows標準搭載の「Windows PowerShell」を利用します。(※画面ショットの 固有の値はマスキングします) ・Windows PowerShell を起動し IBM Cloud CLI のバージョン確認コマンドを入力します。 > ibmcloud -v 上記の通り、IBM Cloud CLI  1.3.0 でした。私のPC内の IBM Cloud CLI は、2021年1月頃に導入したので、かなりバージョンが古くなっているようです。 ・IBM Cloud CLIのバージョンアップを行います。 > ibmcloud update →「今すぐ更新しますか?[Y/n]」で「Y」を入力 自動でIBM Cloud CLI のインストーラーが立ち上がります。 ・インストールウィザードの画面で「Next」→「Finish」と進めます ・インストールウィザードが終了したらIBM Cloud CLI のバージョンを確認します。 > ibmcloud -v IBM Cloud CLI  2.0.3 にUpdateできていることが確認できました。 次に、Power Virtual Server 専用のプラグイン(power-iaas/pi )を導入します。IBM Cloud CLI で Power Virtual Server を操作するためには、専用のプラグインが必要になるためです。 ・ibmcloud コマンドでプラグインの一覧を表示します > ibmcloud plugin repo-plugins -r "IBM Cloud" ・「power-iaas/pi」が「未インストール」になっていることを確認し「power-iaas/pi」を導入します。 > ibmcloud plugin install power-iaas プラグインが導入出来ました。 ・導入したプラグインのバージョンを確認します > ibmcloud plugin list 「状況」欄に「更新が使用可能です」と出力されている場合、プラグインのバージョンが古くなっています。 ・プラグインをUpdateします > ibmcloud plugin update 最新バージョンにUpdateでき、「状況」が空欄になりました。 IBM Cloud CLI の準備は完了です!   3) FlashCopy によるバックアップの事前準備 FlashCopy を実施する前にFlashCopyに必要なパラメーターを用意します(パラメータは IBM Cloud API Docs の「Create a PVM instance snapshot」に記載されています)。 単純に出力できないパラメーターは変数に代入していきます。 FlashCopy に必要なパラメーター(変数)は以下となります。 内容 パラメーター/ 変数 ①IBM Cloud へログイン  - ②認証情報 A.  $TOKEN : IBM Cloud IAM アクセストークン B.  $CRN:Cloud Resource Name ③Pathのパラメータ C.  $CLOUD_INSTANCE_ID :Cloud Instance ID D.  $PVM_INSTANCE_ID:PVM Instance ID ④Bodyのパラメータ ・name ・description E.  $VOL_ID:Volume ID それでは、上記の①~④の順番で、パラメータ(変数)を取得していきます。   ① IBM Cloud へログイン ・IBM Cloud へログインします(対話式コマンドでログインを行います)。 >  ibmcloud login   →「Email」にIBM Cloud ログインIDを入力  →「Password」にIBM Cloud ログイン時のパスワードを入力  →「アカウント選択」で利用するアカウントが複数ある場合はアカウントNo.を選択 IBM Cloud にログインができました。   ② 認証情報 の取得 ②では、Power Virtual Server の認証情報を取得します。 Power Virtual Server で IBM Cloud API を利用するためには、すべてのリクエストに 「IBM Cloud IAM アクセストークン」 と 「CRN※」が必要で、これは認証情報と呼ばれます。 ※ CRN:Cloud Resource Name の略。Power Virtual Server のインスタンスID と テナントIDが含まれたもの。 A. IBM Cloud IAM アクセストークンの取得 ・IBM Cloud CLI を利用しアクセストークンを出力します。 > ibmcloud iam oauth-tokens ・必要なストリングをjsonを利用して抽出し、結果を「$TOKEN 」変数に入れます。 > $TOKEN = (ibmcloud iam oauth-tokens --output JSON | ConvertFrom-Json ).iam_token IBM Cloud IAM アクセストークンのパラメータ変数「$TOKEN」 が取得できました。 B. CRNの取得 ・IBM Cloud CLI を利用しCRNを出力します。 > ibmcloud pi service-list ・出力したCRN ID のストリングを抜き出し「$CRN」変数に代入します。 > $CRN = ( ibmcloud pi service-list --json | ConvertFrom-Json).crn 「$CRN」が取得できました。   ③ Pathのパラメータ取得 ③では、FlashCopy の実行文の Path 部分に設定するパラメータを取得します。 C.  Cloud Instance ID の取得 Cloud Instance ID を取得するためには「テナント ID」が必要です。「テナント ID」は「IBM Cloud のアカウントID」のことで、以下の通り、IBMCloud のWEB画面でも確認できます(https://cloud.ibm.com/account/settings)。 上記で確認できるIDをIBM Cloud CLI とAPI で取得します。 ・IBM Cloud CLI を利用し「$TENANT_ID」変数に IBM Cloud アカウントID(テナントID)を代入します。 > $TENANT_ID = (ibmcloud account show --output JSON | ConvertFrom-Json ).account_id ・IBM Cloud API を利用し、テナント状況「$TENANT_STATE」変数を作成します。 $TENANT_STATE = ( ` >> curl.exe -X GET ` >>    https://tok.power-iaas.cloud.ibm.com//pcloud/v1/tenants/$TENANT_ID ` >>   -H "Authorization: $TOKEN" ` >>   -H "CRN: $CRN" ` >>   -H "Content-Type: application/json"  ` >> | ConvertFrom-Json ) ・「$TENANT_STATE 」の「cloudInstances」キーに「cloudInstanceID」が含まれているため(上記のピンク色で囲んだ値)、この値を「$CLOUD_INSTANCE_ID」変数に代入します。 > $TENANT_STATE.cloudInstances > $CLOUD_INSTANCE_ID = ( $TENANT_STATE.cloudInstances).cloudInstanceID 「$CLOUD_INSTANCE_ID」 が取得できました。   D.  PVM Instance ID の取得 PVM Instance ID は、Power Virtual Server のインスタンスID のことです。下記の通り、IBM Cloud のWEB画面からも確認できます。 ・IBM Cloud CLI を利用してインスタンス情報を取得し結果を「$INSTANCE」変数に代入します。 > $INSTANCE = ( ibmcloud pi instances --json | ConvertFrom-Json ) ・「$INSTANCE」変数の「Payload.pvmInstances」キーの配下「pvmInstanceID」キーの値を「$PVM_INSTANCE_ID」変数に代入します。 >$PVM_INSTANCE_ID = ( $INSTANCE.Payload.pvmInstances.pvmInstanceID) 「$PVM_INSTANCE_ID」 が取得できました。   ④ Body のパラメータ取得 ④では、FlashCopy 実行文の Body 部分に設定するパラメータを取得します。 「name」と「description」は任意の値で構いません。 ・ name   :   test ・ description   :   snapshot-test と設定することにしました。 E.  Volume ID の取得 ややこしいのですが、Volume ID は Volume Name を指しています。実際に、Volume ID というパラメーターもあるので間違えないように注意が必要です。Volume ID は、以下の通りWEB画面でも確認できます。 ・IBM Cloud CLIを利用してインスタンス名をリストし、インスタンスに紐づくボリュームを調べます。 > ibmcloud pi instances > ibmcloud pi instance-list-volumes AIX72-test ・上記のピンク色で囲んだ値を「$VOL_ID」変数に代入します。 > $VOL_ID =(ibmcloud pi instance-list-volumes AIX72-test --json |ConvertFrom-Json ).Payload.volumes.name 「$VOL_ID」 が取得できました。   4) FlashCopy の実施 すべてのパラメータが取得できたので、いよいよ(やっと) FlashCopy を実行します。 ・念のため、3)で取得したパラメータ(変数)がきちんと出力されるか確認します。 FlashCopy の実行文は IBM Cloud API Doc に記載がある以下の文です。この実行文を例に、上記の取得したパラメーター(変数)を当てはめて FlashCopy を実行します。 curl -X POST   https://us-east.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/ ${CLOUD_INSTANCE_ID}/ pvm-instances/{pvm_instance_id}/snapshots      -H 'Authorization: Bearer <>'      -H 'CRN: crn:v1...'      -H 'Content-Type: application/json'      -d '{            "name": "VM1-SS",           "description": "Snapshot for VM1",           "volumeIDs":["VM1-7397dc00-0000035b-boot-0"]            }' 上記の実行文の通り、色々と試してみましたが、Body の部分( -d 以降) が PowerShell ではうまく実行できません。 そのため、Qiitaのブログを参考にさせていただき、Body は変数に当てはめて FlashCopy を実行しました(他の部分もかなり参考にさせていただいているブログです!)。 ・FlashCopy 実行文のBody の部分のみ変数に当てはめます。 > $BODY = '{"name": "test", "description": "snapshot-test","volumeIDs": ["' + $VOL_ID + '"] }' ・IBM Cloud API を利用して、FlashCopy を実行します。 > ( $BODY | curl.exe -X POST ` >> https://tok.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/ $CLOUD_INSTANCE_ID/pvm-instances/$PVM_INSTANCE_ID/snapshots ` >> -H "Authorization: $TOKEN" ` >> -H "CRN: $CRN" ` >> -H "Content-Type: application/json" ` >> -d `@- ) FlashCopy が完了しました! ・FlashCopy が正常に完了していることを IBM Cloud API を利用して確認します。(参考「Get all snapshots for this PVM instance」) > curl.exe -X GET ` >> https://tok.power-iaas.cloud.ibm.com/pcloud/v1/cloud-instances/ $CLOUD_INSTANCE_ID/pvm-instances/$PVM_INSTANCE_ID/snapshots ` >> -H "Authorization: $TOKEN" ` >> -H "CRN: $CRN" ` >> -H "Content-Type: application/json" 上記のピンク色で囲んだ値が FlashCopy の結果を示しています。 「percentComplete」が「100」、「status」が「available」であれば、FlashCopy が成功しています。 FlashCopy が成功していることを確認できました! この後、AIX環境に変更を加えて、取得したFlashCopy のデータのリストアを行い、変更前の状態に戻っているところまで確認しましたが、長くなりましたのでブログはここで終了します。 リストアは「Restore a PVM Instance snapshot」を参考にし、今回のバックアップ手順で取得したパラメータを利用すると簡単に実行できました。 次のブログでは、AIXインスタンスのバックアップ手順 Part.2をご紹介します。↓ ☆準備中です☆【やってみた】IBM Power Virtual Server AIX環境と IBM Cloud IA環境を接続してみた   最後に 今回の検証は、IBM Cloud API Docs や Qiita に投稿されているブログ を参考にさせていただきました。 Part.1 のImage Capture を利用したバックアップ方法と比べると、今回は慣れないAPIを利用したこともあり調査にとても時間が掛かりました。また、バックアップの事前準備の工程が多いので、バックアップ処理自体はあっという間でも事前準備に時間を取られました。 そのため、一時的な開発環境や検証環境であれば、Image Capture を利用する方がSEの負担が少ないと感じました。 ただ、実際の運用に組み込むとしたら、FlashCopyは差分バックアップも取れるので応用が利くとも感じます。 OS、ストレージ、データベース、アプリケーション。バックアップ対象も方法も様々で、バックアップ方法のドキュメントを読んでもイメージが湧かないことがよくあります。 今回のように実際に検証をしてみることで、イメージが湧き、メリット/デメリットを捉えることができるので、お客さまにも伝えやすくなります。今後も時間を見つけ、こつこつ検証をしていきたいと思います。   この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社 技術支援本部 E-Mail:nicp_support@NIandC.co.jp  

2021年09月16日

設備保全管理は、事後保全から将来の事業を生み出すための「予防保全」へ

製造現場やプラントでの設備資産保全業務は、「人手不足」と「属人性」がボトルネックとなって生産性向上を妨げられていることが少なくありません。 日常的に安全を確保し効率的に設備資産保全業務を運用するためには、トラブルや故障時だけに実施する「後手の対応」ではなく、未然にトラブルや故障を防ぐ「予防保全」の発想を基にした保全管理業務のDXが必要となります。 本記事では、設備資産保全業務の課題解決とともに設備資産保全業務のDXを加速する統合型デジタル・プラットフォーム「IBM Maximo Application Suite」をご紹介いたします。   Index 設備資産保全業務の課題とソリューションの必要性 保全戦略を進化させる設備管理パッケージ「IBM Maximo Application Suite」 IBM Maximo Application Suiteの3つの強み IBM Maximo Application Suiteが企業の成長に寄与する理由 ビジネス機会を逃していませんか?NI+C Pなら提案・サポートが可能です この記事に関するお問い合わせ 関連情報   設備資産保全業務の課題とソリューションの必要性 製造現場やプラントの設備資産保全業務は、これまで慢性的に「深刻な人手不足」や「設備の老朽化」、それに伴う「作業品質の低下」などの課題を抱え、その対応に迫られてきました。 これら「人手不足」と「属人性」を背景とした課題だけでなく、昨今ではさらにコロナ禍における「リモート作業」や「少人数での業務遂行」もそれに加わっています。 今、設備資産保全業務には非常時にも事業を継続するための新たな取り組みが急務とされるとともに、その実現に必要となる柔軟な基盤が求められています。 こうした状況の改善方法の1つが「予防保全」へのDXを支援するソリューションの導入です。 「予防保全」とは、設備構造や情報を見える化し、稼働状況や履歴、環境などを総合把握することで、トラブルが起きてから後追いで対応する従来の「事後保全」ではなく、先回りしてトラブルを予防することを意味します。 この「予防保全」を実現する戦略的設備管理ソリューションがもたらすのは、現場における人手不足と属人性からの脱却だけではありません。 管理部門に対しては、生産設備の稼働時間を最大化することにより、設備停止に伴う「機会損失の最小化」、無駄に部品を交換しないことによる「交換費用の最小化」など、新たな設備資産保全業務の改善策ももたらします。 また、従来は作業負荷や入力フォーマットの物理的な限界などから記録が限定的だった保全作業の実施履歴も、現在では、IoTセンサーやモバイル端末などによって様々なデータを取得・記録できるテクノロジーが整ってきています。 そして、これらの情報のすべてを保管し分析することで、設備・機器の管理に必要な予防、予測に用いることができるのです。 最近では、これらのデータをAIとエッジ・コンピューティングを活用し分析することで 以前とは桁違いの高レベルの洞察へと変換し、設備・機器の信頼性の向上と障害に強い運用を実現するために活用できます。 ただ、このようなソリューションの機能を一度にすべて手にしても使いきれない恐れがあるため、自社に必要な機能のみを必要になったときに取得できる方が、使わない機能に投資をしなくて済み、経済効率が高いといえます。 そこで力を発揮するのが「IBM Maximo Application Suite」です。 続いて下記では、その強みと企業の成長に寄与する理由を紹介します。   保全戦略を進化させる設備管理パッケージ 「IBM Maximo Application Suite」 製造現場やプラントにおいて、作業者や技術者、管理者が日々使用しているCMMS(設備保全管理システム)、または EAM(エンタープライズ資産管理)システムの中で、現在世界で最も利用されているソリューションの1つが、統合型デジタル・プラットフォーム「IBM Maximo Application Suite(以下、IBM MASと表記)」です。 IBM MASは、Red Hat OpenShiftを基盤に実績のある Maximo EAM (エンタープライズ・アセット・マネジメント)、及び、APM(アプリケーション・パフォーマンス管理)ソリューションを単一パッケージ化しています。 これにより、障害に強く信頼性の高い設備保全管理と運用に必須のインテリジェンスを提供。将来の事業を生み出す設備保全のDX加速を支援するソリューションとなっています。 IBM MASによって製造現場やプラントは、「ニューノーマル(新常態)」と呼ばれる現在の状況に対応する手段を構築するとともに、設備保全管理の新たな洞察と新しい働き方の循環モデルを実現し、保全戦略そのものを進化させることができるのです。 図1. IBM Maximo Application Suite主要機能一覧 ※バージョンによりご利用できる機能の範囲は異なります ※予定情報を含みます ※利用コンポーネント(CP4D、Kafkaなど)はアプリケーション毎に異なります   IBM Maximo Application Suiteの3つの強み 次に、IBM MASの3つの強みを紹介しましょう。   1. 豊富な導入実績と高度な専門知識を誇る、強力なコミュニティ基盤 IBM MAS の大きな強みの1つは、約30年に渡り積み上げられたIBMの豊富な導入実績です。 IBM は、その実績で生み出された多くの熱心なクライアントから成るユーザーグループを支援しており、そこで収集された膨大なお客さまの声は、IBM MAS の開発にしっかりと取り入れられています。 また、IBMには強力な業界ごとの専門知識を持つグローバルEAM(エンタープライズ・アセット・マネジメント)ビジネスパートナーたちがおり、長年にわたり、製品の品質向上に寄与し続けています。 これらの分厚いコミュニティ基盤と高度な専門知識が、 IBM MAS の構成に大きな価値を与える基盤となっているのです。そのため、規制への準拠を支援するIBM MAS の適応力の高さはユーザーから高く評価されています。   2. カスタマイズの容易さが生み出す、スピード感ある開発 IBM MASの2つ目の強みは、高度なカスタマイズをアプリケーション内で容易に行うことができることです。 IBM MASの「テーラリング機能」は、プログラミングなしのGUIによる簡単設定で、ユーザー要件に合わせた高度なカスタマイズを実行することができます。しかも、同機能によるカスタマイズはバージョンアップ対応時においても製品のサポート内です。 つまり、同機能を最大活用することにより開発期間、工数、リスクを低減し、長期に使用するシステムのTCO (Total Cost of Ownership)を低減することが可能になります。 また、製品の持つ機能でカスタマイズを実現するため、簡単かつ素早くシステムを組織の固有のニーズに適合させ、効果を素早く得ることができるのです。   3. 必要な機能のみを簡単導入、成長に合わせて必要なアプリを追加購入 IBM MASの3つめの強みは、当初は必要な機能のみを導入し、ビジネスの成長やユーザーの状況に応じて必要なアプリケーションを簡単に追加導入できることです。 これにより、アプリケーションの使用開始タイミングをいつでも自由に変更できるだけでなくムダなく必要なときに必要な機能を追加できるため、資産ライフサイクルに大きな柔軟性を加えることができます。 また、スイート製品全体でユーザー単位のライセンスを使用できるため、ユーザーは含まれる全ソリューションを利用でき、データの収集と分析、分析に基づく保全の実施にいたる包括的なソリューションを実現することが可能です。   IBM Maximo Application Suiteが企業の成長に寄与する理由 このように、IBM MASは、急速に変化する状況や想定外が続く状況下であっても、事後保全だけでなく将来の事業を生み出すための設備保全管理の「予防保全」を実現します。 次に、IBM MASが企業の成長に寄与する理由を「マネジメント」「現場」「保全」の各視点から紹介しましょう。   【マネジメントの視点】保全戦略の高度化と現場の徹底的な見える化の実現 IBM MASによる設備構造・情報の見える化によって、「設備構造の全体俯瞰」と「ドリルダウン」が可能になります。 そのため、直感的に稼働状況や履歴、環境など製造現場の総合的な状態を把握できるだけでなく、データの集計レベルをさらに詳細に掘り下げることも可能です。 これにより、保全戦略の高度化、現場の徹底的な見える化を実現するとともに、データに基づく意思決定を素早く行うことができるようになります。   【現場の視点】日常業務の効率化の実現 IBM MASは、今まで紙ベースだった「在庫の予実管理」や「設備台帳」、「状態保全・予知保全の記録」といった情報を、システム上に集約・保管します。 そのため、「点検・検査結果や設備情報の一元管理」や「直感的な情報検索や参照」が可能になります。 これにより、現場では日常点検を行う前の履歴を確認しやすくなるといった効果を得ることができ、記録を元に分析を進めることで属人性の排除や省人化を実現することができます。   【保全の視点】保全コストの最適化 IBM MASで、デジタル化された「在庫の予実管理」や「設備台帳連携」、「状態保全・予知保全」などの情報を一元管理することで、情報検索を可能にするだけでなく、想定外の事象が発生する頻度を下げる「計画外の保全防止」や「保全作業の効率化」にも有効です。 これにより、日常点検を効率化するとともに、保全コストを最適化することができます。   NI+C Pならご提案サポートが可能です エヌアイシー・パートナーズは、IBM Value Add Distributorとして、お客さまの課題に対し長年の実績とIBM製品への深い理解を持って、IBM製品を組み合わせた複合的な解決策をご提案しています。 また、Maximo Visual Inspectionの検証環境を提供可能なため、パートナー様提案前の技術検証(PoC)環境の提供も可能です。 以下に当てはまるお客様の課題を解決したい方は、ぜひ、エヌアイシー・パートナーズまでご相談ください。 資産ロケーションと利用状況をトラッキング・可視化できていない 複雑化しすぎている資産管理作業と契約体系をシンプルにしたい 運用コストとメンテナンスコストを低減できていない 資産のライフサイクルを延長し、メンテナンスを最適化したい 機器資産の管理方法・ツールが分散しており、包括的な計画が立てられていない     この記事に関するお問い合わせ エヌアイシー・パートナーズ株式会社 企画本部 事業企画部 この記事に関するお問い合せは、「こちら」からお願いします。   関連情報 IBM Maximo (製品情報) - 30年以上にわたり、EAMソフトウェアを代表する製品として高い評価を受けています。 IBM Maximo Visual Inspection (旧 IBM Visual Insights) (製品情報) - AI による業務の生産性向上、業務改革に取り組まれる方向けのソリューションです。  

2021年09月07日

第三回:【やってみた】WebSphere Hybrid Editionを導入してみた:アプリ導入編

こんにちは。 てくさぽ BLOG メンバーの岡田です。 IBM WebSphere Hybrid Edition(以下、WSHE)の導入をAzure上で検証してみた3回シリーズの3回目になります。 本記事ではWSHEで利用可能なアプリケーションのうち、Transformation AdvisorとCloud Foundry Migration Runtimeの導入検証を行いました。 第一回:【やってみた】WebSphere Hybrid Editionを導入してみた:OpenShift導入編 第二回:【やってみた】WebSphere Hybrid Editionを導入してみた:WebSphere Liberty導入編 第三回:【やってみた】WebSphere Hybrid Editionを導入してみた:ツール編 *本編 1.WSHEで利用できるアプリケーション WSHEではWebsphere以外に4つのアプリケーションを利用できます。今回はこのうちTransformation Advisor(以下、TAと省略)とCloud Foundry Migration Runtime(以下、CFMRと省略)の2つを導入してみました。 それぞれのアプリケーションを簡単に説明します。 TA: オンプレミスで稼働しているJava EEアプリケーションやメッセージング環境をコンテナ環境へ移行・モダナイズできるかを簡単に調査・レポートできるツールです。WebSphereだけでなくWebLogic / Tomcat等のJavaEE環境、IBM MQも分析可能です。 CFMR: Cloud Foundry アプリケーションを OpenShift 上で変更せずに実行することができる機能です。Cloud Foundryを利用していた管理者・開発者・ユーザーはこれまでのCloud Foundryと同様に利用できます。   2.事前準備 検証を行うにあたり、以下を用意しました。 ・踏み台サーバー兼NFSサーバー・・・今回はAzure上にRHEL8の仮想サーバーを作成し、リモートからこのサーバーに接続して作業しました。Persistent VolumeがTAの前提環境として必要になるため、今回は作業用サーバー上でNFSサーバーを起動し、OpenshiftのワーカーノードからNFSマウントできることまで事前に確認しました。 ・IBM ID ・・・ ライセンス・キーの入手に必要です。 ・TA用プロジェクト・・・今回は”ta"という名前で事前にOpenshift Webコンソールにて作成しました。作成手順は以下になります。 (1)Openshift Webコンソールにて、Home-Projectsを選択します。画面右にある「Create Project」ボタンをクリックします。 (2)名前(Name)に「ta」と入力して「Create」ボタンをクリックします。 (3)Projectsのリストに作成した「ta」があることを確認します。 3.導入検証実施 IBM Cloud Pak CLI (cloudctl)を使用してコマンドラインから導入します。 以下の手順で導入を実施しました。 (1)ライセンス・キーの入手 以下のサイトにIBM IDでログインし、ライセンス・キーを入手します。ライセンス・キーが表示されたら「キーのコピー」をクリックして、ライセンス・キーを控えておきます。 https://myibm.ibm.com/products-services/containerlibrary   (2) cloudctl ツールのダウンロードとインストール ・cloudctlコマンドをダウンロードします。 $ curl -L https://github.com/IBM/cloud-pak-cli/releases/latest/download/cloudctl-linux-amd64.tar.gz -o cloudctl-linux-amd64.tar.gz   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100   155  100   155    0     0    593      0 --:--:-- --:--:-- --:--:--   596 100   635  100   635    0     0   1306      0 --:--:-- --:--:-- --:--:--  1306 100 12.2M  100 12.2M    0     0  6794k      0  0:00:01  0:00:01 --:--:-- 11.2M $ ・ダウンロードしたファイルを解凍し、パスの通っているディレクトリに移動し、実行できることを確認します。 $ tar zxvf ./cloudctl-linux-amd64.tar.gz cloudctl-linux-amd64 $ sudo mv ./cloudctl-linux-amd64 /usr/local/bin/cloudctl [sudo] xxx のパスワード: $ which cloudctl /usr/local/bin/cloudctl $ cloudctl NAME: cloudctl - A command line tool to interact with IBM Cloud Platform Common Services and IBM Cloud PrivateUSAGE: [environment variables] cloudctl [global options] command [arguments...] [command options](以下、省略) (3)WebSphere Hybrid EditionのCASE アーカイブをダウンロード TAとCFMRの両方のプログラムが含まれているCASE(ContainerApplication Software for Enterprises)アーカイブをダウンロードします。コマンド出力がすべて”Success”となっていることを確認します。 $ cloudctl case save --case https://github.com/IBM/cloud-pak/raw/master/repo/case/ibm-websphere-hybrid-1.0.0.tgz --outputdir ./wshe-case Downloading and extracting the CASE ... - Success Retrieving CASE version ... - Success Validating the CASE ... Validating the signature for the ibm-websphere-hybrid CASE... - Success Creating inventory ... - Success Finding inventory items - Success Resolving inventory items ... Parsing inventory items Validating the signature for the ibm-cfmr CASE... Validating the signature for the ibm-transadv CASE... - Success (4)CASEアーカイブの検証 ・CP_USER および CP_APIKEY 環境変数を設定 $ export CP_USER=cp $ export CP_APIKEY=<ライセンス・キー> ・oc クライアントを使用して、クラスターにログイン $ oc login -u kubeadmin -p <パスワード> https://api.nicpwhecluster.xxx.com:6443 Login successful.You have access to 59 projects, the list has been suppressed. You can list all projects with 'oc projects'Using project "ta". $ ・CASE アーカイブを検証し、ライセンスを表示 これ以降のcloudctlのコマンドはroot権限で実行しています。最後に”CASE launch script completed successfully OK”と出力されていることを確認します。 # cloudctl case launch --case wshe-case/ibm-websphere-hybrid-1.0.0.tgz --inventory installProduct --action initialize --args "--viewLicense" Welcome to the CASE launcher Attempting to retrieve and extract the CASE from the specified location [?] CASE has been retrieved and extracted Attempting to validate the CASE [?] CASE has been successfully validated Attempting to locate the launch inventory item, script, and action in the specified CASE [?] Found the specified launch inventory item, action, and script for the CASE Attempting to check the cluster and machine for required prerequisites for launching the item Checking for required prereqs...(途中省略)Kubernetes RBAC Prerequisite Verbs Result Reason *.*/ * trueUser permissions result: OK [?] Cluster and Client Prerequisites have been met for the CASE Running the CASE installProduct launch script with the following action context: initialize Executing inventory item installProduct, action initialize : launch.sh [?] CASE launch script completed successfully OK # (5)インストール構成ファイルを解凍し、確認 tgzファイルを解凍し、展開されたファイルを確認します。 # cloudctl case launch --case wshe-case/ibm-websphere-hybrid-1.0.0.tgz --inventory installProduct --action initialize --args "--acceptLicense" Welcome to the CASE launcher Attempting to retrieve and extract the CASE from the specified location [?] CASE has been retrieved and extracted Attempting to validate the CASE [?] CASE has been successfully validated Attempting to locate the launch inventory item, script, and action in the specified CASE [?] Found the specified launch inventory item, action, and script for the CASE Attempting to check the cluster and machine for required prerequisites for launching the item Checking for required prereqs...Prerequisite Result Client docker CLI must meet the following regex: version (1[7-9]|[2-9][0-9]). false Client podman CLI must meet the following regex: version 1.([4-9]|[1-8][0-9]|9[0-9]). trueRequired prereqs result: OK Checking user permissions...Kubernetes RBAC Prerequisite Verbs Result Reason *.*/ * trueUser permissions result: OK [?] Cluster and Client Prerequisites have been met for the CASE Running the CASE installProduct launch script with the following action context: initialize Executing inventory item installProduct, action initialize : launch.sh [?] CASE launch script completed successfully OK # ls -al ./wshe-case/ total 824 drwxr-xr-x. 3 root root 4096 Mar 5 08:15 . dr-xr-x---. 7 root root 198 Mar 9 05:04 .. drwxr-xr-x. 2 root root 6 Mar 5 08:15 charts -rw-r--r--. 1 root root 32 Mar 5 08:15 ibm-cfmr-1.0.0-charts.csv -rw-r--r--. 1 root root 10274 Mar 5 08:15 ibm-cfmr-1.0.0-images.csv -rw-r--r--. 1 root root 223820 Mar 5 08:15 ibm-cfmr-1.0.0.tgz -rw-r--r--. 1 root root 32 Mar 5 08:15 ibm-transadv-2.4.1-charts.csv -rw-r--r--. 1 root root 4216 Mar 5 08:15 ibm-transadv-2.4.1-images.csv -rw-r--r--. 1 root root 506537 Mar 5 08:15 ibm-transadv-2.4.1.tgz -rw-r--r--. 1 root root 32 Mar 5 08:15 ibm-websphere-hybrid-1.0.0-charts.csv -rw-r--r--. 1 root root 1195 Mar 5 08:15 ibm-websphere-hybrid-1.0.0-images.csv -rw-r--r--. 1 root root 67571 Mar 5 08:15 ibm-websphere-hybrid-1.0.0.tgz# (6)cloudctl CASE インストーラーを実行 最後に”CASE launch script completed successfully OK”と出力されていることを確認します。 # cloudctl case launch --case wshe-case/ibm-websphere-hybrid-1.0.0.tgz --inventory installProduct --action install --args "--acceptLicense" Welcome to the CASE launcher Attempting to retrieve and extract the CASE from the specified location [?] CASE has been retrieved and extracted Attempting to validate the CASE [?] CASE has been successfully validated Attempting to locate the launch inventory item, script, and action in the specified CASE [?] Found the specified launch inventory item, action, and script for the CASE Attempting to check the cluster and machine for required prerequisites for launching the item Checking for required prereqs...Prerequisite Result openshift Kubernetes version must be >=1.17.0, <1.19.0 true Kubernetes node resource must match a set of expressions defined in prereqs.yaml true Client docker CLI must meet the following regex: version (1[7-9]|[2-9][0-9]). false Client podman CLI must meet the following regex: version 1.([4-9]|[1-8][0-9]|9[0-9]). trueRequired prereqs result: OK Checking user permissions...Kubernetes RBAC Prerequisite Verbs Result Reason *.*/ * trueUser permissions result: OK [?] Cluster and Client Prerequisites have been met for the CASE Running the CASE installProduct launch script with the following action context: install Executing inventory item installProduct, action install : launch.shStarting Install ***************************************************************Login To Cluster... okstdout: Using provided cluster configuration. Logged in as kube:admin.Get Cluster Server Address... okstdout: https://api.nicpwhecluster.xxx.com:6443Save Cluster Server Address... okCheck Cluster Version... okstdout: OpenShift 4.5.31 detected.Check Cluster Administrator Role... okstdout: yesGet Authorization Endpoint... okstdout: https://oauth-openshift.apps.nicpwhecluster.xxx.com/oauth/authorizeSave Authorization Endpoint... okGet Default Cluster Subdomain... okstdout: apps.nicpwhecluster.azure-cloudpak-nicptest.comSet Cluster Subdomain... okCheck Entitled Registry Variables... okGet Existing Operator Subscriptions... okstdout: { "other": {} }Set Subscriptions Properties... okSwitch To Transformation Advisor Project... donestdout: Switched to ta project.Populate Transformation Advisor Operator Configuration... doneCreate Pull Secret... donestdout: secret/wshe-pull-secret createdInstall Transformation Advisor Operator... donestdout: operatorgroup.operators.coreos.com/ta created subscription.operators.coreos.com/wshe-transadv createdConfigure Transformation Advisor Service Account... donestdout: clusterrole.rbac.authorization.k8s.io/cluster-admin added: "system:serviceaccount:ta:ta-operator"stderr: Warning: ServiceAccount 'ta-operator' not foundAdd Security Context Constraints To User... donestdout: securitycontextconstraints.security.openshift.io/anyuid added to: ["system:serviceaccount:ta:default"]Check for Transformation Advisor Operator... okGet wshe-transadv ClusterServiceVersion... Retrying... (1 of 51) Retrying... (2 of 51) okstdout: ta-operator.v2.3.4Check ta-operator.v2.3.4 ClusterServiceVersion... Retrying... (1 of 51) Retrying... (2 of 51) Retrying... (3 of 51) Retrying... (4 of 51) Retrying... (5 of 51) Retrying... (6 of 51) Retrying... (7 of 51) Retrying... (8 of 51) okSwitch To Cloud Foundry Migration Runtime Project... donestdout: Created cfmr-operator project.Create Pull Secret... donestdout: secret/wshe-pull-secret createdConfigure Cloud Foundry Migration Runtime Service Account... donestdout: clusterrole.rbac.authorization.k8s.io/cluster-admin added: "system:serviceaccount:cfmr-operator:wshe-ibmcfmrprod-ibm-cfmr-serviceaccount" clusterrole.rbac.authorization.k8s.io/self-provisioner added: "system:serviceaccount:cfmr-operator:wshe-ibmcfmrprod-ibm-cfmr-serviceaccount"stderr: Warning: ServiceAccount 'wshe-ibmcfmrprod-ibm-cfmr-serviceaccount' not found Warning: ServiceAccount 'wshe-ibmcfmrprod-ibm-cfmr-serviceaccount' not foundAdd Security Context Constraints... donestdout: securitycontextconstraints.security.openshift.io/restricted added to: ["system:serviceaccount:cfmr-operator:wshe-ibmcfmrprod-ibm-cfmr-serviceaccount"]Install Cloud Foundry Migration Runtime Operator... donestdout: customresourcedefinition.apiextensions.k8s.io/ibmcfmrprods.cfmr.ibm.com created serviceaccount/cfmr-operator created clusterrole.rbac.authorization.k8s.io/cfmr-operator created clusterrolebinding.rbac.authorization.k8s.io/cfmr-operator created deployment.apps/cfmr-operator createdCheck for Cloud Foundry Migration Runtime Operator... Retrying... (1 of 51) Retrying... (2 of 51) Retrying... (3 of 51) Retrying... (4 of 51) Retrying... (5 of 51) okstdout: All cfmr-operator pods are running and are ready.Switch To Cloud Foundry Migration Runtime Project... donestdout: Switched to cfmr-operator project.Get Default Pull Secret... skippedSet Project Pull Secret... skippedPopulate Cloud Foundry Migration Runtime Custom Resource... doneInstall Cloud Foundry Migration Runtime Resource... donestdout: ibmcfmrprod.cfmr.ibm.com/wshe-ibmcfmrprod createdWait for Cloud Foundry Migration Runtime Install... Retrying... (1 of 301) Retrying... (2 of 301) Retrying... (3 of 301) (途中省略) Retrying... (79 of 301) Retrying... (80 of 301) Retrying... (81 of 301) Retrying... (82 of 301) Retrying... (83 of 301) okstdout: The wshe-ibmcfmrprod-ibm-cfmr job has completed successfullystderr: + NAMESPACE=cfmr-operator + LABEL_QUERY=release=wshe-ibmcfmrprod + sleep 10 ++ oc -n cfmr-operator get job -l release=wshe-ibmcfmrprod -o 'jsonpath={range .items[*]}{@.metadata.name}{end}' + JOBS=wshe-ibmcfmrprod-ibm-cfmr + for JOB_ENTRY in $JOBS ++ oc -n cfmr-operator get job wshe-ibmcfmrprod-ibm-cfmr -o 'jsonpath={.status.active}' + JOB_ACTIVE= ++ oc -n cfmr-operator get job wshe-ibmcfmrprod-ibm-cfmr -o 'jsonpath={.status.failed}' + JOB_FAILED= ++ oc -n cfmr-operator get job wshe-ibmcfmrprod-ibm-cfmr -o 'jsonpath={.status.succeeded}' + JOB_SUCCEEDED=1 + '[' -n '' ']' + '[' -n '' ']' + '[' -n 1 ']' + echo 'The wshe-ibmcfmrprod-ibm-cfmr job has completed successfully' + exit 0Get Cloud Foundry Migration Runtime UI Route... done stdout: xx.xx.xx.xx(外部IPアドレス) set_fact... ok Switch To Transformation Advisor Project... done stdout: Switched to ta project. Get Default Pull Secret... skipped Set Project Pull Secret... skipped Generate Certificate and Create Transformation Advisor Secret... done stdout: Secret transformation-advisor-secret already exists Load Generated Transformation Advisor Certificate... ok Populate Transformation Advisor Custom Resource... done Load Transformation Advisor Custom Resource... ok Customize Transformation Advisor Custom Resource... done Check Transformation Advisor Custom Resource... ok msg: All assertions passed Install Transformation Advisor Custom Resource... done stdout: transadv.charts.ta.cloud.ibm.com/ta created Check For Transformation Advisor UI... Retrying... (1 of 51) Retrying... (2 of 51) Retrying... (3 of 51) Retrying... (4 of 51) Retrying... (5 of 51) Retrying... (6 of 51) Retrying... (7 of 51) Retrying... (8 of 51) ok stdout: All ui pods are running. Check For Transformation Advisor Database... Retrying... (1 of 26) Retrying... (2 of 26) Retrying... (3 of 26) Retrying... (4 of 26) Retrying... (5 of 26) ok stdout: All couchdb pods are running. Check For Transformation Advisor Server... Retrying... (1 of 51) Retrying... (2 of 51) Retrying... (3 of 51) Retrying... (4 of 51) Retrying... (5 of 51) Retrying... (6 of 51) Retrying... (7 of 51) Retrying... (8 of 51) Retrying... (9 of 51) Retrying... (10 of 51) Retrying... (11 of 51) ok stdout: All server pods are running. Annotate Transformation Advisor Deployments... done stdout: deployment.apps/ta-ew7tae-couchdb patched deployment.apps/ta-ew7tae-server patched deployment.apps/ta-ew7tae-ui patched Get Transformation Advisor UI Route... done stdout: ta-apps.apps.nicpwhecluster.azure-cloudpak-nicptest.com set_fact... ok Mark Installation Complete... done Install successful ************************************************************* Installation complete. The IBM Transformation Advisor UI is available at: https://ta-apps.apps.nicpwhecluster.xxx.com The IBM Cloud Foundry Migration Runtime UI is available at: https://ui.xx.xx.xx.xx.nip.io [?] CASE launch script completed successfully OK # コマンド出力の最後にTAとCMFRそれぞれのアクセスするURLが表示されますのでメモしておきます。 (7)接続確認 TA:以下のURLにWebブラウザでアクセスしてページが表示されることを確認します。 https://ta-apps.apps.nicpwhecluster.xxx.com CMFR:こちらも同様に以下のURLにアクセスしてページが表示されることを確認します。 https://ui.<外部IPアドレス>.nip.io これで導入検証は完了です。 補足 以上が導入検証を実施した際の内容となりますが、現在は一部手順が更新されています。TAとCFMRは個別で導入するようにマニュアルが更新されています。これから導入される方は以下のマニュアルを確認の上、実施してみてください。 https://www.ibm.com/docs/en/websphere-hybrid?topic=installation 最後に いかがでしたでしょうか。WindowsアプリやLinuxのrpmパッケージのインストールのようには簡単ではないので、すこし難しいかなと感じました。cloudctlコマンドとCASEの利用はTA、CFMRそれぞれ単体の導入でも同様に行いますので、その際にこの記事が参考になればと思います。 ここまでお読みいただきありがとうございました。 この記事に関する、ご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社 技術支援本部 E-Mail:nicp_support@NIandC.co.jp          

back to top