VMの構築後に仮想NICタイプを変更できますか?


9

VMを構築するときに、vNICにする仮想デバイスのタイプ(E1000、VMXNET3など)を選択できます。

VMが作成された、特定の接続で使用されているvNICのタイプを変更できますか(E1000からVMXNET3など)?

もしそうなら、どうですか?

回答:


12

はい、タイプを変更できます。

Set-NetworkAdapterpowercliコマンドレットを使用します。「タイプ」スイッチを使用すると、アダプターを変更できます。これを行うには、VMをオフにする必要があることに注意してください。

https://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Set-NetworkAdapter.html

vSphere PowerCLIはここからダウンロードできます。

https://my.vmware.com/group/vmware/details?downloadGroup=VSP510-PCLI-510&productId=285

ESXiサーバーへのネットワークアクセスを持つ任意のWindowsマシンにインストールできます。通常は、vSphereもインストールされているラップトップ/ワークステーションに直接インストールします。

インストール後、開いてください。Connect-VIServerESXiホストへの接続に使用します。サーバーIPと資格情報の入力を求められます。

Get-VMESXiホスト上のVMのリストを取得するために使用します。変更したいものがそこにあることを確認し、正確な名前を書き留めます。

このコマンドを使用してアダプターを変更し、サーバー名をGet-VMリストの正確な名前に置き換え、必要なアダプタータイプに入力します。

get-vm 'myserver'|get-networkadapter|set-networkadapter -type e1000

VMに複数のNICがある場合、正しいスイッチを指定するためにコマンドに別のスイッチが必要になる場合があることに注意してください。


1
以前にPowerCLIを使用したことがない場合、Linux VMから実行できますか?
ウォーレン2014年

@warren PowerCLIは基本的にはvSphere APIにヒットする一連のPowerShellスクリプトなので、Windowsのみだと思います。vSphereの代わりのコマンドラインのようなものと考えてください。これを使用して、ESXiホストに接続し、コマンドを発行します。
jlehtinen 2014年

わかりました-まだ使ったことがないので、完全には理解していません。vCenterホストで実行されていますか?
ウォーレン2014年

1
@warren投稿を更新して詳細を追加しました。
jlehtinen 2014年

:複数のNICをVMに対してこれを使用すると、それだけの上に正確なコマンドを使用しますので、各NICをお願いしますget-vm 'myserver'|get-networkadapter|set-networkadapter -type vmxnet3
neildeadman

6

学習しているかもしれませんが、アダプターのタイプを変更するにはいくつかの方法があります。覚えておくべき1つの警告は、MACアドレスの生成に関連しています。

仮想NICを作成する場合、MACアドレスに関連する2つのオプションがあります。

  • 自動:(デフォルト)ESXがMACアドレスを自動生成します
  • 手動:ユーザーは、選択したMACアドレスを手動で入力します

自動生成されたMACを使用している場合、アダプタタイプを変更すると、アドレスが再生成されます。つまり、ゲストまたはネットワークインフラストラクチャ自体で、MACアドレスに依存している構成は失敗します。そのため、アダプタタイプを変更する場合は、新しい MACアドレスを自動生成するか、手動で設定する必要があります。ただし、ESXが独自の目的でこのプレフィックスを予約するため、古いアドレスをインターフェイスとして手動で設定することはできません。

警告これがあなた自身だけの失敗に失敗したときの警告

私が使用した代替手段は、仮想マシンの構成ファイルを手動で編集することです。この方法では、ESXホストでSSHを有効にする必要があり、GUIまたはAPIを使用して提供されるすべてのデータ整合性保護をバイパスしてもかまいません。

これらの手順を実行する前に、ゲストの電源がオフになっていて、設定ウィンドウが閉じていることを確認してください。

  1. ホストにSSH接続します
  2. 仮想マシンのvmxファイルを見つけます(例: /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  3. 編集するファイルを開きます。 vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  4. インターフェイスタイプを定義する行を見つけます。たとえば、最初のvNICの場合ethernet0.virtualDev = "e1000"
  5. 変更e1000vmxnet3
  6. ファイルを保存して終了します。

これで、MACアドレスを変更せずに仮想NICデバイスタイプを変更できました。


1
MACアドレスについて心配しているのかどうかわからない...特定のDHCPリース上でしか機能しない唯一の場所であり、しばらくするとタイムアウトになる
warren

1
@warren:インフラストラクチャに大きく依存します。私の場合は、ゲストを再登録するよりも簡単でした。これにより、ゲストのMACがネットワークで許可されます。スイッチポートがMACロックされている場合や、予約が使用されている場合があります。時にはそれは重要ではありませんが、時には重要であり、優れた管理者はさまざまな状況でさまざまなものがどのように機能するかを知る必要があります。
スコットパック

いい視点ね。この場合、それは問題ではありませんが、私はそれがどのようになり得るかを理解しています:)
warren

1
sshを避けたい場合は、ブラウズデータストアから.vmxをダウンロードし、編集してアップロードできます。
JamesRyan 14

1
争わない。インターネットのアドバイスの最初のルールは、塩のボウルを注ぐことです。2つ目は、環境に対してそれを分析して、実際に意味のあるものを確認することです。十分に高度な環境では、vCLIを使用せずにホストのメンテナンスを行うことはおそらく悪いことです。
スコットパック

2

この質問にPowerCLIまたはスクリプトソリューションを提案するのは生産的ではないと思います... 30秒の手動修正について、周囲のインフラストラクチャについて想定が多すぎます。

答えは、実行中のアダプターのタイプを変更するべきではないということです。より受け入れられたプロセスは、既存のアダプターを削除して、希望するタイプの新しいアダプターを追加することです。

VMに接続されている既存のE1000 NIC ここに画像の説明を入力してください

E1000 NICを取り外します ここに画像の説明を入力してください

新しいネットワークデバイスを追加する
ここに画像の説明を入力してください

新しいネットワークデバイスで使用するアダプタのタイプを指定する ここに画像の説明を入力してください

オペレーティングシステムで、ネットワーク設定を再構成します。


古いNICを削除して新しいNICを追加して、タイプは直接変更されませ。欠点は、そうでない場合は、あなただけの次の連続のeth <n>の割り当てを得るためにそれは、Linux上で、少なくとも、あなたがして、eth0を(またはETH <N>)の古いのconfigsを削除する必要がある
ウォーレン・

1

タイプは変更できませんが、不要なタイプを簡単に削除して、必要なタイプの新しいvNICを追加できます。


それが私が答えだと思っていたものです。しかたがない。なぜこれが当てはまるのですか?
ウォーレン2014年

2
これはGUIの制限です。明らかに、PowerCLIから実行できます。詳細については、@ jlehtinenの回答を参照してください。
John

1
@ジョン:GUI でも実行できます(少なくとも5.1)。VMの電源を切り、MACを変更する必要があります。
スコットパック

@ScottPack-それはWebUIにありますか、それともvCenterクライアントにありますか?
ウォーレン2014年

1
@warren:webUIは5.5で導入されました。私が理解しているところによると、それはvCenterを通じてのみ利用可能であり、多くの機能はファットクライアントで利用できなくなっているため、これは素晴らしいことです。本当に、私たち全員のスタンドアロンユーザーを寒さから解放します。
スコットパック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.