こんにちは。日本マイクロソフトの松岡です。 今回は Windows OS に実装されている、仮想ディスク サービス (VDS) についてご紹介します。
仮想ディスク サービス (VDS) について===================================================VDS はディスクの構成、管理を行うための、統一されたインターフェイスを提供するためのサービスです。VDS は COM ベースの API を公開していますので、アプリケーションやスクリプトは COM インターフェイスを呼び出し、ディスクの作成やフォーマット、あるいはハードウェア RAID アダプターを管理することができます。例えば、Diskpart コマンドや [ディスクの管理] MMC スナップインは、VDS API ベースのプログラムとなります。これにより、ユーザーは、異なるベンダーのストレージ デバイスを、同一のユーザー インターフェイス経由で管理することができます。
VDS はソフトウェア プロバイダーとハードウェア プロバイダーという 2 種類のインターフェイスを公開しています。
ソフトウェア プロバイダーについて--------------------------------------ソフトウェア プロバイダーは、ボリューム、ディスク、ディスク パーティションなどへのインターフェイスを実装しています。これらのインターフェイスは、例えば、ボリュームの作成、拡張、削除機能、または、ミラーの追加 / 解除、ボリュームのフォーマットやドライブ文字の割り当て機能などを提供します。Windows Server 2003 および Windows Server 2008、Windows Server 2008 R2 では、ベーシック ディスクへのインターフェイスを提供する、ベーシック ソフトウェア プロバイダーと、ダイナミック ディスクへのインターフェイスを提供する、ダイナミック ソフトウェア プロバイダーがあります。
ハードウェア プロバイダーについて--------------------------------------ハードウェア プロバイダーは、ハードウェア ベンダーにより、DLL として実装されます。DLL はレジストリ内に登録され、デバイスに依存しない VDS コマンドをハードウェア固有のコマンドに変換します。また、ハードウェア RAID アレイやアダプター カードなどのストレージ サブシステムの管理機能も提供しており、LUN の作成、拡張、削除、マスク、あるいは、マスク切り替えなどがサポートされています。
なお、VDS サービスは、アプリケーションが VDS API への接続を開始した際に、VDS ローダー プロセスにより起動され、操作終了後には自動で終了します。
- 参考情報About VDS (Windows)http://msdn.microsoft.com/en-us/library/windows/desktop/aa381442(v=vs.85).aspx
イベント ソース : VDS Basic Provider について===================================================Windows Server 2003 および Windows Server 2008、Windows Server 2008 R2 で、以下のようなイベントが記録されることがあります。
************************************************************イベントの種類: エラーイベント ソース: VDS Basic Provider 1.0イベント カテゴリ: なしイベント ID: 1日付: 日付時刻: 時刻ユーザー: N/Aコンピュータ: コンピュータ名説明:予期しないエラーが発生しました。エラー コード: xx@xxxxxxxx************************************************************
VDS サービスは、デバイスやデバイス コントローラから情報を取得したり、操作を行うために Plug&Play マネージャ経由でドライバに対して要求を行います。その要求が何らかの問題によりエラーとなった場合、予期しないエラーが発生したとして、本イベントが記録されることがあります。なお、このエラーは、 2 つの情報を含んでおり、@ 前の値はエラー コード、@ 以降の値は内部関数の発生場所を示します。記録されるエラー コードはイベントの発生状況により異なりますが、過去事例では以下のものが報告されています。
32@01000004 (ERROR_NOT_SUPPORTED)D@0101004 (ERROR_INVALID_DATA)2@01010013 (ERROR_FILE_NOT_FOUND)490@01010004 (ERROR_NOT_FOUND)1@01000003 (ERROR_INVALID_FUNCTION)57@01010018 (ERROR_INVALID_PARAMETER)1@02000018 (ERROR_INVALID_FUNCTION)
これらのエラー コードは過去事例において無視しても良いと判断されたものですが、本イベントが記録された際には、エラー コードのみで判断せず、その前後でどのような処理を行っていたかがより重要です。
通常稼働時に本イベントが記録される場合、デバイスや、デバイスへのパスに問題が発生していることが考えられます。ただし、バックアップ処理などにより、一時的なパスの切断などが発生しており、そのタイミングで記録される場合、実害が発生していないようであれば、本イベントは無視できます。例えば、バックアップ処理の中で、Diskpart を使用してディスクのオフライン操作を行っている場合などに、VDS サービスからの情報の取得要求が行われたものの、オフライン処理中だったために、取得に失敗し、エラーが記録されることなどがあります。
なお、以下の公開情報では、本イベントが無視できるケースについて記載されています。
文書番号: 979391VDS 基本的プロバイダー イベント ID 1 HYPER-V ゲスト オペレーティング システムにログオンしています。http://support.microsoft.com/kb/979391/ja
文書番号: 932446システム センター Data Protection Manager 2006 に DpmBackup プログラムを使用すると、システム ログにエラー イベント:「エラー コード 1@01000003]http://support.microsoft.com/kb/932446/ja