Quantcast
Channel: Ask CORE
Viewing all 590 articles
Browse latest View live

ソース: FailoverClustering, イベント ID :1135, イベント ID :1177 が記録されクラスター サービスが停止してしまう

$
0
0

平素より弊社製品をご愛顧くださいまして、誠にありがとうございます。
日本マイクロソフトの加藤です。

クラスター サービスでは、ノード間通信が失敗するとクラスター サービスが停止してしまう障害が発生することがございます。クラスター サービスが停止した原因がノード間通信やクォーラム ディスクへのアクセス遅延の場合にはシステム ログに下記のようなログが記録されます。

■ ログ: システム, ソース: FailoverClustering, イベント ID :1135
   (ノード間通信のハートビートの疎通が失敗してしまい、クラスターを構成するノードがクラスター サービスから除外されたことを示すエラー)

■ ログ: システム, ソース: FailoverClustering,イベント ID :1177
   (クラスターの起動時にクォーラム ディスクへの接続が遅くクラスター サービスが何度も再起動を繰り返す際に記録されるエラー)

上述のような障害は、クラスターを構成するノードの負荷が生じていたりディスクやノード間のアクセス経路に問題があったりと原因はさまざまです。しかしながら、原因はお客様環境に依存する問題であることがほとんどとなります。原因を調査し、その原因への対処策を実施することが根本的な解決ではございますが、原因への対処策を実施いただくまでの暫定的な対処として、障害を検知するまでの時間を遅らせる方法がございます。クラスターのパラメーターである QuorumArbitrationTimeMax や SameSubnetDelay, SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold の値の変更が障害を検知するまでの時間を遅らせる方法としては有効です。これらのパラメーターの値は GUI で変更することができないため、変更する方法をこの Blog でご紹介させていただきます。

GUI で設定の変更ができない理由としては、一般的な環境では変更する必要がなく、変更することによりクラスター サービス全体に影響を与える恐れがあるためでございます。そのため、設定及び設定変更いただく場合には十分影響について考慮いただいた上で実施くださいますようお願いいたします。

本項では、クラスターのパラメーターである QuorumArbitrationTimeMax や SameSubnetDelay, SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold についてご紹介させていただきます。


1. QuorumArbitrationTimeMax

2. SameSubnetDelay, SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold


1. QuorumArbitrationTimeMax
-----------------------------------------------------------------------------------------------------------------------
QuorumArbitrationTimeMax はクラスター サービスでクォーラムが失われた状態を障害として検知するまでの時間となります。一般的には、クラスターの起動時もしくは再起動時にクォーラム ディスクへの接続が遅くクラスター サービスが何度も再起動を繰り返す等の問題が生じた際にこのパラメーターの値を変更することで回避できる可能性がございます。具体的には以下のようなログがシステム ログに記録されます。


ログの名前: システム
ソース: FailoverClustering
イベント ID: 1177
レベル: 重大
説明: クォーラムが失われたためにクラスター サービスがシャットダウンしています。クラスター内の一部またはすべてのノードとのネットワーク接続が失われたか、監視ディスクのフェールオーバーが原因となっている可能性があります。


<クラスターの基本的な動き>
クラスター サービスでは、クラスターを構成するノード間で通信障害が発生するとすなわち自身以外のクラスターを構成するノードの状態が確認できない場合、クラスターを構成するノードは自身がオーナーとなりクラスターを提供しようといたします。上記の動作は下記の 2  点のいずれかの状態になるまで、継続いたします。

1. クォーラムの過半数以上を取得したノードが現れ、そのノードが提供するクラスターに所属していないノードのクラスター サービスは再起動され、クラスターに再参加する。

2. 全てのノードがクォーラムの過半数を取得できず、全てのノードでクラスター サービスが再起動される。


クォーラムを過半数以上維持するノードが出現するとクラスター サービスは再提供されますが、この時クォーラムを取得できなかったノードはクラスターへの再参加 (メンバーシップの再確立) を試みるため、クラスター サービスを再起動いたします。この再起動までの時間が、Death Timer (QuorumArbitrationTimeMax) の値となり
ます。すべてのノードがクォーラムの過半数を取得できず、全てのノードでクラスター サービスが再起動されるまでの時間も、Death Timer (QuorumArbitrationTimeMax) の値となります。また、クラスター サービスが停止するまで、該当ノードで役割が動作しますので、ディスクのような排他的に保有されるリソースを含む役割のオーナーであった場合、ディスク等のリソースをリリースするまでの時間も Death Timer (QuorumArbitrationTimeMax) の値でございます。


例えば、ノードが 2 台でクォーラム ディスクを保有する環境があるといたします。クラスターを構成するノード間で通信障害が発生すると、排他制御の観点からクラスターを構成するノードは自身がオーナーとなりクラスターを提供しようといたします。

しかしながら、何らかの要因によりクォーラム ディスクへの接続が遅い場合など、Death Timer (QuorumArbitrationTimeMax) の時間以内にいずれかのノードがクォーラム ディスクを取得できないと、すべてのノードでクラスター サービスの再起動が実施され
クラスター サービスを提供できません。そのため、Death Timer (QuorumArbitrationTimeMax) の時間を延長し、いずれかのノードがクォーラム ディスクを取得できる可能性を増やすことがひとつの対処策となります。

しかしながら、上述から、QuorumArbitrationTimeMax の値を変更する場合はクラスター サービスを再提供するまでの時間やその他のパラメーターの値との関連等考慮いただき、まずは極力短い値から設定いただきますようお願いいたします。


<Death Timer (QuorumArbitrationTimeMax) の値 のメリット・デメリット>

メリット   : 値を大きくすることにより、何らかの要因によりクォーラム ディスクへの接続が遅い場合など、クォーラム ディスクへの接続確率を上げ、クラスター サービスの提供確率を上げることを試みることができる。

デメリット : 値を大きくすることにより、クラスター内でクォーラムが失われた状態を障害として検知するまでの時間が遅れ、クォーラムを失ったノードがクラスターへ再参加するための再起動が遅れる。また、クラスター サービスを停止するまで該当ノードで役割が動作するため、障害が発生した際にディスクなどの (排他的に制御される) リソースの状態を手動で変更する、例えば手動でオンライン状態へ変更できるまでの時間が既定値で運用している場合と比べ (変更した値 マイナス 20) 秒遅くなる。


以下、QuorumArbitrationTimeMax の値の確認及び変更方法についてご紹介させていただきます。

------------------------------
・PowerShell コマンドレット
------------------------------
1. 管理者権限で PowerShell を実行します。

2. ローカル クラスターの状態およびプロパティに関する情報を一覧
  形式で表示し、QuorumArbitrationTimeMax の値を確認します。
  (既定では 20 (秒) になっています)

  > Get-Cluster | fl *

3. QuorumArbitrationTimeMax の値を変更します。
  今回は例として、30 秒で設定する場合でご紹介いたします。

  > (Get-Cluster). QuorumArbitrationTimeMax = 30

4. ローカル クラスターの状態およびプロパティに関する情報を一覧
  形式で表示し、QuorumArbitrationTimeMax の値が変更されているか確認します。

    > Get-Cluster | fl *

------------------------------
・コマンド プロンプトでの Cluster.exe コマンド
------------------------------
1. 管理者権限でコマンド プロンプトを実行します。

2. ローカル クラスターの状態およびプロパティに関する情報を一覧
  形式で表示し、QuorumArbitrationTimeMax の値を確認します。
  (既定では 20 (秒) になっています)

  > Cluster /prop

3. QuorumArbitrationTimeMax の値を変更します。
  今回は例として、30 秒で設定する場合でご紹介いたします。

  > cluster /prop QuorumArbitrationTimeMax = "30"

4. ローカル クラスターの状態およびプロパティに関する情報を一覧
  形式で表示し、QuorumArbitrationTimeMax の値が変更されているか確認します。

  > Cluster /prop

2. SameSubnetDelay,  SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold
-----------------------------------------------------------------------------------------------------------------------
SameSubnetDelay, SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold の4 点はハートビートの間隔や、障害検知までのしきい値に関するパラメーターでございます。一般的には、ノード間通信のハートビートの疎通が失敗してしまい、クラスターを構成するノードがクラスター サービスから除外されエラーを記録しているこのパラメーターの値を変更し対処をいたします。具体的には以下のようなログがシステム ログに記録されます。

 _


ログの名前: システム
ソース: FailoverClustering
イベント ID: 1135
レベル: 重大
説明: クラスター ノード 'ノード名' がアクティブなフェールオーバー クラスター メンバーシップから削除されました。クラスター サービスがこのノードで停止されている可能性があります。また、このノードがフェールオーバー クラスター内の別のアクティブなノードと通信できないことが原因である可能性もあります。構成の検証ウィザードを実行して、ネットワーク構成を確認してください。状況が変化しない場合は、このノードのネットワーク アダプターに関連するハードウェアまたはソフトウェアのエラーがないか確認してください。また、ハブ、スイッチ、ブリッジのような、ノードが接続されている他のネットワーク コンポーネントにエラーがないか確認してください。


WSFC 環境のハートビートの既定の設定は以下となります。

ハートビート間隔 : 1 秒
切断検知までのしきい値 : 5 回

1 秒間隔にハートビート パケットを送付し、このパケットが連続して 5 回失敗するとネットワークが切断されたと判断し、「パーティション分割」の状態となります。ネットワークが不安定な環境では、上記ハートビートの設定を 1 秒間隔で 5 回ではなく、2 秒間隔で 10 回まで、などに変更する事によってこのネットワークの問題に対応できる場合があります。この設定値は、以下のクラスター プロパティ値として管理されています。

■ クラスターが同じサブネット構成されている場合

SameSubnetDelay (単位:ミリ秒)
SameSubnetThreshold (単位:回数)

■ クラスターが異なるサブネットで構成されている場合

CrossSubnetDelay (単位:ミリ秒)
CrossSubnetThreshold (単位:回数)

負荷の高いネットワークであったり、 WAN 環境などのパケット遅延が発生しうる環境では、これらの値を変更することで一時的なハートビート通信遅延などによる障害検知の影響を軽減することができます。しかしながら、ハートビート通信の閾値を必要以上に延長すると、クラスター ノードにおける障害検知 (例えばブルースクリーンでノードが落ちた場合等) が遅くなるリスクがあります。そのため、TCP/IP やアプリケーションがもつ各種タイムアウト等を考慮に入れ、お客様の運用方針に合わせた適切な値を設定いただければと思います。


< SameSubnetDelay, SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold の値 メリット・デメリット>

メリット     : 負荷の高いネットワークであったり、 WAN 環境などのパケット遅延が発生しうる環境では、値を大きく設定することで一時的なハートビート通信遅延などによる障害検知の影響が軽減できる。

デメリット            : クラスター ノードにおける障害 (例えば ブルースクリーンでノードが落ちた場合の) 検知が遅くなる。


以下、SameSubnetDelay, SameSubnetThreshold, CrossSubnetDelay, CrossSubnetThreshold の値の確認及び変更方法についてご紹介させていただきます。

------------------------------
・PowerShell コマンドレット
------------------------------
1. 管理者権限で、Powershell を実行します。

2. 以下の Powershell コマンドレットを実行して、現在の設定状況を確認します。
   (CrossSubnetDelay, CrossSubnetThreshold  の値について確認する場合は fl 以下を変更することで確認が可能です)

PS C:\> Get-Cluster | fl SameSubnetDelay, SameSubnetThreshold

