전원이 꺼진 VM에서 NIC 연결 끊기

전원이 꺼진 VM에서 NIC 연결 끊기

저는 ESXi 6.0과 PowerCLI를 사용하고 있습니다. 프로덕션 VM의 복제본을 만들었습니다.

$Source_VM = Get-VM -Name "MyProductionServer"
$Target_VMHost = Get-VMHost -VM $Source_VM
$Cloned_VM = (New-VM -Name "MyPreProdServer" -VM $Source_VM -VMHost $Target_VMHost)

내 MyProductionServer에는 OS 측에 고정 IP 주소가 설정되어 있습니다. $Cloned_VM을 시작하면 동일한 서브넷에 중복 IP가 생깁니다. 내가 하고 싶은 것은 이 VM을 시작하기 전에 복제된 VM에서 NIC의 연결을 끊는 것입니다.

내가 찾은 것은 다음과 같습니다.

1) 전원이 켜진 VM에서:

Get-NetworkAdapter -VM $Cloned_VM | Set-NetworkAdapter -Connected:$false -StartConnected:$false -Confirm:$false

이것은 작동하지만 복제된 VM의 상태 때문에 그렇게 할 수 없습니다.

2) VM에서 NIC를 제거합니다.

$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.deviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec
$spec.deviceChange[0].Operation = "Remove"
$spec.DeviceChange[0].Device = $Cloned_VM.ExtensionData.Config.Hardware.Device | ?{$_.DeviceInfo.Label -eq "Network adapter 1"}
$Cloned_VM.ExtensionData.ReconfigVM_Task($spec)

원천:https://communities.vmware.com/thread/454525

이것도 효과가 있지만 정확히 내가 원하는 것은 아닙니다.

복제된 VM을 부팅할 수 있도록 현재 NIC를 연결 해제하고 IP 주소를 변경한 다음 NIC를 연결(+ 재부팅)하여 복제된 VM이 다른 IP 주소와 작동하도록 하고 싶습니다.

간단히 말해서 전원이 꺼진 VM에서 1)을 수행하고 싶습니다. 그게 가능합니까?

답변1

그래서 테스트 환경에서 테스트해 보았는데 제대로 작동합니다.

# Saving the NIC
$Saved_NIC = $Cloned_VM.ExtensionData.Config.Hardware.Device | ?{$_.DeviceInfo.Label -eq "Network adapter 1"}

# Removing the NIC
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.deviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec
$spec.deviceChange[0].Operation = "Remove"
$spec.DeviceChange[0].Device = $Saved_NIC
$Cloned_VM.ExtensionData.ReconfigVM_Task($spec)

# Modifying my VM (boot + launch script + poweroff)

# Adding the NIC
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.deviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec
$spec.deviceChange[0].Operation = "Add"
$spec.DeviceChange[0].Device = $Saved_NIC
$Cloned_VM.ExtensionData.ReconfigVM_Task($spec)

# Boot again my VM and test to reach the internet: WORKING!
Start-VM -VM $Cloned_VM

괜찮은 것 같습니다. 나중에 Pre-Prod 환경에서 확인해 보겠습니다 :)

관련 정보