LifeKeeper for Windows HULFT クラスター構成ガイド 目次 1.環境 設定手順 ノード 1 とノード 2 上に仮想サーバーを構築 ノード 1 とノード 2 に Windows Server 2016 をインストール...6 2

Similar documents
CLUSTERPRO MC StorageSaver for BootDisk 2.1 (for Windows) インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

目次 本書の取り扱いについて... 3 事前準備... 4 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のディスク領域を使う場合の起動方法 )... 5 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のメデ

CLUSTERPRO MC StorageSaver for BootDisk 1.2 (for Windows) インストールガイド 2014(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows インストールガイド 2013(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

改版履歴 Ver. 日付履歴 1.0 版 2014/5/30 目次 0 はじめに 本文中の記号について Windows Server Failover Cluster をインストールするための準備 Windows Server Failover

クラスタ構築手順書

SIOS Protection Suite for Linux v9.3.2 AWS Direct Connect 接続クイックスタートガイド 2019 年 4 月

改版履歴 Ver. 日付履歴初版 2014/7/10 - 目次 1. はじめに クラスター構築の流れ Windows Server Failover Cluster をインストールするための準備 OS のセットアップ時の注意... -

CLUSTERPRO MC RootDiskMonitor 2.3 for Windows インストールガイド 2018(Jun) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 本製品のアップデートインストール

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

CLUSTERPRO MC RootDiskMonitor 2.1 for Windows パトロールシーク機能 インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

HP Device Manager4.7インストール・アップデート手順書

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

ConsoleDA Agent For Server インストールガイド

CLUSTERPRO MC StorageSaver 2.0 for Windows インストールガイド 2015 (Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 本製品のアップデートインストール 注意 制限

CLUSTERPRO MC RootDiskMonitor 1.1 for Windows パトロールシーク機能 インストールガイド 2013(Sep) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

CLUSTERPRO MC StorageSaver 2.4 for Windows インストールガイド

目次はじめに 必要システム環境 インストール手順 インストール前の注意点 インストールの準備 (.NET Framework3.5 SP1 のインストール ) ライセンスの登録 初期設定情報の入力... 8

Microsoft Word JA_revH.doc

WES7/WE8SシンクライアントVMwareHorizonClientアップデート手順書

2

Oracle Business Intelligence Standard Edition One のインストール

第 1 版

クラウドバックアップサービスアンインストールガイド 第 1.3 版 平成 29 年 1 月 24 日 株式会社大塚商会

GHS混合物分類判定システムインストールマニュアル

Microsoft iSCSI Software Targetを使用したクラスタへの共有ディスク・リソースの提供

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

FormPat 環境設定ガイド

WES7シンクライアントIE11アップデート手順書

目次 はじめに StorageCraft Recovery Environment Builder をインストールする 必要なソフトウェアを確認する ダウンロードする インストールを実行する Window

顧客名

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

Microsoft Word - ESX_Setup_R15.docx

クラウドファイルサーバーデスクトップ版 インストールマニュアル ファイルサーバー管理機能 第 1.1 版 2017/01/24 富士通株式会社

1

第 2 版

CLUSTERPRO MC ProcessSaver 2.3 for Windows インストールガイド 2018(Jun) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品のアンインストール 本製品のアップデートインストール

2. インストールの方法 インストールの手順は まずインストーラーをサイトからダウンロードし イールドブック カリキュレーターと Java Web Start をインストールします 次にイールドブック カリキュレーターを起動してサーバー接続し Java のファイルをダウンロードします 以下の手順に従

目次 はじめに システム環境 インストール手順 インストール前の注意点 インストールの準備 ライセンスの登録 インストール先の選択 インストールの開始 インストール

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

Maple 12 Windows版シングルユーザ/ネットワークライセンス

ご注意 1) 本書の内容 およびプログラムの一部 または全部を当社に無断で転載 複製することは禁止されております 2) 本書 およびプログラムに関して将来予告なしに変更することがあります 3) プログラムの機能向上のため 本書の内容と実際の画面 操作が異なってしまう可能性があります この場合には 実

文書番号 :LK LifeKeeper for Linux インストレーションガイド (Dell PowerVault MD3600f 編 ) 第 1 版 サイオステクノロジー株式会社

捺印ツールを使う 捺印ツールをインストールする 1. [ パソコン決裁 6 試用版捺印ツール ] の [ ダウンロード ] ボタンをクリックします 2. [ 実行 ] ボタンをクリックし [SetupDstmp32.exe] ファイルを実行します ご利用のブラウザまたはバージョンにより画面が異なりま

1 はじめに 私は フリーのデータベースである MySQL とフリーの開発環境である Visual Basic 2010 Express を使用して Windows7 以降で動作するアプリケーションプログラムを趣 味として作成して遊んでいます 自分のパソコンには一度インストールしてしまえば 後 は何

MAPインストーラー起動時のエラーメッセージへの対処方法

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

MC3000一般ユーザ利用手順書

ActiveImage Protector 2016 R2 for Express5800 / ftサーバ

クライアント証明書導入マニュアル

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

新OS使用時の留意事項

改訂履歴 改訂日改定内容 第 1 版 2013 年 7 月 16 日新規作成 第 2 版 2013 年 9 月 4 日 STEP3-2 認証用バッチの実行 に Vista での操作を追記 第 3 版 2014 年 7 月 14 日 Windows XP に関する記述を削除 STEP2-1 新規インス

Flash Loader

LifeKeeperサポートへの問い合わせ

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

アーカイブ機能インストールマニュアル

目次 1. HLA Fusion 3.0 がインストール可能な環境 HLA Fusion 3.0 のインストール HLA Fusion 3.4 のインストール 初期設定用データベース接続 ( 初めての方のみ ) 既存データベースのUpg

CLUSTERPRO MC StorageSaver 1.0 for Windows インストールガイド 2013(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 注意 制限事項

もくじ 2 はじめに... 3 概要... 4 動作環境... 4 利用制限モードについて... 4 本マニュアルの見かた... 4 HOME アプリマネージャの基本操作... 5 HOME アプリマネージャをインストールする... 6 HOME アプリマネージャを起動する... 8 HOME アプ

インストーラー 管理番号 内容 対象バージョン 230 HULFT がすでにインストールされているパスに対してサイレントインストールを実行すると インストールされていた HULFT の動作環境が不正な状態になる 7.3.0~7.3.1 ユーティリティ 管理番号 内容 対象バージョン 231 管理情報

セットアップカード

939061j

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

インストール要領書

まえがき 2011 年 11 月 1 日 ver1.0 [ 初版 ] 運用中の ESX(i) ホストの負荷が高く 仮想アプライアンスの実行が望ましくない場合 ESX インフラストラクチャ外部にある物理コンピュータへのエージェント for ESX(i) (Windows) のインストールを検討してくだ

目次 移行前の作業 3 ステップ1: 移行元サービス メールソフトの設定変更 3 ステップ2: アルファメール2 メールソフトの設定追加 6 ステップ3: アルファメール2 サーバへの接続テスト 11 ステップ4: 管理者へ完了報告 11 移行完了後の作業 14 作業の流れ 14 ステップ1: メー

1. Microsoft Loopback Adapter のインストール 1) ノートパソコンにおいて そのパソコンの管理者アカウントによりログオンします 2) [ スタート ] > コントロールパネルを開きます 3) 表示方法 : カテゴリの場合には ハードウェアとサウンド > デバイスマネージ

Microsoft® Windows® Server 2008/2008 R2 の Hyper-V 上でのHP ProLiant用ネットワークチーミングソフトウェア使用手順