3. 以下のコマンドレッドを実行し、SameSubnetDelay, SameSubnetThreshold の設定変更をします。
   今回は例として、2 秒 10 回で設定します。

 PS C:\> (Get-Cluster). SameSubnetDelay = 2000
 PS C:\> (Get-Cluster).SameSubnetThreshold = 10

4. 以下の Powershell コマンドレットを実行して、変更が反映されているか確認します。
  (CrossSubnetDelay, CrossSubnetThreshold  の値について確認する場合は fl 以下を変更することで確認が可能です)

  PS C:\> Get-Cluster | fl SameSubnetDelay, SameSubnetThreshold


これにより、ハートビート通信の切断の閾値が、2 秒間隔で 10 回失敗した場合まで拡張されます。
※ コマンドレットで設定いただいた後に再起動いただく必要はございません。

<参考情報>
[タイトル] フェールオーバー クラスターのハートビートについて
http://blogs.technet.com/b/askcorejp/archive/2012/03/22/3488080.aspx

[Title] Tuning Failover Cluster Network Thresholds
http://blogs.msdn.com/b/clustering/archive/2012/11/21/10370765.aspx


------------------------------
・コマンド プロンプトでの Cluster.exe コマンド
------------------------------
1. 管理者権限でコマンド プロンプトを実行します。

2. SameSubnetDelay, SameSubnetThreshold の値を確認します。
   (CrossSubnetDelay, CrossSubnetThreshold の値について確認する場合は Prop : 以下を変更することで確認が可能です。)

  > cluster /prop:SameSubnetDelay
    > cluster /prop:SameSubnetThreshold

3. SameSubnetDelay, SameSubnetThreshold の値を変更します。
  今回は例として、2 秒 10 回で設定します。

  > cluster /prop:SameSubnetDelay = 2000
    > cluster /prop:SameSubnetThreshold =10

4. 再度 SameSubnetDelay, SameSubnetThreshold の値を確認し変更が反映されているか確認します。

  > cluster /prop:SameSubnetDelay
    > cluster /prop:SameSubnetThreshold

これにより、ハートビート通信の切断の閾値が、2 秒間隔で 10 回失敗した場合まで拡張されます。
※コマンドで設定いただいた後に再起動いただく必要はございません。

<参考情報>
[Title] QuorumArbitrationTimeMax
https://msdn.microsoft.com/en-us/library/aa369123(v=vs.85).aspx

[タイトル] クラスターのハートビート通信の設定値の範囲について
http://blogs.technet.com/b/askcorejp/archive/2015/08/12/3653013.aspx


Azure バックアップでの "* (ワイルドカード)" を使用したバックアップ データ検索について

$
0
0

こんにちは、Windows Platform サポートの永岡です。

最近、Azure バックアップを使用した環境において、フォルダおよびファイル単位で
リストアを実施する際にフォルダやファイル検索で "* (ワイルドカード)" は複数使用できるのか・・?
というお問い合わせをいただきました。

今回はこの Azure バックアップを使用したリストア時におけるバックアップ データの検索について
ご紹介します。

結論としては 2015 年 10 月 26 日現在 (Azure Recovery Service Agent 2.0.8724.0) において、
"* (ワイルドカード)" は 1 つのみ使用可能となっております。

しかし 2 つ以上 "* (ワイルドカード)" を使用した際に出力されるエラー メッセージが、誤解をまねく
表記 (後述) となっておりますので、各手順毎の画面キャプチャを用いながら、Azure バックアップで
サポートされている "* (ワイルドカード)" の使用方法についてご案内します。

=================
今回のシナリオ
================
ここでは以下構成の "c:\Backup Test" のデータが Azure バックアップにより
バックアップされている事を前提として、リストア時に使用できる "* (ワイルドカード)" の
使用方法についてご説明します。


c:\Backup Test
  |
  |---Test_Azure_2015.txt
  |---Azure
        |
        |-- Azure.txt
            Test2_2015_Azure.txt


まずは上記の "c:\Backup Test" 配下のバックアップ データを検索するため、Azure バックアップの
コンソールから、データ回復 (リストア) のためのウィザードを立ち上げ、以下の手順で操作を進めます。

手順
-----
1) [データ回復] - [バックアップ元サーバー選択] から [ファイルの検索] を選択して
   ウィザードを進めます。

2) [ボリュームの選択] から C ドライブ (このシナリオの場合) を選択して、復旧したい
   回復ポイントを選択します。

3) [回復する項目の検索] へ検索対象のフォルダ "c:\Backup Test" を入力して、
   [ファイルまたはフォルダーの名前] で "* (ワイルドカード)" を使用した
   バックアップ データの検索を実施します。(以下は、各検索パターンの画面キャプチャです)

----------------------------------------------
Azure* を使用した前方一致の検索
----------------------------------------------

----------------------------------------------
*Azure を使用した後方一致の検索
----------------------------------------------

※この場合、拡張子も含めた後方一致の検索が行われます。

-------------------------------------------------
*Azure* を使用した部分一致の検索
-------------------------------------------------

この時 (*Azure* を使用した部分一致検索の場合)、Azure バックアップでは "* (ワイルドカード)"
を 1 つのみサポートしているためエラーとなりますが、上記エラーメッセージ上に "*Azure*" 等の
部分一致検索が、あたかも可能であるかのように表示されてしまいます。

現在、この問題については開発元側へエスカレーションしており、修正依頼を行っておりますが
時期や修正内容などについては未定となっております。

そのため、バックアップ データの適切なリストア作業を、フォルダー毎に実施いただく場合には、
[回復する項目の検索] へ検索対象のフォルダを入力いただいた上で、[ファイルまたはフォルダーの名前] を
空のまま検索いただき、すべてのフォルダーおよびファイルを表示するか (以下画面キャプチャ)、
上記 1) で [ファイルの検索] ではなく [ファイルの参照] をご選択いただいた上で、リストアいただく事を
ご検討いただければと思います。

---------------------------------------------------------------------
[ファイルまたはフォルダーの名前] を空のまま検索
---------------------------------------------------------------------

---------------------------------------------
[ファイルの参照] を使用した検索
---------------------------------------------

-参考情報
Microsoft Azure 自習書シリーズの公開
http://blogs.msdn.com/b/windowsazurej/archive/2014/06/02/blog-published-azure-self-learning-series.aspx

Azure Backup を Windows Server のバックアップ用に構成する
https://azure.microsoft.com/ja-jp/documentation/articles/backup-configure-vault/

Azure Backup の利用を始める
http://blogs.msdn.com/b/windowsazurej/archive/2014/10/01/blog-getting-started-with-azure-backup.aspx

クラスター調査に必要な情報収集について

$
0
0

こんにちは。

平素は弊社製品をご愛顧いただき誠にありがとうございます。

 運用を頂いておりますお客様のクラスター環境は問題無く動作しておりますでしょうか。高可用性を謳うフェールオーバー クラスター製品ですが、長く運用を頂く中で外部的な要因も含め、クラスターが障害を検知したりフェールオーバーが発生する場合もあるかと存じます。

障害調査依頼として弊社にお問い合わせを頂く場合、お伺いした現象や障害に対して調査の為の情報取得をお願いすることがあります。この記事では初期調査を行なううえで最低限必要になる情報をご案内します( 実際の調査ではその過程においてあらためて現象の確認や追加情報のお願いをさせていただく場合があります。お手数をお掛けする事となりますが何卒、ご理解と共にご協力を頂けますようよろしくお願い申し上げます)。
一般的にフェールオーバー クラスターの調査では部分的なエラー情報だけではなく構成や動作を確認する必要がありますので、以下 (a)~(f) の様な情報が必要になります。またフェールオーバー クラスターは複数の Windows サーバーが連携して動作しますので、情報採取はクラスターを構成する全てのノードが対象になります。
実機からのログ情報採取とは別に、確認いただいた発生障害と状況についても是非、お教えください (障害対応の現場は修羅場同然でそれどころではないと思いますが、後から思い出せる範囲でも結構です。現場で実際に目で観て頂いた情報は何よりも重要であることが多くあります)。


情報保存を頂きたい情報

◆ Windows OS の情報

(a) システム情報 (msinfo32.exe) : 全ノードで採取
(b) イベント ログ情報 Evtx+CSV形式 (eventvwr.exe) : 全ノードで採取
(c) ネットワーク情報 (ipconfig.exe) : 全ノードで採取

◆ フェールオーバー クラスターの情報

(d) クラスター診断ログ (cluster.exe/Get-ClusterLog) : 全ノードで採取 ...
(e) クラスター リソースとグループの情報 (cluster.exe/Get-Cluster)  : 1台のノードで採取
(f) クラスター ハイブ (reg.exe) : 1台のノードで採取

※ クラスター診断ログはサイズ固定の循環ログですので、時間が経過することにより古いログから上書きされてしまいます。障害が発生した後は可能な限り速やかに保存と回収をお願いします。

◆ 発生現象に関して

クラスター環境に関連する障害のお問い合わせでは様々な事象があります。ほんの一部ですが思いつく範囲ではこんなところでしょうか。

・フェールオーバーした
・フェールオーバーしたがオンラインにできなかった
・(障害が発生したのに)フェールオーバーしない
・リソースが失敗した。
・クラスター サービスが再起動した
・ノードがスローダウン/ハングアップ/再起動/サインインできない

等々・・・お問い合わせを頂く場合には、障害が発生する前に環境の変化がなかったか、障害発生時に行なった操作(また復旧操作があればその内容)、障害発生時の目視の状況などについても分かる範囲で構いませんので、時系列での情報を簡単なメモ書きでまとめていただけると助かります。

 

 

情報採取方法

以下に (a)~(f) それぞれの情報採取の方法についてご案内します。

(a) システム情報

システム情報 msinfo32.exe の出力結果を保存します。対象はクラスターを構成する全てのノードです。

管理者権限のコマンド プロンプトから以下のコマンドで取得します。

  msinfo32  /nfo  <出力ファイル名> 

出力ファイル名:ノード名_MSINFO32.txt など

コマンドを実行した後、情報収集が終わるまでには少々時間がかかります。指定したファイルが出力されるまでお待ちください。

(b) イベント ログ情報

イベント ビューア eventvwr.exe を起動し、以下のイベントを対象に evtx 形式と csv 形式でログを保存します。
対象はクラスターを構成する全てのノードです。

① [Windows ログ] - [Application]
② [Windows ログ] - [システム]
③ [アプリケーションとサービス ログ] - [Microsoft] - [Windows] - [FailoverClustering] - [Operational]

(c) ネットワーク情報

ネットワーク情報として ipconfig  /all の出力結果を保存します。対象はクラスターを構成する全てのノードです。

 管理者権限のコマンド プロンプトから以下の書式で ipconfig.exe コマンドの結果をファイルに出力しご提供ください。

  ipconfig  /all  >  <出力ファイル名>

出力ファイル名:ノード名_IPCONFIG.txt など

(d) クラスター診断ログ

クラスター ログ (cluster.log) と呼ばれます。Event Tracing for Windows (ETW) で記録されているため、デコードを行なう必要があります。

対象はクラスターを構成する全てのノードです (デコードを行なう以下のコマンドは 1 台のノードで実行しますが、ログは全てのノードに出力されます)。

- Windows Server 2008 R2 まで (コマンド プロンプトを使います)

管理者権限の コマンド プロンプトを起動し、以下のコマンドを実行します。

  cluster log /g

- Windows Server 2012 以降 (Power Shell を使います)

管理者権限の Power Shell (64 bit) を起動し、以下のコマンド レットを実行します。

  Get-ClusterLog

出力先は既定で C:\Windows\Cluster\Reports\Cluster.log になります。各ノード毎に回収をお願いします。

(e) クラスター リソースとグループの情報

