• 【Windows Server 2008】Hyper-V で仮想ネットワークを割り当てるとIPアドレスがDHCPになってしまう?

    うーん、文章で書くと非常にわかりずらいのですが....

    Server Core をインストールし、コンピュータ名を割り当て、IPアドレスを割り当てて、Hyper-V をインストールして仮想ネットワークを割り当てて...ここまででも結構な作業ですね。

    で、ふと気づくと、物理ネットワークのIPアドレスがDHCPに変わってしまっている....あれれ?という経験は無いでしょうか。もしかすると、これから経験されるかもしれません。私は何度も経験したにもかかわらず、毎回「あれれ?」となってしまいます。

    フルインストール版の画面で確認するとわかりやすいのですが、Hyper-V をインストールして仮想ネットワークを割り当てると、規定のネットワーク名である「ローカル エリア接続」には「Virtual Network Switch Protocol」という特殊なプロトコルがバインドされます。名前からも想像つくと思いますが、こいつが今後仮想ネットワークカードを制御して、物理ネットワークとの通信をスイッチしながら中継してくれます。ざっくり言ってしまえば、「ハブ」です。

    では、これまで割り当てられていた「インターネットプトロコル バージョン4(TCP/IP V4)」等はどこにいってしまったのか?Hyper-V 上の「ホストOS」と「ゲストOS」には新たに仮想ネットワークカードが割り当てられ、ここに TCP/IP等がバインドされます。

    これを説明したわかりやすい絵が、MSDN blog にありますのでご紹介します。

    Understanding Networking with Hyper-V
    http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/08/understanding-networking-with-hyper-v.aspx

    Server Core の場合、なにがどうなったか見えずらいのが難点ですね。Hyper-V で仮想ネットワークを構成したら、ipconfig /all コマンドを使用してすべてのネットワークアダプタの情報を出力し、確認してみましょう。

  • 【Windows Server 2008】Server Core 上の Hyper-V RC0 を管理するための手順(同一ドメインの場合)

    既に Server Core (RTM)に Hyper-V をインストールして使用されている方はいらっしゃるでしょうか?

    Hyper-V をインストールしたまではよかったけど、管理の仕方がわからない!という方はご覧ください。

    Hyper-V のインストールについては問題無く進むと思います。参考までにインストール手順を以下の記事に記しておきます。

    【Windows Server 2008】Server Core に Hyper-V RC0 をインストールする
    http://blogs.technet.com/junichia/archive/2008/03/31/windows-server-2008-server-core-hyper-v-rc0.aspx

    さて、問題はここから先です。

    Hyper-V を管理するには、WMI を使用します...が、コマンドやスクリプトはちょっとアレです(スクリプト好きな私でも少々面倒です)。 

    ということで、Server Core にインストールした Hyper-V を管理するには、リモートの Hyper-V 管理コンソールから接続するのが便利です。Windows Server 2008 にインストールした Hyper-V 管理コンソールは、リモートコンピュータに接続する機能を持っています。

    しかしながら、規定ではさまざまな理由で Server Core に接続することができません。

    対処方法は、Server Core が管理するサーバーと同一のドメインに参加しているか異なるか(Workgroup 等)で、作業内容が異なります。当然ですが、後者のほうが複雑になります。

    今回は、同一ドメインに参加していることを前提に書きます。

    ****

    インストール直後の状態では、リモートコンピュータのサーバーマネージャを使用して Hyper-V 管理コンソールから Server Core に接続すると以下のメッセージが表示されるはずです。 

    コンピュータ '<コンピュータ名>' 上の RPC サービスに接続できません。RPC サービスが実行されていることを確認してください。

    そこで、Server Core に対して、リモートから WMI で接続することを許可します。

    方法はいくつか考えられますが、今回は以下の方法で行いましょう。

    【Windows Server 2008】Server Core の管理をリモートのMMCから行うための準備
    http://blogs.technet.com/junichia/archive/2007/11/08/windows-server-2008-server-core-mmc.aspx

    この設定が完了すると、リモートコンピュータの Hyper-V 管理コンソールから Server Core に接続する際、使用許諾契約」の画面が表示されるはずです。

    正しくインストールが完了したと考えられるにもかかわらず、使用許諾契約画面が表示されれず、管理コンソールに「Virtual Machine Management サービスは利用できません。」というメッセージが表示されている場合、ハードウェア側の仮想化機能が有効になっていない可能性があります。BIOS の設定を確認してみてください。

    使用許諾契約画面で「同意する」をクリックすると、管理コンソールには「 このサーバーに仮想マシンはみつかりませんでした」と表示されているはずです。これは、Hyper-V は起動しているものの、なにも設定がなされていないということであり、正しい状態です。

    Server Core の「リモート管理」を有効にしたにもかかわらず、やはり「RPCCPサービスに接続できない」というエラーが表示される場合には、管理するサーバー側の「セキュリティが強化された Windows ファイアウォール」の設定で以下のルールが無効になっている可能性がありますので確認してみてください。

    • Hyper-V - WMI (Async-In)
    • Hyper-V - WMI (DCOM-In)
    • Hyper-V - WMI (TCP - In)

     特に問題なく「 このサーバーに仮想マシンはみつかりませんでした」が表示されたら、管理を開始することが可能です。

    はじめに、「仮想ネットワークマネージャ」を使用して、ゲストOSが使用するネットワークカードを定義してから、新規に仮想マシンを追加してください。

     

  • 【Windows Server 2008】Server Core のデバイスマネージャを使用する

    Server Core にリモ��トから接続してデバイスマネージャを使用するには、ファイアウォールの「リモート管理」ルールを有効にしただけではエラーが発生します。

    デバイスマネージャをリモートから使用するには、グループポリシーの変更が必要になります。

    設定の手順を以下に示します。

    1. 「リモート管理」ルールを有効にする
    2. 以下の記事を参照して「セキュリティが強化されたWindows ファイアウォール」の「リモート管理」ルールを有効にします。これによって、リモートのMMCからServer Coreに接続できるようになります。

      【Windows Server 2008】Server Core の管理をリモートのMMCから行うための準備

    3. グループポリシーオブジェクトエディタを開く
    4. リモートコンピュータ上でMMCを起動し、「グループポリシーオブジェクトエディタ」スナップインを追加します。このとき、管理するコンピュータとして Server Core を選択します。

    5. 「PnPインターフェースへのリモートアクセスを許可する」を有効にする
    6. グループポリシー
      └ コンピュータの構成
       └ 管理用テンプレート
        └ システム
         └ デバイスのインストール
          └ PnPインターフェースへのリモートアクセスを許可する

    7. Server Core を再起動するか、以下のコマンドを Server Core 上で実行する

    gpupdate /force

    以上で設定は完了です。

    MMCに「デバイスマネージャ」スナップインを追加して Server Core を指定すれば、Server Core のデバイス一覧を参照することができます。ただし、以下のワーニングが表示されます。

    デバイスマネージャはリモートコンピュータから接続した場合には読み取り専用となります。ドライバの更新やデバイスの無効化を行うには、Server Core ローカルで実施しなければなりません。もちろん、コマンドでの操作となります。

    これについては、また後日。

     

  • 【Windows Server 2008】Server Core のディスクをリモートから管理するには

    前回はServe Core に挿した USBメモリの安全な取り出し方についてお話しました。

    【Windows Server 2008】Server Core に挿した USB ドライブを安全に取り出すには

    今回は、その中に出てきた「Server Core の [ディスクの管理] に接続する」方法についてお話します。

    Server Core のインストール直後は、一切のポートが閉じられているためリモートからは何もすることができません。当然、「コンピュータの管理」をリモートから使用することもできなければ、MMCに「ディスクの管理」スナップインを追加してServer Core に接続することもできません。

    リモートからの管理を行うには、「セキュリティが強化された Windows ファイアウォール」の設定を変更し、必要なポートを公開する必要があります。

    「ディスクの管理」を公開するには、以下の処理を行う必要があります。Serve Core側だけでなく、操作を行うコンピュータ側の操作も必要なので注意してください。

    【Server Core 側】

    コマンドプロンプトから以下のコマンドを入力して、「リモートボリューム管理」に必要なポートをオープンします。

    netsh advfirewall firewall set rule group=”リモート ボリューム管理" new set=yes

    「3 規則を変更しました」と表示されてばOKです。「リモート」と「ボリューム」の間には半角の空白が入りますので注意してください。日本語がうまく入力できない場合には、以下のコマンドを使用して、一度ファイアウォールの設定一覧を表示し、コピー&ペーストするとよいでしょう。

    netsh advfirewall firewall show rule name=all dir=in

    さらに、以下のコマンドで Virtual Disk サービスを起動します。既に起動されていれば結構です。

    net start vds

    【操作する側のコンピュータ】

    上記コマンドでリモートボリューム管理のポートをオープンしてもよいですし、「セキュリティが強化された Windows ファイアウォール」の管理コンソールを起動し、「受信ルール」の中の以下のルールを有効化してください。

      • リモートボリューム管理 - 仮想ディスク サービス (RPC)
      • リモートボリューム管理 - 仮想ディスク サービス ローダー(RPC)

    以上で設定は完了です。操作する側のコンピュータでもポートを公開する点がミソですので注意してください。

    MMC を起動し、「ディスクの管理」スナップインを追加する際にリモートコンピュータとして Server Core を指定してください。ボリュームが見えるようになっているはずです。

    なお、この設定では、「コンピュータの管理」を使用することはできません。なぜならば、リモートからの管理を全面的に許可したわけではないからです。

    これについては、夜も更けてきて手先が寒くて凍えているので次回にします

    あ、あと「デバイスマネージャ」に接続する方法についても興味がありますよね。これも次回に説明します。

  • 【Windows Server 2008】Server Core に挿した USB ドライブを安全に取り出すには

    Server Core でも USB ドライブを挿して使用することができます。が、「安全に取り出す」にはどうしたらよいのか悩んでしまいました。

    Fullインストールの Windows Server 2008 やVista等であれば、おなじみの方法を使用すればよいわけですが、Server Core にはGUIが用意されていません。ためしに、以下のコマンドを入力してみてください。

    rundll32 shell32.dll Control_RunDLLA hotplug.dll

    何も表示されないですね。Server Core でなければ、以下のような画面が表示されるのですが....。

    じゃ、どうしたらよいか...。

    【方法1:ディスクの管理 を使用する】

    容易に想像がつく方法ですね。おなじみ「コンピュータの管理」を使用してServer Coreに接続し、[記憶域] - [ディスクの管理] を使用します。

    ディスクの一覧には、USBメモリも表示されているはずですから、右クリックして「取り出し」をすればOKです。

    ※ Server Core に対してディスクの管理を使用するには少々コツがいりまして、これについては次回にまとめます。

    【方法2 RemoveDrive ツール(フリーツール)】

    有名なツールですね。いろいろ試してみたのですが、私はこちらが一番使いやすかったです。Server Core上でも問題なく動作していました。

    このツールの良いところは、単にドライブを指定すればよいということです。

    こちらのサイトを参照すると、自作派の方には参考になるでしょ��か。 

     

    WMI でできないか調べても見たのですが、現時点では解が得られませんでした。PowerShell はServer Core上では動作しないので調べてません。

    このほか、マイクロソフトからも devcon というデバイスマネージャをコマンドにしたようなツールが提供されていますが、ServerCoreでは動作しませんでした。Vistaではかろうじて...といったかんじでしょうか。高機能なので、Vista 以降のOSでも正しく動作するようになるとうれしいですね...。