SonicDICOM Cloud Connector インストール手順書 SonicDICOM Cloud Connector とは 検査装置が撮影した画像を自動的にクラウドへアップロー ドするためのソフトウェアです 1 前準備 クラウド上に PACS を作成する SonicDICOM Cloud

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

スライド 1

HP ThinUpdateを使用したWESシンクライアントイメージリストア手順書

もくじ はじめに 3 TOPTOWERNET をご利用いただくために 3 TCP/IPの設定 windows XP 編 4 windows 2000 編 7 windows 95/98/Me 編 9 Mac OS 編 12 WEB ブラウザの設定 Internet Explorer 6.0 編 14

Microsoft Word - nvsi_090200jp_r1_nvbsvr_mscs.doc

ELC 5.3

Procedure-for-Azure-v1.1

スライド 1

Sharpdesk V3.5インストレーションガイド:プロダクトキー編

MotionBoard Ver. 5.6 パッチ適用手順書

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

RICOH Device Manager Pro バックアップ/バージョンアップ作業手順書

CLUSTERPRO MC StorageSaver 2.2 for Linux リリースメモ 2017(Apr) NEC Corporation ライセンス パッケージのインストール セットアップ マニュアル 補足事項 注意事項

セットアップの流れ Graphtec Pro Studio を使用する SAi Cloud へのユーザー登録 1-1 SAi Cloud へのユーザー登録 Graphtec Pro Studio のインストール 1-2 Graphtec Pro Studio のインストール Cutting Mast

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

リモートアクセスライト インストールガイド リモートアクセスライト インストールガイド 第 1. 1 版 2017 年 12 月 12 日

法人税の達人from減価償却の達人 運用ガイド

03 Podium Walkerのインストール方法およびアンインストール .docx

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

ユーザーズマニュアル

Microsoft Word - シャットダウンスクリプトWin7.doc

Cuoreテンプレート

PDFオートコンバータEX

インストールガイド 動作環境 ( 指導者端末 ) OS Microsoft Windows 10(Home / Pro,32bit/64bit 含む ) Creators update 以降.NET Framework インストールガイド CPU グラフィックスメモリ画面解像度 Inte

Upload path ファイル送信先ディレクトリのパスを指定します ホームディレクトリに画像を送信する場合は空白のまま サブディレクトリに画像を送信する場合はディレクトリ名を指定します さらに下位のディレクトリを指定する場合は \ マークを利用します 例 ) ホームディレクトリ以下の camera

Corporate Document

Transcription:

文書番号 :LK20180515-202-001 LifeKeeper for Windows HULFT 動作検証レポート 第 1 版 サイオステクノロジー株式会社

LifeKeeper for Windows HULFT クラスター構成ガイド 目次 1.環境...3 2.設定手順...4 2-1. ノード 1 とノード 2 上に仮想サーバーを構築...6 2-2. ノード 1 とノード 2 に Windows Server 2016 をインストール...6 2-3.ネットワークの確立 ホスト名の名前解決...6 2-4. ドメインネットワークへの参加...7 2-5. LifeKeeper のインストール...8 2-6. License Key のインストール...8 2-7.LifeKeeper の起動...8 2-8.LifeKeeper GUI の起動...9 2-9.クラスターの設定...9 2-10. ボリュームリソース IP リソースの作成...9 2-11. 各ノードへの HULFT のインストール... 11 2-12. HULFT システム動作環境の設定(hulenv.cnf)... 22 2-13. HULFT リソースの作成... 25 2-14. リソース依存関係の作成... 31 2-15.HULFT 階層のバックアップサーバへの手動スイッチオーバー... 36 2-16.詳細ホスト情報 転送グループ情報の設定... 38 2-17.配信管理情報 集信管理情報の設定... 43 2-18.ファイル配信... 46 参考情報... 51 2

本ドキュメントは 2 台の仮想サーバーで共有ディスクを構成した環境に対して LifeKeeper for Windows v8.6.1クラスターおよび HULFT for Windows v8.1.3を導入し HULFTサービスを汎用アプリケーションリソースとしてリソース登録するためのガイドです 注 ) 当資料が対象とするバージョン以外のOS HULFT for Windows LifeKeeper for Windows をご使用の場合は インストールや設定の手順が異なる場合があります その場合は ご使用のバージョンのマニュアルやRelease Notes 等に記載された手順に従ってください 1. 環境 実際に使用した環境は 以下になります H/W 環境サーバー :VMware 仮想サーバーメモリ :4.0 GB CPU: Intel(R) Xeon E5-2637 v2 3.50GHz S/W 環境 O/S:Microsoft Windows Server 2016 Standard Edition クラスターソフトウェア :LifeKeeper for Windows v8.6.1 HULFTソフトウェア :HULFT for Windows v8.1.3 2 台のサーバーでクラスターを構成します 各サーバーのOSや設定は同一にします それぞれのサーバー上の OS, ホストを 本ドキュメントではクラスターに所属するホストを示すノード1 ノード2と表記します 3

2. 設定手順 実際の手順の流れは以下になります 1) ノード1とノード2 上に仮想サーバーを構築 2) ノード1とノード2にWindows Server 2016 をインストール 3) ネットワークの確立 ホスト名の名前解決 4) ドメインネットワークへの参加 5) LifeKeeper のインストール 6) License Key のインストール 7) LifeKeeper の起動と停止 8) LifeKeeper GUI の起動 9) クラスターの設定 10) ボリュームリソース IPリソースの作成 11) 各ノードへのHULFT のインストール 12) HULFTシステム動作環境の設定 (hulenv.cnf) 13) HULFT リソースの作成 14) リソース依存関係の作成 15) HULFT 階層のバックアップサーバへの手動スイッチオーバー 16) 詳細ホスト情報 転送グループ情報の設定 17) 配信管理情報 集信管理情報の設定 18) ファイル配信 LifeKeeper for Windows の導入および設定について詳しくは 以下のドキュメントを参 照してください SIOS Protection Suite インストレーションガイド http://jpdocs.us.sios.com/windowssps/8.6/sps4w/spsinstall/index.htm SIOS Protection Suite テクニカルドキュメンテーション設定 http://jpdocs.us.sios.com/windowssps/8.6.1/sps4w/techdoc/index.htm#config uration.htm 4

LifeKeeper for Windows HULFT クラスター構成ガイド LifeKeeper for Windows を仮想環境で使用する場合の考慮事項について詳しくは 以下 のドキュメントを参照してください SIOS Protection Suite for Windows SIOS DataKeeper Cluster Edition 仮想環境構成ガイド(VMware vsphere6 編) https://sios.jp/products/lkdk/product/pdf/vmware_vsphere6.pdf HULFT の導入および設定について詳しくは HULFT のマニュアルを参照してください 各項目の具体的な作業内容を以降に記述します 以下の構成図 図1 を参考に 構成します 図 1 5

2-1. ノード 1 とノード 2 上に仮想サーバーを構築 2 台の仮想サーバーを作成します ここでは vsphere Client 上で 新規仮想マシンの作 成 ウィザードを使用して 標準 の構成を利用して作成します 今回は 前述の構成図の通りとなるよう 以下の通り設定します [ ストレージ ] ホストサーバーのローカルディスクを指定 [ ネットワーク ] ネットワークの数 3 - NIC1, Office Network, E1000, パワーオン時に接続 にチェック - NIC2, Private Network 1, E1000, パワーオン時に接続 にチェック - NIC3, Private Network 2, E1000, パワーオン時に接続 にチェック 2-2. ノード 1 とノード 2 に Windows Server 2016 をインストール ノード1とノード2に Microsoft Windows Server 2016 をインストールします グラフィカルインターフェースが必要となるため インストールするオペレーティングシステムを選んでください の画面では デスクトップエクスペリエンス を選択します 2-3. ネットワークの確立 ホスト名の名前解決 LifeKeeper for Windows では クラスターで使用するサービスネットワークとは別セグメント上にコミュニケーションパスを2 経路以上設定します 事前に クラスターノード間のそれぞれのネットワークでpingによる疎通が可能である事を確認してください 注 :Windows Server 2008 R2 以降では 初期インストール時は ping 応答が許可されていません 必要に応じて Windowsスタートメニュー > 管理ツール > セキュリティが強化されたWindowsファイアウオールから ping 応答を許可するよう設定してください 6