クラスター上のリソース一覧と状態を確認します。対象はクラスターを構成する 1 台のノードです (クラスター上の情報は全てのノードで共通になります)。以下の方法で情報を保存します。

- Windows Server 2008 R2 まで (コマンド プロンプトを使います)

管理者権限の コマンド プロンプトを起動し、以下のコマンドを実行します。

  cluster res
  cluster group

- Windows Server 2012 以降 (Power Shell を使います)

管理者権限の Power Shell (64 bit) を起動し、以下のコマンド レットを実行します。

  Get-Cluster | select *
  Get-ClusterGroup
  Get-ClusterGroup | select *
  Get-ClusterResource
  Get-ClusterResource | select *
  Get-ClusterNetwork
  Get-ClusterNetwork | select *

表示された情報を確認し、テキストファイルに保存します。

(f) クラスター ハイブ

クラスター データベースとも呼ばれるレジストリ ハイブです。

対象はクラスターを構成する 1 台のノードです (クラスター上の情報は全てのノードで共通になります)。対象のレジストリは HKEY_LOCAL_MACHINE\Cluster です。

管理者権限の コマンド プロンプトを起動し、以下のコマンドで取得します。

  reg  save  HKLM\Cluster  <出力ファイル名>

出力ファイル名:Cluster_HIVE.hiv など

 

以上、クラスター調査に必要となる情報収集についてご案内しました。

最後になりますが、お客様のシステムが安定稼働することを心より願っております。

 

- 参考資料

Windows Server 2008 R2: フェールオーバー クラスターのトラブルシューティング

https://technet.microsoft.com/ja-jp/magazine/hh272674.aspx

 

Windows Server 2012 R2 および Windows 8.1 以降のネットワーク レベル認証の動作について

$
0
0

こんにちは。Windows プラットフォーム サポートの今入です。

今回は、Windows Server 2012 R2, Windows 8.1 以降における、リモート デスクトップ接続の挙動について、よくお問い合わせ頂くご質問と一緒にご説明します。

ご質問内容は以下の通りです。

以下の環境で、リモート デスクトップ接続時に、ユーザーのパスワード変更ができなくなりました。
原因と回避策について教えてください。

<環境>
[接続元]
OS: Windows Server 2012 R2

[接続先]
OS: Windows Server 2012 R2

  • [システムのプロパティ] にて、[ネットワーク レベル認証でリモート デスクトップを実行しているコンピューターからのみ接続を許可する (推奨) ] のチェックを外している。
    (ネットワーク レベル認証が強制されていない)
  • 接続に使用するユーザーは、[ユーザーは次回ログオン時にパスワード変更が必要] にチェックがついている。

1. 事象


ご質問内容の通り、[ネットワーク レベル認証でリモート デスクトップを実行しているコンピューターからのみ接続を許可する]のチェックボックスを外すのみでは、以下の表の "NO" と示された接続元・接続先 OS の組み合わせでは、リモート デスクトップ接続でのパスワード変更 (次回ログオン時のパスワード変更 および パスワードの有効期限超過時のパスワード変更) が行えません。

これは、ワークグループ環境、ドメイン環境を問いません。

2. Windows Server 2012 / Windows 8 までの動作


Windows XP SP3, Windows Server 2008 以降では、リモート デスクトップ接続に、ネットワーク レベル認証 (NLA) が採用されました。(※1)

NLA では、サーバーがユーザーとのセッションを確立する前に、認証に使用するユーザーの資格情報を提示するよう、接続元に強制させます。

NLA により、不用意にリモート デスクトップ セッションを確立させないため、接続先のセキュリティレベルを高めています。

NLA の事前認証の際、CredSSP (Credential Security Support Provider) と呼ばれるテクノロジを使用して、資格情報をサーバーに提示します。(※2)

NLA が強制されている場合、リモート デスクトップ接続上で、ログオン時にユーザーのパスワード変更は行えません。

これは、NLA のリモート デスクトップ接続では、パスワード変更処理を受け渡す動作を行わないためであり、想定された動作となります。

しかし、ご質問の環境のように、NLA が強制されていない場合は、パスワードの変更を行うことができます。

パスワードの変更が必要な場合、まずはNLA を用いた接続を行いますが、想定された動作により、接続に失敗します。

NLA を用いた接続に失敗した後、NLA を無効にした状態 (セキュリティ レベルを下げた状態) で、自動的に再接続する処理を行います。

その結果、パスワード変更を行うことができます。

この際、接続元 および 接続先のOS がサポートしているCredSSP の情報を確認し、セキュリティ レベルを下げた接続を試みる処理が行われています。

3. Windows Server 2012 R2 / Windows 8.1 以降の動作


Windows Server 2012 R2, Windows 8.1 以降の場合、Windows Server 2012, Windows 8 までと同様の設定のみでは、NLA が無効化されないため、パスワード変更を実施することができません。

これは、Windows OS のアップグレードに伴い、Windows Server 2012 R2 および Windows 8.1 以降でリモート デスクトップ接続の処理が変わったことが原因となります。

その結果、Windows Server 2012, Windows 8 までのように、認証に失敗した際にセキュリティ レベルを下げた接続を行わないため、NLA が強制されている時と同様に、パスワードの変更が行えません。

4. 回避策


本事象の回避策は、3 つございます。

  1. NLA を完全に無効化する

  2. RD Web アクセス経由でパスワードを変更する

  3. .rdp ファイルを作成し、CredSSP を用いた接続を行わないよう設定をする

NLA の無効化 および RD Web アクセス経由での設定については、KB 2858371がありますので、こちらもご参考にしてください。(※3)

回避策 1. NLA を完全に無効化する


先述の通り、ネットワーク レベル認証が有効な場合は、リモート デスクトップ接続ではパスワード変更ができません。

よって、接続先のネットワーク レベル認証を無効にすることで、事象の回避をすることができます。

NLA を無効にする方法は以下の通りです。

  1. 接続先端末にて、Win + R キーを押し、[ファイル名を指定して実行] にて、"gpedit.msc"と入力し、[OK] をクリックします。

  2. 以下のポリシーを展開します。

    [コンピューターの構成]
     [管理用テンプレート]
      [Windows コンポーネント]
       [リモート デスクトップ サービス]
        [リモート デスクトップ セッション ホスト]
         [セキュリティ]

  3. 以下の ポリシーのうち、"a. と c." もしくは "b. と c." を設定します。

    1. クライアント接続の暗号化レベルを設定する
       状態:"有効"
       暗号化レベル:"低レベル"

    2. リモート (RDP) 接続に特定のセキュリティ レイヤーの使用を必要とする
       状態:"有効"
       セキュリティ レイヤー:"RDP"

    3. リモート接続にネットワーク レベル認証を使用したユーザー認証を必要とする
       状態:"無効"

  4. コマンド プロンプトを起動し、"gpupdate /force"を実行し、ポリシーを適用します。

回避策 2. RD Web アクセス経由でパスワードを変更する


RD Web アクセスを公開している環境であれば、RD Web アクセスのポータルサイトを用いて、ユーザーのパスワードを変更することができます。

パスワード変更をできるように、以下の手順で RD Web アクセスの.config ファイルを編集する必要がございます。

また、Windows Server 2008 R2 までは直接 .config ファイルの編集が必要でしたが、Windows Server 2012 以降では、インターネット インフォメーション サービス (IIS) マネージャーから、変更できるようになっております。

Windows Server 2008 R2 までの手順


  1. RD Web アクセスを構築しているサーバーに、管理者権限でログオンします。

  2. 以下のファイルを、テキスト エディタで開きます。

      C:\Windows\Web\RDWeb\Pages\Web.config

  3. 以下の箇所を変更し、保存します。

<変更前>

<!-- PasswordChangeEnabled: Provides password change page for users. Value must be "true" or "false" -->
<add key="PasswordChangeEnabled" value="false" />

<変更後>

<!-- PasswordChangeEnabled: Provides password change page for users. Value must be "true" or "false" -->
<add key="PasswordChangeEnabled" value="true" />

Windows Server 2012 以降の手順


  1. RD Web アクセスを構築しているサーバーに、管理者権限でログオンします。

  2. [サーバー マネージャー] – [ツール] – [インターネット インフォメーション サービス (IIS) マネージャー]を起動します。



  3. 左ペインにて、[<ホスト名>] – [サイト] – [Default Web Site] – [RD Web] – [Pages]を展開します。

  4. 中央ペインにて、[アプリケーションの設定]をダブルクリックします。



  5. "PasswordChangeEnabled"をダブルクリックし、値を "false"から "true"に変更します。

上記設定を行うことで、接続元からRD Web アクセスにアクセスする際、パスワードの変更を行うことができます。

回避策 3. .rdp ファイルを作成し、CredSSP を用いた接続を行わないよう設定する


リモート デスクトップ接続から、接続先の .rdp ファイルを作成し、CredSSP を用いた接続を行わないように編集します。CredSSP を用いない接続のため、リモート デスクトップ経由で、ユーザーのパスワード変更を行えます。

  1. リモート デスクトップ接続 (mstsc.exe) を起動します。

  2. [オプションの表示]をクリックし、コンピューター と ユーザー名 を入力した状態で、[接続設定] - [名前を付けて保存]をクリックし、任意の場所に .rdp ファイルを保存します。



  3. メモ帳で、保存した .rdp ファイルを開きます。

  4. .rdp ファイルの末尾に以下の一行を追記し、保存します。

      enablecredsspsupport:i:0  



  5. 編集した .rdp ファイルをダブルクリックし、リモート デスクトップ接続を行います。

以上が、回避策となります。


- 参考文献 –
※1 リモート デスクトップ サービス接続のネットワーク レベル認証を構成する
   https://technet.microsoft.com/ja-jp/library/cc732713.aspx

※2  Windows Server 2008 R2: ネットワーク レベル認証を使用すべき理由
   https://technet.microsoft.com/ja-jp/magazine/hh750380.aspx

※3 リモート デスクトップ セッションでは、期限切れになったユーザーアカウントのパスワードを変更できません。
   https://support.microsoft.com/ja-jp/kb/2858371

Windows Server 2012 R2 (KB3000850 適用済) 英語環境への日本語言語パック追加について

$
0
0

こんにちは、Windows プラットフォーム サポートの頂です。

今回は、Windows Server 2012 R2 (KB3000850 適用済) のメディアでインストールを行った英語 OS 環境へ日本語言語パックをメディアなどから追加する手順をご紹介いたします。

Windows Server 2012 R2 (KB3000850 適用済) のメディアでインストールを行った環境に対して、日本語言語パックをメディアなどから追加した直後に、グループ ポリシー エディター (Gpedit.msc) を起動すると、以下のような複数の admx ファイルに関するエラーが表示されることを確認いたしております。

本ブログではエラーが表示されないように構築する手順をご紹介いたします。

     

- 詳細
上記のエラーは、システムに含まれます admx ファイルと言語パックによって追加された adml ファイルの不整合による事象となります。
このエラーは、adml のバージョンが admx よりも古く、admx ファイル内の定義が、adml ファイル内で見つけられなかったことを示しています。

admx、adml ファイルは、共に管理用テンプレートを構成するファイルですが、それぞれ以下の役割を持っています。

• admx ファイルには、グループ ポリシー管理コンソール (GPMC) またはローカル グループ ポリシー エディターに表示されるカテゴリの構造および管理テンプレートのポリシー設定が定義されています。
• adml ファイルは言語リソースファイルです。言語に依存する、GPMC またはローカル グループ ポリシー エディターに表示されるローカライズされた部分を提供します。各 .adml ファイルは、サポート対象の 1 つの言語を表します。

