アップグレード中に MID サーバーが一時的に停止した場合の影響を最小限に抑える方法Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } インスタンスのアップグレード (パッチとホットフィックスを含む) の直後に、すべての MID サーバーも新しいバージョンに合わせて自動アップグレードされます。自動アップグレードしないと、コードとデータの不一致が発生し、問題が発生する可能性があります。 この自動アップグレード中、再起動前にアプリケーションファイルを置き換えるために MID サーバーは一時的に停止します。ホストサーバーのパフォーマンスと、ファイルロックがクリアされるまでの待機時間に応じて、約10秒から2分かかる場合があります。 既知のPRB1322060により Madrid MID サーバーには 2 分 (https://support.servicenow.com/kb_view.do?sysparm_article=KB0754285) 以上かかることに注意してください。この問題はニューヨークで解決されました。 MID サーバーは本質的に ECC キューを介して動作する基本的に非同期機能であるため、これはほとんどの場合気付かず、問題を引き起こしません。ただし... 理論的には、次の場合にジョブが失敗する可能性があります。 ジョブは 特定の MID サーバーに送信され、インスタンスで タイムアウトが設定されています。たとえば、同期 RESTMessageV2 は 15 秒のタイムアウトに設定されており、MID サーバーはその間にジョブを実行する機会がありません。ジョブが MID 選択 アルゴリズムを使用し、これが機能/アプリケーション/IP 範囲に一致する 唯一の MID サーバー です。例:オーケストレーションそして他にもあるかもしれません。 MID サーバーの停止および停止イベントが発生し、通知が送信される可能性があります。 実行時間の長いジョブは中断される可能性があるため アップグレード後に最初から再度実行されます。データプッシュの場合、理論的にはエンドポイントで挿入/更新が重複する可能性があります。 A ジョブの終了後に MID サーバーが再起動されたが入力がまだインスタンスに戻されていない場合は、既に終了しているジョブが再実行される可能性があります。詳細については、「KB0743121/PRB1330405」を参照してください。 常に再起動の影響を受ける機能: これらの機能には単一の専用 MID サーバーが必要なため、その MID サーバーが再起動したときに影響を受けます。 LDAPエクスポート セットJDBC データ ソースセンサービジネスルールなしでスクリプトから同期的に呼び出される SOAPMessageV2/RESTMessageV2 API。そしておそらく他の人。 再起動の影響を受けない機能: ディスカバリー/サービスマッピング - プローブ/センサーは、アップグレード後も引き続き実行されます。中断されたものはすべて再実行されます。オーケストレーション - 機能/アプリケーション/IP 範囲の組み合わせごとに複数の MID サーバーがセットアップされており、少なくとも 1 つが稼働状態のままであると仮定します。MID サーバーが利用できない場合、ワークフローアクティビティはエラーになり、エラーに移行します。短いタイマーの後にループバックして再試行するようにワークフローが設計されていると仮定すると、これは問題ではありません。そしておそらく他の人。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } MID サーバーが使用されている場所。 Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } これは想定される動作であり、MID サーバーとそのアップグレードコードの現在の設計により避けられない動作です。使用中のファイルを新しいバージョンに置き換えることはできません。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } MID サーバーの使用方法に応じて、リスクを最小限に抑えるためにできることがいくつかあります。 インスタンスのアップグレード前後に必要以上に実行することは避けてください インスタンスのアップグレード中は、システムスケジューラーが一時停止されるため、ほとんどのスケジュール済みジョブは実行されません。インスタンスのアップグレードの最後に、これは MID サーバーのアップグレードが開始される前のときに再度有効になるため、MID サーバーが自動アップグレードを開始するのとまったく同時に、キューに格納された多くのジョブが実行されようとする可能性があります。 アップグレード前に MID サーバー関連のジョブを手動で無効化または非アクティブ化することは避け、MID サーバーもアップグレードされてから再度オンに戻してください。 実行時間の長いジョブは中断される可能性があるため、アップグレード後に最初から再実行されます。データプッシュの場合、理論的にはエンドポイントで挿入/更新が重複する可能性があります。 フェイルオーバークラスターまたは MID 選択の設定 可能な場合は、MID 選択、ディスカバリー動作、またはクラスターを使用して、MID サーバーを自動的に選択します。1 つの MID サーバーが停止している場合は、別の MID サーバーを使用できます。これらの MID サーバー機能を活用するようにまだすべての機能が更新されているわけではありません。 フェイルオーバー保護用に構成されたクラスターに MID サーバーと追加の MID サーバーを追加し、緩和する MID サーバーと少なくとも同じ機能を持つフェイルオーバー MID サーバーを構成します。 注:複数の MID サーバーを同じホストサーバーにインストールできます。一般的なフェイルオーバークラスターは、2 台のホストサーバー上にそれぞれ 2 台の MID サーバーがあり、合計で 4 台の MID サーバーがあります。 既に準備完了ステータスでキューに入れられているジョブに対しては、「MID サーバーをフェイルオーバー」スクリプトアクションを使用します。 MID サーバーのステータスが「ダウン」に設定されている場合に作成される sysevent テーブルのレコードである mid_server.down イベントが発生すると、「MID サーバーをフェイルオーバー」と呼ばれるスクリプトアクションが実行されます。再起動中に MID サーバーが一時的にダウンすると、そのスクリプトアクションが実行されます。 これにより、次のいずれかの方法を使用して準備完了ステータスまたは処理中ステータスの ECC キュー出力レコードが別の MID サーバーに再アサインされます。 最初に MID セレクターを使用してジョブが MID サーバーに割り当てられた場合: 元の MID 選択が行われたのと同じ基準を使用して、MID 選択アルゴリズムを再実行します。これは、別の MID サーバーがまだ稼働しており、停止中の MID サーバーと同じ機能/IP 範囲/アプリケーションが定義されていることに依存します。 ジョブが MID サーバーに直接アサインされた場合、またはクラスター経由でアサインされた場合: MID サーバーがメンバーである同じフェイルオーバークラスターの別のメンバーにジョブを割り当てます。これは、MID サーバーがフェイルオーバークラスターのメンバーであり、稼働している他のメンバーが存在するかどうかによって異なります。 これにより、 すでに処理ステータスにある出力も再割り当てされ、すべてのジョブが確実に実行されますが、ジョブが 2 回実行されることになる可能性があります。 「処理中」は、MID サーバーが既にキューからジョブを取得していることを意味します。プロセスのいずれかのステージにある可能性があります。 MID サーバーの RAM の内部キューにジョブがある。(MID サーバーは、それらを実行できるスレッド数よりも多くのジョブを意図的に一度にフェッチします)ジョブがワーカースレッドで実行されている可能性があります。ジョブが完了し、結果が ECC Sender フォルダーの一時 XML ファイルに保存されたものの、ECC 入力レコードとしてまだインスタンスに返されていない場合があります。ECC 入力レコードは挿入されましたが、それに応じて出力レコードを処理済みに設定するビジネスルールはまだ挿入されていません。 MID サーバーとインスタンス間のネットワーク/通信の問題が原因で MID サーバーが一時的に停止しているだけで、実際にはまだ実行されている場合、処理中ステータスで再アサインされたジョブが、元のフェイルオーバーの MID サーバーによって実行される可能性があります。まれですが、実際に起こります。一部の統合では、レコードが別のシステムに 2 回プッシュされて重複が発生するなど、これに関する問題が発生する可能性があります。 MID サーバーのバージョンを一時的に固定することで、アップグレードを実行するタイミングを制御します。 MID サーバーが固定されている場合、そのバージョンのままになります。これを使用して、アップグレード中に影響を受けるジョブがないことが確実になるまでアップグレードを遅らせることができます。 警告:インスタンスの MID サーバーバージョンが間違っている間に、コードとデータの不一致によって機能が損なわれるリスクがあるため、自動アップグレードを数分以上遅らせないでください。 各 MID サーバーについて: パラメーター mid.pinned.version を追加し、アップグレード前に統計ページ (/stats.do) に表示される MID buildstamp: 値として値を設定します。例:London パッチ 4 から Madrid へのアップグレードの場合:名前:mid.pinned.version値:london-06-27-2018__patch4-11-21-2018_12-04-2018_1527インスタンスのアップグレードが完了するまで待ちます。今後数分以内に MID サーバーを使用する必要のあるジョブがないことを確認します。mid.pinned.version パラメーターを削除します。(パラメーターレコードを削除します。ただクリアしないと固定解除されません)[MID サーバー] フォームの [アップグレード] をクリックして、今すぐアップグレードを実行できるようにします。 他のメンバーがアップグレードされるまで、各 MID サーバークラスターの 1 つのメンバーを固定します。 各フェイルオーバークラスター内の MID サーバーの 1 つだけを一時的に固定して、他のクラスターメンバーのアップグレード中にキューに入れられたジョブに対して MID サーバーが稼働し続けるようにすることができます。 同時に 1 にアップグレードできる MID サーバーの数を最小化する。 London リリース以降、MID サーバーの同時アップグレードの数を制限できるようになりました。これは SOAP セマフォの枯渇を回避するように設計されていますが、同時にアップグレードファイルをダウンロードできる MID サーバーの最大数を制御できるという副作用があります。これにより、MID サーバーのアップグレードをより分散させることができます。 次の 2 つのプロパティをインスタンスのシステムプロパティ [sys_properties] テーブルに追加します。 mid.download.through.instance=trueconcurrent.dist.download=1 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 次のメインドキュメントページ: MID サーバーのアップグレードMID サーバークラスター構成MID サーバーの選択