Поделиться через


Save-SCVirtualMachine

Переносит виртуальную машину, развернутую на узле, в библиотеку VMM.

Синтаксис

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

Описание

Командлет Save-SCVirtualMachine переносит виртуальную машину, развернутую на узле, в библиотеку Virtual Machine Manager (VMM).

При этом виртуальная машина хранится в библиотеке VMM с помощью одного из следующих методов передачи:

  • Передача SAN (Fibre Channel, iSCSI или NPIV). Если сервер узла и библиотеки подключены к хранилищу SAN, VMM может использовать передачу SAN для хранения виртуальной машины в библиотеке. При передаче SAN целевые LUN переназначаются с исходного узла на сервер целевой библиотеки. Этот командлет не перемещает файлы. Передача san выполняется гораздо быстрее, чем перемещение файлов виртуальных машин с одного узла на другой по локальной сети (LAN). VMM может использовать передачу SAN NPIV, если доступен адаптер шины узла (HBA) с поддержкой NPIV.
  • Сетевая передача. Если более быстрый метод недоступен, VMM использует сетевую передачу для перемещения файлов виртуальной машины с сервера узла на сервер библиотеки по локальной сети, которая подключает два сервера. Укажите путь к общей папке в библиотеке для хранения виртуальной машины в качестве параметра SharePath .

Этот командлет автоматически использует самый быстрый доступный тип передачи. Если вы хотите принудительно выполнить передачу сети, укажите параметр UseLAN . Если сервер узла и сервер библиотеки совпадают, команда не завершается ошибкой при указании UseLAN, но миграция в библиотеку происходит быстрее, если этот параметр не используется.

Если виртуальная машина хранится в библиотеке, ее нельзя запустить. Перед запуском виртуальной машины необходимо переместить ее на узел с помощью командлета Move-SCVirtualMachine .

Примеры

Пример 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\VMs. Команда автоматически использует самый быстрый доступный тип передачи.

Пример 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\VMs. Команда указывает параметр 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.

Последняя команда сохраняет VM03 в расположении \LibServer01.Contoso.com\Library01\VMs. Параметр UseLAN принудительно передает сеть через локальную сеть, даже если доступен более быстрый механизм передачи.

Параметры

-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

Указывает имя пользователя. Этот командлет работает от имени пользователя, указанного этим параметром.

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

-OnBehalfOfUserRole

Указывает роль пользователя. Чтобы получить роль пользователя, используйте командлет Get-SCUserRole . Этот командлет работает от имени роли пользователя, указанной этим параметром.

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

-PROTipID

Указывает идентификатор подсказки по оптимизации производительности и ресурсов (подсказка PRO), активировав это действие. Этот параметр позволяет выполнять аудит советов 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

Указывает путь к допустимой общей папке библиотеки на существующем сервере библиотеки, где этот командлет сохраняет виртуальную машину. Укажите unc-путь.

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

-UseLAN

Указывает, что этот командлет использует передачу по локальной сети, даже если доступен более быстрый механизм передачи.

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

Этот командлет возвращает объект VirtualMachine .

Примечания

  • Требуется объект виртуальной машины VMM, который можно получить с помощью командлета Get-SCVirtualMachine .