管理用テンプレートは、既定では C:\Windows\PolicyDefinitions フォルダに格納されています。

<参考情報>
.admx および .adml ファイルの構造
http://technet.microsoft.com/ja-jp/library/cc772507(v=ws.10).aspx

.admx errors when running Local Group Policy Editor (gpedit.msc) in Windows
https://support.microsoft.com/en-us/kb/3049255

グループポリシーエディタ起動時に発生する inetres.admx のエラーについて
http://blogs.technet.com/b/jpieblog/archive/2014/11/20/3641326.aspx

- 構築手順
本事象を発生させない構築手順について紹介いたします。

1. Windows Server 2012 R2 with Update ( KB3000850 適用済) 英語版をインストールします。

2. 日本語言語パックを適用します。

3. KB2919355 を適用します。
    
     Windows Server 2012 R2 Update (KB2919355)
     https://www.microsoft.com/en-US/download/details.aspx?id=42334
    
     上記リンクより、Windows8.1-KB2919355-x64.msu と Windows8.1-KB2934018-x64.msu を入手します。

4. KB3000850 を適用します。

     Update for Windows Server 2012 R2 (KB3000850)
      http://www.microsoft.com/en-gb/download/details.aspx?id=44975

     上記リンクより、Windows8.1-KB3000850-x64.msu を入手します。

5. KB2934018 を適用します。
     手順3. で入手済みの Windows8.1-KB2934018-x64.msu  を利用します。

6. KB3021952 および関連する更新プログラムを適用します。
    
    Cumulative Security Update for Internet Explorer 11 for Windows Server 2012 R2 (KB3021952)
    https://www.microsoft.com/en-US/download/details.aspx?id=45771

    上記リンクより、Windows8.1-KB3021952-x64.msu 、Windows8.1-KB3023607-x64.msu および Windows8.1-KB3036197-x64.msu を入手します。

     なお、Windows8.1-KB3036197-x64.msu のみ適用いただくことでも adml ファイルが更新されるためエラーは表示されなくなくなります。


- その他
Windows へ言語パックを追加頂く場合、更新プログラムよりも先に言語パックを適用いただくことを推奨いたしております。
Windows Server 2012 R2 with Update 用の日本語言語パックを入手可能な場合には、そちらをご利用ください。


 

Azure RemoteApp のセキュリティについて

$
0
0

こんにちは。
Windows プラットフォーム サポートの片山です。
今回は、Azure RemoteApp のセキュリティに関する情報をご案内します。

今後、Azure RemoteApp を検討するにあたって、有効な情報をご提供することが出来れば幸いです。

 

1. Azure RemoteApp のマルウェア、ウイルス対策:

カスタム テンプレート イメージを利用しない場合 (Microsoft イメージ):

カスタム テンプレート イメージを利用せず、Azure RemoteApp が提供する標準のテンプレート イメージ (イメージ作成時に “Microsoft イメージ” 配下に表示されるイメージ) をご利用される場合は、”Microsoft System Center 2012 Endpoint Protection” が既定でインストールされています。
System Center Endpoint Protection の定義ファイルは自動的に定期的に更新されます。
また、Azure RemoteApp で利用されるユーザー プロファイルに関しても、ウイルス スキャン対象となります。

カスタム テンプレート イメージを利用する場合 (マイ イメージ):

カスタム テンプレート イメージを Azure の仮想マシンから作成される場合 (イメージ作成時に “マイ イメージ” 配下に表示されるイメージから作成される場合)、既定ではウイルス対策ソフトはインストールされておりませんが、作成時に下記のセキュリティ拡張機能を追加することが可能です。

  • Microsoft Antimalware
  • Symantec Endpoint Protection
  • Trend Micro Deep Security Agent

テンプレート イメージ化された後においても、セキュリティ拡張機能は稼働します。

Microsoft イメージにインストールされている ”Microsoft System Center 2012 Endpoint Protection” と "Microsoft Antimalware" は同一のマルウェア対策プラットフォームを利用しているため、同一保護レベルで保護されます。

また、他のサードパーティ製のウイルス ソフトをインストールいただくことができますので独自にセキュリティ対策を行っていただくことも可能となっております。
(ライセンスの許諾に関しましては、各ベンダー様にてご確認ください)

 

2. Azure RemoteApp の Windows Update に関して:

カスタム テンプレート イメージを利用しない場合 (Microsoft イメージ):

OS の Windows Update は最新のアップデートが定期的に自動に適用されます。

 

カスタム テンプレート イメージを利用する場合 (マイ イメージ):

Windows Update は自動に適用されないため、管理者が定期的に Windows Update を適用済みのテンプレート イメージを作成し、Azure RemoteApp のコレクション イメージを更新する必要があります。
なお、ハイブリッド構成をご利用されており、Azure RemoteApp がドメインに参加している場合は、グループ ポリシーなどを利用して、ユーザーが使用できる機能を制限するなど、更にセキュリティを高めることが可能です。

 

3. Azure RemoteApp で利用するポート:

Azure RemoteApp クライアントが利用するポート:

Azure RemoteApp クライアントは送信のTCP:443 のみを利用します。

 

ハイブリッド構成 Azure RemoteApp の仮想ネットワークが利用するポート:

ハイブリッド構成で、Azure RemoteApp を利用する場合、コレクションに使用している仮想ネットワーク サブネットから以下のサイトに記載がある URL へアクセス出来ることと、ポートが開いている必要があります。

Azure RemoteApp ハイブリッド コレクション作成のトラブルシューティング
https://azure.microsoft.com/ja-jp/documentation/articles/remoteapp-hybridtrouble/

 

4. Azure RemoteApp クライアント:

Azure RemoteApp クライアントは、最新のバグの更新プログラムや、追加された機能も利用出来ることになりますので、常に最新のバージョンを利用することを推奨します。
Windows の Azure RemoteApp クライアントは Click-One アプリケーションであり、TCP/443 のポートを利用して自動的にアップデートが行われます。
しかし、Android、iOS、Mac のアップデートは、それぞれのアプリストアから更新を行う必要がございます。
※ Windows の Azure RemoteApp クライアントをオフラインでアップデートすることは出来かねます。

 

引き続き、安心して Azure RemoteApp をご利用頂けるよう、品質や機能の改善に向けて尽力してまいります。
今後ともどうぞよろしくお願いします。

StartComponentCleanup タスクによる、不要な更新プログラムの削除について

$
0
0

こんにちは、Windows プラットフォーム サポートの頂です。

今回は、StartComponentCleanup タスクによる不要な更新プログラムの削除ついてご紹介したいと思います。

WinSxS フォルダーのクリーンアップについて
-----------------------------------------------------
これまでの Windows では、更新プログラムのインストールを行うと、そのたびに WinSxS フォルダーに古い更新プログラムが残存することとなり、ディスクのリソースを圧迫していました。
それを改善するべく、Windows 8 、Windows Server 2012 以降、新しい更新プログラムによって置き換えられたモジュールで、かつ現在利用されていないファイルやドライバーについて自動的に削除する機能を用意いたしました。
その機能については、メンテナンス関連のタスクである、StartComponentCleanup タスクによって実行されます。

WinSxS フォルダーのクリーンアップ
https://msdn.microsoft.com/ja-jp/library/Dn251565.aspx

WinSxS フォルダーのクリーンアップが実行されたことによる事象について
-----------------------------------------------------
システムで利用するディスク領域を削減することができる便利な機能ですが、同機能によって過去の適用済み更新プログラムが一覧から削除されるため、更新プログラムを管理頂く上で、以下のようなお問い合わせを頂くことがございます。

・ 突然更新プログラムの一覧から古い更新プログラムがなくなった。
・ 同一構成のサーバーなのに、表示される更新プログラムの一覧に差異がある。

StartComponentCleanup タスクが実行されたか確認する方法について
-----------------------------------------------------
StartComponentCleanup タスクによって、古い更新プログラムが削除されたことを確認するには、セットアップ イベント ログに以下の記載が無いかご確認ください。

 

StartComponentCleanup タスクに関する良く頂くご質問
-----------------------------------------------------
Q. 適用された更新プログラムの数が減ったことでセキュリティなどに影響はあるのか?

A. 影響はございません。

    ・ より新しい更新プログラムによって、置き換えられたことで、不要な更新プログラムと判断された後に削除されますので、セキュリティへの影響はございません。
    ・ ディスク上から更新プログラムが削除されますので、ディスクの空き領域が増えます。


Q. 不要な更新プログラムが削除された後は何か対処する必要はあるのか?

A. 対処は特にありません。
  
     ・ 削除された更新プログラムを再度適用しようとすると、より新しい更新プログラムが適用されており、適用不要なため以下のエラーが表示されます。

      

   
     

Azure 環境に展開される Windows Server 2012 R2 のライセンス認証ができない

$
0
0

通常 Azure 環境のテンプレートから作成された OS 環境には、既定で KMS のセットアップ キーがインストールされており、KMS 認証というライセンス認証の仕組みを使用しています。

この KMS 認証を使用する場合、Azure 環境上に用意されている KMS ホスト (kms.core.windows.net) に対して自動認証および自動認証の更新を行うようになっています。

 

しかし 2015/12/08 以前に Azure に用意されている Windows Server 2012 R2 のテンプレートから作成された環境において、上記の KMS のセットアップ キーではなく、AVMA キーというプロダクト キーがインストールされていることによって、KMS ホストによるライセンス認証が正常に行えず、認証されない旨のメッセージが表示される可能性がございます。

 

Azure 環境に展開される Windows Server 2012 R2 のライセンス認証が正常に行えない場合、まず以下のコマンドで KMS セットアップ キーが正しくインストールされているかどうかをご確認ください。

 

cscript %WinDir%\system32\slmgr.vbs /dlv

 

AVMA キーがインストールされている場合:

"説明" 欄に "VIRTUAL_MACHINE_ACTIVATION channel" と表示されます。

 

KMS セットアップ キーがインストールされている場合:

"説明" 欄に "VOLUME_KMSCLIENT channel" と表示されます

 

確認の結果、"VIRTUAL_MACHINE_ACTIVATION channel" と表示されている場合、以下のコマンドで KMS 認証に切り替えていただき、認証が正常に行えるかどうかをご確認ください。

 

・KMS 認証に切り替えるコマンド (管理者として実行する必要がございます)

 

   <Windows Server 2012 R2 Datacenter の場合>

   cscript %WinDir%\system32\slmgr.vbs /ipk W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9

 

   <Windows Server 2012 R2 Standard の場合>

   cscript %WinDir%\system32\slmgr.vbs /ipk D2N9P-3P6X9-2R39C-7RTCD-MDVJX

 

   <Windows Server 2012 R2 Essentials の場合>

   cscript %WinDir%\system32\slmgr.vbs /ipk KNC87-3J2TX-XB4WP-VCPJV-M4FWM

 

・ライセンス認証が正常に行えるかどうかの確認コマンド

 

  cscript %WinDir%\system32\slmgr.vbs /ato

  ※正常に認証が行えた場合、認証された旨のメッセージが表示されます。

 

上述の AVMA キーがインストールされてしまう問題は既に修正されており、2015/12/08 以降に Azure 上のテンプレートから作成された環境には既定で KMS セットアップ キーがインストールされます。

このため、2015/12/08 以降に作成された Windows Server 2012 R2 環境ではについて本事象は発生いたしません。


Microsoft Azure バックアップにおいてバックアップ スケジュールを無効化できない

$
0
0

こんにちは。日本マイクロソフトの江田です。

今回は、Microsoft Azure バックアップにおいて、バックアップ スケジュールを無効化することができない現象についてお伝えさせていただきます。

