MENU

不要なミニPCをHyper-V Server 2019で再利用!仮想化ホスト作成の手順とポイント

稼働が高かったUM480XTのWiFi+BluetoothカードのBluetooth側が故障したらしく、「usbデバイスが認識されません デバイス記述子要求の失敗」などと吐くようになったため、サーバー用途に転用することにしました。幸い、Ryzen 7でスレッド数も多く、仮想化に適していると言えるでしょう。

そのままBluetooth無効化するか、USBドングルなどを使ってWindows 11 Homeのままの利用でもよかったのですが、ひねくれものなのでどうしても何かにチャレンジしたくなります。今までHyper-Vはさんざん触ってきたのですが、無償かつ、GUIの搭載がないHyper-V Serverはノータッチだったので、構築してみることにしました。

ちなみに、エンタープライズの現場ではほぼ選ばれることのない、選ぶ必要のないOSではありますが、起動が爆速で無料という点では非常に魅力的な選択肢ですので、興味ある方はぜひ一緒に苦労してみてください。

目次

前提および概要

  • 中華ミニPCのMinisforum UM480XTをHyper-V Serverに仕立てます。
  • Hyper-V Serverをリモートで操作できるPCを用意します。
  • そのPCはHyper-Vマネージャーをインストール済みです。
  • Hyper-V Serverのホスト名は「UM480XT-Hyper-V」とします。
  • AD非導入、ワークグループ環境下です。

概要は以下の通りです。

作業の全体像。クライアント側の方が作業が多い。

見ての通り端末側の作業が多いので、構築するにしても単一システムとして考えると扱いに悩むところです。

インストールする

Hyper-V Server 2019は下記からダウンロードして、RufusでUSBメモリに書き込み、インストールします。

サーバー側設定

初期設定(サーバー側)

Hyper-V Server 2019はリモートデスクトップが利用可能なので、まずはネットワークに接続する必要がありますが、ここからいきなりハードルです。NICが認識しない場合は、以下記事を参考に解決します。

上記が済んだら、IPアドレス、ホスト名を設定します。ここからリモートデスクトップが可能になります。

ファイアーウォールの設定(サーバー側)

PowerShellを起動します。コマンドプロンプトの画面もサーバー起動と同時に立ち上がっていますので、そちらに以下コマンドを入力します。

powershell

プロンプトが変化します。

続いて、ファイアーウォールを設定します。

Set-NetFirewallRule -DisplayGroup "リモート デスクトップ" -Enabled True
Set-NetFirewallRule -DisplayGroup "ファイルとプリンターの共有" -Enabled True
Set-NetFirewallRule -DisplayGroup "Windows リモート管理" -Enabled True
Set-NetFirewallRule -DisplayGroup "リモート イベントのログ管理" -Enabled True
Set-NetFirewallRule -DisplayGroup "リモート ボリューム管理" -Enabled True

設定を確認します。

Get-NetFirewallRule -DisplayGroup "リモート デスクトップ"
Get-NetFirewallRule -DisplayGroup "ファイルとプリンターの共有"
Get-NetFirewallRule -DisplayGroup "Windows リモート管理"
Get-NetFirewallRule -DisplayGroup "リモート イベントのログ管理"
Get-NetFirewallRule -DisplayGroup "リモート ボリューム管理"

一つ一つに複数のルールが入っていますが、EnabledがTrueになっていればOKです。

CredSSPの認証有効化(サーバー側)

下記コマンドを実行します。いろいろ聞かれるのですがすべてYです。

Enable-WSManCredSSP -Role Server

WinRMの有効化(サーバー側)

以下コマンドでWinRMを有効化します。こちらもYで進めます。

winrm quickconfig

クライアント側設定

こちらはHyper-V Server 2019をリモートで管理するための端末(クライアント)側で必要な作業になります。
PowerShellを管理者権限で起動することをお忘れなく。

PowerShellリモート機能を有効化(クライアント側)

以下コマンドでPowerShellリモート機能を有効化します。

Enable-PSRemoting -SkipNetworkProfileCheck

正しく実行されれば以下の通りレスポンスがあります。

WinRMのTrastedHosts設定(クライアント側)

以下コマンドでTrastedHostsを設定します。既に別の作業等でTrastedHostsがある場合は、そちらも再度入力が必要になりますのでご注意ください。
そうでない場合も、今後別の作業で同様のコマンドを実行する機会がある際は、今回のホスト名、IPアドレスを併記して実行する必要があるようです。
防止策としては先にGetして内容を確認してからの着手が良いでしょう。

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "UM480XT-Hyper-V,192.168.10.150"
Get-Item WSMan:\localhost\Client\TrustedHosts

こちらもYで進めます。

CredSSPの認証有効化(クライアント側)

Enable-WSManCredSSP -Role Client -DelegateComputer "UM480XT-Hyper-V"

こちらもYで進めます。

グループポリシーの編集

スタート→「gp」とキーボードで入力すると、グループポリシーの編集が出てきますのでそれを起動します。

「コンピューターの構成」→「管理用テンプレート」→「システム」→「資格情報の委任」と開き、以下の項目を有効化します。

  • NTLMのみのサーバー認証で新しい資格情報の委任を許可する
  • NTLMのみのサーバー認証で保存された資格情報の委任を許可する

有効化する際には、Hyper-Vサーバーのホスト名を入力します。

Keisuke

同時に「新しい資格情報の委任を許可する」も自動で有効になります。

グループポリシーの編集が終わったら、下記コマンドで反映させます。

gpupdate /force

資格情報の追加

下記コマンドで資格情報を保存します。スタートメニューから「資格情報マネージャー」を検索すればGUIでもいけます。

 cmdkey /add UM480XT-Hyper-V /user:Administrator /pass:

パスワードは上記のまま実行すれば直後に聞かれます。

hostsの編集

「メモ帳」を管理者権限で起動して、下記ファイルを編集します。

C:\Windows\System32\drivers\etc\hosts

末尾に、以下の文言を追記して上書き保存します。

192.168.10.150 UM480XT-Hyper-V # Hyper-V server

Hyper-Vマネージャーから接続

いよいよ、大詰めです。「Hyper-V マネージャー」を起動して、「Hyper-Vマネージャー」を右クリックして「サーバーに接続」をクリックします。

「別のコンピューター」を選択して、ホスト名を入力して「OK」を押します。

ようやくつながりました!

あとはクライアントHyper-Vとほぼ一緒ですので、下記記事を参考にゲストをインストールしてみてください。

総括

あまりに手順が多すぎる上にハマりポイントも多く、ここまでたどり着くのに時間を相当使いました。
途中であきらめかけてLinux系のKVMでの構築などもやってみたりしましたが、軽量・使い慣れたHyper-V・無償という魅力のためにやってみてよかったです。
万人にはお勧めできませんし、エンジニアによってはKVMの方が慣れ親しんでいる方もいるはずなので、Hyper-V系エンジニアの方の道楽や検証のために構築するにはありだと思います。
やってて気づいたことは、これであれば非AD環境でのフェールオーバークラスターも意外と簡単?に構築できるのではと作業中に考えたことです。機会と機械があればそれも調査・検証してみたいと思います。

ただ、直近ではもともとこのUM480XTで動いていたWindows11 Homeを、P2Vして動かすことを検証したいと思っています。ライセンス的にはグレーでもあるので、検証だけにとどめるかもしれませんが。

久々に達成感のある構築でした。疲れた…

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次