また LifeKeeper ではホスト名を使用して通信を行います その為 ノード間では DNS や hosts ファイルを使用して名前解決できるようにしてください Windows Server 2016 の host ファイルは以下のパスにあります C:\Windows\System32\drivers\etc\hosts 今回は Windows コントロールパネル \ ネットワークとインターネット \ ネットワーク 接続の画面を使用して以下のように設定します [ ノード1] Office Network 10.1.5.167/16 Private Network 1 192.168.1.167/24 Private Network 2 172.16.1.167/24 Default Gateway 10.1.0.1 DNS 10.1.5.90 [ ノード2] Office Network 10.1.5.168/16 Private Network 1 192.168.1.168/24 Private Network 2 172.16.1.168/24 Default Gateway 10.1.0.1 DNS 10.1.5.90 2-4. ドメインネットワークへの参加 LifeKeeper for Windows はドメイン環境での使用が推奨されます Windows コントロールパネル \ システムとセキュリティ \ システムからシステムのプロパティを起動して ドメインネットワークへ参加します 今回は 以下とおり設定します [ ノード 1] コンピューター名 所属するグループ lk167 ドメイン (lkg.local) 7

[ ノード 2] コンピューター名 所属するグループ lk168 ドメイン (lkg.local) 2-5. LifeKeeper のインストール LifeKeeper for Windows v8.6.1 を ノード 1 ノード 2 の両サーバー上にインストー ルします 今回は 全てデフォルトのインストールオプションを使用します インストールの具体的な手順については 以下のガイドを参照してください SIOS Protection Suite インストレーションガイド (v8.6.1) http://jpdocs.us.sios.com/windowssps/8.6.1/sps4w/spsinstall/index.htm 2-6. License Key のインストール LifeKeeper for Windows のライセンスキーをノード1 ノード2の両サーバーにインストールします 各ノードのサーバー上の任意のパスにライセンスキーを配置しておきます インストールウィザード内で またはインストール後に License Key Installer を起動することで ライセンスの導入を行います ライセンス導入の具体的な手順については 以下のガイドを参照してください ライセンスの取得とインストール http://jpdocs.us.sios.com/windowssps/8.6.1/sps4w/spsinstall/index.htm#instal lation/installing_sps/obtaining_and_installing_the_license.htm 2-7.LifeKeeper の起動 LifeKeeper を起動するために 両ノードで以下 1) または 2) いずれかの手順を実施します 1) lkstart コマンドを実行します C:\LK\Bin\lkstart 8

2) Windows サービスメニューから LifeKeeper サービス > 開始を選択します 2-8.LifeKeeper GUI の起動 A) LifeKeeper GUI を起動します Windows スタートメニューから LifeKeeper(Admin Only) を選択します B) LifeKeeper にログインします Server Name には実行したノード名が入ります ログインユーザ名とパスワードは LifeKeeper の管理ユーザーの情報を入力します 管理ユーザーの情報は 初期設定として OS のスーパーユーザー (administrator) とそのパスワードが設定されています 2-9. クラスターの設定 クラスターノード間でコミュニケーションパスを構成します クラスターの設定の具体的 な手順については 以下のガイドを参照してください SIOS Protection Suite の設定手順 http://jpdocs.us.sios.com/windowssps/8.6.1/sps4w/techdoc/index.htm#config uration/sps_configuration_steps.htm 2-10. ボリュームリソース IP リソースの作成 クラスター構成が完了したら クラスターで保護するリソースを作成します 最終的に以下 のようなリソース階層を構成します HULFT サービス ( 汎用アプリケーションリソース ) 仮想 IP アドレス (IP リソース ) 共有ディスク ( ボリュームリソース ) A) ボリュームリソースを作成します 事前に 2 台の仮想サーバーに対して 共有ディスクとしてひとつの LUN をマップし 9

ておきます 次に Windows ディスクの管理画面で ディスクのオンライン化 フォー マットを行い ドライブレターをアサインしておきます 今回は 共有ディスクにドライブレター H: をアサインします 仮想環境上の共有ディ スク構成について詳しくは 以下のガイドを参照してください SIOS Protection Suite for Windows SIOS DataKeeper Cluster Edition 仮想環境構成ガイド (VMware vsphere6 編 ) https://sios.jp/products/lkdk/product/pdf/vmware_vsphere6.pdf ボリュームリソースの作成の具体的な手順については 以下のガイドを参照してくださ い ボリュームリソース階層の作成 http://jpdocs.us.sios.com/windowssps/8.6.1/sps4w/techdoc/index.htm#ad ministration/administrator_gui_tasks/creating_resource_hierarchies/creatin g_a_volume_resource_hierarchy.htm B) IP リソースを作成します IP リソースの作成の具体的な手順については 以下のガイドを参照してください IP アドレスリソース階層の作成 http://jpdocs.us.sios.com/windowssps/8.6.1/sps4w/techdoc/index.htm#ad ministration/administrator_gui_tasks/creating_resource_hierarchies/creatin g_an_ip_address_resource_hierarchy.htm 10

ここで設定した仮想 IP アドレスを使用して この後 HULFT クラスターの設定を行います ここまでの手順で 以下の図の通りリソースが作成されています 2-11. 各ノードへの HULFT のインストール HULFT for Windows v8.1.3 を ノード 1 ノード 2 の順にインストールします インストールについて詳細は HULFT のガイドを参照してください HULFT 8 導入マニュアル (Windows) <HULFT メディア >\Manual(PDF)\jpn\HULFT8_JP_INS_WIN 11

A) まずはノード 1 上に HULFT をインストールします はじめは以下のように ノード 1 側でリソースがアクティブになっていることを確認します B) ノード1 上で HULFT のインストールメディアから setup を起動します HULFT インストール時に 必須ソフトウェアがインストールされていません といったメッセージが出力しインストールが中断する場合は インストールメディアの ISSetupPrerequisites フォルダに含まれる Visual C++ 再頒布可能パッケージのインストールを行ってから setup を起動します 12

C) 設定言語の選択画面で 日本語を選択し [ 次へ ] を押下します D) [ 次へ ] を押下します 13

LifeKeeper for Windows HULFT クラスター構成ガイド E) ライセンス情報の入力画面で シリアル番号とプロダクトキーを入力し[次へ]を押下 します F) サービス名を入力して[次へ]を押下します 今回は 何も入力せずデフォルトのサービ ス名のままとします 何も入力しない場合注意喚起のウィンドウが表示されるので [はい]を押下します 14

G) インストール先フォルダを設定します HULPATH には HULFT のシステム動作環境設 定 配信情報 集信情報等が保管されます そのため HULFT クラスターを構成する場 合 HULPATH は共有ディスク上に配置する必要があります 今回は H: が共有ディスクなので 以下のように設定します インストール先フォルダ HULPATH フォルダ C:\HULFT Family\hulft8\bin H:\HULFT Family\hulft8\etc 15

H) 登録名を入力して [ 次へ ] を押下します 今回はデフォルトの登録名のままとします I) HULFT 動作言語を設定します 今回は日本語を選択し [ 次へ ] を押下します 16