例えばバックアップ対象のうちいくつかのバックアップ対象が削除され、バックアップ対象をリストアするまでスケジュールを無効化した際、以下の画面となり無効化することができません。



本現象は、スケジュールを無効化する際にバックアップのスケジュールに指定しているバックアップ対象が実際に存在しているかのチェックが行われ、指定されているバックアップ対象全てが存在していない場合に出力されるエラーとなります。そのため対応策としては、以下の 2  つの内いずれかとなります。

1. スケジュールより実際に存在しないバックアップ対象を除外 (削除) した上で、改めてスケジュールを無効化する
2. スケジュールに指定されたバックアップ対象を実際に作成した上で、改めてスケジュールを無効化する

本問題については、現状想定された動作となっておます。
なお、バックアップのスケジュールに実際に存在しないバックアップ対象が指定されている場合でもスケジュールの無効化できるように変更可能であるかついて現在開発部門も含め協議しております。
Update がございましたら、本 Blog にてお伝えさせていただきます。

Windows 10 Hyper-V 上の仮想マシンにおいて、動的メモリを無効にしているにも関わらず、動的メモリのサポート OS のバージョン不一致のエラーが記録される

$
0
0

こんにちは。Windows プラットフォーム サポートの野村です。

今回は、Windows 10 Hyper-V 上の仮想マシンの設定で [動的メモリを有効にする] にチェックを入れていないにも関わらず、Windows 10 上の仮想マシンにて、起動時に以下のイベントが記録される事象についてご紹介いたします。

-----------

ソース:dmvsc

ID2

レベル:エラー

説明:動的メモリドライバーでエラーが発生しました。このバージョンの windows では、この機能はサポートされていません。

-----------

上述のソース dmvscID: 2 のイベントは、動的メモリをサポートしていないバージョンのゲスト OS 上にて、動的メモリを実装しているドライバーの dmvsc.sys の読み込みに失敗した場合のみに記録されます。その他のタイミングでは記録されません。

※ 予期せぬエラーで失敗した場合にはソース dmvscID: 1 が記録されます。

Windows Server 2012 R2 以前のバージョンの Hyper-V ホスト OS 上では、動的メモリを無効にしていれば、ゲスト OS において本イベントは記録されません。

Windows 10 上の仮想マシンにおいて本イベントが記録される原因は、Windows 10 Hyper-V の新機能 (runtime memory resize) にあります。この機能により、Windows 10 Hyper-V 上では RAM を仮想マシンが起動中においても変更できるようになりました。


 

この機能 (runtime memory resize) は、仮想マシンの動的メモリと同様に、動的メモリを実装しているドライバーである dmvsc.sys を使用します。この機能は、動的メモリを無効にしても動作いたします。そのため、Windows 10 上の仮想マシンでは、動的メモリを無効にしても本ドライバーが読み込まれます。従いまして、仮想マシンの起動時に、動的メモリをサポートしていないゲスト OS 上にて dmvsc.sys の読み込みに失敗するため、ソース : dmvscID: 2 のイベントが記録されます。

本イベントが動的メモリをサポートしていない仮想マシン上で記録されることは、想定された動作であり、不具合ではございません。なお、これは無視可能なイベントですので、管理上無視するか、監視対象から外す等の対応を検討していただきますようお願いいたします。

なお、動的メモリをサポートしているゲスト OS 一覧は以下のようになります。

 - サーバー OS

  Windows Server 2012 R2

  Windows Server 2012

  Windows Server 2008 R2 () : Standard, Web, Enterprise および Datacenter

  Windows Server 2008 SP2 : Standard, Web, Enterprise および Datacenter

  Windows Server 2003 R2 SP2 以降 : Standard, Web, Enterprise および Datacenter

  Windows Server 2003 SP2 以降 : Standard, Web, Enterprise および Datacenter

   () StandardWeb Edition については Windows Server 2008 R2 SP1 以上

- クライアント OS

  Windows 10

  Windows 8.1

  Windows 8

  Windows 7 : Enterprise および Ultimate

  Windows Vista SP1 : Enterprise および Ultimate

  

<参考情報>

- Hyper-V の動的メモリ構成ガイド

https://technet.microsoft.com/ja-jp/library/ff817651(v=ws.10).aspx

- When to use Hyper-V Dynamic Memory versus Runtime Memory Resize

http://blogs.technet.com/b/virtualization/archive/2015/05/26/dynamic-memory-vs-runtime-memory-resize.aspx

- Hot Memory Resize with Windows 10

http://blogs.msdn.com/b/virtual_pc_guy/archive/2015/02/04/hot-memory-resize-with-windows-10.aspx

 

 

修正プログラム ( Hotfix ) を適用すると時間がかかる場合の対処方法について

$
0
0

こんにちは、Windows プラットフォーム サポートの頂です。

Windows 7 / 8 や Windows Server 2008 R2 / Windows Server 2012 に修正プログラム ( Hotfix ) を適用すると時間がかかるとのお問い合わせを頂いております。
そこで、今回は Hotfix (修正プログラム) を適用する際の時間を短縮する方法について、ご紹介したいと思います。

どのような場合に、修正プログラム ( Hotfix ) 適用に時間がかかるのか
--------------------------------------------------------------------------------------------------------------
セキュリティ更新プログラム等、Windows Update から多くの更新プログラムを適用した環境に対して、修正プログラム ( Hotfix ) を適用すると発生いたします。

たとえば、KB2927725 の場合ファイルとしては、Ntoskrnl.exe のみを修正したものとなりますが、これまで多数のセキュリティ更新プログラム等によって、Ntoskrnl.exe が更新されておりますため、KB2927725 を適用すると完了まで時間がかかる場合がございます。

"0x133"、"0x101"stop エラーまたはシステムが応答を停止開始時に
https://support.microsoft.com/ja-jp/kb/2927725

適用に時間がかかる理由について
--------------------------------------------------------------------------------------------------------------
修正プログラム ( Hotfix ) 適用時に、適用済みのセキュリティ更新プログラム等に含まれるファイルについて再評価を行っているために、時間がかかります。

セキュリティ更新プログラムなどのパッケージには GDR と LDR の両方が含まれています。
一方で、今回のご紹介例として挙げております、KB2927725 (修正プログラム) では、Ntoskrnl.exe の LDR 版のみ提供しております。

一例となりますが、Windows Update によって最新の状態となっている環境に対して、KB2927725 のような修正プログラム ( Hotfix ) を適用すると、最新のセキュリティ更新プログラムによって適用された Ntoskrnl.exe ( GDR ) より低いバージョンの Ntoskrnl.exe ( LDR ) の適用となるため、修正プログラム ( Hotfix ) 適用後のセキュリティ レベルを保ち、最新の脆弱性に対応するために、適用済みのセキュリティ更新プログラムに含まれております最新の Ntoskrnl.exe ( LDR ) へと切り替えを行います。
このように、システムの整合性を保つために関連するコンポーネントの再評価が実施されます。

GDR と LDR の詳細については以下のエンジニア ブログをご参照ください。

修正プログラムにまつわるお話
http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2012/01/26/10260805.aspx

適用にかかる時間を短縮する方法について ( 汎用的な対処方法 )
--------------------------------------------------------------------------------------------------------------
適用済みの更新プログラムが多ければ多いほど、再評価にかかる時間が増加いたしますので、適用済みの更新プログラムについて整理を行うことが有効な対処方法となります。
具体的には、修正プログラム ( Hotfix ) 適用前に、コンポーネントのクリーンアップを実施します。

注意:
コンポーネントのクリーンアップによって、現在使用されていない更新プログラムについては削除されます。
削除された更新プログラムは、システムで適用済みの更新プログラム一覧から無くなりますのでご注意ください。

Windows 7 および Windows Server 2008 R2 の場合
----------------
KB2852386を適用しディスク クリーンアップ機能に、Windows Update のクリーンアップを追加します。
    ※ Windows Server 2008 R2 では、 デスクトップ エクスペリエンス 機能を有効にする必要がございます。

Windows Update のクリーンアップ について
http://blogs.technet.com/b/askcorejp/archive/2013/12/09/windows-update.aspx

ディスク クリーンアップ ウィザード アドオンで、Windows 7 SP1 または Windows Server 2008 R2 SP1 上の古い Windows の更新プログラムを削除できるようにする。
https://support.microsoft.com/ja-jp/kb/2852386

デスクトップ エクスペリエンスの概要
https://technet.microsoft.com/ja-jp/library/cc772567.aspx

Windows 8 および Windows Server 2012 の場合
----------------
ディスク クリーンアップ機能に、Windows Update のクリーンアップが既定で存在しますので、そちらを実行します。
    ※ Windows Server 2012 では、 デスクトップ エクスペリエンス 機能を有効にする必要がございます。
もしくは、StartComponentCleanup タスクによるクリーンアップ、Dism コマンドによるクリーンアップがございます。

WinSxS フォルダーのクリーンアップ
https://msdn.microsoft.com/ja-jp/library/Dn251565.aspx

StartComponentCleanup タスクによる、不要な更新プログラムの削除について
http://blogs.technet.com/b/askcorejp/archive/2015/12/03/startcomponentcleanup.aspx

Windows 7 および Windows Server 2008 R2 で更新プログラムを適用した際に表示されるエラーの対処方法について

$
0
0

こんにちは、Windows プラットフォーム サポートの頂です。

Internet Explorer のサポート ライフサイクル変更に伴い、Internet Explorer 11 (以下 IE 11 ) へ更新する際に、IE 11 の前提更新プログラムを適用時にエラーが発生したとのお問い合わせを頂いております。
そこで、今回は更新プログラム適用時に出力されるエラーに合わせた汎用的な対処方法についてご紹介したいと思います。

後述いたします、"リトライするだけで解決する可能性高いエラーや再適用する必要がないエラーについて" 以外で、更新プログラムのインストールに失敗した場合、まずお試し頂きたいのが、システム更新準備ツールとシステム ファイル チェッカーとなります

システム更新準備ツール
------------------------------------------------------------------------------
DISM またはシステム更新準備ツールを使用して Windows の破損エラーを修正します。
https://support.microsoft.com/ja-jp/kb/947821

システム更新準備ツール (KB947821) は Service Pack や 更新プログラムの適用の妨げとなる特定の状態を解消するためのツールです。
実行するとシステム内部の不整合をスキャンし、問題が見つかった場合は自動的に修復を試みます。

- ログの出力先
実行結果は以下にログとして出力されます。
・ %SYSTEMROOT%\Logs\CBS\CheckSUR.log
・ %SYSTEMROOT%\Logs\CBS\CheckSUR.persist.log

記載されたログの確認方法は、KB947821 をご参照ください。

システム ファイル チェッカー
------------------------------------------------------------------------------
システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する
https://support.microsoft.com/ja-jp/kb/929833

OS 標準機能である、システム ファイル チェッカー (sfc.exe) を実行することで、システムの正常性をチェックおよび不整合があれば自動的に修正されます。

- ログの出力先
実行結果は以下のログに記録されます。
・ %SYSTEMROOT%\Logs\CBS\CBS.log

記載されたログの確認方法は、KB929833 をご参照ください。


システム更新準備ツールとシステム ファイル チェッカーの実行で回避しない場合
-------------------------------------------------------------------------------------------------------------------------------
システム更新準備ツールおよびシステム ファイル チェッカー実行後、事象に変化が見られない場合、更新プログラム実行時に記録されるエラーコードと上記ツール実行結果のログより対処方法を確認します。
エラーについては各種以下ログからご確認ください。

