[参考資料] 文書番号 : 310072 - Adding support for more than eight LUNs in Windows Server 2003 and in Windows 2000 http://support.microsoft.com/kb/310072/en-us ※ Windows Server 2003 までの情報となっておりますが、Windows Server 2008 R2 についても同様です。
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 作成のタイミングをずらすことで回避可能です。
以前、リソース不足について – 番外編1 (64bit 環境での注意点)という記事で、64 bit 環境でシステムキャッシュ (RAMMap で確認した場合は Mapped File や Metafile) で物理メモリを大量に使用してしまう動作についてご紹介しました。この記事の中では、Windows 7 以降の OS ではシステムキャッシュ周りのデザイン変更が行われているとご説明しましたが、やはり Windows Server 2008 R2 でも同様の状況が発生するとのお問い合わせをいただく事があります。
Windows 7 以降の OS では、システムキャッシュをより早く解放出来るようになっているので、物理メモリの大半をシステムキャッシュが占めていてもメモリ確保には問題がない場面も多いのですが、それでも一度にまとまった要求が行われた場合などには「メモリ不足」のエラーになってしまう事があります。対処策としては、システムキャッシュのワーキングセットの閾値を指定する事になりますが、これを行うためのツールとして弊社が公開している Microsoft Windows Dynamic Cache Serviceでは、Windows 7 以降 (OS バージョン 6.1 以降) では意図的に動作しないように制限がかけられているため、これを解除してビルドし直す必要があります。今回の投稿では、Windows Server 2008 R2 環境でMicrosoft Windows Dynamic Cache Serviceを利用する方法についてご紹介します。
OS バージョンのチェックの箇所
Microsoft Windows Dynamic Cache Service には、ダウンロード ファイルの中にこのツールのソースコードも含まれています。この中の DynCache.cpp の 1141 行目付近がバージョン チェックを実施していますが、Windows Server 2008 R2 環境で利用するには下記の (OSVerInfo.dwMinorVersion > 0) を (OSVerInfo.dwMinorVersion > 1) に変更する必要があります。
// Make sure that the OS is not later than Windows Server 2008
source フォルダ内の obj\amd64 フォルダに DynCache.exe が生成されます。Microsoft Windows Dynamic Cache Service はこのファイルに置き換えて利用ください。Microsoft Windows Dynamic Cache Service のご利用方法については、Read me や Dynamic Cache Service についてをご参照ください。
FIX: Memory leak in WmiPrvSe.exe when you run a script to connect to the WMI WebAdministration namespace in Windows 7, in Windows Vista, in Windows Server 2008 or in Windows Server 2008 R2
Msinfo32.exe takes a long time to display or export system information on a computer that has many MSI-X-supported devices and that is running Windows 7 or Windows Server 2008 R2
A Wmiprvse.exe process crashes in Windows Server 2008 R2 when you use the WMI interface to query the hardware status on a computer that supports the IPMI standard
An application or service that queries information about a failover cluster by using the WMI provider may experience low performance or a time-out exception
"0x80070490 Element Not found" error when you enumerate a cluster disk resource by using the WMI MSCluster_Disk class query in a Windows Server 2008 R2-based failover cluster
Changes to performance counters are not updated for at least 15 minutes when you use WMI to query performance counter values in Windows 7 or in Windows Server 2008 R2
An application or a service that uses the Wmiaprpl.dll module crashes when the application or the service enumerates the returned performance objects under the HKEY_PERFORMANCE_DATA registry key
The WMI service and the WMI providers stop responding when you use WMI performance classes to monitor performance on a computer that is running Windows 7 or Windows Server 2008 R2
Loaded user profiles cannot be unloaded after you run WMI queries for the Win32_StartupCommand class in Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2
RSoP shows a red X on the icons for registry settings in 64-bit Windows Vista, in 64-bit Windows 7, in 64-bit Windows Server 2008 or in 64-bit Windows Server 2008 R2
Changes to performance counters are not updated for at least 15 minutes when you use WMI to query performance counter values in Windows 7 or in Windows Server 2008 R2
"0x80070490 Element Not found" error when you enumerate a cluster disk resource by using the WMI MSCluster_Disk class query in a Windows Server 2008 R2-based failover cluster
FIX: Memory leak in WmiPrvSe.exe when you run a script to connect to the WMI WebAdministration namespace in Windows 7, in Windows Vista, in Windows Server 2008 or in Windows Server 2008 R2
RSoP shows a red X on the icons for registry settings in 64-bit Windows Vista, in 64-bit Windows 7, in 64-bit Windows Server 2008 or in 64-bit Windows Server 2008 R2
The WMI service and the WMI providers stop responding when you use WMI performance classes to monitor performance on a computer that is running Windows 7 or Windows Server 2008 R2
FIX: Memory leak in WmiPrvSe.exe when you run a script to connect to the WMI WebAdministration namespace in Windows 7, in Windows Vista, in Windows Server 2008 or in Windows Server 2008 R2
The Wmiprvse.exe process creates a memory leak on a computer that is running Windows Server 2008 if you remotely monitor this process by using the WMI interface on a computer that is running Windows Server 2003 or Windows XP
You find high CPU usage for the Wmiprvse.exe process on a terminal server that is running Windows Server 2008 when you run the Windows System Resource Manager
A "WBEM_E_INCOMPLETE_CLASS" WMI error occurs or Wmiprvse.exe crashes when concurrent WMI queries are sent to the cluster resources in Windows Server 2008
Windows Server 2008 Failover Clustering WMI provider does not correctly handle invalid characters in the private property names causing WMI queries to fail
An application crashes after the application loads the Perfdisk.dll file on a computer that is running Windows Server 2008 or Windows Vista if there are lots of disk devices on the computer
Some base values are not updated when you use the Win32_PerfRawData_PerfDisk_LogicalDisk WMI class to calculate performance data in Windows Vista or in Windows Server 2008
WMI performance counter classes that are based on the Performance Monitoring Provider do not work or return incorrect data in Windows Vista and Windows Server 2008
An application or a service that uses the Wmiaprpl.dll module crashes when the application or the service enumerates the returned performance objects under the HKEY_PERFORMANCE_DATA registry key
Loaded user profiles cannot be unloaded after you run WMI queries for the Win32_StartupCommand class in Windows Vista, Windows Server 2008, Windows 7, or Windows Server 2008 R2
Win32_PhysicalMedia class does not use the IOCTL_SMART_GET_VERSION control code to query the disk serial number on a Windows Vista or Windows Server 2008-based computer
Multiple pagefiles are created when you set the AutomaticManagedPagefile property of the Win32_ComputerSystem class to False on a computer that is running Windows Server 2008 or Windows Vista SP1
The query fails when you enter the terminal server farm name in the TS Web Access Administration window to query remote program information in Windows Server 2008
When you run a WMI query against the CIM_DataFile class by using the "Run as administrator" option in Windows Vista or in Windows Server 2008, the query returns incomplete results
Queries to SNMP devices stop responding when Windows Server 2008-based systems or Windows Vista Service Pack 1-based systems receive multiple SNMP WMI queries at the same time
Temporary files are left in the C:\Windows\Installer folder when you query for the Win32_Product class on a computer that is running Windows Server 2003, Windows Vista, or Windows Server 2008
なお、上記は同じモジュールの更新を複数含むリストとなりますため、 以下では、Windows Server 2008 SP2 対象のモジュールを 最新の状態とするために必要な最小限の更新プログラム リストを ご紹介させていただきます。
Title
URL
Win32_PhysicalMedia class does not use the IOCTL_SMART_GET_VERSION control code to query the disk serial number on a Windows Vista or Windows Server 2008-based computer
FIX: Memory leak in WmiPrvSe.exe when you run a script to connect to the WMI WebAdministration namespace in Windows 7, in Windows Vista, in Windows Server 2008 or in Windows Server 2008 R2
Some base values are not updated when you use the Win32_PerfRawData_PerfDisk_LogicalDisk WMI class to calculate performance data in Windows Vista or in Windows Server 2008
You find high CPU usage for the Wmiprvse.exe process on a terminal server that is running Windows Server 2008 when you run the Windows System Resource Manager
WMI performance counter classes that are based on the Performance Monitoring Provider do not work or return incorrect data in Windows Vista and Windows Server 2008
Temporary files are left in the C:\Windows\Installer folder when you query for the Win32_Product class on a computer that is running Windows Server 2003, Windows Vista, or Windows Server 2008
An application or a service that uses the Wmiaprpl.dll module crashes when the application or the service enumerates the returned performance objects under the HKEY_PERFORMANCE_DATA registry key
Windows OS では Windows Server 2003 以降 Microsoft iSCSI Software Initiator を利用することで、iSCSI ターゲットへの接続を行うことができます。 Windows Server 2003 では、以下の弊社ダウンロード センターからイニシエーターをダウンロードする必要がありますが、Windows Vista/Windows Server 2008 以降は OS の標準機能として搭載されています。
文書番号: 981482 Windows Server 2008 および Windows Server 2008 R2 環境に、遅延 ACK が有効に設定されたネットワーク環境と iSCSI 接続されたストレージを持つ場合一般的な操作をするとシステム イベント ログに iScsiPrt のエラーが出力される http://support.microsoft.com/kb/981482
// Windows Server 2008 R2/Windows Server 2008 用 文書番号: 2684681 Iscsicpl.exe プロセスは、ストレージ デバイスは、Windows Vista、Windows Server 2008、Windows 7 は、または Windows Server 2008 R2 を実行しているコンピューターに再接続しようとするとを応答を停止します。 http://support.microsoft.com/kb/2684681
// Windows Server 2003 用 文書番号 : 2277122 Stop error in Windows Server 2003 or in Windows Server 2008 R2 if a computer has some iSCSI disks and the computer is under a heavy stress situation: "0x000000D1" http://support.microsoft.com/kb/2277122
4. その他最適化機能の無効化について ---------------------------------------- SNP (Scalable Networking Pack) や、VMQ など、ネットワーク通信に関する最適化機能を用いている場合、ご利用の NIC デバイス等の親和性の問題により接続が不安定になる場合があります。 以下の参考資料をご参照いただき、無効化などの切り分けをご検討ください。
Windows Server 2008 ベースのクラスター環境においてパブリック ネットワークにデフォルト ゲートウェイを設定していない事によってクラスターのフェールオーバーが意図通りに発生しないというお問い合わせをいただく事があります。これは Windows Server 2003 と2008 におけるネットワークの正常性確認の動きが違う事に起因して発生します。今回はその仕組みについてご紹介します。
まずそれぞれの OS のネットワーク障害の検出と回復についての基本的な動作については、以下のURL をご確認ください。
クラスターのネットワーク障害の検出は、クラスターがサービスを提供するパブリック ネットワークでノード間通信が正常に行われない場合に実施されます。その際、ネットワークのどこで障害が発生したかを検知するために、各ノード共通でアクセス可能なアドレスに疎通確認を行います。Windows Server 2003 ベースでは PING を送信する宛先リスト(PINGLIST)を作成し、このリストに従い複数のアドレスに疎通確認を行います。しかしWindows Server 2008では複数の PING の送信先を持たず、デフォルト ゲートウェイのみに疎通確認を行います。そのため、Windows Server 2008 においてはサービスを提供するネットワーク(大体はパブリック ネットワークとして構成)に必ずデフォルト ゲートウェイを設定する必要があります。
デフォルト ゲートウェイを設定しない場合にはノード間通信に失敗した際にどのネットワーク インターフェースで障害が起きたか検知されません。つまりネットワークで障害が発生した場合にどちらのノードが正常か判断できないため、例えば NIC の障害が発生したノードでリソースを持っていても、正常なノードにフェールオーバーされません。
以下の簡単なシナリオをご参考ください。
シナリオ:デフォルト ゲートウェイの設定が無い場合(2008 ベース)
• ノード A のネットワーク インターフェースでネットワーク障害が発生します。
• ノード A とノード B は通信できません。
結果
• ノード A とノード B 両方のネットワーク インターフェースの状態は到達不能となり、ネットワークの状態はパーティション分割になります。
• リソース グループはフェールオーバーせず、オンラインのまま現在の所有者のノードに留まります。
Windows Server 2003においては PINGLIST が作成され、優先順位の高いものから順番に PING が送信されます。PINGLIST には両ノードからアクセス可能なアドレスが選ばれます(PINGLIST の詳細については上記URLの2003 ベースを確認してください)。しかし Windows Server 2008からはネットワーク障害が検知されてからなるべく早く正常なノードへフェールオーバーを行う観点から、デフォルト ゲートウェイのみに PING が送信されます。Windows Server 2008において PING の送信先をレジストリなどから変更することはできません。
また Windows Server 2003においては PINGLIST のすべてのアドレスからの応答がなかった場合には、一定時間後に再度優先順位の高いアドレスに PING が再送されていましたが、Windows Server 2008においては再送される設定はありません。
上記においてバージョンにおけるネットワークの障害の検出方法を比較しましたが、Windows Server 2008 でデフォルト ゲートウェイが設定されていれば、通常運用においては Windows Server 2003 と大きな違いはありません。
Printers installed using the same driver and port on Windows are grouped as one when viewed within Devices and Printers http://support.microsoft.com/kb/2015694
なお、Windows Server 2008 R2 までのフェールオーバー クラスター + Hyper-V 構成ではこの表示は発生しません。
結論から申し上げますと、この表示は Windows Server 2012 に含まれる Hyper-V のデザイン変更によるものであり、この「構成エラー」は無視していただいて問題ありません。
この動作について
Windows Server 2012 ではクイック マイグレーションによってターゲット ノードに仮想マシンが移動した際のリソース (ネットワーク デバイスなど) の修正は仮想マシンのワーカー プロセス (vmwp.exe) の起動時に、動的に仮想マザーボードの Power On 処理内で実行するよう変更されました。そのため、仮想マシンの起動のタイミングで正しい値に更新が行われる動作となります。
Windows Server 2008 R2 ではクイック マイグレーション時に仮想マシン管理サービス (vmms.exe) が仮想マシン構成リソースのオンライン処理の延長でターゲット ノード側の仮想スイッチ/ポート情報に適用させるよう構成ファイルの修正を行っていました。そのため、仮想マシンを起動する前のタイミングで既に構成情報は更新済みとなっています。
Windows Server 2012 からは仮想マシンのワーカー プロセス (vmwp.exe) が起動時に変更を行うため、上記のようにオフライン状態で クイック マイグレーションを行いターゲット ノードに移動した場合、このタイミングではまだ仮想マシン プロセスは起動していないため、仮想スイッチ/ポート情報の変更が行われておらず構成情報上は「構成エラー」という形で見えてしまうようになります。この動作の違いは仮想マシン内のリソースの管理を仮想マシン管理サービス (vmms.exe) ではなく、仮想マシンのワーカー プロセス (vmwp.exe) が個別にすべての権限持って行うよう、Windows Server 2012 の仕様として変更されたことに起因しています。
上記の通り、Windows Server 2012 ではクイック マイグレーション後に仮想マシンのワーカー プロセス (vmwp.exe) が起動するタイミングで初めて構成ファイルからターゲットホスト側の仮想スイッチを検索し、検出できれば仮想 NIC の割り当てが行われます。そして、その構成変更処理の延長で構成情報が正しい内容へ修正されます。そのため、仮想マシンの起動前のタイミングで表示される「構成エラー」は無視していただいて問題ありません。
READDIR The READDIR arguments now include a verifier to allow the server to validate the cookie. The cookie is now a 64 bit unsigned integer instead of the 4 byte array which was used in the NFS version 2 protocol. This will help to reduce interoperability problems.
しかしながら、Windows で利用される NFS サーバーでは、64 bit Cookie に対応できないクライアント アプリケーションを考慮して、既定では NFS Version 3 であっても 32 bit Cookie が利用されます。 (Windows Server 2012 からは既定で 64 bit Cookie が利用されます)
一方、Windows の NTFS ファイル システム上では、それぞれのファイルは 64 bit 長の NTFS FileID という一意な値で管理されています。 32 bit Cookie ではこの NTFS FileID を利用して 32 bit Cookie が生成されますので、稀に同じ値の Cookie が異なるファイル エントリーに対して作成されてしまい、NFS クライアントで無限ループや、意図しない動作などが発生する場合があります。
その場合には、以下のサポート技術情報を参照し FileCookieV3Size の値を 4 に変更し、64 bit Cookie を使用するように構成して下さい。
FIX: You receive an error message and a client computer may stop responding when you try to run the ls command to list files or subdirectories on a large directory in Windows Services for UNIX 2.3 http://support.microsoft.com/kb/910609/en-us
上記の資料に記載されている FileCookieV3Size レジストリは、Windows Server 2012 まで同様に有効です。
また、一緒に記載されている DisableFilenameHashing については32 bit Cookie の生成時に既定で利用されるファイル名のハッシュ情報を含んだ算出方法を無効化するレジストリです。
DisableFilenameHashing のレジストリを変更することで、32 bit Cookie の内部算出方法が変更されますので、これにより 32 bit Cookie の重複を回避できる可能性があります。 ただし、本レジストリは Windows Server 2003 R2 までは利用可能ですが、Windows Server 2008 については以下のサポート技術情報で公開されている修正プログラムを適用し、DisableFilenameHashing を設定可能な状態に変更する必要があります。 (Windows Server 2008 R2 以降では DisableFilenameHashing による 32 bit Cookie 生成方法の変更はできません) また、Cookie の生成に際して NTFS FileID のみが使用されるようになるため、同一 FileID を持つ、ハード リンクされたファイル同士が同一の Cookie を持つようになる点を考慮する必要もあります。
NFS Version 3 が利用される環境で、NFS クライアントが 64 bit Cookie に対応している場合には、64 bit Cookie を利用していただくのが推奨される構成となりますので、NFS 通信において無限ループが発生するような場合には64 bit Cookie の利用について是非ご検討ください。
Windows Server 2012 と Windows Server 2012 R2は、サポート期限やライセンスについて、それぞれの製品毎に個別に存在しております。製品がそれぞれ異なりますので、Windows Server 2012 においては、Windows Server 2012 R2 がリリースされた後も、R2 へ移行いただく事は必須ではありません。
製品名
ライフサイクル開始日
メインストリーム終了日
延長サポート終了日
Windows Server 2012 Datacenter
2012/10/30
2018/01/09
2023/01/10
Windows Server 2012 R2 Datacenter
2013/11/25
2018/01/09
2023/01/10
※ 2013年10月24日現在の情報です。
2013 11月07日現在、Windows Server 2012 R2 の問い合わせについても問題なく弊社サポート サービスをご利用いただけます。
・Windows Server 2012、Windows Server 2012 R2 サポート ライフサイクル
Windows Server 2008 R2 Service Pack 1 (SP1) の環境において、一つのグループ内に 10 個以上の NFS 共有リソースを作成した場合、リソースはオフラインになります。またリソースのオフラインに伴い、グループのフェールオーバーが行われます。フェールオーバー先のノードにおいても、すべての NFS 共有リソースがオンラインになりません。
Windows Server 2008 Service Pack 2 の環境において、クラスター グループ内にあるリソースの依存関係に影響し、リソースが正常にオフラインになりません。この状況においては、クラスター グループは実行中のままオフラインになりません。またクラスター グループもフェールオーバーフェールオーバーされません。
==========
タイトル: Clustered virtual machine cannot access LUNs over a Synthetic Fibre Channel after you perform live migration on Windows Server 2012-based Hyper-V hosts