J) 転送コードセットを選択し [ 次へ ] を押下します 今回は SHIFT-JIS を選択し [ 次へ ] を押 下します K) 日付形式を選択し [ 次へ ] を押下します 17

LifeKeeper for Windows HULFT クラスター構成ガイド L) インストールする製品一覧 の画面で内容を確認し [次へ]を押下します M) インストールが終了したら ウィザードを閉じます N) LifeKeeper GUI を起動して ボリュームリソースをノード2側にスイッチオーバーし ます ノード2側のボリュームリソースを右クリックし [サービス開始]を選択します 18

LifeKeeper for Windows HULFT クラスター構成ガイド [サービス開始]を押下します LifeKeeper Put [リソース名] in-service successful at : と表示されたことを確認 して[完了]を押下します 19

LifeKeeper GUI 上で ノード 2 側でボリュームリソースがアクティブであることを確 認します 20

LifeKeeper for Windows HULFT クラスター構成ガイド O) 次にノード 2 上に HULFT をインストールします ノード 2 で Windows エクスプロー ラを起動し 共有ディスク H:)に存在する HULFT Family ディレクトリー以下をすべ て削除します HULFT Family ディレクトリーが削除されました P) ノード 2 上で HULFT のインストールメディアから setup を起動します HULFT イ ンストール時に 必須ソフトウェアがインストールされていません といったメッセー ジが出力しインストールが中断する場合は インストールメディアの 21

LifeKeeper for Windows HULFT クラスター構成ガイド ISSetupPrerequisites フォルダに含まれる Visual C++再頒布可能パッケージのイン ストールを行ってから setup を起動します Q) C) M と同様の手順で ノード2への HULFT インストールを完了します インストー ルが完了したら N)と同様の手順でボリュームリソースをノード1側に戻しておきます 2-12. HULFT システム動作環境の設定(hulenv.cnf) A) スタートメニュー > HULFT を選択し HULFT の管理 GUI を起動します B) 上部メニューの システム管理 > [システム動作環境設定]を選択します 22

C) HULFT がクラスターとして動作するために必要な システム動作環境設定を行います なおこの設定は 実際には共有ディスク上に配置される HULPATH フォルダ (H:\HULFT Family\hulft8\etc\) 以下にある hulenv.cnf ファイル内に記述されます そのため 両ノードそれぞれで設定を行う必要はありません システム動作環境設定 hulenv.cnf および各パラメータについて詳細は HULFT のガ イドを参照してください HULFT 8 アドミニストレーションマニュアル (Windows) <HULFT メディア >\Manual(PDF)\jpn\HULFT8_JP_ADM_WIN HULFT 8 クラスター対応マニュアル (Windows) <HULFT メディア >\Manual(PDF)\jpn\HULFT8_JP_CLS_WIN 今回は 以下のように設定します 起動 自ホスト名 (myhostname) Lkhulftcluster サービスプロセスポート (srvcprocport) 1600 スケジューラポート (schport) 1700 集配信 未配信ファイルのクリア (delreqcpfile) しない (0) クラスター 管理情報の二重化 (adjoinadminfile) する (1) 処理状況の出力およびイベントログ 出力する (1) (alertmsgput) 処理状況格納ファイル件数 (consolelogcnt) 10000 サービス起動同期 (startsync) 非同期 (1) 通信 コネクションリトライ間隔 (retrytime) 60 自動再配信リトライ回数 (sockerr_autoretry) 1 23

D) 設定を行ったら 設定を有効にするため HULFT サービスを起動します 上部メニューのツール > [ プロセスコントローラ ] を選択します HULFT サービス > [ 起動 ] を押下します すでにサービスが起動していた場合は 一度 [ 終了 ] を押下してから [ 起動 ] を押して再起動を行います 24

LifeKeeper for Windows HULFT クラスター構成ガイド 2-13. HULFT リソースの作成 LifeKeeper 上で クラスターで保護する HULFT リソース 汎用アプリケーションリソー ス を作成します A) ノード1上の任意のパスに 汎用アプリケーションで使用する各種スクリプト(restore, remove, quickcheck, deepcheck, recover)を配置します 25

LifeKeeper for Windows HULFT クラスター構成ガイド B) LifeKeeper GUI 画面上部のアイコンをクリックして リソース階層の作成ウィザード を起動します C) プライマリサーバとバックアップサーバの情報を入力し [次へ]を押下します 今回は以下のように入力します プライマリサーバ lk167 バックアップサーバ lk168 26

D) 保護するアプリケーションとして [ 汎用アプリケーション ] を選択し [ 次へ ] を押下しま す E) A) で配置した restore スクリプトのパスを指定して [ 次へ ] を押下します F) 同様に A) で配置した remove スクリプトのパスを指定して [ 次へ ] を押下します G) 必要な場合は同様に A) で配置した quickcheck スクリプトのパスを指定して [ 次へ ] を押下します H) 必要な場合は同様に A) で配置した deepcheck スクリプトのパスを指定して [ 次へ ] 27

LifeKeeper for Windows HULFT クラスター構成ガイド を押下します I) 必要な場合は同様に A)で配置した recover スクリプトのパスを指定して [次へ]を 押下します J) 保護するサービス名を入力して [次へ]を押下します ここで登録した名称をもつサー ビスが LifeKeeper の保護対象になります 今回は HULFT サービスを保護するので HULFT と入力します K) ローカル リカバリーの設定を行い [次へ]を押下します ここでは[はい]を選択します この設定はリソース作成後に変更が可能です 28

LifeKeeper for Windows HULFT クラスター構成ガイド L) リソースタグ名を入力し[インスタンスの作成]を押下します ここでは HULFT と入力します Resource Instance [リソース名] on machine [サーバー名] restored の表示を 確認して[次へ]を押下します 29

LifeKeeper for Windows HULFT クラスター構成ガイド M) 続けてリソースを拡張します 拡張前処理スクリプトが実行されるので PreExtend Checks were successful の表示を確認して[次へ]を押下します N) バックアップの優先順位の設定を行い [拡張]を押下します ここではデフォルトの [10]に設定します O) Hierarchy extend operation completed と表示されたことを確認して [終了]を押 下します 30

LifeKeeper for Windows HULFT クラスター構成ガイド P) 汎用アプリケーションリソースが作成されました 2-14. リソース依存関係の作成 リソース間の依存関係を作成します 今回は以下のようなリソース階層を構成します HULFT サービス 汎用アプリケーションリソース 仮想 IP アドレス IP リソース 共有ディスク ボリュームリソース 31

A) LifeKeeper GUI のリソース階層ツリーに表示されるリソースを右クリック > [ 依存 関係の作成 ] を選択して 依存関係の作成ウィザードを起動します HULFT リソースの リソース依存関係を作成します B) 子リソースを選択して [ 次へ ] を押下します ここでは IP リソースを選択します 32

C) 内容を確認して [ 依存関係の追加 ] を押下します D) The dependency creation was successful の表示を確認して [ 完了 ] を押下します 33

LifeKeeper for Windows HULFT クラスター構成ガイド E) リソースの依存関係が作成されました F) A) E と同様の手順で IP リソースとボリュームリソースの依存関係を作成します 34

LifeKeeper for Windows HULFT クラスター構成ガイド G) リソースの依存関係が作成されました 35

2-15.HULFT 階層のバックアップサーバへの手動スイッチオーバー リソースの切替えが実施可能か確認するため 手動でリソースのスイッチオーバーを実施 します A) バックアップサーバ側の HULFT リソースを右クリックし [ サービス開始 ] を選択しま す 36

LifeKeeper for Windows HULFT クラスター構成ガイド B) 内容を確認し [サービス開始]を押下します C) Put [リソース名] in-service successful at: の表示を確認して[完了]を押下します 37