1. C:\windows\logs\cbs\cbs.log
2. セットアップ のイベント ログ
3. C:\windows\logs\cbs\checksur.log

エラーの記載例
CBS.log の場合
-------------------------------------------
2015-12-17 13:34:18, Error                 CBS    Failed to process single phase execution. [HRESULT = 0x80073712 - ERROR_SXS_COMPONENT_STORE_CORRUPT]

セットアップ のイベント ログの場合
-------------------------------------------
ログの名前:         Setup
ソース:           Microsoft-Windows-WUSA
イベント ID:       3
レベル:           エラー
説明:
エラー 2147956498 "コンポーネント ストアが壊れています。"

// 0x80073712 (16進数) = 22147956498 (10進数)

システム更新準備ツール実行後も回復されない代表的なエラーコード 1
------------------------------------------------------------------------------
エラーコード: 0x80073712
ERROR_SXS_COMPONENT_STORE_CORRUPT
過去に適用された更新プログラムに関するマニュフェスト ファイルが破損しているため、コンポーネントストアに不整合が発生している可能性がございます。

システム更新準備ツール実行後も表示される場合、システム更新準備ツールに含まれていないコンポーネントで問題が発生していると考えられます。
このような場合は checksur.log をご参照いただき、修復出来なかったマニフェスト ファイルを含む更新プログラムを、%SYSTEMROOT%\CheckSUR\packages に配置し、再度システム更新準備ツールを実行することで不整合を解消することができます。

詳細な手順につきましては、以下 KB947821  をご参照ください。

DISM またはシステム更新準備ツールを使用して Windows の破損エラーを修正します。
https://support.microsoft.com/ja-jp/kb/947821


例 KB947821 より抜粋
-------------------------------
Summary:
Seconds executed: 264
Found 3 errors
CBS MUM Missing Total Count: 3
Unavailable repair files:
servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum
// この例の場合、KB958690 をダウンロードし、%SYSTEMROOT%\CheckSUR\packages に配置し、再度システム更新準備ツールを実行します。

システム更新準備ツール実行後も回復されない代表的なエラーコード 2
------------------------------------------------------------------------------
エラーコード: 0x800736b3
ERROR_SXS_ASSEMBLY_NOT_FOUND

更新プログラム適用時に、レジストリ情報に不整合が発生している場合に記録されることがございます。
システム更新準備ツールを実行し、その上でエラーとなっている箇所を確認し対処を行います。

※注意
深刻なレジストリ破損の場合には、復旧出来ない可能性があり、システムの再構築となる場合がございます。

システムのイベント ログにも以下のようなレジストリ破損のログが記録されている場合がございます。
-------------------------------
ログの名前:         System
ソース:           Microsoft-Windows-Kernel-General
レベル:           エラー
イベント ID : 5
説明:
{レジストリ ハイブが回復されました} レジストリ ハイブ (ファイル): '\SystemRoot\System32\config\COMPONENTS' が破損し、回復されました。一部のデータは失われた可能性があります。


リトライするだけで解決する可能性高いエラーや再適用する必要がないエラーについて
-------------------------------------------------------------------------------------------------------------------------------

リトライするだけで解決する可能性高いエラーコードについて
-----------------------------------------------
0x80092004 / decimal -2146885628
  CRYPT_E_NOT_FOUND (オブジェクトまたはプロパティが見つかりません)
・インストール対象のモジュールのハッシュ値が、何らかの要因により確認できなかった場合に出力されるエラー
-----------------------------------------------
0x800f0902 / decimal -2146498302
  CBS_E_BUSY
・CBS 側の処理が 2 重に行われた際に出力されるエラー
-----------------------------------------------
0x800f083f / decimal -2146498497
CBS_E_UNEXPECTED_MUM
・マニフェストの整合性を確認するフェーズで、予期しない例外が発生
-----------------------------------------------
0x80071a2d / decimal -2147018195
ERROR_TRANSACTION_NOT_ACTIVE (要求された操作は、アクティブではないトランザクションのコンテキストで実行されました。)
・多数の更新プログラムを大量にインストールした場合に、トラザクション処理領域の枯渇によっても発生する場合がございます。
-----------------------------------------------
0x80071a90 / decimal -2147018096
ERROR_TRANSACTIONAL_CONFLICT
・トランザクションの処理が別の処理と競合した場合に発生するエラー
-----------------------------------------------
0x8024800c / decimal -2145091572
  WU_E_DS_LOCKTIMEOUTEXPIRED
・wusa.exe が、更新プログラムのインストール処理を行う際、Windows Update Agent が使用するデータ ストアのロックを取得しようとしたものの、既定の時間内に取得できず、タイム アウトになったことを意味します。
-----------------------------------------------
0x80071a3f / decimal -2147018177
 ERROR_TRANSACTIONMANAGER_NOT_ONLINE
・トランザクション マネージャーがオンラインではありません。
-----------------------------------------------
0x800736b5 / decimal -2147010891
ERROR_SXS_MANIFEST_PARSE_ERROR
・マニフェスト ファイルには、1 つまたは複数の構文エラーが含まれています
-----------------------------------------------

個々のエラーの詳細や原因については、ここでは割愛させて頂きますが、どれも指定された処理ができなかったため、いったんインストール作業が中断されたことが原因であるとご理解ください。

一方で以下の 2 つのエラーコードが返って来た場合は、"適用の必要が無い更新プログラム"という意味であるため、リトライは不要でございます。
特に、まとめて更新プログラムを適用する場合、上記にリストさせていただきましたような一過性のエラーによって失敗し、再起動後にリトライしようとすると、既に別の更新プログラムによって、より新しいコンポーネントに置き換わっているため、適用する必要性自体が無くなり、「この更新プログラムはお使いのコンピューターには適用できません。」 (0x80240017 エラー) となる場合がございます。
このような場合は適用する必要はございません。

再適用する必要がないエラーコード
----------------------------------------------
0x240006 / decimal 2359302
  WU_S_ALREADY_INSTALLED  (既に適用済みの更新プログラム)
・適用済みであるため、適用する必要がありません。
-----------------------------------------------
0x80240017 / decimal -2145124329
  WU_E_NOT_APPLICABLE (適用性がありません)
・特定の役割・機能がインストールされていないなど、適用要件を満たしていない。
・既により新しいバージョンのコンポーネントが適用済みである。
・その他、異なるOS 向けの更新プログラムの場合や、アーキテクチャー ( x86 or x64 ) が異なる場合も、このエラーとなります。
-----------------------------------------------

クラスター ハートビート通信の失敗と OS の負荷について

$
0
0

*1 2013/12/15 VSS の修正プログラムの情報を追記しました。
こんにちは。Windows プラットフォーム サポートの加藤です。

Windows Server 2008 以降のクラスター環境において、OS の負荷が原因で、クラスター ハートビート通信が失敗するお問い合わせをいただくことがよくあります。
また、場合によっては、一部のノードのクラスター サービスが停止し、フェールオーバーが発生する場合があります。

クラスター ハートビート通信の詳細とハートビートのタイムアウト変更手順については、下記 Blog にてご紹介しているため、ここでは省略させていただきます。
フェールオーバー クラスターのハートビートについて
http://blogs.technet.com/b/askcorejp/archive/2012/03/22/3488080.aspx

クラスター ハートビート通信は、上記の Blog でも触れられているように、既定で 5 秒間通信が途絶えるとハートビート通信の失敗と判断され、エラーが記録されます。
「通信が途絶える」という点については、ネットワーク上の問題以外にも、OS の負荷が著しく増加した場合にハートビート パケットの送信が一定期間できなくなり、ハートビート通信が失敗と判断されることがあります。

ハートビートの通信を妨げる高負荷の原因としては様々な要因がありますが、弊社製品では VSS (Volume Shadow Copy Service) が、大容量のディスクに対し SnapShot を作成した際に、この問題が発生する事例が報告されております。Snapshot が作成されるタイミングとしては、該当ボリュームのバックアップを取得しようとした際や、共有フォルダのシャドウ コピーを有効にしている場合があります。
また、Windows Server 2012 では、重複排除機能を有効にした場合にも VSS が使用されます。

Snapshot 作成時には、一時的にボリュームに対する I/O を停止する必要があるため、できる限り高い優先度で素早く実行する必要があります。そのため、ハートビートなどの Snapshot 作成以外の処理が待たされ、結果としてハートビート通信が失敗する場合があります。 また Snapshot 対象のボリュームのサイズが大きければ大きいほど作成処理にかかる時間も長くなるため、結果としてハートビート通信の失敗が発生しやすくなります。

弊社ではこの問題を回避するために VSS の処理を見直し、Snapshot 作成時にほかの処理が待たされないよう変更しました。(2013年9月11日にリリース)
下記の公開情報で修正プログラムがダウンロードできますので、Snapshot 作成時にハートビート通信の失敗が発生している環境に適用し、現象が回避できるか確認をお願いいたします。

I/O failures occur when you create a snapshot for a large volume in Windows Server 2012 or Windows Server 2008 R2 SP1
http://support.microsoft.com/kb/2871085/en-us
※ Windows Server 2012 R2 ではすでにこの修正プログラムと同様の動作に変更されております。

上記修正プログラムは Windows Server 2008 R2 SP1 以降の OS のみ適用可能なため、それ以外の OS をご利用の場合や、上記修正プログラムで改善しない場合には、負荷を下げるか、ハートビートの閾値を大きくします。
VSS が負荷の原因であった場合には、Snapshot 作成にかかる時間を短くする必要があります。CPU など、ハードウェアをより高性能なものに変更するといった方法もありますが、それ以外の現実的な対処としては、対象のボリューム サイズを小さくすることです。トータルのサイズを小さくできない場合には、ボリュームを複数に分割し、それぞれの SnapShot 作成のタイミングをずらすことで回避可能です。

この現象を抑制するための最適なボリュームのサイズについては、実際にはハードウェアのスペックなどに依存するため、具体的なサイズをお伝えすることは難しいです。そのため、推奨するボリューム サイズや、上限サイズなども特に定義はしておりません。
参考情報といたしまして、弊社の事例にて、5 TB のボリュームの Snapshot 作成時にハートビート通信が失敗したという環境がございました。
なお、VSS 以外の負荷原因を特定するには、現象発生時のパフォーマンスログが調査に有効な情報となります。

ボリュームの分割が難しい場合や、VSS 以外の負荷で発生しており、その負荷を下げることができない場合には、負荷が発生する時間帯に、ハートビートの閾値と間隔を延ばしていただく回避策の実施をご検討ください。
バックアップなどの負荷がかかるジョブを実行する前に、ハートビートの閾値を延ばすコマンドを組み込んだバッチファイルをタスク スケジューラなどで実行し、ジョブ完了後に、閾値を元に戻すコマンドを組み込んだバッチファイルを実行する方法などが回避策として有効です。

また、最近では、仮想基盤上のゲストマシンで作成したゲストクラスターの環境で、仮想基盤側の負荷や障害により、クラスターを構成しているゲストマシンが一時的にスローダウンやハング状態に陥り、ハートビート通信が失敗する事例も多数報告されております。
そのため、仮想基盤上のゲストマシンでクラスターを構築している場合には、仮想基盤側の負荷の調査もお願いします。

ハートビートのタイムアウト値については推奨値はなく、環境に合わせて柔軟に変更可能ですので、OS やネットワーク負荷によるハートビート通信が失敗している環境では、適宜変更をお願いします。

Windows 10 (バージョン 1511) における Sysprep 実行時の注意点

$
0
0

Sysprep をご利用の皆様、こんにちは。
Windows  プラットフォーム サポートの河野 (コウノ) です。

