Czy możesz zmienić typ wirtualnej karty sieciowej po zbudowaniu maszyny wirtualnej?

9

Podczas budowania maszyny wirtualnej możesz wybrać typ wirtualnego urządzenia, jakim ma być vNIC (E1000, VMXNET3 itp.).

Czy po utworzeniu maszyny wirtualnej możesz zmienić typ vNIC używanego w danym połączeniu (np. Z E1000 na VMXNET3)?

Jeśli tak to jak?

królikarnia
źródło

Odpowiedzi:

12

Tak, możesz zmienić typ.

Użyj polecenia Set-NetworkAdaptercmdlet powercli. Przełącznik „Type” pozwala modyfikować adapter. Pamiętaj, że w tym celu należy wyłączyć maszynę wirtualną.

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

vSphere PowerCLI można pobrać tutaj:

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

Można go zainstalować na dowolnym komputerze z systemem Windows, który ma dostęp sieciowy do serwera ESXi. Zazwyczaj instaluję go bezpośrednio na moim laptopie / stacji roboczej, na której mam również zainstalowany vSphere.

Po zainstalowaniu otwórz go. Służy Connect-VIServerdo łączenia się z hostem ESXi. Pojawi się monit o podanie adresu IP serwera i poświadczeń.

Służy Get-VMdo pobierania listy maszyn wirtualnych na hoście ESXi. Upewnij się, że jest tam ten, który chcesz zmienić, i zanotuj dokładną nazwę.

Użyj tego polecenia, aby zmienić adapter, zastępując nazwę serwera dokładną nazwą z Get-VMlisty i wpisz żądany typ adaptera:

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

Zauważ, że jeśli maszyna wirtualna ma wiele kart sieciowych, może być potrzebny inny przełącznik w poleceniu, aby określić poprawny.

jlehtinen
źródło
1
nie pracując wcześniej z PowerCLI, czy można to uruchomić z maszyny wirtualnej z systemem Linux?
warren
@warren Myślę, że to tylko Windows, ponieważ PowerCLI to w zasadzie kilka skryptów PowerShell, które uderzyły w interfejsy API vSphere. Pomyśl o tym jak o linii poleceń alternatywnej dla vSphere - używasz go do łączenia się z hostem ESXi i wydawania poleceń.
jlehtinen
ok - myślę, że nie do końca to rozumiem, ponieważ wcześniej go nie używałem. Czy działa na hoście vCenter?
warren
1
@warren Zaktualizowałem posta o więcej szczegółów.
jlehtinen
Gdy używasz tego przeciwko VM z wieloma kartami sieciowymi, prosi o każdą kartę sieciową, więc po prostu użyj powyższej komendy:get-vm 'myserver'|get-networkadapter|set-networkadapter -type vmxnet3
neildeadman
6

Być może uczysz się na wiele sposobów, aby zmienić typ adaptera. Jedno zastrzeżenie do zapamiętania dotyczy generowania adresu MAC.

Podczas tworzenia wirtualnej karty sieciowej istnieją dwie opcje związane z adresem MAC:

  • Automatycznie : (domyślnie) ESX automatycznie generuje adres MAC
  • Ręcznie : użytkownik ręcznie wprowadza wybrany adres MAC

Jeśli używasz automatycznie generowanych adresów MAC, zmiana typu adaptera powoduje ponowne wygenerowanie adresu. Oznacza to, że wszelkie konfiguracje, które masz na gościu lub w samej infrastrukturze sieci, które opierają się na adresie MAC, zawiodą. Jeśli więc zmienisz typ adaptera, musisz pozwolić, jeśli automatycznie wygenerujesz nowy adres MAC lub ręcznie ustaw własny. Nie można jednak ręcznie ustawić starego adresu jako interfejsu, ponieważ ESX rezerwuje ten prefiks do własnych celów.

OSTRZEŻENIE OSTRZEŻENIE, GDY USZKODZENIA SĄ TYLKO SAMODZIELNE

Alternatywą, której użyłem, jest ręczna edycja pliku konfiguracyjnego maszyny wirtualnej. Ta metoda wymaga włączenia SSH na hoście ESX i możesz ominąć wszystkie zabezpieczenia integralności danych, które zapewniają GUI lub API.