D) 全てのリソースがバックアップサーバに移動し アクティブ となっていることを確認 します LifeKeeper 上での設定および確認は以上で終了です 2-16. 詳細ホスト情報 転送グループ情報の設定 HULFT 上で ファイル転送のためのホスト情報の登録を行います 38

LifeKeeper for Windows HULFT クラスター構成ガイド A) 稼働系(lk167)で HULFT を起動し スタートページで[詳細ホスト情報]を押下します B) [新規作成]を押下します C) 集信ホスト ファイルを受け取る端末 の情報を入力し [保存]を押下します ここで入力するホスト名は DNS または host ファイルにて名前解決ができることが前 提です 項番 2-3 参照 ここでは 以下のように入力します ホスト名 lk115 ホスト種 Windows 39

LifeKeeper for Windows HULFT クラスター構成ガイド D) ホスト情報が保存されました 40

LifeKeeper for Windows HULFT クラスター構成ガイド E) 続けて 転送グループを設定します スタートページから[転送グループ情報]を押下し ます F) [新規作成]を押下します G) 任意の転送グループ ID を入力し 登録済みホスト一覧からグループに含むホストを選 択して [保存] > [OK]の順に押下します 今回は 以下のように設定します 転送グループ ID Group01_lk115 ホスト名 lk115 41

LifeKeeper for Windows HULFT クラスター構成ガイド H) 転送グループ ID が登録されました I) 集信ホスト上に配信ホストの情報を登録します 集信ホスト 今回は lk115 にログイ ン後 HULFT を起動します A) D)と同様の手順で クラスターのホスト情報を登録し ます ここでは 以下のように入力します ホスト名 lkhulftcluster ホスト種 Windows 42

LifeKeeper for Windows HULFT クラスター構成ガイド 2-17.配信管理情報 集信管理情報の設定 配信対象のファイルの情報を 配信ホスト 集信ホストにそれぞれ登録します A) まず 配信ホストにファイル情報を登録します 稼働系(lk167)の HULFT のスタートページから [配信情報管理]を押下します B) [新規作成]を押下します C) 配信するファイルを登録し [保存] > [OK]の順に押下します 今回は 以下のように登録します ファイル ID FILE0001_TESTFILE ファイル名 H:\SendData\testfile.txt 転送タイプ TEXT 転送グループ ID Group01_lk115 43

LifeKeeper for Windows HULFT クラスター構成ガイド D) 配信ホストにファイル情報が登録されました 44

LifeKeeper for Windows HULFT クラスター構成ガイド E) 次に 集信ホストにファイル情報を登録します 集信ホスト(lk115)の HULFT のスタートページから [集信情報管理]を押下します F) [新規作成]を押下します G) 配信ホストに登録したものと同じファイル ID のファイル情報を登録します 今回は以 下のように登録します ファイル ID FILE0001_TESTFILE ファイル名 C:\Users\administrator.LKG\Desktop\ReceivedData\testfile 登録モード 新規作成 45

LifeKeeper for Windows HULFT クラスター構成ガイド H) 集信ホストにファイル情報が登録されました 2-18.ファイル配信 A) 最後に 実際にファイルの配信を行います 稼働系(lk167)の HULFT スタートページ を開き 上部メニューの [要求発行 > [配信要求] > [配信要求]を選択します 46

LifeKeeper for Windows HULFT クラスター構成ガイド B) 配信するファイルのファイル ID を選択し [OK]を押下します C) ファイル ID を確認して [配信要求]を押下します D) 確認画面が表示されたら[OK]を押下します 続けて[閉じる]を押下します 47

LifeKeeper for Windows HULFT クラスター構成ガイド E) HULFT のスタートページから [配信履歴]を押下します F) 完了コードが 000000(00000) となっていることから 配信が成功で完了したことを 確認します また 集信ホスト側での確認に使用するため 処理識別子の ID を控えて おきます 48

LifeKeeper for Windows HULFT クラスター構成ガイド G) 集信ホスト(lk115)の HULFT スタートページから [集信履歴]を押下します H) 表示される履歴の処理識別子の ID が 配信ホスト側で控えた処理識別子の ID と同じ であることを確認します 完了コードが 000000(00000) となっていることから 集 信が成功で完了したことを確認します 49

I) G) で [ 集信管理情報 ] に登録したパス上に 配信されたファイルが存在することを確認 します 設定および確認は以上ですべて完了です 50

参考情報 本テストでは 以下の4つのスクリプト (restore.vbs, remove.vbs, quickcheck.vbs, recover.vbs) を使用して動作確認を行いました 本項に掲載するスクリプト情報はあくまで参考情報であり 実際の動作を保証するものではありません restore.vbs '###restore script for HULFT### Option Explicit ' Declare Program Variables Dim WshShell ' Wsh Root Object Dim ts ' Text Stream Dim ofs ' File System Object Dim otempfile ' Temporary File Object Dim objargs ' Input Arguments Object Dim numerrcode ' Error Code Dim numretcode ' Return Code Dim strcmd ' Script Name Dim strerrmsg ' Error Message Description Dim strid ' LK Resource ID Dim Dim strlkappname ' LK Resource Application Name Dim strlkcmd ' LK Command Dim strlkcmdstr ' LK Command String Dim strlkcmdline ' LK Command Line Dim strlkroot ' LK Home Directory Dim strlkrestype ' LK Resource Type Dim strstdout ' Standard Output Dim strtag ' LK Resource Tag name Dim strtempfilename ' Temporary File Name Dim strwindir ' Windows Home Directory ' Initialize Constants & Variables Const ForReading = 1 Const TemporaryFolder = 2 Const TristateUseDefault = -2 strlkappname = "app" strlkrestype = "gen" strcmd = Wscript.ScriptName ' Pick up Script Name Set WshShell = CreateObject("WScript.Shell") Set ofs = CreateObject( "Scripting.FileSystemObject" ) ' Validate Input Parameters set objargs = WScript.Arguments select Case objargs.count Case 4 If objargs(0) = "-t" Then strtag = objargs(1) Else Usage End If If objargs(2) = "-i" Then strid = objargs(3) 51

&strerrmsg End Select Case Else Else End If Usage strerrmsg = "An incorrect number of input parameters were provided to the " &strcmd &" script." WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit scripting error." &vbcrlf Usage Function Usage WScript.Echo "USAGE:" WScript.Echo "cscript //nologo " &strcmd &" -t tagname -i ID" WScript.Echo "tagname - Server unique LifeKeeper tag name for protected resource" WScript.Echo "ID - Cluster unique LifeKeeper ID for the protected resource" WScript.Echo "Windows Scripting Host (cscript.exe) must be installed on the server" WScript.Quit(1) End Function Function LKFailure(strErrMsg) ' Use this function to report a problem with the LifeKeeper system ' This function also references numerrcode, strcmd, strtag, strid WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit failure." &vbcrlf &"TagName='" &strtag &"`, ID='" &strid &"', Error No. " &numerrcode'&vbcrlf &strerrmsg WScript.Quit(1) End Function Function ResFailure(strErrMsg) ' Use this function to report a problem with the protected resource ' This function also references numerrcode, strcmd, strtag, strid, numretcode RunLKCmd("lk_err -c FRS_ERR -n " &numerrcode &" -d TO_STDERR -p " &strcmd &" LifeKeeper: TAG='" &strtag &"', ID='" &strid &"', Return Code='" &numretcode &"'; " &strerrmsg) WScript.Quit(1) End Function Function RunLKCmd(strLKCmd) strstdout="" strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname While ofs.fileexists(strtempfilename) strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname Wend ' Setup and run the command strlkcmdstr = strlkroot &"\bin\" &strlkcmd strlkcmdline = "%comspec% /c " & strlkcmdstr &" > " & strtempfilename numretcode = WshShell.Run(strLKCmdLine, 7, True) Set otempfile = ofs.getfile(strtempfilename) Set ts = otempfile.openastextstream(forreading, TristateUseDefault) If not ts.atendofstream Then strstdout = ts.readall ' Get complete output End If ts.close otempfile.delete End Function ' Validate LKROOT Environment Variable strlkroot = WshShell.ExpandEnvironmentStrings("%LKROOT%") ' Standard setup is done, now perform the desired task ' Perform commands that restore the resource to the In-Service state ' ------------------------------------------------------------------------------------- ' Custom code goes here ' Set final value of numretcode; for example numretcode=99 52