本稿では、11 月に公開されましたメジャー アップデート (バージョン 1511) が含まれているインストール メディアからインストールした環境において、Sysprep 実行時の注意点について記載いたします。

Windows 10 バージョン 1511 から、Microsoft コンシューマー エクスペリエンスという機能が追加されました。
この機能は、ユーザーに Windows ストア経由 (インターネット接続が必要) にて、おすすめのアプリがいくつか自動でインストールされる機能です。
これらアプリが自動インストールされた状態で Sysprep を実行した場合、Sysprep の処理が失敗いたします。
これは Windows 10 の環境において、プロビジョニングされていないアプリがユーザーにインストールされている場合、Sysprep の実施が失敗するという制限事項に起因しています。

プロビジョニングについてご存じでない方のためにまず簡単に、その仕組みを以下ご説明いたします。
ストア アプリは大きく分けて 2 種類存在します。

1. 端末ごとにインストールされているアプリ (プロビジョニングされているストア アプリ)

端末ごとにプロビジョンニングされているストア アプリを意味しています。
端末ごとにアプリのパッケージがインストールされているため、新規ユーザーが初回ログオンする際には、このプロビジョニング パッケージをもとにユーザーごとのパッケージが生成され、ユーザーに対象のストア アプリがインストールされます。

Windows 10 環境において、既定ではいくつかプロビジョニングされているストア アプリ (例えば、カレンダー、マネー、フォトなど) がございます。
これらアプリは、OS インストール後にユーザーが初回ログオンすると、これらのアプリが自動的にユーザーにもインストールされ、ユーザーのスタート画面に表示されます。

2. ユーザーごとにインストールされるストア アプリ

前述のプロビジョニング パッケージをもとに生成されるユーザーごとのストア アプリになります。
また、プロビジョニング パッケージから生成されるユーザーのストア アプリの他、ユーザーが Windows ストアからインストールしたストア アプリもユーザーごとのストア アプリになります。
(ユーザーごとのアプリになりますので、そのユーザーにしかインストールされません。)

なお、ユーザーが手動にてスタート画面からストア アプリのアンインストールを行った場合は、ユーザーごとのストア アプリのパッケージのみが削除されます。
(プロビジョニングされているストア アプリのパッケージは削除されません。)

通常クリーンインストールを行った場合、上記の説明通り、新規ユーザーが初回ログオンする際には、OS 既定のプロビジョニング パッケージをもとにユーザーごとのパッケージが生成され、ユーザーにストア アプリがインストールされる形になりますので、端末ごとにプロビジョニングされたパッケージとユーザーにインストールされたパッケージの整合性とれている状態になります。この状態で Sysprep を実施すれば問題ありません。
しかし、マスター イメージ作成中に、インターネットに接続可能な状態にしておくと、前述のおすすめのアプリ (たとえば Candy Crush Soda Saga) が自動インストールされ、かつ、これらのアプリは OS 既定のプロビジョニング パッケージには含まれていないため、プロビジョニングされていないパッケージがユーザーにインストールされているということで、Sysprep の実行に失敗いたします。


本事象の回避策として、以下の方法がございます。

・インターネット接続がされていない環境でマスター イメージの作成を行い、Sysprep を実施する

前述のアプリは、Windows ストア (インターネット) を経由してインストールされます。そのため、インターネット接続がされていない環境でマスター イメージを作成すれば、アプリが自動でインストールされないため、従来通り Sysprep の実施が可能です。

・一時的にグループ ポリシーを適用して、自動でインストールされる機能を制限する

マスター イメージ作成時に、以下のローカル グループ ポリシーを有効にすることで、Microsoft コンシューマー エクスペリエンスの機能を無効にできます。 
そのため、インターネット接続前から Sysprep 実行前まで、本適用いただくことでアプリの自動インストールを防ぐことができます。

  [コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [クラウド コンテンツ] – [Microsoft コンシューマー エクスペリエンスを無効にする]
  ※ sysprep の実行直前に本ポリシーを解除していただければマスターイメージに一切影響を与えることはありません。

Windows 10 バージョン 1511 にて Sysprep を実行される際に、ご参考になれば幸いでございます。

タスク スケジューラのトリガーに関するレジストリ肥大化について

$
0
0

こんにちは。Windows サポート チーム の沖です。

 

今回は、Windows Server 2008 において、タスクが重複して実行される事象について、回避策が更新されましたのでご紹介いたします。

 

Windows Server 2008 MS10-092 (KB 2305420) の適用後、タスク スケジューラでタスクの有効化、無効化を繰り返すと、トリガーに関するレジストリ値が肥大化し、タスクが重複して実行される事象が発生いたします。(詳細は後述の"発生事象" をご覧ください。)

 

これまで本事象については、修正プログラム (KB 2617046) にて、本問題についての修正を行った LDR 版を提供しており、事象が発生している環境にて個別での適用をご案内しておりました。

しかし、MS15-102 のセキュリティ更新プログラムにおいて、広範へ適用されます GDR 版にも修正が含まれることとなり、Windows Update でも本事象について修正を行えるようなりました。

(GDR 版、LDR 版については、後述の"参考情報" をご覧ください。)

 

タスクが重複して実行される環境がございましたら、後述いたします問題修正方法の実施をご検討くださいますようお願いいたします。

 

--------------------------------------------------

- 発生事象

--------------------------------------------------

MS10-092KB 2305420) が適用されているWindows Server 2008 環境のタスク スケジューラで、トリガーが設定されているタスクを繰り返し有効化、無効化するとトリガーに関するレジストリ値が肥大化してゆきます。

その影響で、タスクの実行時刻になると重複してタスクが実行される場合がございます。

 

--------------------------------------------------

- 現在の問題修正方法

--------------------------------------------------

 

1. 以下 MS15-102 のセキュリティ更新プログラムを適用します。

 

タイトル: マイクロソフト セキュリティ情報 MS15-102 - 重要

                Windows タスク管理の脆弱性により、特権が昇格される

URL: https://technet.microsoft.com/ja-jp/library/security/ms15-102.aspx

 

2. 重複して実行されるタスクについて、無効、有効を実施します。

 

本手順で、肥大化したトリガーに関するレジストリの値が正常な値へと戻り、重複実行される事象が解決いたします。

 

--------------------------------------------------

ご参考情報として、従来、事象が発生している環境への個別適用をご案内していた修正プログラムをご紹介します。

--------------------------------------------------

文書番号: 2617046

タイトル: Duplicate triggers are generated incorrectly in scheduled tasks in Windows Vista or in Windows Server 2008

URL: https://support.microsoft.com/ja-jp/kb/2617046

--------------------------------------------------

 

上述しました通り、現在は Windows Update にて上記のセキュリティ更新プログラム (MS15-102) を適用いただく方法でも、レジストリが肥大化する事象を回避可能です。そのため、Windows Update にて MS15-102 を適用いただいている環境におきましては、個別に KB 2617046 の適用は不要となります。

 

お手数をおかけし大変恐縮でございますが、セキュリティ更新プログラムのご適用およびタスクの無効化、有効化の実施についてご検討をお願いいたします。

 

- 参考情報

修正プログラムの LDR および GDR の考え方については、以下のサイトをご参照ください。

 

修正プログラムにまつわるお話

http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2012/01/26/10260805.aspx


フェールオーバー クラスターにディスク リソースが追加できない

$
0
0

こんにちは。Windows プラットフォーム サポートの加藤です。

本日は、フェールオーバー クラスターにディスク リソースが追加できない事象について、ご案内します。

フェールオーバー クラスターにディスク リソースを追加するためには、以下の要件に合致する必要があります。

1. 共有ストレージが SCSI-3 の Persistent Reservation (永続的な予約) に対応している。
2. MBR or GPT 形式で初期化されている。
3. ダイナミック ディスクではなくベーシック ディスクを使用している。
4. 全ノードで同一のディスク (LUN) が認識されている

※ ディスク (LUN) の認識状況は [ディスクの管理] コンソールで確認可能です。

しかしながら、上記の要件を満たしており、構成が正しいにも関わらず、フェールオーバー クラスター マネージャーで「ディスクの追加」ボタンをクリックしても、追加可能なディスクが無いメッセージが表示され、ディスク リソースが追加できない事象の報告がありました。

この事象では、当該ディスク (LUN) 上に、何らかの原因で前述の Persistent Reservation (永続的な予約) が残っていたために、新たに Persistent Reservation (永続的な予約) ができなくなり、その結果ディスク リソースの追加ができない状況に陥っていました。

クラスターは、Persistent Reservation (永続的な予約) を使用して、ディスクの所有権を管理するため、予約ができないディスクはクラスターに追加できません。

弊社過去事例では、ストレージの障害発生後に、ストレージ側で復旧処理を実施し、ディスク リソースをクラスターに再度登録しようとした際に本問題が発生していました。

そのため、構成が正しいにも関わらず、追加に失敗する場合には、Persistent Reservation (永続的な予約)が残っている可能性が考えられます。

もし、前述の要件を満たしており、構成が正しいにも関わらず、ディスク リソースが追加できない現象が発生した場合には Persistent Reservation (永続的な予約) を強制的に解除する以下のコマンドを実行して、正常にディスク リソースが追加できるようになるかご確認をお願いいたします。
※ OS のバージョンによって実行方法が異なります。

Windows Server 2008 R2 まで
-------------------------------------------
コマンド プロンプト
cluster node /clearpr:<ディスク番号>

例:
cluster node /clearpr:5

Windows Server 2012 以降
-------------------------------------------
PowerShell
Clear-ClusterDiskReservation -Disk <ディスク番号>

例:
Clear-ClusterDiskReservation -Disk 5

Clear-ClusterDiskReservation
https://technet.microsoft.com/en-us/library/ee461016.aspx

コマンドを実行後、再度追加の作業をお願いいたします。

上記コマンドを実行した場合、影響のあるディスクは、指定したディスクのみとなります。
他のディスクに影響はございません。
※ ディスク番号とは[ディスクの管理] コンソールで確認できる番号です。

[ディスクの管理] コンソール

 

※ 注意
誤って他のディスクを指定しないようにお願いいたします。

このブログが皆様のお役に立てれば幸いです。

Azure 上でフェールオーバー クラスターを構築する際の留意事項について

$
0
0

こんにちは。Windows プラットフォーム サポートの加藤です。

本日は、Azure 上でフェールオーバー クラスターを構築する際の留意事項についてご案内します。
最近、Azure 上の仮想マシンで構築したフェールオーバー クラスターがハートビート通信のダウンでフェールオーバーが発生する報告がございました。

ハートビート通信とは、ノード間で実施される通信で、目的はノード間ネットワークの死活監視です。
全てのハートビート通信がダウンすると相手ノードが停止したと判断します。
フェールオーバー クラスターのハートビート通信のタイムアウトの閾値の既定値は 5 秒であり、これを超えてもハートビート通信ができない場合には、相手ノードのダウンと判断され、
停止したノードがアプリケーションのオーナーノードであった場合には、そのアプリケーションは他のノードへフェールオーバーされます。

- 参考
フェールオーバー クラスターのハートビートについて
http://blogs.technet.com/b/askcorejp/archive/2012/03/22/3488080.aspx

Azure 環境では、後述の計画的なメンテナンス時に 30 秒ほど仮想マシンが一時停止する場合がございます。
30 秒間クラスター ノードが停止すると、もう一方のクラスター ノードは、一時停止しているノードとハートビート通信が実施できない状況に陥り、上述の事象が発生します。

========================================
Azure Virtual Machines に対する計画的なメンテナンス
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-planned-maintenance/
該当箇所を抜粋します。

