Save-SCVirtualMachine

호스트에 배포된 가상 머신을 VMM 라이브러리로 마이그레이션합니다.

Syntax

Save-SCVirtualMachine
    [-VM] <VM>
    [-LibraryServer <LibraryServer>]
    [-UseLAN]
    [-SharePath <String>]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

Description

Save-SCVirtualMachine cmdlet은 호스트에 배포된 가상 머신을 VMM(Virtual Machine Manager) 라이브러리로 마이그레이션합니다.

다음 전송 방법 중 하나를 사용하여 VMM 라이브러리에 가상 머신을 저장합니다.

  • SAN 전송(파이버 채널, iSCSI 또는 NPIV). 호스트 서버와 라이브러리 서버가 모두 SAN 스토리지에 연결된 경우 VMM은 SAN 전송을 사용하여 가상 머신을 라이브러리에 저장할 수 있습니다. SAN 전송에서는 대상 LUN이 원본 호스트에서 대상 라이브러리 서버로 다시 매핑됩니다. 이 cmdlet은 파일을 이동하지 않습니다. SAN 전송은 LAN(로컬 영역 네트워크)을 통해 가상 머신 파일을 호스트 간에 이동하는 것보다 훨씬 빠릅니다. NPIV가 지원되는 HBA(호스트 버스 어댑터)를 사용할 수 있는 경우 VMM에서 NPIV SAN 전송을 사용할 수 있습니다.
  • 네트워크 전송. 더 빠른 방법을 사용할 수 없는 경우 VMM은 네트워크 전송을 사용하여 두 서버를 연결하는 LAN을 통해 호스트 서버에서 라이브러리 서버로 가상 머신 파일을 이동합니다. 가상 머신을 SharePath 매개 변수로 저장할 라이브러리의 공유 경로를 지정합니다.

이 cmdlet은 사용 가능한 가장 빠른 전송 유형을 자동으로 사용합니다. 네트워크 전송을 강제로 적용하려면 UseLAN 매개 변수를 지정합니다. 호스트 서버와 라이브러리 서버가 동일한 서버인 경우 UseLAN을 지정하면 명령이 실패하지 않지만 해당 매개 변수를 사용하지 않으면 라이브러리로의 마이그레이션이 더 빠르게 수행됩니다.

라이브러리에 보관되어 있는 가상 컴퓨터는 시작할 수 없습니다. 가상 머신을 시작하려면 먼저 Move-SCVirtualMachine cmdlet을 사용하여 호스트로 이동해야 합니다.

예제

예제 1: 라이브러리에 가상 머신 저장

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer01"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs"

첫 번째 명령은 VM01이라는 가상 머신 개체를 가져온 다음 해당 개체를 $VM 변수에 저장합니다.

두 번째 명령은 LibServer01이라는 라이브러리 서버 개체를 가져오고 해당 개체를 $Library 변수에 저장합니다.

마지막 명령은 호스트에서 VM01을 마이그레이션하고 \LibServer01.Contoso.com\Library01\VM 위치에 저장합니다. 이 명령은 사용 가능한 전송 형식 중 속도가 가장 빠른 전송 형식을 자동으로 사용합니다.

예제 2: 가상 머신을 라이브러리에 비동기적으로 저장

PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer02"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer02.Contoso.com\Library02\VMs" -RunAsynchronously -JobVariable "SaveVMJob"
PS C:\> $SaveVMJob

첫 번째 명령은 VM02라는 가상 머신 개체를 가져온 다음 해당 개체를 $VM 변수에 저장합니다.

두 번째 명령은 LibServer02라는 라이브러리 서버 개체를 가져오고 해당 개체를 $Library 변수에 저장합니다.

세 번째 명령은 VM02를 \LibServer02.Contoso.com\Library02\VM 위치로 마이그레이션합니다. 이 명령은 RunAsynchronously 매개 변수를 지정하여 제어를 명령 셸로 즉시 반환합니다. 이 명령은 JobVariable 매개 변수가 작업 진행률을 추적하고 진행률에 대한 레코드를 $SaveVMJob 저장합니다. JobVariable의 경우 변수를 만들 달러 기호($)를 지정하지 않습니다.

마지막 명령은 $SaveVMJob 내용을 표시합니다.

예제 3: 네트워크 전송을 강제로 수행하여 라이브러리에 가상 머신 저장

PS C:\> $VM = Get-SCVirtualMachine -Name "VM03"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer01"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs" -UseLAN

첫 번째 명령은 VM03이라는 가상 머신을 가져온 다음 해당 개체를 $VM 변수에 저장합니다.

두 번째 명령은 LibServer01이라는 라이브러리 서버 개체를 가져오고 해당 개체를 $LibServer 변수에 저장합니다.

마지막 명령은 \LibServer01.Contoso.com\Library01\VM 위치에 VM03을 저장합니다. UseLAN 매개 변수는 더 빠른 전송 메커니즘을 사용할 수 있더라도 LAN을 통해 네트워크 전송을 강제합니다.

매개 변수

-JobVariable

작업 진행률에 대한 변수의 이름을 지정합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LibraryServer

VMM 라이브러리 서버 개체를 지정합니다.

Type:LibraryServer
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OnBehalfOfUser

사용자 이름을 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 사용자를 대신하여 작동합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

사용자 역할을 지정합니다. 사용자 역할을 가져오려면 Get-SCUserRole cmdlet을 사용합니다. 이 cmdlet은 이 매개 변수가 지정하는 사용자 역할을 대신하여 작동합니다.

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

이 작업을 트리거한 PRO 팁(성능 및 리소스 최적화 팁)의 ID를 지정합니다. 이 매개 변수를 사용하면 PRO 팁을 감사할 수 있습니다.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

컨트롤이 명령 셸로 즉시 반환되도록 작업이 비동기적으로 실행됨을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SharePath

이 cmdlet이 가상 머신을 저장하는 기존 라이브러리 서버의 유효한 라이브러리 공유 경로를 지정합니다. UNC(유니버설 명명 규칙) 경로를 지정합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseLAN

이 cmdlet은 더 빠른 전송 메커니즘을 사용할 수 있더라도 LAN을 통해 전송을 사용한다는 것을 나타냅니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

저장할 가상 머신 개체를 지정합니다.

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

출력

VirtualMachine

이 cmdlet은 VirtualMachine 개체를 반환합니다.

참고

  • Get-SCVirtualMachine cmdlet을 사용하여 검색할 수 있는 VMM 가상 머신 개체가 필요합니다.