' ------------------------------------------------------------------------------------- ' numretcode is used to identify successful or failure '================================================ ' ( メイン処理 ) 変数宣言 '================================================ Dim objshell,ret,counter,scquery,scqueryretry,scqueryret,scqueryretrysleep,netstart,usererrcode,usererrmsg '================================================ ' ( メイン処理 ) ユーザーパラメーター '================================================ 'net start コマンド netstart = "net start " & Chr(34) & "HULFT" & Chr(34) 'sc query のリトライ回数 scqueryretry = 2 'sc query のリトライ待ち ( ミリ秒 ) scqueryretrysleep = 3000 'sc query コマンド scquery = "sc query HULFT findstr STATE findstr RUNNING > nul" ' エラーコード usererrcode = 27451 ' エラーメッセージ usererrmsg = "HULFT Service restore failed" '================================================ ' ( メイン処理 ) 初期化 '================================================ scqueryret = 99 '================================================ ' メイン処理 '================================================ ' シェルオブジェクト作成 Set objshell = CreateObject("WScript.Shell") 'net start & sc query 実行 counter = 0 Do If counter > scqueryretry Then numerrcode = usererrcode strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) ElseIf counter > 0 Then WScript.Sleep scqueryretrysleep WScript.Echo " リトライ実施 " End If Set ret = objshell.exec("cmd.exe /c " & netstart) Do While ret.status = 0 WScript.Sleep 100 Loop Set ret = objshell.exec("cmd.exe /c " & scquery) Do While ret.status = 0 WScript.Sleep 100 Loop 53

scqueryret = ret.exitcode counter = counter + 1 Loop Until scqueryret = 0 ' シェルオブジェクト破棄 Set objshell = Nothing 'Set WshShell = Nothing 'Set ofs = Nothing ' スクリプト終了 ' End of Restore script Wscript.Quit (0) remove.vbs '###remove script for HULFT### Option Explicit ' Declare Program Variables Dim WshShell ' Wsh Root Object Dim ts ' Text Stream Dim ofs ' File System Object Dim otempfile ' Temporary File Object Dim objargs ' Input Arguments Object Dim numerrcode ' Error Code Dim numretcode ' Return Code Dim strcmd ' Script Name Dim strerrmsg ' Error Message Description Dim strid ' LK Resource ID Dim Dim strlkappname ' LK Resource Application Name Dim strlkcmd ' LK Command Dim strlkcmdstr ' LK Command String Dim strlkcmdline ' LK Command Line Dim strlkroot ' LK Home Directory Dim strlkrestype ' LK Resource Type Dim strstdout ' Standard Output Dim strtag ' LK Resource Tag name Dim strtempfilename ' Temporary File Name Dim strwindir ' Windows Home Directory ' Initialize Constants & Variables Const ForReading = 1 Const TemporaryFolder = 2 Const TristateUseDefault = -2 strlkappname = "app" strlkrestype = "gen" strcmd = Wscript.ScriptName ' Pick up Script Name Set WshShell = CreateObject("WScript.Shell") Set ofs = CreateObject( "Scripting.FileSystemObject" ) ' Validate Input Parameters set objargs = WScript.Arguments select Case objargs.count Case 4 If objargs(0) = "-t" Then strtag = objargs(1) Else Usage End If 54

&strerrmsg End Select Case Else If objargs(2) = "-i" Then strid = objargs(3) Else Usage End If strerrmsg = "An incorrect number of input parameters were provided to the " &strcmd &" script." WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit scripting error." &vbcrlf Usage Function Usage WScript.Echo "USAGE:" WScript.Echo "cscript //nologo " &strcmd &" -t tagname -i ID" WScript.Echo "tagname - Server unique LifeKeeper tag name for protected resource" WScript.Echo "ID - Cluster unique LifeKeeper ID for the protected resource" WScript.Echo "Windows Scripting Host (cscript.exe) must be installed on the server" WScript.Quit(1) End Function Function LKFailure(strErrMsg) ' Use this function to report a problem with the LifeKeeper system ' This function also references numerrcode, strcmd, strtag, strid WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit failure." &vbcrlf &"TagName='" &strtag &"`, ID='" &strid &"', Error No. " &numerrcode &vbcrlf &strerrmsg WScript.Quit(1) End Function Function ResFailure(strErrMsg) ' Use this function to report a problem with the protected resource ' This function also references numerrcode, strcmd, strtag, strid, numretcode RunLKCmd("lk_err -c FRS_ERR -n " &numerrcode &" -d TO_STDERR -p " &strcmd &" LifeKeeper: TAG='" &strtag &"', ID='" &strid &"', Return Code='" &numretcode &"'; " &strerrmsg) WScript.Quit(1) End Function Function RunLKCmd(strLKCmd) strstdout="" strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname While ofs.fileexists(strtempfilename) strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname Wend ' Setup and run the command strlkcmdstr = strlkroot &"\bin\" &strlkcmd strlkcmdline = "%comspec% /c " & strlkcmdstr &" > " & strtempfilename numretcode = WshShell.Run(strLKCmdLine, 7, True) Set otempfile = ofs.getfile(strtempfilename) Set ts = otempfile.openastextstream(forreading, TristateUseDefault) If not ts.atendofstream Then strstdout = ts.readall ' Get complete output End If ts.close otempfile.delete End Function ' Validate LKROOT Environment Variable strlkroot = WshShell.ExpandEnvironmentStrings("%LKROOT%") ' Standard setup is done, now perform the desired task ' Perform commands that remove the resource from the In-Service state ' to the Out-Of-Service state. 55

' ------------------------------------------------------------------------------------- ' Custom code goes here ' Set final value of numretcode; for example numretcode=99 ' ------------------------------------------------------------------------------------- ' numretcode is used to identify successful or failure '================================================ ' ( メイン処理 ) 変数宣言 '================================================ Dim objshell,ret,counter,scquery,scqueryretry,scqueryret,scqueryretrysleep,netstop,usererrcode,usererrmsg '================================================ ' ( メイン処理 ) ユーザーパラメーター '================================================ 'net stop コマンド netstop = "C:\HULFTF~1\hulft8\bin\utlsvcctl.exe -c stop -f" 'sc query のリトライ回数 scqueryretry = 2 'sc query のリトライ待ち ( ミリ秒 ) scqueryretrysleep = 3000 'sc query コマンド scquery = "sc query HULFT findstr STATE findstr STOPPED > nul" ' エラーコード usererrcode = 27852 ' エラーメッセージ usererrmsg = "HULFT Service remove failed" '================================================ ' ( メイン処理 ) 初期化 '================================================ scqueryret = 99 '================================================ ' メイン処理 '================================================ ' シェルオブジェクト作成 Set objshell = CreateObject("WScript.Shell") 'net stop & sc query 実行 counter = 0 Do If counter > scqueryretry Then numerrcode = usererrcode strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) ElseIf counter > 0 Then WScript.Sleep scqueryretrysleep WScript.Echo " リトライ実施 " End If Set ret = objshell.exec("cmd.exe /c " & netstop) Do While ret.status = 0 WScript.Sleep 100 Loop 56

