Hyper-V に対して Discovery が 2 つの Server CI(Windows Server + Hyper-V Server)を作成する - この設計に関する既知の問題Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Hyper-V Windows Server を Discovery した後、同じサーバーハードウェアに対して 2 つの CI が存在することに気付く場合があります。Hyper-V ロールがインストールされたフル Windows Server インストールの場合、現在の設計ではこれは正常な動作です。この記事では、この設計の詳細と、この設計に伴う問題について説明します。 目次 ディスカバリーが CMDB 内で Hyper-V サーバーを配置する場所 Hyper-V サーバー (Hyper-V ロールを備えたサーバーコアのみ)Hyper-V ロールを持つ Windows サーバー 設計上の注意CMDB IRE 識別および重複排除タスクモデルカテゴリと CI 資産の同期正しい CI の選択ディスカバリーコンソールインポートとサービスグラフコネクタITOM ヴィジビリティライセンス ノード数 Discovery が Hyper-V Server を CMDB のどこに配置するか サーバーが無償の Server Core ベース Hyper-V を実行しているか、またはフル Windows Server インストールであるかによって、メインの Server CI の作成方法は少し異なります。 Hyper-V Server (Server Core w/ Hyper-V role only) https://en.wikipedia.org/wiki/Hyper-V#Hyper-V_Server Classifier: Hyper-V Server OS Name/edition に "Hyper-V" が含まれ、"without Hyper-V" が含まれない場合(例: "Windows Server 2008 without Hyper-V" には使用されません)この Classifier は最初に評価されるため、一致しなかった場合のみ通常の Server Classifier にフォールバックします。 これらのデバイスには "Hyper-V Server" Pattern が使用されます。"Hyper-V Server" [cmdb_ci_hyper_v_server] のみが作成されます。これがメイン CI であり、Serial Number、IP、Network Adapter、Disk、Running Process などの関連リストを保持します。Operating System フィールドには Hyper-V OS 名が格納されます。 Hyper-V ロールを持つ Windows サーバー https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions#Server_versions Classifier: Windows n Server (例: Windows 2022 Server) OS Name/edition に "Server" が含まれる場合 "Windows OS - Servers" Pattern が使用され、この Pattern には "Windows - Hyper-V" Library が含まれます。"Windows Server" [cmdb_ci_win_server] CI が作成されます。これがメイン CI であり、Serial Number、IP、Network Adapter、Disk、Running Process などの関連リストを保持します。サーバー上で "Runs On" 関係を持つ Discovery 済み Application CI は cmdb_ci_win_server CI に関連付けられます。追加で "Hyper-V Server" [cmdb_ci_hyper_v_server] が作成されます。この CI はメインの Windows Server CI に対して "Runs on" 関係を持ちます。この CI にはすべての属性や関連リストは設定されません。 2022 年 9 月以降、Name には "@Hyper-V Server" サフィックスが付与されます。Serial Number には "_hyper_v_server" サフィックスが付与されます。cmdb_ci_hyper_v_server レコードの windows_host フィールドは cmdb_ci_win_server レコードを参照します。 両方のレコードの Operating System フィールドには、完全な Windows Server バージョン(例: "Windows 2012 R2 Datacenter")が設定されます。 設計上の注意 これは Probes+Sensors を使用する Discovery、および Patterns を使用する Discovery の両方に適用されます。Pattern Migration でも Probe と同じ設計が維持されています。 すべての Hyper-V CI と Virtual CI 間の関係を一貫して動作させるためには、"Hyper-V Server" [cmdb_ci_hyper_v_server] クラスの CI が存在する必要があります。 cmdb_ci_hyper_v_server クラスは CMDB の Hardware ブランチに属していますが、実際には Software に近い存在です。これは、その後に登場したより新しい Discovery 実装、CI Class Model、推奨 Relationship、および CSDM とあまり整合していません。もし現在この仕組みを設計するのであれば、メインのハードウェア CI には cmdb_ci_win_server が使用され、そのサーバー上で実行される Hyper-V ソフトウェア用に Hyper-V Application クラスが使用される可能性があります。 上記が現在の Hyper-V Server Discovery の設計です。現在この設計を変更することは困難です。 この設計は Product Defect とは見なされておらず、Working as Expected です。お客様は引き続き Enhancement Request を作成する選択肢があります。過去にも実施されましたが結果には至りませんでした。ただし、今回十分な Up-vote が集まれば状況が変わる可能性があります。 CMDB IRE 識別および重複排除タスク これらの CI 間の参照や関係が正しく作成されている限り、CMDB IRE Reconciliation Engine の Health Job はこれらを Duplicate として扱いません。実際には同じハードウェアに対する 2 つの CI ですが、両方とも Hardware ブランチに属しており、"Hardware Rule" Identifier によって処理されます。 以前、この仕組みが動作しなくなり、以下の問題が発生しました。 PRB1564552 / KB1118026 Hyper-V Server pattern steps do not differentiate identification fields from Windows Server, causing conflicts with duplicate remediator この問題は "Visibility Content" App v6.1.0(2022 年 9 月版)以降で修正されました。 現在の "Windows OS - Servers" Pattern は、Windows Server CI に実際の Name と Serial Number を使用します。 また、Hyper-V Server レコードには以下のサフィックスを付与します。 Name: "@Hyper-V Server"Serial Number: "_hyper_v_server" なお、単一の Hyper-V Server CI を作成する "Hyper-V Server" Pattern は、実際の Name と Serial Number を使用します。 Model Categories および CI-Asset 同期 Windows Server 用の Model Category [cmdb_model_category] が存在します。これにより関連する Hardware Asset が自動作成され、両者のフィールドが同期されます。 Hyper-V Server 用の Model Category は存在しません。そのため、Hyper-V Server CI のみが存在し、それがサーバーハードウェアを表す唯一の CI である場合、関連 Asset は作成されません。 正しい CI の選択 通常の Server が Hyper-V も実行している場合、2 つの CI は異なるクラスに属しますが、同じ Name を持ちます。 両方とも CMDB の Server/Computer/Hardware ブランチ内に存在するため、Lookup 選択ボックスには両方が表示される可能性があります。 どちらを使用し、どのように区別するのでしょうか。 タスクが Hardware や OS 全般の構成に関連する場合は、cmdb_ci_win_server レコードを使用するのが理想的です。 この CI は Serial Number、CPU/Memory、Network/IP、Running Process などの関連リストを保持します。"@Hyper-V Server" サフィックスを持つ CI は使用しません。 タスクが Hyper-V の構成、またはその上で実行される VM や Service に関連する場合は、cmdb_ci_hyper_v_server レコードの方が適しています。 この CI は Hyper-V 固有の Relationship を保持します。 Lookup 選択ポップアップ(Incident、Problem、Change フォームなど)のリストレイアウトをカスタマイズし、Class 列を表示することで ITIL ユーザーや Asset ユーザーが区別しやすくなります。 また、参照先 Configuration Item の Class を dot-walk したフィールドをタスクフォームへ追加することも可能です。 誤って CI を再分類しないよう、そのフィールドは UI Policy により読み取り専用にすることを推奨します。 Discovery Console 次を参照してください。KB1216009 Disabling Hyper-V Server in the Discovery Console does not prevent Hyper-V Server class CIs being created Imports および Service Graph Connector Microsoft SMS/SCCM Integration Plugin は同じ動作をしません。このプラグインは Hyper-V Server(Server Core w/ Hyper-V role only)ホストを Windows Server クラスへインポートします。その結果、既存の Hyper-V クラス CI は Windows Server テーブルへ再分類・移動され、関連する Hyper-V Instance も一緒に移動されます。 その後 Discovery を再実行すると新しい Hyper-V CI が作成され、SCCM によって移動された CI が重複 CI になります。 この非互換性によって発生する問題は PRB1362155 で追跡されています。 KB0812251 SCCM integration puts Hyper-V Servers in Windows Server class [cmdb_ci_win_server], whereas Discovery has traditionally put them in Hyper-V Server class [cmdb_ci_hyper_v_server] ITOM Visibility ライセンスの Node Count この設計により Server CI が過剰計上される問題は、Rome バージョンで修正されました。(PRB1483452) Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべて Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 上記を参照