Чи можете ви змінити тип віртуального NIC після створення VM?


9

Створюючи VM, ви можете вибрати тип віртуального пристрою, яким ви хотіли б vNIC (E1000, VMXNET3 тощо).

Після створення VM ви можете змінити тип vNIC, який використовується для даного з'єднання (наприклад, від E1000 до VMXNET3)?

Якщо так, то як?

Відповіді:


12

Так, ви можете змінити тип.

Використовуйте Set-NetworkAdapterкомандлет powercli. Перемикач "Тип" дозволяє змінювати адаптер. Зауважте, що для цього потрібно вимкнути 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

Його можна встановити на будь-якій машині Windows, яка має мережевий доступ до сервера ESXi. Я зазвичай встановлюю його безпосередньо на своєму ноутбуці / робочій станції, де також встановлено vSphere.

Після встановлення відкрийте його. Використовуйте Connect-VIServerдля підключення до хоста ESXi. Він підкаже вам про ip сервера та облікові дані.

Використовуйте Get-VMдля отримання списку VM на хості ESXi. Підтвердіть те, що ви хочете змінити, там і зазначте точну назву.

За допомогою цієї команди ви можете змінити адаптер, замінивши ім'я сервера на точне ім’я зі Get-VMсписку та введіть потрібний тип адаптера:

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

Зауважте, що якщо у VM є кілька NIC, вам може знадобитися інший комутатор у команді, щоб вказати правильний.


1
якщо раніше не працювали з PowerCLI, чи можна це запустити з VM Linux?
warren

@warren Я думаю, що це лише Windows, оскільки PowerCLI - це в основному купа сценаріїв PowerShell, які вражають API vSphere. Подумайте про це як альтернативу командному рядку vSphere - ви використовуєте її для підключення до хоста ESXi та видачі команд.
jlehtinen

гаразд - здогадуюсь, я не повністю його розумію, так як раніше не використовував. Чи запускається він на хості vCenter?
warren

1
@warren Я оновив публікацію з більш детальною інформацією.
jlehtinen

Використовуючи це проти VM з кількома NIC, він просить вас для кожного NIC, тому просто використовуйте точну команду вище:get-vm 'myserver'|get-networkadapter|set-networkadapter -type vmxnet3
neildeadman

6

Як ви, можливо, навчаєтесь, існує кілька способів зміни типу адаптера. Одне застереження, яке слід пам'ятати, стосується генерації MAC-адрес.

Під час створення віртуального NIC є два варіанти, пов'язані з MAC-адресою:

  • Автоматично : (за замовчуванням) ESX автоматично генерує MAC-адресу для вас
  • Посібник : Ви, користувач, вручну вводите вибрану MAC-адресу

Якщо ви використовуєте автоматично згенеровані MAC, то зміна типу адаптера призводить до того, що адреса буде регенерована. Це означає, що будь-які конфігурації, які ви маєте для гостя або самої мережевої інфраструктури, які покладаються на MAC-адресу, не зможуть. Тож якщо ви змінюєте тип адаптера, ви повинні дозволити, якщо автогенерувати нову MAC-адресу або вручну встановити свій власний. Однак ви не можете вручну встановити стару адресу як інтерфейс, оскільки ESX резервує цей префікс для власних цілей.

ПОПЕРЕДЖЕННЯ ПОПЕРЕДЖЕННЯ, КОЛИ ЦІ НЕПОЛОЖЕННЯ БЛЮТЬ ТІЛЬКИ ВАС

Я використовував альтернативу, щоб вручну редагувати файл конфігурації віртуальної машини. Цей метод вимагає включення SSH на хості ESX, і ви будете готові обійти всі засоби захисту цілісності даних, які надає 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. Знайдіть рядок, що визначає тип інтерфейсу. Наприклад, для першого vNICethernet0.virtualDev = "e1000"
  5. Змінити e1000наvmxnet3
  6. Збережіть файл та вийдіть.

Тепер ви змінили тип віртуального пристрою NIC, не змінюючи MAC-адресу.


1
не дуже впевнений, що я б хвилювався за MAC-адресу ... Єдине місце, де воно повинно брати участь у грі - це конкретна оренда DHCP, а ті, що
очікуються

1
@warren: Це дуже залежить від вашої інфраструктури. У моєму випадку це було простіше, ніж перереєструвати гостей, щоб їх MAC були дозволені в мережі. Іноді порти комутації можуть бути заблоковані MAC, іноді використовуються застереження. Іноді це не має значення, але іноді це робить, і хороший адміністратор повинен знати, як працюють різні речі в різних ситуаціях.
Скотт Пак

гарна думка. У цьому випадку це не хвилює, але я бачу, як це могло бути :)
warren

1
Якщо ви хочете уникнути ssh, ви можете завантажити .vmx із сховища даних, відредагувати його та завантажити.
JamesRyan

1
Безперечний. Перше правило Інтернет-поради - вилити миску з сіллю. Друге - проаналізувати його щодо свого оточення, щоб побачити, що насправді має сенс. При достатньо розвиненому середовищі будь-яке обслуговування без VCLI, ймовірно, погано дзюджу.
Скотт Пак

2

Я не думаю, що пропонувати PowerCLI або сценарій вирішення цього питання не є результативним ... Занадто багато припущень щодо навколишньої інфраструктури для того, що стосується 30-секундного ручного виправлення.

Відповідь полягає в тому, що ви дійсно не повинні змінювати тип адаптера під час польоту. Більш прийнятим є процес видалення наявного адаптера та додавання нового адаптера потрібного типу.

існуючий E1000 NIC, приєднаний до VM введіть тут опис зображення

видаліть E1000 NIC введіть тут опис зображення

додати новий мережевий пристрій
введіть тут опис зображення

вкажіть тип адаптера, який буде використовуватися в новому мережевому пристрої введіть тут опис зображення

У своїй операційній системі переконфігуруйте налаштування мережі.


видалення старого NIC та додавання нового не змінює тип безпосередньо - хоча він може бути використаний. Недолік полягає в тому, що, принаймні, в Linux вам потрібно буде видалити старі конфігурації для eth0 (або eth <n>), тому що в іншому випадку ви просто отримаєте наступне послідовне завдання <<>>
warren

1

Ви не можете змінити тип, але ви можете легко видалити небажаний тип і додати новий vNIC потрібного типу.


ось що я думав, що відповідь буде. Ну добре. Будь-яка ідея, чому це так?
warren

2
Це обмеження GUI. Очевидно, що ви можете зробити це через PowerCLI - див. Відповідь @ jlehtinen для деталей.
Іван

1
@John: Ви також можете це зробити в GUI (принаймні на 5.1). ВМ повинен бути вимкненим, і ви повинні змінити MAC.
Скотт Пак

@ScottPack - це в webui, або в vCenter клієнт?
warren

1
@warren: webUI був представлений з 5.5. Що фантастично, тому що, наскільки я розумію, він доступний лише через vCenter, і багато функцій більше не доступні у жировому клієнті. Дійсно залишає нас усіх автономних користувачів на морозі.
Скотт Пак
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.