Set ret = objshell.exec("cmd.exe /c " & scquery) Do While ret.status = 0 WScript.Sleep 100 Loop scqueryret = ret.exitcode counter = counter + 1 Loop Until scqueryret = 0 ' シェルオブジェクト破棄 Set objshell = Nothing 'Set WshShell = Nothing 'Set ofs = Nothing ' スクリプト終了 ' End of Remove script Wscript.Quit (0) quickcheck.vbs '###quickcheck script for HULFT### Option Explicit ' Declare Program Variables Dim WshShell ' Wsh Root Object Dim ts ' Text Stream Dim ofs ' File System Object Dim otempfile ' Temporary File Object Dim objargs ' Input Arguments Object Dim numerrcode ' Error Code Dim numretcode ' Return Code Dim strcmd ' Script Name Dim strerrmsg ' Error Message Description Dim strid ' LK Resource ID Dim Dim strlkappname ' LK Resource Application Name Dim strlkcmd ' LK Command Dim strlkcmdstr ' LK Command String Dim strlkcmdline ' LK Command Line Dim strlkroot ' LK Home Directory Dim strlkrestype ' LK Resource Type Dim strstdout ' Standard Output Dim strtag ' LK Resource Tag name Dim strtempfilename ' Temporary File Name Dim strwindir ' Windows Home Directory ' Initialize Constants & Variables Const ForReading = 1 Const TemporaryFolder = 2 Const TristateUseDefault = -2 strlkappname = "app" strlkrestype = "gen" strcmd = Wscript.ScriptName ' Pick up Script Name Set WshShell = CreateObject("WScript.Shell") Set ofs = CreateObject( "Scripting.FileSystemObject" ) ' Validate Input Parameters set objargs = WScript.Arguments select Case objargs.count Case 4 57

If objargs(0) = "-t" Then strtag = objargs(1) Else Usage End If &strerrmsg End Select Case Else If objargs(2) = "-i" Then strid = objargs(3) Else Usage End If strerrmsg = "An incorrect number of input parameters were provided to the " &strcmd &" script." WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit scripting error." &vbcrlf Usage Function Usage WScript.Echo "USAGE:" WScript.Echo "cscript //nologo " &strcmd &" -t tagname -i ID" WScript.Echo "tagname - Server unique LifeKeeper tag name for protected resource" WScript.Echo "ID - Cluster unique LifeKeeper ID for the protected resource" WScript.Echo "Windows Scripting Host (cscript.exe) must be installed on the server" WScript.Quit(1) End Function Function LKFailure(strErrMsg) ' Use this function to report a problem with the LifeKeeper system ' This function also references numerrcode, strcmd, strtag, strid WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit failure." &vbcrlf &"TagName='" &strtag &"`, ID='" &strid &"', Error No. " &numerrcode &vbcrlf &strerrmsg WScript.Quit(1) End Function Function ResFailure(strErrMsg) ' Use this function to report a problem with the protected resource ' This function also references numerrcode, strcmd, strtag, strid, numretcode RunLKCmd("lk_err -c FRS_ERR -n " &numerrcode &" -d TO_STDERR -p " &strcmd &" LifeKeeper: TAG='" &strtag &"', ID='" &strid &"', Return Code='" &numretcode &"'; " &strerrmsg) WScript.Quit(1) End Function Function RunLKCmd(strLKCmd) strstdout="" strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname While ofs.fileexists(strtempfilename) strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname Wend ' Setup and run the command strlkcmdstr = strlkroot &"\bin\" &strlkcmd strlkcmdline = "%comspec% /c " & strlkcmdstr &" > " & strtempfilename numretcode = WshShell.Run(strLKCmdLine, 7, True) Set otempfile = ofs.getfile(strtempfilename) Set ts = otempfile.openastextstream(forreading, TristateUseDefault) If not ts.atendofstream Then strstdout = ts.readall ' Get complete output End If ts.close otempfile.delete End Function ' Validate LKROOT Environment Variable 58

strlkroot = WshShell.ExpandEnvironmentStrings("%LKROOT%") ' Standard setup is done, now perform the desired task ' Perform commands that accurately assess the state of the protected application ' ------------------------------------------------------------------------------------- ' Custom code goes here ' Set final value of numretcode; for example numretcode=99 ' ------------------------------------------------------------------------------------- ' numretcode is used to identify successful or failure '================================================ ' ( メイン処理 ) 変数宣言 '================================================ Dim objshell,colenv,tmp,ret,checkcmd,envname,checkpath,checkargumentarray,checkret,counter,checkretry,scquery,scqueryretry,sc queryret,scqueryretrysleep,checkretrysleep,usererrcode,usererrmsg '================================================ ' ( メイン処理 ) ユーザーパラメーター '================================================ 'utlalivecheck のリトライ回数 checkretry = 1 'utlalivecheck のリトライ待ち ( ミリ秒 ) checkretrysleep = 0 'utlalivecheck の実行パス checkpath = "C:\HULFTF~1\hulft8\bin\utlalivecheck" 'utlalivecheck のオプション Set checkargumentarray = CreateObject("System.Collections.ArrayList") checkargumentarray.add " -p 32000 -w 10" checkargumentarray.add " -p 30000 -w 10" checkargumentarray.add " -p 31000 -w 10" checkargumentarray.add " -p 1700 -w 10" 'sc query のリトライ回数 scqueryretry = 2 'sc query のリトライ待ち ( ミリ秒 ) scqueryretrysleep = 5000 'sc query コマンド scquery = "sc query HULFT findstr STATE findstr RUNNING > nul" ' エラーコード usererrcode = 27653 ' エラーメッセージ usererrmsg = "HULFT Service quickcheck error" '================================================ ' ( メイン処理 ) 初期化 '================================================ checkret = 99 scqueryret = 99 '================================================ ' メイン処理 '================================================ ' シェルオブジェクト作成 59

Set objshell = CreateObject("WScript.Shell") ' 環境変数取得 checkcmd = Chr(34) & checkpath & Chr(34) 'sc query 実行 counter = 0 Do If counter > scqueryretry Then numerrcode = usererrcode strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) ElseIf counter > 0 Then WScript.Sleep scqueryretrysleep WScript.Echo " リトライ実施 " End If Set ret = objshell.exec("cmd.exe /c " & scquery) Do While ret.status = 0 WScript.Sleep 100 Loop scqueryret = ret.exitcode counter = counter + 1 Loop Until scqueryret = 0 'utlalivecheck 実行 Dim i For i=0 To checkargumentarray.count - 1 counter = 0 Do If counter > checkretry Then numerrcode = usererrcode strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) ElseIf counter > 0 Then WScript.Sleep checkretrysleep WScript.Echo " リトライ実施 " End If Set ret = objshell.exec(checkcmd & " " & checkargumentarray(i)) Do While ret.status = 0 WScript.Sleep 100 Loop checkret = ret.exitcode counter = counter + 1 Loop Until checkret = 0 Next ' シェルオブジェクト破棄 Set objshell = Nothing Set checkargumentarray = Nothing 'Set WshShell = Nothing 'Set ofs = Nothing ' スクリプト終了 ' End of Quickchk script Wscript.Quit (0) 60

