it-swarm-ja.com

Hyper-Vは、Get-vm -ExpandPropertyNetworkAdaptersを使用してPowerShellからUbuntuゲストのIPを提供しません

Windows 10 Pro PC(Win10ProPC#1)には、かなり前に作成されたUbuntu 18.04.02 LTSVMがあります。それ以来、次のコマンドをスクリプトの一部として使用しています。したがって、Win10ProPC#1で次のコマンドを実行します

Get-vm -Name Ubuntu18.04.2LTS | Select -ExpandProperty NetworkAdapters

戻り値

VMName           IPAddresses
------           ----------- 
Ubuntu18.04.2LTS {172.17.199.244, ffff::ffff:ffff:ffff:ffff}

最近、同じ環境を別のPCで、同様の仕様(Win10ProPC#2)で再作成しました。小さな変更があり、Ubuntu VMはUbuntu18.04.3LTSになりました。ただし、Win10ProPC#2で次のコマンドを実行します。

Get-vm -Name Ubuntu18.04.3LTS | Select -ExpandProperty NetworkAdapters

戻り値

VMName           IPAddresses
------           ----------- 
Ubuntu18.04.3LTS {}

どちらの場合も、VM(ゲスト)はインターネットにアクセスでき、ゲストオペレーティングシステム内からIPアドレスを見つけることができます。 (これはIPがあることを確認しますが、それは望ましいものではありません。上記のコマンドからIPを取得する必要があります。)

問題は、Win10ProPC#2のNetworkAdaptersにIPアドレスが報告されていないのに対し、Win10ProPC#1にはIPアドレスが報告されていることです。 Win10ProPC#2がVMのIPアドレスを取得できるようにする必要があります。

2台のコンピューターは最新のWindows10 Proバージョン(64ビット)を使用します。また、両方のVMには動的IPがあり、「デフォルトスイッチ」ネットワーク構成を使用します。どちらの場合も、Powershellによって「管理者として」実行されるスクリプト。

設定や構成を見逃すのではないかと心配していますが、HyperVのすべての設定をすでに精査しており、同一です。何かご意見は?

1
Spyros K

Hyper-Vを最大限に活用するには、適切なlinux-toolsおよびlinux-cloud-toolsパッケージをインストールして、Ubuntu仮想マシンで使用するツールとデーモンをインストールします。

Sudo apt-get update 
Sudo apt-get install linux-image-virtual linux-tools-virtual linux-cloud-tools-virtual
Sudo reboot now

hv-kvp-daemonは、ゲストからハイパーバイザーにIP情報を共有する責任があるため、実行されていることを確認してください

Sudo systemctl status hv-kvp-daemon

この記事hv-kvp-daemonのステータスの確認に関する情報を提供します。 hv-kvp-daemonが実行されているかどうかを確認してください。 linux-image-virtual linux-tools-virtual linux-cloud-tools-virtualがインストールされているが、サービスがアクティブでない可能性があります。たとえば、hv-kvp-daemonを開始しようとすると、次の応答が返されました。

[email protected]:~$ Sudo hv_kvp_daemon
WARNING: hv_kvp_daemon not found for kernel 5.0.0-36

  You may need to install the following packages for this specific kernel:
    linux-tools-5.0.0-36-generic
    linux-cloud-tools-5.0.0-36-generic

  You may also want to install one of the following packages to keep up to date:
    linux-tools-generic
    linux-cloud-tools-generic

正しいバージョンをインストールすると、問題が解決しました。

$ Sudo apt-get install linux-tools-5.0.0-36-generic linux-cloud-tools-5.0.0-36-generic linux-tools-generic linux-cloud-tools-generic

その後、次のようにhv_kvp_daemonを開始することができました。

Sudo hv_kvp_daemon

その後、IPはPowerShellから利用可能になりました。

1
jfrmilner