Microsoft Azure の更新のクラスの場合、実行中の仮想マシンに何らかの影響があってもお客様にはわかりません。これらの更新の多くは、実行中のインスタンスに干渉することがなく更新可能なコンポーネントまたはサービスを対象にしています。これらの更新の一部は、ホスト オペレーティング システムのプラットフォーム インフラストラクチャに対する更新であり、仮想マシンの完全な再起動を必要とせずに適用できます。

これらの更新は、ライブ移行 ("メモリ保護" 更新) を実現するテクノロジによって達成されます。更新時、仮想マシンは "一時停止" 状態になり、RAM 内のメモリは保護されます。この状態で、基礎となるホスト オペレーティング システムが必要な更新プログラムと修正プログラムを受信します。仮想マシンは、30 秒以内の一時停止で再開されます。再開後、仮想マシンのクロックは自動的に同期されます。

このメカニズムを使用してすべての更新をデプロイできるわけではありませんが、一時停止の期間が短い場合、この方法で更新をデプロイすることにより、仮想マシンへの影響が大幅に軽減されます。

複数インスタンスの更新 (可用性セット内の仮想マシンの場合) が、一度に 1 つの更新ドメインに適用されます。
========================================

フェールオーバーの発生自体は、クラスター上のアプリケーションを救うための正常な動作ですが、Azure メンテナンス時に極力フェールオーバーの発生を抑えたい場合には、このハートビートの閾値を事前に延長しておくことをお勧めいたします。

具体的な設定値につきましては、クラスター上のアプリケーションの停止時間がどの程度まで許容できるかによって異なります。
例えば 20 秒間の停止では、クラスター上のアプリケーションを使用したシステムに影響を及ぼさないのであれば、ハートビートの閾値を 21 秒に延長することで、Azure のメンテナンスにより、20 秒程度の停止が発生したとしても、フェールオーバーは発生しません。
逆に、20 秒間の停止が許容できないアプリケーションであれば、閾値を延長するよりは、既定値のままで、素早く切り替えたほうが良い場合もございます。

また、起動に時間のかかるアプリケーションをクラスター化している場合も、閾値の延長が有効な場合があります。
例えば、起動完了に 1 分かかるアプリケーションであれば、フェールオーバー先での起動完了に 1 分間要することになるため、30 秒の仮想マシンの停止でフェールオーバーさせたくない場合もあるかもしれません。

そのため、設定する値はお客様の環境にあわせてチューニングしていただければ幸いに存じます。

なお Windows Server 2012 以降のクラスターでは、同じサブネット間のハートビート通信は 240  秒まで延長可能ですが、Windows Server 2008 R2 のクラスターでは、20 秒までしか延長できません。
 

- 参考
クラスターのハートビート通信の設定値の範囲について
http://blogs.technet.com/b/askcorejp/archive/2015/08/12/3653013.aspx

ハートビートの閾値の変更手順
========================================
WSFC 環境のハートビートの既定の設定は以下となります。

ハートビート間隔 : 1 秒
切断検知までのしきい値 : 5 回

1 秒間隔にハートビート パケットを送付し、このパケットが連続して 5 回失敗するとネットワークが切断されたと判断し、「パーティション分割」の状態となります。ネットワークが不安定な環境では、上記ハートビートの設定を 1 秒間隔で 5 回ではなく、2 秒間隔で 10 回まで、などに変更する事によってこのネットワークの問題に対応できる場合があります。

この設定値は、以下のクラスター プロパティ値として管理されています。
•クラスターが同じサブネット構成されている場合

◦SameSubnetDelay (単位:ミリ秒)
◦SameSubnetThreshold (単位:回数)

•クラスターが異なるサブネットで構成されている場合

◦CrossSubnetDelay (単位:ミリ秒)
◦CrossSubnetThreshold (単位:回数)

上記プロパティ値の変更手順は OS のバージョンによってことなります。

Windows Server 2008 R2 のクラスター
----------------------------------------------------------------
1.クラスタ ノードにてコマンド プロンプトを開きます。
2.以下のコマンドを実行すると、現在の設定値が確認できます

cluster /prop:SameSubnetDelay
cluster /prop:SameSubnetThreshold

3.以下のコマンドを実行し、設定を既定の状態から変更します( 2 秒 x 10 回 の場合)

cluster /prop SameSubnetDelay=2000
cluster /prop SameSubnetThreshold=10

4.再度 2 のコマンドを実行し、変更が反映されていることを確認します。

この設定は 1 台のノードで実行することによりクラスター全体に即時に反映されます

Windows Server 2012 以降のクラスター
----------------------------------------------------------------
1) クラスタ ノードにて PowerShell コンソールを開きます。
2) 以下のコマンドレットを実行すると、現在の設定値が確認できます。

Get-Cluster | select SameSubnet*
Get-Cluster | select CrossSubnet*

3) 以下のコマンドレットを実行し、設定を既定の状態から変更します( 2 秒 x 10 回 の場合)

(Get-Cluster).SameSubnetDelay = 2000
(Get-Cluster).SameSubnetThreshold = 10

(Get-Cluster).CrossSubnetDelay = 2000
(Get-Cluster).CrossSubnetThreshold = 10


4.再度 2 のコマンドレットを実行し、変更が反映されていることを確認します。

この設定は 1 台のノードで実行することによりクラスター全体に即時に反映されます

このブログが皆様のお役に立てれば幸いです。

※ 本ドキュメントは2016年1月6日時点の情報をもとにしています。将来的には変更となる可能性がございますので、ご了承ください

Azure 仮想マシン (IaaS VM) のディスクの拡張について

$
0
0

こんにちは、Windows プラットフォームサポートの世古です。 

今回は仮想マシンを作成後、ディスクの領域を拡張する際の手順についてご案内させていただきます。

 

- ディスクの拡張手順について

=========================================

以下の手順は OS およびデータどちらのディスクでも実施可能です。以下データ ディスクを例に手順をご紹介します。

1.  対象の仮想マシンを停止 (割り当て解除済み) します。

2Azure ポータルに移動し、対象のディスク名を確認します。

      旧ポータルの左ペインより [仮想マシン] - "対象の仮想マシン名" を選択し、中央画面の"ディスク" 欄よりデータディスクの名前を確認します。 


3.以下のコマンドを実行し、ディスクの拡張を行います。

実行コマンド: Update-AzureDisk -DiskName "ディスク名" -ResizedSizeInGB "ディスクサイズ (GB)" -label "ラベル名"

実行コマンド例:

PS C:\WINDOWS\system32> Update-AzureDisk -DiskName "2012A210-2012A2OCT-0-201601140411260857" -ResizedSizeInGB 50 -label "data disk"

 

 OperationDescription OperationId                          OperationStatus

-------------------- -----------                          ---------------

Update-AzureDisk     bc5f680e-8305-6f1f-bef5-29fbbb4a691d Succeeded

 

4.仮想マシンを起動します。

5.仮想マシンが実行中のステータスに変更された事を確認し、仮想マシンに接続します。

6.仮想マシンにて"ディスクの管理" を起動し、ディスクが拡張されている事を確認します。

 

V2 の仮想マシンにおいては OS のイメージ作成時期により OS ディスクのパーティション設定が異なります (Windows Server 2012 R2 では 9 月以降のイメージではシステムパーティションの次に 350 MB のパーティションが作成されております)。その為、上述のドライブの拡張手順を実施しても、拡張した領域が連続した領域で確保されず 350 MB のパーティションを挟み、拡張されます。システムパーティションの拡張が必要な場合には、以前の以前の OS イメージをご利用いただく、もしくは V1 (クラシック) の仮想マシンを作成くださいますようお願いいたします。

 

 

- 8 月の OS イメージを使用した仮想マシンの作成方法

=========================================

1.旧ポータルより Azure にログインします。

2.左ペインより”仮想マシン" を選択します。

3.左下より”新規”をクリックします。

4[COMPUTE] - [仮想マシン] - [ギャラリーから] をクリックします。

5"イメージの選択”画面より対象の OS を選択し、右下の進むボタン (->) をクリックします。

6.仮想マシンの構成" ”バージョンのリリース日" を以前の OS に変更します。(Windows Server 2012 R2 であれば 2015/08/25 を選択します)

7.その他、仮想マシン名等を設定し、進むボタンをクリックします。

8.再度進むボタンを押し完了ボタン (チェック) をクリックします。

  

以上で 350 MB のパーティションが無い仮想マシンが作成出来ます。

複数サブスクリプションを持つ際のリソース確認方法について(Get-AzureRmResource)

$
0
0

こんにちは、Windows プラットフォーム サポートの世古です。

今回は Azure のアカウントに複数のサブスクリプションを設定している場合のリソース一覧の確認方法についてご案内いたします。

1 つのアカウントに対し複数サブスクリプションが設定されている場合にも、Azure 上で動作しているリソースについては Azure ポータル上の以下の画面から確認出来ます。尚、すべてのサブスクリプションのリソースを表示するには、以下の画面の ”すべてのサブスクリプション” の設定を行ってください。

Azure ポータル上からは上記の様にすべてのサブスクリプションに紐づけられたリソースを確認する事が出来ます。しかしながら、リソースを確認するコマンド ”Get-AzureRmResource” の結果からは、複数のサブスクリプションに紐づいたリソースを確認する事が出来ません。その為、サブスクリプションを切り替えて、リソースをご確認ください。

‐ リソースの確認コマンド

Get-AzureRmResource

- アカウントに紐づけられているサブスクリプションの確認方法

Get-AzureRmSubscription

- 現在選択されているサブスクリプションの確認方法

Get-AzureRmContext

- サブスクリプションを変更する方法

Select-AzureRmSubscription –SubscriptionId “サブスクリプション ID”

参考: Azure Resource Manager Cmdlets
https://msdn.microsoft.com/en-us/library/mt125356.aspx

Microsoft-Windows-TerminalServices-RemoteConnectionManager ID 20499 について

$
0
0

こんにちは。Windows プラットフォーム サポート 三浦です。

今回は、よくあるお問合せの一つである リモート デスクトップ接続時に記録される以下のイベントに関して紹介させてい

ただきます。

 

 ログの名前:         Microsoft-Windows-TerminalServices-RemoteConnectionManager/Admin

 ソース:           Microsoft-Windows-TerminalServices-RemoteConnectionManager

 日付:            2016/01/12 9:59:35

 イベント ID:       20499

 タスクのカテゴリ:      なし

 レベル:           警告

 キーワード:        

 ユーザー:          NETWORK SERVICE

 コンピューター:       XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 説明:

 リモート デスクトップ サービスで、サーバー \\XXXXXXXXXXXXXXXXXXXXXXXXXから

 ユーザー XXXXXXXX の ユーザー構成を読み込むのに時間がかかりすぎています

 

このイベントは、リモートデスクトップ接続時、ドメインコントローラーより、ユーザーの構成情報を読み取る際に一定

時間かかった際に記録されるイベントです。ログオン処理に時間がかかっていることを示す警告イベントとなりますが、

Windows Server 2012 R2 では、迅速に処理されていても、必ず記録される不具合となります。

本イベントが記録されている場合でもログオン遅延が発生しているわけではございませんのでご安心ください。

 

なお、問題がなくても記録されてしまうという本不具合はWindows Server 2012 R2 以外では本問題は発生せず、

以下のレジストリを設定することにより、イベントの抑制を行うことが可能です。

 

対象 : リモートデスクトップ接続先

レジストリキー : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

名前 : fQueryUserConfigFromLocalMachine

種類 : DWORD

データ : 1

* 再起動の必要はございません。

Viewing all 590 articles
Browse latest View live




Latest Images