recover.vbs '###recover script for HULFT### Option Explicit ' Declare Program Variables Dim WshShell ' Wsh Root Object Dim ts ' Text Stream Dim ofs ' File System Object Dim otempfile ' Temporary File Object Dim objargs ' Input Arguments Object Dim numerrcode ' Error Code Dim numretcode ' Return Code Dim strcmd ' Script Name Dim strerrmsg ' Error Message Description Dim strid ' LK Resource ID Dim Dim strlkappname ' LK Resource Application Name Dim strlkcmd ' LK Command Dim strlkcmdstr ' LK Command String Dim strlkcmdline ' LK Command Line Dim strlkroot ' LK Home Directory Dim strlkrestype ' LK Resource Type Dim strstdout ' Standard Output Dim strtag ' LK Resource Tag name Dim strtempfilename ' Temporary File Name Dim strwindir ' Windows Home Directory ' Initialize Constants & Variables Const ForReading = 1 Const TemporaryFolder = 2 Const TristateUseDefault = -2 strlkappname = "app" strlkrestype = "gen" strcmd = Wscript.ScriptName ' Pick up Script Name Set WshShell = CreateObject("WScript.Shell") Set ofs = CreateObject( "Scripting.FileSystemObject" ) ' Validate Input Parameters set objargs = WScript.Arguments select Case objargs.count Case 4 If objargs(0) = "-t" Then strtag = objargs(1) Else Usage End If &strerrmsg End Select Case Else If objargs(2) = "-i" Then strid = objargs(3) Else Usage End If strerrmsg = "An incorrect number of input parameters were provided to the " &strcmd &" script." WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit scripting error." &vbcrlf Usage 61

Function Usage WScript.Echo "USAGE:" WScript.Echo "cscript //nologo " &strcmd &" -t tagname -i ID" WScript.Echo "tagname - Server unique LifeKeeper tag name for protected resource" WScript.Echo "ID - Cluster unique LifeKeeper ID for the protected resource" WScript.Echo "Windows Scripting Host (cscript.exe) must be installed on the server" WScript.Quit(1) End Function Function LKFailure(strErrMsg) ' Use this function to report a problem with the LifeKeeper system ' This function also references numerrcode, strcmd, strtag, strid WshShell.LogEvent 1, "LifeKeeper Generic Application Recovery Kit failure." &vbcrlf &"TagName='" &strtag &"`, ID='" &strid &"', Error No. " &numerrcode &vbcrlf &strerrmsg WScript.Quit(1) End Function Function ResFailure(strErrMsg) ' Use this function to report a problem with the protected resource ' This function also references numerrcode, strcmd, strtag, strid, numretcode RunLKCmd("lk_err -c FRS_ERR -n " &numerrcode &" -d TO_STDERR -p " &strcmd &" LifeKeeper: TAG='" &strtag &"', ID='" &strid &"', Return Code='" &numretcode &"'; " &strerrmsg) WScript.Quit(1) End Function Function RunLKCmd(strLKCmd) strstdout="" strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname While ofs.fileexists(strtempfilename) strtempfilename = ofs.getspecialfolder(temporaryfolder) & "\" & ofs.gettempname Wend ' Setup and run the command strlkcmdstr = strlkroot &"\bin\" &strlkcmd strlkcmdline = "%comspec% /c " & strlkcmdstr &" > " & strtempfilename numretcode = WshShell.Run(strLKCmdLine, 7, True) Set otempfile = ofs.getfile(strtempfilename) Set ts = otempfile.openastextstream(forreading, TristateUseDefault) If not ts.atendofstream Then strstdout = ts.readall ' Get complete output End If ts.close otempfile.delete End Function ' Validate LKROOT Environment Variable strlkroot = WshShell.ExpandEnvironmentStrings("%LKROOT%") ' Standard setup is done, now perform the desired task ' Perform commands that recover the resource to the In-Service state ' ------------------------------------------------------------------------------------- ' Custom code goes here ' Set final value of numretcode; for example numretcode=99 ' ------------------------------------------------------------------------------------- ' numretcode is used to identify successful or failure '================================================ ' ( メイン処理 ) 変数宣言 '================================================ Dim objshell,ret,counter,scquery,scqueryret,netstop,netstart,netstopret,netstartret,usererrcode,usererrmsg '================================================ 62

' ( メイン処理 ) ユーザーパラメーター '================================================ 'net stop コマンド netstop = "C:\HULFTF~1\hulft8\bin\utlsvcctl.exe -c stop -f" 'net start コマンド netstart = "net start " & Chr(34) & "HULFT" & Chr(34) 'sc query コマンド scquery = "sc query HULFT findstr STATE findstr RUNNING > nul" ' エラーコード usererrcode = 27554 ' エラーメッセージ usererrmsg = "HULFT Service recover failed" '================================================ ' ( メイン処理 ) 初期化 '================================================ scqueryret = 99 netstartret = 99 netstopret = 99 '================================================ ' メイン処理 '================================================ ' シェルオブジェクト作成 Set objshell = CreateObject("WScript.Shell") 'sc query & net stop 実行 Set ret = objshell.exec("cmd.exe /c " & scquery) Do While ret.status = 0 WScript.Sleep 100 Loop scqueryret = ret.exitcode If scqueryret = 0 Then Set ret = objshell.exec("cmd.exe /c " & netstop) Do While ret.status = 0 WScript.Sleep 100 Loop netstopret = ret.exitcode If netstopret <> 0 Then numerrcode = usererrcode strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) End If End If 'sleep 処理 WScript.Sleep 10000 'net start 実行 Set ret = objshell.exec("cmd.exe /c " & netstart) Do While ret.status = 0 WScript.Sleep 100 Loop netstartret = ret.exitcode If netstartret <> 0 Then numerrcode = usererrcode 63

strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) End If 'sc query 実行 scqueryret = 99 Set ret = objshell.exec("cmd.exe /c " & scquery) Do While ret.status = 0 WScript.Sleep 100 Loop scqueryret = ret.exitcode If scqueryret <> 0 Then numerrcode = usererrcode strerrmsg = usererrmsg numretcode = 1 WScript.Echo "*ERROR* (No." & numerrcode & ") " & strerrmsg 'ResFailure(strErrMsg) Wscript.Quit(numRetCode) End If ' シェルオブジェクト破棄 Set objshell = Nothing Set WshShell = Nothing Set ofs = Nothing ' スクリプト終了 ' End of Recover script Wscript.Quit (0) 64

免責事項 本書に記載された情報は予告なしに変更 削除される場合があります 最新のものをご確認ください 本書に記載された情報は 全て慎重に作成され 記載されていますが 本書をもって その妥当性や正確性についていかなる種類の保証もするものではありません 本書に含まれた誤りに起因して 本書の利用者に生じた損害については サイオステクノロジー株式会社は一切の責任を負うものではありません 第三者による本書の記載事項の変更 削除 ホームページ及び本書等に対する不正な アクセス その他第三者の行ためにより本書の利用者に生じた一切の損害について サイオステクノロジー株式会社は一切の責任を負うものではありません システム障害などの原因によりメールフォームからのお問い合せが届かず または延着する場合がありますので あらかじめご了承ください お問い合せの不着及び延着に関し サイオステクノロジー株式会社は一切の責任を負うものではありません 著作権 本書に記載されているコンテンツ ( 情報 資料 画像等種類を問わず ) に関する知的財産権は サイオステクノロジー株式会社に帰属します その全部 一部を問わず サイオステクノロジー株式会社の許可なく本書を複製 転用 転載 公衆への送信 販売 翻案その他の二次利用をすることはいずれも禁止されます またコンテンツの改変 削除についても一切認められません 本書では 製品名 ロゴなど 他社が保有する商標もしくは登録商標を使用しています サイオステクノロジー株式会社住所 : 106-0047 東京都港区南麻布 2 丁目 12-3 サイオスビル URL : https://sios.jp 65