Przed wykonaniem któregokolwiek z tych kroków upewnij się, że gość jest wyłączony, a okno ustawień jest zamknięte.

  1. SSH do twojego hosta
  2. Znajdź plik vmx dla maszyny wirtualnej (np. /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  3. Otwórz plik do edycji: vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  4. Znajdź linię, która określa typ interfejsu. Np. Dla pierwszego vNICethernet0.virtualDev = "e1000"
  5. Zmień e1000navmxnet3
  6. Zapisz plik i wyjdź.

Teraz zmienisz typ wirtualnego urządzenia sieciowego bez konieczności zmiany adresu MAC.

Scott Pack
źródło
1
nie tak pewna, że się martwić o adres MAC ... jedyne miejsce powinno wchodzić w grę jest na specyficzne dzierżawy DHCP, a ci, time-out po chwili
Warren
1
@warren: To zależy w dużej mierze od twojej infrastruktury. W moim przypadku było to łatwiejsze niż ponowna rejestracja gości, aby ich adresy MAC były dozwolone w sieci. Czasami porty przełącznika mogą być zablokowane MAC, czasem rezerwacje są w użyciu. Czasami to nie ma znaczenia, a czasem tak, a dobry administrator musi wiedzieć, jak działają różne rzeczy w różnych sytuacjach.
Scott Pack
Słuszna uwaga. W tym przypadku nie stanowi to problemu, ale widzę, jak mogłoby być :)
warren
1
Jeśli chcesz uniknąć ssh, możesz pobrać plik .vmx z magazynu danych przeglądania, edytować go i przesyłać.
JamesRyan
1
Bezsporne. Pierwszą zasadą porad internetowych jest wylewanie miski soli. Drugim jest przeanalizowanie go pod kątem środowiska, aby zobaczyć, co ma sens. Przy wystarczająco zaawansowanym środowisku wykonywanie jakiejkolwiek konserwacji hosta bez vCLI jest prawdopodobnie złym juju.
Scott Pack
2

Nie sądzę, aby sugerowanie rozwiązania PowerCLI lub skryptu dla tego pytania było produktywne ... Zbyt wiele założeń dotyczących otaczającej infrastruktury w przypadku 30-sekundowej ręcznej poprawki.

Odpowiedź jest taka, że ​​tak naprawdę nie powinieneś zmieniać typu adaptera podczas lotu. Bardziej akceptowanym procesem jest usunięcie istniejącego adaptera i dodanie nowego adaptera pożądanego typu.

istniejąca karta sieciowa E1000 podłączona do maszyny wirtualnej wprowadź opis zdjęcia tutaj

usuń kartę sieciową E1000 wprowadź opis zdjęcia tutaj

dodaj nowe urządzenie sieciowe
wprowadź opis zdjęcia tutaj

określ typ adaptera, który będzie używany w nowym urządzeniu sieciowym wprowadź opis zdjęcia tutaj

W systemie operacyjnym zmień ustawienia sieciowe.

ewwhite
źródło
usunięcie starej karty sieciowej i dodanie nowej nie zmienia bezpośrednio typu - chociaż można by z niej skorzystać. Wadą jest to, że przynajmniej w Linuksie musisz usunąć stare konfiguracje dla eth0 (lub eth <n>), ponieważ w przeciwnym razie dostaniesz kolejne kolejne przypisanie eth <n>
warren
1

Nie możesz zmienić typu, ale możesz łatwo usunąć niechciany typ i dodać nową vNIC żądanego typu.

Jan
źródło
tak myślałem, że odpowiedź będzie. No cóż. Wiesz, dlaczego tak jest?
warren
2
To ograniczenie GUI. Oczywiście możesz to zrobić za pomocą PowerCLI - szczegóły znajdziesz w odpowiedzi na @ jlehtinen.
John
1
@John: Ty też możesz to zrobić w GUI (przynajmniej na 5,1). Maszynę wirtualną należy wyłączyć i należy zmienić adres MAC.
Scott Pack
@ScottPack - czy to w webui, czy w kliencie vCenter?
warren
1
@warren: Interfejs webUI został wprowadzony w wersji 5.5. Co jest fantastyczne, ponieważ z tego, co rozumiem, jest dostępne tylko za pośrednictwem vCenter, a wiele funkcji nie jest już dostępnych w grubym kliencie. Naprawdę pozostawia nas wszystkich samodzielnych użytkowników na lodzie.
Scott Pack