คุณสามารถเปลี่ยนชนิด NIC เสมือนหลังจากสร้าง VM ได้หรือไม่


9

เมื่อสร้าง VM คุณสามารถเลือกประเภทอุปกรณ์เสมือนที่คุณต้องการให้ vNIC เป็น (E1000, VMXNET3 และอื่น ๆ )

หลังจากสร้าง VM คุณสามารถเปลี่ยนประเภทของ vNIC ที่ใช้ในการเชื่อมต่อที่กำหนด (เช่นจาก E1000 เป็น VMXNET3) ได้หรือไม่

ถ้าเป็นเช่นนั้นได้อย่างไร

คำตอบ:


12

ใช่คุณสามารถเปลี่ยนประเภท

ใช้Set-NetworkAdapterpowercli cmdlet สวิตช์ "Type" ช่วยให้คุณสามารถปรับเปลี่ยนอะแดปเตอร์ โปรดทราบว่าจะต้องปิด 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 มาก่อนสามารถเรียกใช้จาก Linux VM ได้หรือไม่
วอร์เร

@warren ฉันคิดว่ามันเป็น Windows เท่านั้นเนื่องจาก PowerCLI เป็นสคริปต์ PowerShell จำนวนมากที่เข้าใช้ vSphere APIs คิดว่ามันเป็นทางเลือกบรรทัดคำสั่งเพื่อ vSphere - คุณใช้มันเพื่อเชื่อมต่อกับโฮสต์ ESXi และคำสั่งปัญหา
jlehtinen

โอเค - เดาว่าฉันไม่เข้าใจมันอย่างเต็มที่เพราะฉันไม่เคยใช้มาก่อน มันทำงานบนโฮสต์ vCenter หรือไม่
วอร์เร

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. ค้นหาบรรทัดที่กำหนดประเภทอินเตอร์เฟส เช่นสำหรับ vNIC แรกethernet0.virtualDev = "e1000"
  5. เปลี่ยนe1000เป็นvmxnet3
  6. บันทึกไฟล์และออก

ตอนนี้คุณจะเปลี่ยนประเภทอุปกรณ์ NIC เสมือนจริงโดยไม่ต้องเปลี่ยนที่อยู่ MAC


1
ไม่แน่ใจว่าฉันจะกังวลเกี่ยวกับที่อยู่ MAC ... สถานที่เดียวที่ควรเข้ามาเล่นอยู่ในสัญญาเช่า DHCP เฉพาะและการหมดเวลาหลังจากนั้นสักครู่
วอร์เร

1
@warren: มันขึ้นอยู่กับโครงสร้างพื้นฐานของคุณค่อนข้างมาก ในกรณีของฉันมันง่ายกว่าการลงทะเบียนแขกอีกครั้งดังนั้น MAC ของพวกเขาจะได้รับอนุญาตในเครือข่าย บางครั้งสวิตช์พอร์ตอาจถูกล็อค MAC บางครั้งมีการใช้งานการจอง บางครั้งมันไม่สำคัญ แต่บางครั้งก็ทำได้และผู้ดูแลระบบที่ดีต้องรู้ว่าสิ่งต่าง ๆ ทำงานในสถานการณ์ที่แตกต่างกันอย่างไร
Scott Pack

จุดดี. ในกรณีนี้ที่ไม่ได้กังวล แต่ผมเห็นว่ามันอาจจะเป็น :)
วอร์เรน

1
หากคุณต้องการหลีกเลี่ยง ssh คุณสามารถดาวน์โหลด. vmx จากเบราส์ดาต้าสโตร์แก้ไขและอัปโหลด
JamesRyan

1
ไม่มีใครโต้แย้ง กฎข้อแรกของคำแนะนำทางอินเทอร์เน็ตคือการเทเกลือลงไปในชาม ที่สองคือการวิเคราะห์กับสภาพแวดล้อมของคุณเพื่อดูสิ่งที่เหมาะสม ด้วยสภาพแวดล้อมที่ทันสมัยเพียงพอที่จะทำการบำรุงรักษาโฮสต์ใด ๆ ที่ไม่มี vCLI อาจจะเป็น juju ที่ไม่ดี
Scott Pack

2

ฉันไม่คิดว่าเป็นประโยชน์ที่จะแนะนำ PowerCLI หรือโซลูชันการเขียนสคริปต์สำหรับคำถามนี้ ... มีข้อสันนิษฐานมากมายเกี่ยวกับโครงสร้างพื้นฐานโดยรอบสำหรับสิ่งที่แก้ไขด้วยตนเอง 30 วินาที

คำตอบคือคุณไม่ควรเปลี่ยนชนิดของอะแดปเตอร์ในเที่ยวบิน กระบวนการที่ยอมรับมากขึ้นคือการลบอะแดปเตอร์ที่มีอยู่และเพิ่มอะแดปเตอร์ใหม่ของประเภทที่คุณต้องการ

E1000 NIC ที่มีอยู่ที่แนบมากับ VM ป้อนคำอธิบายรูปภาพที่นี่

ลบ E1000 NIC ป้อนคำอธิบายรูปภาพที่นี่

เพิ่มอุปกรณ์เครือข่ายใหม่
ป้อนคำอธิบายรูปภาพที่นี่

ระบุประเภทของอะแดปเตอร์ที่จะใช้ในอุปกรณ์เครือข่ายใหม่ ป้อนคำอธิบายรูปภาพที่นี่

ในระบบปฏิบัติการของคุณให้กำหนดการตั้งค่าเครือข่ายใหม่


การลบ NIC เก่าและการเพิ่มใหม่จะไม่เปลี่ยนประเภทโดยตรง - แม้ว่าจะสามารถใช้งานได้ ข้อเสียคืออย่างน้อยที่สุดบน Linux คุณต้องลบการกำหนดค่าเก่าสำหรับ eth0 (หรือ eth <n>) เพราะไม่เช่นนั้นคุณจะได้รับการกำหนด eth <n> ลำดับต่อไป
วอร์เรน

1

คุณไม่สามารถเปลี่ยนประเภทได้ แต่คุณสามารถลบประเภทที่ไม่ต้องการได้อย่างง่ายดายและเพิ่ม vNIC ใหม่ของประเภทที่ต้องการ


นั่นคือสิ่งที่ฉันคิดว่าคำตอบจะเป็น โอ้ดี ความคิดใด ๆ ว่าทำไมถึงเป็นเช่นนี้?
วอร์เร

2
มันเป็นข้อ จำกัด ของ GUI เห็นได้ชัดว่าคุณสามารถทำได้ผ่าน PowerCLI - ดูคำตอบของ @ jlehtinen สำหรับรายละเอียด
John

1
@John: คุณสามารถทำได้ใน GUI (อย่างน้อย 5.1) VM จะต้องปิดตัวลงและคุณต้องเปลี่ยน MAC
Scott Pack

@ScottPack - นั่นคือใน webui หรือลูกค้า vCenter?
วอร์เร

1
@warren: webUI ถูกนำมาใช้กับ 5.5 ซึ่งยอดเยี่ยมเพราะจากสิ่งที่ฉันเข้าใจมีเฉพาะผ่าน vCenter และคุณลักษณะหลายอย่างไม่สามารถใช้ได้ในไคลเอนต์ไขมันอีกต่อไป ทำให้ผู้ใช้แบบสแตนด์อโลนทุกคนออกไปข้างนอกจริงๆ
Scott Pack
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.