• Windows Server バックアップ実行時に記録される、ソース: disk、ID: 157 の警告について

    こんにちは。Windows High Availability サポート チームの吉井です。

     

    今日は、Windows Server 2012 R2 Windows Server バックアップを実行した時に記録される、以下の 「ソース: diskID: 157」 の警告について説明したいと思います。

     

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

    ソース:           disk

    イベント ID:       157

    レベル:           警告

    説明:

    ディスク X が突然取り外されました。

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

     

    ソース: diskID: 157 のイベントについて

    Windows Server 2012 R2 では、ディスクの取り外しが行われた場合に、ソース: diskID: 157 の警告イベントを記録する機能が追加されています。運用中のシステムでディスクが取り外される状況 (取り外されたと認識される状況) は、一般的にディスク接続周りに何らかの問題が生じていることが多い状況ですので、このことを検知できるように Windows Server 2012 R2 で実装されました。

     

    参考情報:

    Event ID 157 "Disk # has been surprise removed"

    http://blogs.msdn.com/b/ntdebugging/archive/2013/12/27/event-id-157-quot-disk-has-been-surprise-removed-quot.aspx

     

     

    Windows Server バックアップ実行時に記録される理由について

    Windows Server バックアップでは、バックアップ データの保持形式として仮想ディスク イメージ (VHD/X) を採用しており、バックアップ処理中にこの仮想ディスクの接続と切断が発生します。

     

    そのため、仮想ディスク切断時に diskID: 157 のイベントが記録されますが、これは Windows Server バックアップの動作として想定される動作となりますので、警告イベントによる悪影響はなく、安全に無視可能です。バックアップも正常に完了していれば、バックアップ データの整合性にも問題ありません。

     

     

    警告の抑止方法について

    無視可能ではあるものの、"警告" レベルでイベントが記録されることで、システム運用監視上の負担となる場合もありますので、仮想ディスクの切断時にはこの警告を出力しないようにする更新プログラムをリリースしています。

    (この更新プログラムを適用しても、仮想ディスクの切断時に警告が記録されなくなるのみであり、実際に物理ディスクが取り外されたようなシナリオでは警告は出力されます。)

     

    文書番号: 2955164

    May 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

    http://support.microsoft.com/kb/2955164

     

    この更新プログラムを適用することでイベント出力の抑止が可能です。

    また、本事象について説明した技術情報もご紹介いたします。

     

    文書番号: 2958027

    Extraneous log entries are created when you remove virtual disk devices in Windows 8.1 or Windows Server 2012 R2

    http://support.microsoft.com/kb/2958027

     

     

    まとめ

    Windows Server 2012 R2 Windows Server バックアップを実行した時に記録される、「ソース: diskID: 157」の警告は安全に無視可能です。

    ただし、本警告を抑止したい場合には KB 2955164 の適用をご検討ください。

     

    文書番号: 2955164

    May 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

    http://support.microsoft.com/kb/2955164

     

  • Windows Server 2012 または Windows Server 2012 R2 環境の iSCSI と NIC チーミングについて

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

    Windows Server 2003 や、Windows Server 2008、Windows Server 2008 R2 環境で Microsoft iSCSI イニシエーターを利用する際に、NIC をチーミングしたいというお問い合わせをいただくことがあります。
    しかしながら、Windows Server 2012 より前の OS では Microsoft iSCSI イニシエーターを利用する環境では、NIC のチーミングはサポートされていませんでした。
    これは、NIC チーミングは 3rd party 製のソリューションのみであったので、弊社製品ではない部分に動作が依存してしまうため、非サポートとさせていただいていました。

    === 注意事項 ===
    Windows Server 2012 または Windows Server 2012 R2 環境においても Microsoft iSCSI イニシエーター、及び Microsoft iSCSI ターゲットをご利用される NIC にて 3rd party 製チーミング アプリケーションを使用した NIC チーミングはサポートされません。
    ==============

    ただし、Windows Server 2012 より OS の機能である "負荷分散とフェールオーバー (LBFO)" を利用して NIC チーミングを構成した環境はサポートされます。

    また、NIC を iSCSI 専用のインターフェースとして利用する場合 (他のサービス等では利用しない) には、LBFO を使用せず、MPIO のみで冗長構成を行うことを推奨しています。(NIC チーミングと MPIO 両方を構成すると重複した構成となり、複雑性を増す一方で利点がないため)

    そのため、Windows Server 2012 または Windows Server 2012 R2 環境で、Microsoft iSCSI イニシエーター、または Microsoft iSCSI ターゲットを利用する際に、NIC チーミングをご利用されたい場合には LBFO をご利用ください。また、MPIO が利用可能な場合にはそちらもご検討ください。

    - 参考情報
     Is NIC Teaming in Windows Server 2012 supported for iSCSI, or not supported for iSCSI? That is the question…
     http://blogs.technet.com/b/askpfeplat/archive/2013/03/18/is-nic-teaming-in-windows-server-2012-supported-for-iscsi-or-not-supported-for-iscsi-that-is-the-question.aspx

     NIC チーミングの概要
     http://technet.microsoft.com/ja-jp/library/hh831648.aspx

  • Windows Server 2012 標準的なリモート デスクトップ サービス環境構築手順について

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

    今回は、Windows Server 2012 (R2 含む) における、標準的なリモート デスクトップ サービス環境の構築手順をご案内いたします。

    なお、構築の前提条件といたしまして、対象サーバーが Active Directory に参加している環境としています。

    ワークグループ環境での構築につきましては、以下を参照ください。

     - Windows Server 2012 リモート デスクトップ環境の構成について

       http://blogs.technet.com/b/askcorejp/archive/2012/12/28/windows-server-2012.aspx

    また、本稿においては、[セッション ベースのデスクトップ展開] に特化した手順となっており、MS VDI (Virtual Desktop Infrastructure) 環境の構築には言及しておりません。

    VDI 環境の構築につきましては、別途公開させていただく予定としています。

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

    Windows Server 2012 以降においては、リモート デスクトップ サービスおよび RemoteApp アプリケーションを公開するためには、同一ドメイン内に 下記の役割を持つサーバーが必須となっています。

    なお、下記の役割は全て一台のサーバーに集約する事が可能です。

    • リモート デスクトップ  (RD) セッション ホスト
      - デスクトップ セッション、RemoteApp プログラムを提供します。
    • リモート デスクトップ (RD) 接続ブローカー
      - ユーザーからの接続要求および再接続時の割り当てを管理します。
    • リモート デスクトップ (RD) Web アクセス
      - RD セッション ホスト、RemoteApp プログラムへの接続ポイントを提供する Web ポータルとなります。
    • リモート デスクトップ (RD) ライセンス
      - RD セッション ホスト、RemoteApp プログラムを使用する際に、ユーザーが接続するのに必要なライセンス (RDS CAL) を管理します。

    また、Windows Server 2012 以降においては、リモート デスクトップ サービスおよび RemoteApp を [セッション コレクション] という概念で、管理・公開いたします。

    [セッション コレクション] の単位にて、複数台のセッション ホスト サーバーを管理する事が可能となっており、[サーバー マネージャー] 上に展開される [リモート デスクトップ 管理サービス (RDMS)] にて一元管理、設定が可能です。

    [セッション ベースのデスクトップ展開] におきましては、以下 2 種類の展開方法があります。

    • 標準の展開
      - 各役割を、複数、または一台のサーバーに展開する場合に使用します。
    • クイック スタート
      - 各役割を、一台のサーバーに集約する場合に使用します。

    一台のサーバーに展開する場合、[クイック スタート] での展開が簡易ですが、評価環境での構築を意図しているため、一台のサーバーに展開いただく場合においても、[標準の展開] を選択いただく事を推奨いたします。

    以下の手順におきましては、[標準の展開] での構成方法をご案内いたします。

    <サーバーの追加>

    複数台のサーバーに各役割をインストールいただく場合には、接続ブローカーの役割をインストールいただくサーバーにおいて、各サーバーを管理対象としていただく必要があります。

    一台のサーバーに全ての役割をインストールする場合には、この手順は必要ありません。

    1. 左ペイン の [全てのサーバー] 右クリック、[サーバーの追加] 選択します。
    2. 検索ボタンで、ドメイン内のサーバーを検出し、各役割をインストールするサーバーを選択します。
    3. [OK] ボタンで完了です。

    <役割のインストール>

    1. 接続ブローカーの役割をインストールいただくサーバーにて、ドメインの administrator でログインし、[サーバー マネージャー] を開き、[管理] - [役割と機能の追加] を選択します。
    2. [インストールの種類] にて [リモート デスクトップ サービスのインストール] を選択します。
    3. [展開の種類の選択] にて [標準の展開] を選択します。
    4. [展開シナリオの選択] にて [セッション ベースのデスクトップ展開] を選択します。
    5. [役割サービスの確認] 画面が表示されますので、[次へ] を押下します。
    6. [RD ブローカー サーバーの指定]、[RD Web アクセス サーバーの指定]、[RD セッション ホスト サーバーの指定] のそれぞれにて、インストールいただくサーバーを選択します。
    7. [選択内容の確認] にて、各役割の選択サーバーに間違いがない事を確認し、[必要に応じてターゲット サーバーを自動的に再起動する] にチェックをいれ [展開] を押下します。
    8. 各役割のインストールが実行され、RD セッション ホストの役割がインストールされるサーバーにつきましては、再起動が実施されます。
    9. 再起動完了後、インストールを実施したサーバーの [進行状況の表示] において、すべての役割で [成功] となっていたら、インストール完了です。

    < セッション コレクションの作成 >

    1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [概要] を選択します。
    2. 右ペインの [展開の概要] にて、RD セッションホスト を右クリックし、[セッション コレクションの作成] を選択します。
    3. [コレクション名の指定] にて任意のセッション コレクション名を指定します。
    4. [RD セッション ホスト サーバーの指定] にてサーバー プールから、 セッション コレクションを作成する RD セッション ホスト サーバーを追加します。
    5. [ユーザー グループの指定] にて利用を許可するユーザーまたはグループを指定します。
    6. [ユーザー プロファイル ディスクの指定] にてユーザー プロファイルの保存先を指定します。ユーザー プロファイル ディスクを有効にしない設定でも問題ありません。
    7. [作成] をクリックし、[進行状況の表示] にて全て [成功] となっていたら、セッション コレクション作成完了です。

     <セッション コレクションのプロパティ>

    1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [(コレクション名)] を選択します。
    2. 右ペインの [プロパティ] の [タスク] - [プロパティの編集] を選択する事で、セッション コレクションの各設定をカスタマイズする事ができます。
    • 全般
    • ユーザー グループの指定
    • セッションの設定の構成
    • セキュリティ設定の構成
    • 負荷分散の設定の構成
    • ユーザー プロファイル ディスクの構成

    <RemoteApp アプリケーションの公開>

    1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [(コレクション名)] を選択します。
    2. 右ペインの [RemoteApp プログラム] の [タスク] - [RemoteApp プログラムの公開] を選択します。
    3. RemoteApp プログラムの選択] にて公開したいアプリケーションを選択します。
      公開するアプリケーションは、RD セッション ホスト サーバーにインストールされている必要があります。
    4. [確認] 画面にて公開するアプリケーションを確認し、[公開] をクリックします。
    5. [完了] 画面にてエラーがない事を確認し、[閉じる] をクリックします。
      以上にて、RemoteApp アプリケーションの公開が完了です。

    <ライセンス サーバーのインストール>

    1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [概要] を選択します。
    2. 右ペインの [展開の概要] にて、[RD ライセンス] の (+) マークをクリックします。
    3. [サーバーの選択] にて、RD ライセンス の役割をインストールするサーバーを選択します。
    4. [選択内容の確認] でインストールするサーバーに間違いがない事を確認し、[追加] をクリックします。
    5. [進行状況の表示] にて [成功] となっていたら、ライセンス サーバーのインストール完了です。


    <ライセンス モードの設定>

    1. サーバー マネージャーにて、左ペインより、[リモートデスクトップ サービス] - [概要] を選択します。
    2. [展開の概要] から [タスク] - [展開プロパティの編集] を選択します。
    3. 左ペインより [RD ライセンス] を選択します。
    4. [接続デバイス数] または [接続ユーザー数] を指定します。


    ライセンス サーバーのアクティブ化およびライセンスのインストールにつきましては、Windows Server 2008 R2 と同様となりますので、下記を参照願います。

     - リモート デスクトップ ライセンス サーバーをアクティブ化する

        http://technet.microsoft.com/ja-jp/library/cc771547.aspx

     - リモート デスクトップ サービス クライアント アクセス ライセンスをインストールする

        http://technet.microsoft.com/ja-jp/library/cc725890.aspx

    上記までを実施いただくことで、標準的なリモート デスクトップ サービス環境が構成されます。

    なお、Windows Server 2012 以降においては、RemoteApp アプリケーションは RD Web アクセスのポータル サイトからのご利用が標準となっています。

    クライアントから、以下の URL にアクセスいただいてご利用ください。

          https://(Web アクセス サーバー FQDN 名)/rdweb

    例 :  https://WebAccess.contoso.com/rdweb

  • ハードウェア デバイスのトラブルシューティングについて

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

    今回は、デバイスのトラブルシューティングに利用頂けるツールをいくつかご紹介したいと思います。

    ===============
    (A) デバイスのトラブルシューティング ツール
    ===============
    Windows 7 及び Windows 8 には、デバイスの問題を自動的に検出し、修復を試みる
    ツールが OS に付属されています。何かデバイスの問題が発生した際には、まずこちらを
    試してみることをお勧めします。以下はトラブルシューティング ツールの起動手順です。

    1. コントロール パネルを開きます
    2. [システムとセキュリティ] をクリックします
    3. [コンピューターの問題のトラブルシューティング] をクリックします
    4. [デバイスを構成する] をクリックします
    5. ウィザードに従ってトラブルシューティングを行います

    Windows トラブルシューティング - Microsoft Windows
    http://windows.microsoft.com/ja-jp/windows7/products/features/windows-troubleshooting

    Windows Vista は OS に組み込まれておりませんが、以下のページからツールの入手が必要です。

    Windows でのトラブルシューティング - Windows ヘルプ
    http://windows.microsoft.com/ja-jp/windows/troubleshooting-windows#troubleshooting-windows=windows-vista
    ※ [ハードウェアおよびデバイスのトラブルシューティングを実行するには] の項にあります

    ===============
    (B) デバイス マネージャー
    ===============
    トラブルシューティング ツールで問題が解決しない場合は、従来通り、デバイス マネージャー
    を利用します。

    1. Windows キーを押しながら、Pause/Break キーを押下します
    2. [デバイス マネージャー] をクリックします

    デバイス マネージャーが起動すると、現在接続されているすべてのデバイスが表示されます。
    まずは以下のようなアイコンが無いかを確認します。

    1. 無効化
    アイコンに画像のような下矢印マークが付いている場合、そのデバイスは無効化されている
    ことを示しています。デバイスが無効化されていると、PC はそのデバイスを使用できません。
    通常、デバイスが自動的に無効化されることはほとんどありません。何かの不具合があった場合に、
    人為的に無効化させる場合がほとんどです。

    デバイスを有効化するには、対象のデバイスを右クリックし、[有効] をクリックします。


     

    2. 不明なデバイス
    画像のように [ほかのデバイス] に含まれているデバイスは、該当するデバイスの種別が
    判別できなかったものになります。これは、多くの場合、必要なデバイス ドライバーが
    インストールされていないことによるものです。解決にはデバイスの開発元のサイトから
    最新のデバイス ドライバーを入手する必要があります。

    そもそも、そのデバイスが何であるか分からない場合は、[詳細] タブの [プロパティ] から
    [デバイス インスタンス パス] を調べ、それをキーワードに指定してインターネット検索を
    してみることをお勧めします。デバイスに関する情報が得られる場合があります。
    また、この方法で大した情報が得られなかった場合は、パスに含まれる VEN_XXXX の 4 桁の
    英数字と "Vender ID" という文字列、あわせて 2 つのキーワードを指定してインターネット
    検索をすると、製造元の企業名がヒットする場合があります。

    3. エラー
    アイコンに画像のような ! マークが付いている場合、そのデバイスが何らかの理由で正常に
    動作していないことを示しています。発生しているエラーには様々な種類があり、種類ごとに
    エラー コードが割り振られています。当該のデバイスをダブルクリックすることで、
    エラー コードを確認することができます。

     

    以下の KB には各エラー コードの説明と対応策が記載されています。
    これを参考に Windows 8.1 までの OS 上でトラブルシューティングを行うことができます。

    Windows のデバイス マネージャーのエラー コード
    http://support.microsoft.com/kb/310123/ja-jp (日本語機械翻訳)
    http://support.microsoft.com/kb/310123/en-us (英語)

    ===============
    (C) devcon.exe
    ===============
    devcon.exe は、デバイス マネージャーと同等の機能を持つコマンド ライン ツールです。
    コマンド プロンプトでデバイスのトラブルシューティングをする場合に最適です。

    以下は devcon.exe を使ってデバイスを有効化した例です。

     

    devcon.exe は、Windows Driver Kit (WDK) の中に含まれておりますので、WDK を
    インストールすることで、devcon.exe を入手できます。現在の最新の WDK の
    インストーラーは以下のページにあります。

    WDK と WinDbg のダウンロード
    http://msdn.microsoft.com/ja-jp/windows/hardware/hh852365
    ※ [WDK 8.1 Update のダウンロード] にあります

    なお、WDK 8.1 内のデフォルトの devcon.exe の保存場所は以下のとおりです。

    - x86 版
      C:\Program Files (x86)\Windows Kits\8.1\Tools\x86\devcon.exe
    - x64 版
      C:\Program Files (x86)\Windows Kits\8.1\Tools\x64\devcon.exe

    詳細なツールの使い方は、以下の技術文書に記載があります。

    デバイス マネージャーとして機能する DevCon コマンド ライン ユーティリティ
    http://support.microsoft.com/kb/311272/ja

    余談ですが、devcon.exe はデバイスのトラブルシューティング以外でも、スクリプトに
    組み込むことで日々の運用にも使用できます。例えば、現在 OS に接続されていないデバイスの中から、
    クラスが「ポータブル デバイス」のものを全て削除したい場合、以下のような VB スクリプトを
    用意することで実現できます。

    on error resume next
    ' 未接続を含む ポータブル デバイスの一覧を取得します
    Set objShell = CreateObject("WScript.Shell")
    If UCase(objShell.Environment("Process").Item("PROCESSOR_ARCHITECTURE")) = "X86" Then
        strDevcon = "x86\devcon.exe"
    Else
        strDevcon = "x64\devcon.exe"
    End If
    Set outExec = objShell.Exec(strDevcon & " findall =WPD")
    Set outStream = outExec.StdOut

    ' 現在接続されているデバイスの一覧を取得します
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colServices = objWMIService.ExecQuery("Select * From Win32_PnPEntity")
    Do While Not outStream.AtEndOfStream
      strLine = outStream.ReadLine()
      arrFields = Split(strLine," ")
      FLG = 0
      For Each objService in colServices
        ' Win32_PnPEntity の結果と devcon findall コマンドの結果を比較します
        If arrFields(0) = objService.DeviceID Then
          FLG = 1
          Exit For
        End If
      Next
      ' 比較後、一致する情報が無い (未接続デバイス) 場合、ドライバを削除します
      If FLG = 0 and not IsNumeric(arrFields(0)) Then
         If Right(arrFields(0), 1) = ":" Then
           strDevice = Left(arrFields(0), Len(arrFields(0)) - 1)
         else
           strDevice = arrFields(0)
         End If
         objShell.Run strDevcon & " remove @" & chr(34) & strDevice & chr(34)
      End If
    Loop
    Set colServices = Nothing
    Set outStream = Nothing
    Set outExec = Nothing
    Set objWMIService = Nothing
    Set objShell = Nothing

    スクリプトの簡単な解説ですが、devcon.exe の findall オプションを使うと、未接続のデバイスも
    含めた全てのデバイスのリストを出力させることができます。そして現在接続中のデバイスの一覧を
    WMI から取得し、それらを突き合せることで未接続のデバイスだけを抽出しています。

    また、findall オプションの引数に "=" とクラス名を付けると、特定のクラスのデバイスのみを
    抽出することができます。ここではポターブル デバイス クラスだけを抽出するよう設定しています。
    findall オプションの詳しい指定方法については、以下の技術文書をご参照ください。

    DevCon FindAll
    http://msdn.microsoft.com/ja-jp/library/windows/hardware/ff544761(v=vs.85).aspx

    スクリプトの最後で、抽出した未接続のポータブル デバイスを remove オプションで
    一つ一つ削除しています。

    ※ 上記のスクリプトはあくまでサンプルです。ご使用の際には必要に応じてカスタマイズをし、
        十分にテストをされた上でご使用ください。