- AWS インスタンスストレージ (エフェメラルストレージ/ディスク) を適切に使う
- AWS サーバー上に SIOS AMIs がデプロイされていない場合は、これらのディスクの初期化処置を検討する必要があります。これは Windows 2016 から導入され、以降のリリースでも継続されています。
- AWS エフェメラルストレージ (インスタンスストア) は、ノードが “完全な” シャットダウン (リブートではなく、AWS コンソールもしくは Windows の CLI “shutdown /s” からシャットダウンを行うこと。) から起動する度に初期化する必要があります。
- Windows 2012 R2 は自動的にこの処置を実行 (Ec2Config サービスにより) します。AWS はこの初期化を実行するスクリプト (EC2Launch) を含んでいますが、そのスクリプトはユーザーにより手動でスケジュールする必要があり、その結果ブート時に実行されます。
- AWS 上の SIOS AMIs は、このタスクを自動的に設定します。AWS であなた自身の Windows イメージを展開していてブート時に実行するスクリプトの設定に失敗し、さらに (ベストプラクティス で推奨されているように) ビットマップにエフェメラルストレージを使用している場合は、ビットマップファイル/ボリュームが失われ、DataKeeper ミラーは再作成されません。
解決策
- Disk Management を起動し、エフェメラルストレージがオンライン、正常で、エフェメラルストレージに対して選択したボリュームレターが割り当てられていることを確認する。
- エフェメラルストレージにアサインされたドライブ/ドライブレターが HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters . . . BitmapBaseDir に配置されているレジストリに記載されていることを確認する。
注記: この解決策をクラスターの全ノードに適用してください。
長期的な解決策
EC2Launch スクリプトがクラスターの各システムでブート時に実行されるようにスケジュールし、エフェメラルストレージが常時使用可能であることを確認してください。
- AWS サーバー上に SIOS AMIs がデプロイされていない場合は、これらのディスクの初期化処置を検討する必要があります。これは Windows 2016 から導入され、以降のリリースでも継続されています。
- 既存ライセンスのホスト名を変更する
-
- ライセンスサイト にログイン後、 [License Support] メニューから [List Licenses] を選択します。
- 変更したいライセンスのチェックボックスを選択します。 (1度に 1ライセンスのみ変更可能です)
- [Action] ドロップダウンから [Repair] を選択します。
- 新しいホスト名を入力します。
- [Repair] を選択し、次に [Complete] を選択します。
- ライセンスサイト にログイン後、 [License Support] メニューから [List Licenses] を選択します。
- LifeKeeper で OpenJDK をデプロイする
-
https://openjdk.java.net/ から、Windows x64 インストーラーの OpenJDK をダウンロードします。
最初に、ターゲットノードにソフトウェアをデプロイします。
LifeKeeper で、スイッチオーバー/サービス開始 を実行します。
スイッチオーバーが完了した後、他のターゲットで上記の手順を繰り返します。
コマンドプロンプトで以下を実行します
javac -version と入力します。
以下のように出力されます。
“C:\Windows\system32>javac -version javac 14.0.1”
上記のように出力されない場合は、システム変数 PATH/environment に以下を追加する必要がある場合があります。
- コントロールパネル\システムとセキュリティ\システム\システムのプロパティ(システムの詳細設定)\
- [詳細設定タブ] を選択します。
- [起動と回復] を選択します。
- [環境変数…] を選択します。
- [Path] を選択し、次に [編集] を選択します。
以下の例のように、文字列に C:\Program Files\Java\jdk-14.0.1\bin を追加します。
C:\Program Files (x86)\Common
Files\Oracle\Java\javapath;SystemRoot%\system32;%SystemRoot;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program
Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program
Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Java\jdk-14.0.1\binクラスタ内のすべてのノードで上記の手順を実行します。
- クラスタ化された DataKeeper リソースにミラーを再作成する
問題:
Windows Server フェールオーバークラスター 上で DataKeeper リソースがオフラインとして表示される問題があります。
解決策:
- ソースおよびターゲットノードからすべての古いミラーを削除してください。
- emcmd . createmirror コマンドを使用して手動でミラーを再作成してください。
両ノードからミラー構成を削除する
- cd %extmirrbase%/support と入力してください。 (DataKeeper\Support ディレクトリへのショートカットです。)
- cleanupmirror (ドライブレター) を実行してください。 注記: 最初にソース側でこのコマンドを実行してください。 このコマンドは以下を実行します。
- ミラーの構成が削除されます(ボリュームのデータは保持されます)
- スイッチオーバフラグをリセットします
- ドライバおよびサービスに対してミラーがないことを通知します
ミラーが正常に削除されたことを確認するため、下記を実行してください。
- cd extmirrbase と入力してください。(DataKeeperディレクトリへのショートカットです。)
- emcmd . getmirrorvolinfo (ドライブレター) を実行します。
出力結果からミラーがないことが分かります。例). 0 サーバー名 0
手動でミラーを再作成する
構文は下記の通りです。
- emcmd (ソース IP) createmirror (ドライブレター) (ターゲット IP) A または S
- 同期ミラーの場合は S、非同期ミラーの場合は A
その後 DataKeeper UI が「再同期」のステータスを表示します。なお、下記のコマンドを実行することで確認することもできます。
- emcmd . getmirrorvolinfo e
出力結果は E: 1 サーバー名 (ターゲット IP) 2 となり、2 はミラーが「再同期」のステータスであることを示しています。
フェールオーバークラスタリングに戻って、オフラインになっていた DataKeeper リソースをオンラインにしてください。
- サーバーに適用されているGPOを確認する方法
問題:
サーバーの再起動後にグループポリシーオブジェクト(GPO)がデプロイまたは再デプロイされることがあり、LifeKeeper(GUI)またはDataKeeperの動作に影響を与える場合があります。
ソリューション:
以下の2つの方法があります。
- [スタート] > [ファイル名を指定して実行] を選択し、 rsop.msc と入力する
- コンソールに、サーバーに適用されているポリシーの一覧が表示されます。
- または、管理者特権のコマンドプロンプトで、 gpresult /Scope Computer /v と入力する
- サーバーに適用されているポリシーの一覧が出力されます。
注記: ユーザーごとに適用されているGPOを確認するには、 gpresult /Scope user /v と入力してください。
- サーバーに適用されているポリシーの一覧が出力されます。
- [スタート] > [ファイル名を指定して実行] を選択し、 rsop.msc と入力する
このトピックへフィードバック