- Cloud 環境 -
- 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] を選択します。
- サーバーに適用されているGPOを確認する方法
問題:
サーバーの再起動後にグループポリシーオブジェクト(GPO)がデプロイまたは再デプロイされることがあり、LifeKeeper(GUI)またはDataKeeperの動作に影響を与える場合があります。
解決策:
以下の2つの方法があります。
[スタート] > [ファイル名を指定して実行] を選択し、 rsop.msc と入力する。- コンソールに、サーバーに適用されているポリシーの一覧が表示されます。
- サーバーに適用されているポリシーの一覧が出力されます。
注意: ユーザーごとに適用されているGPOを確認するには、 gpresult /Scope user /v と入力してください。
- LifeKeeper GUI -
- 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
クラスタ内のすべてのノードで上記の手順を実行します。
- https://openjdk.java.net/ から、Windows x64 インストーラーの OpenJDK をダウンロードします。
- ミラー関連 -
- クラスタ化された DataKeeper リソースにミラーを再作成する
問題:
Windows Server フェールオーバークラスター 上で DataKeeper リソースがオフラインとして表示される問題があります。
注意: DataKeeper GUI の既存のジョブは 赤のXマーク がついている状態が多いです。
解決策:
- ソースおよびターゲットノードからすべての古いミラーを削除してください。
- emcmd . createmirror コマンドを使用して手動でミラーを再作成してください。
両ノードからミラー構成を削除する
- cd %extmirrbase%/support と入力してください。 (DataKeeper\Support ディレクトリへのショートカットです。)
- “cleanupmirror (ドライブレター)” を実行してください。 注意: 最初にソース側でこのコマンドを実行してください。 このコマンドは以下を実行します。
- ミラーの構成が削除されます(ボリュームのデータは保持されます)
- スイッチオーバフラグをリセットします。
- ドライバおよびサービスに対してミラーがないことを通知します。
ミラーが正常に削除されたことを確認するため、下記を実行してください。
- cd %extmirrbase% と入力してください。(DataKeeperディレクトリへのショートカットです。)
- run “emcmd . getmirrorvolinfo (ドライブレター)” を実行します。
出力結果からミラーがないことが分かります。 例). 0 サーバー名 0
ここでミラーを手動で再作成します。
構文は下記の通りです。
- emcmd (ソース IP) createmirror (ドライブレター) (ターゲット IP) A または S (同期ミラーの場合は S、非同期ミラーの場合は A)
その後 DataKeeper UI が「再同期」のステータスを表示します。なお、下記のコマンドを実行することで確認することもできます。 - emcmd . getmirrorvolinfo e
出力結果は “E: 1 サーバー名 (ターゲット IP) 2 となり、2 はミラーが「再同期」のステータスであることを示しています。
フェールオーバークラスタリングに戻って、オフラインになっていた DataKeeper リソースをオンラインにしてください。
- ミラーのエンドポイントを削除する
ミラーのエンドポイント削除手順
• ノードのレジストリーにアクセスします。
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExtMirr\Parameters\Jobs にアクセスします。
• 対象のエンドポイントのジョブを検索して、ジョブからエンドポイントを削除してください。
- “emcmd . createmirror” を実行すると、Status = 317 が表示されます。
問題
Status = 317 が表示される原因
- emcmd . createmirror コマンドを実行する際、ターゲットボリュームのサイズ (単位:byte) がソースより小さかった。 (DataKeeper ボリュームリソースプライベートプロパティを参照してください。)
- 2×1 の共有構成において “emcmd . createmirror “ を使用してミラーを作成しようとすると Status = 317 が表示される。
解決策2つの方法があります。:
- ターゲットになる場所がミラーリング可能またはミラーリングに適しているかを確認してください。 (以下でボリュームを確認できること。)
- Windows のディスクの管理 (ディスクのプロパティ) – ソース/ターゲットサイズ (単位:byte) が同じもしくはターゲットのほうが大きい。
- ファイルマネージャーまたはディスクの管理のディスクのプロパティ) – ソース/ターゲットサイズ (単位:byte) が同じもしくはターゲットのほうが大きい。
- Windows のディスクの管理 (ディスクのプロパティ) – ソース/ターゲットサイズ (単位:byte) が同じもしくはターゲットのほうが大きい。
- 共有ボリュームに対して
- 問題のあるターゲット側で次のコマンドを実行します。: emcmd . clearblocktarget {ドライブレター}
- 続いて次のコマンドを実行してターゲットが FALSE に設定されていることを確認します。: emcmd . getblocktarget {ドライブレター}
注意: 共有構成のビットマスクは 384 に設定する必要があります。
- “emcmd . getconfiguration {ドライブレター}“を実行することで確認することが可能です。
- 設定されていない場合は 、 “emcmd . setconfiguration 384” を実行し、その後 “emcmd . getconfiguration {ドライブレター}” を実行して設定が反映されていることを確認してください。
追加情報: ミラーの再構築
クラスター/WSFC/フェールオーバークラスターマネージャーで DataKeeper ジョブと DataKeeper ボリュームリソースを維持したままミラーの再構築をする手順は以下の通りです。
- 毎回ソース側から実行してください。
- コマンドプロンプトを管理者権限で 起動します。
- “cd %extmirrbase% “ (DataKeeper Directoryへのショートカット)
- このノード/ソースのミラーの状態を確認します。
- “emcmd . getmirrorvolinfo <ドライブレター>“ と 入力します。 (このコマンドの出力結果については下記リンクを参照してください。)
- “.” を送信先のサーバー、IP、FQDN に変更して状態を確認することが可能です。
- 残っている古いミラーを削除します。
- “cd Support” と 入力します。
- 次のコマンドはローカルミラーのみ削除し (データは保持されます。) 、スイッチオーバーフラグを削除し、SIOS DataKeeper サービスおよびドライバーにミラーが存在しないことを通知します。
- “cleanupmirror <ドライブレター>”
- “cd ..” (DataKeeper ディレクトリーに戻ります。)
- “emcmd . getmirrorvolinfo <ドライブレター>“ この出力として “0 servername 0” が表示されます。
- ターゲット上で前述の手順を繰り返します。
- ここでミラーを手動で再作成します。
- フェールオーバークラスターマネージャーを 起動 してどのサーバーがリソースの現在のオーナーかを決定します。
- これはコマンドプロンプトからミラーを作成する際にソースとなるノードを示します。
- フェールオーバークラスターマネージャーを 起動 してどのサーバーがリソースの現在のオーナーかを決定します。
- ソース側で以下を実行します。
- “emcmd . getjobinfo” を 実行 します
- 出力を使用して ミラーを再作成するための IP アドレス、ドライブレターおよびミラーのタイプ (非同期 (A)/同期(S) ) を確認してください。
ミラーの作成または再作成の構文は以下の通りです。EMCmd <ソース IP> CREATEMIRROR <ボリュームレター> <ターゲット IP> <Type> [オプション]
例
# emcmd 10.x.x.x createmirror D 10.x.x.x A
“Status = 0” が表示されます。- 作成したミラーを確認するため DataKeeper UI に戻ります。
- ターゲットに対して再同期される全てのデータは “再同期中” と表示されます。
全てのミラーの状態が “ミラーリング” になったら、WSFCのロールは 移動/スイッチオーバー の対象となります。考慮すべきコマンド
もっともよく使用されるコマンドは emcmd . get… コマンドです。
ミラーのステータス確認
emcmd . getmirrorvolinfo
emcmd . getserviceinfo
emcmd . getjobinfo
emcmd . getcompletevolumelist
このトピックへフィードバック