Управление виртуальными машинами в локальной среде Azure с помощью Windows PowerShell
Применимо к: Локальные версии Azure, версии 23H2 и 22H2; Windows Server 2022, Windows Server 2019
В этой статье описывается создание виртуальных машин и управление ими в локальной среде Azure с помощью Windows PowerShell.
Примечание.
Рекомендуемый способ создания виртуальных машин и управления ими в локальной версии Azure версии 23H2 использует плоскость управления Azure Arc. Тем не менее, так как функциональные возможности, описанные в этой статье, еще не предоставлены Azure Arc, можно использовать Windows Admin Center или PowerShell, как описано ниже. Обратите внимание, что виртуальные машины, созданные таким образом, не являются виртуальными машинами с поддержкой Arc. Они имеют ограниченную управляемость с плоскости управления Azure Arc и меньше Преимущество гибридного использования Azure, например без бесплатного использования Диспетчера обновлений Azure.
Управление виртуальными машинами с помощью PowerShell
Как правило, вы управляете виртуальными машинами с удаленного компьютера, а не на хост-компьютере в локальной среде Azure. Этот удаленный компьютер называется компьютером управления.
При выполнении команд PowerShell с компьютера управления включите -ComputerName
параметр с именем главного компьютера, которым вы управляете. Разрешено использовать имена NetBIOS, IP-адреса и полные доменные имена.
Полный справочник по управлению виртуальными машинами с помощью PowerShell см . в справочнике по Hyper-V.
создание виртуальной машины;
Для создания виртуальной машины используется командлет New-VM
. Подробные сведения об использовании см. в справочной документации по командлету New-VM.
Ниже приведены параметры, которые можно указать при создании новой виртуальной машины с имеющимся виртуальным жестким диском.
-Name — имя, которое вы задаете для создаваемой виртуальной машины.
-MemoryStartupBytes — это объем памяти, доступный виртуальной машине при запуске.
-BootDevice — устройство, на которое загружается виртуальная машина при запуске. Обычно это виртуальный жесткий диск (VHD), ISO-файл для загрузки с DVD или сетевой адаптер для сетевой загрузки.
-VHDPath — путь к диску виртуальной машины, который вы хотите использовать.
-Path — путь для хранения файлов конфигурации виртуальной машины.
-Generation поколение виртуальной машины. Используйте поколение 1 для VHD и поколение 2 для VHDX.
-SwitchName — это имя виртуального коммутатора, который требуется использовать для подключения к другим виртуальным машинам или сети. Для получения имени виртуального коммутатора воспользуйтесь командлетом Get-VMSwitch. Например:
Полная команда для создания виртуальной машины с именем VM1 выглядит следующим образом:
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -SwitchName <Switch name>
В следующем примере создается виртуальная машина поколения 2 с 4 ГБ памяти. Она загружается из папки VMs\Win10.vhdx в текущий каталог и использует виртуальный коммутатор с именем ExternalSwitch. Файлы конфигурации виртуальной машины хранятся в папке VMData.
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath .\VMs\Win10.vhdx -Path .\VMData -Generation 2 -SwitchName ExternalSwitch
Виртуальные жесткие диски можно задать с помощью следующих параметров.
Чтобы создать виртуальную машину с новым виртуальным жестким диском, замените параметр -VHDPath из приведенного выше примера параметром -NewVHDPath и добавьте параметр -NewVHDSizeBytes, как показано ниже:
New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Win10.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -SwitchName ExternalSwitch
Сведения о том, как создать виртуальную машину с новым виртуальным диском, с которого будет загружаться образ операционной системы, см. в примере PowerShell в статье Создание виртуальной машины с помощью Hyper-V в Windows 10.
Получение списка виртуальных машин
В следующем примере возвращается список всех виртуальных машин на сервере Server1.
Get-VM -ComputerName Server1
В следующем примере возвращается список всех работающих виртуальных машин на компьютере, добавив фильтр с помощью Where-Object
команды. Дополнительные сведения см. в документации по использованию командлета where-object.
Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Running"
В следующем примере возвращается список всех виртуальных машин завершения работы на компьютере.
Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Off"
Запуск виртуальной машины и завершение ее работы
Воспользуйтесь командами Start-VM
и Stop-VM
для запуска виртуальной машины и завершения ее работы. Подробные сведения см. в справочной документации по командам Start-VM и Stop-VM.
В приведенном ниже примере показано, как запустить виртуальную машину с именем VM1.
Start-VM -Name VM1 -ComputerName Server1
В следующем примере показано, как завершить работу виртуальной машины с именем TestVM:
Stop-VM -Name VM1 -ComputerName Server1
Перемещение виртуальной машины
Командлет Move-VM
перемещает виртуальную машину на другой компьютер. Дополнительные сведения см. в справочной документации по командлету Move-VM.
В следующем примере показано, как переместить виртуальную машину на сервер Server2, если она хранится в общем ресурсе SMB на сервере Server1.
Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2
В следующем примере показано, как переместить виртуальную машину с сервера Server1 на сервер Server2, а все связанные с ней файлы — в каталог D:\VM_name на удаленном компьютере.
Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2 -IncludeStorage -DestinationStoragePath D:\VM_name
Импорт и экспорт виртуальной машины
Импортировать и экспортировать виртуальную машину можно с помощью командлетов Import-VM
и Export-VM
. Ниже приведено несколько примеров. Дополнительные сведения см. в справочной документации по командлетам Import-VM и Export-VM.
В следующем примере показано, как импортировать виртуальную машину из файла конфигурации. Виртуальная машина зарегистрирована на месте, поэтому его файлы не копируются:
Import-VM -ComputerName Server1 -Name VM1 -Path 'C:\<vm export path>\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx'
В следующем примере виртуальная машина экспортируется в корневую папку диска D.
Export-VM -ComputerName Server1 -Name VM1 -Path D:\
Переименование виртуальной машины
Для переименования виртуальной машины используется командлет Rename-VM
. Подробные сведения см. в справочной документации по командлету Rename-VM.
Следующий пример переименовывает vm1 на VM2 и отображает переименованную виртуальную машину:
Rename-VM -ComputerName Server1 -Name VM1 -NewName VM2
Создание контрольной точки виртуальной машины
Для создания контрольной точки виртуальной машины используется командлет Checkpoint-VM
. Подробные сведения см. в справочной документации по командлету Checkpoint-VM.
В следующем примере для виртуальной машины с именем Test создается контрольная точка с именем BeforeInstallingUpdates.
Checkpoint-VM -ComputerName Server1 -Name VM1 -SnapshotName BeforeInstallingUpdates
Создание виртуального жесткого диска для виртуальной машины
Для создания виртуального жесткого диска виртуальной машины используется командлет New-VHD
. Подробные сведения об использовании см. в справочной документации по New-VHD .
Добавление сетевого адаптера в виртуальную машину
Для добавления виртуального сетевого адаптера в виртуальную машину используется командлет Add-VMNetworkAdapter
. Ниже приведено несколько примеров. Дополнительные сведения об использовании см. в справочной документации по командлету Add-VMNetworkAdapter.
В следующем примере в виртуальную машину с именем VM1 добавляется виртуальный сетевой адаптер с именем Redmond NIC1.
Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -Name "Redmond NIC1"
В этом примере виртуальный сетевой адаптер добавляется в виртуальную машину с именем VM1 и подключает ее к виртуальному коммутатору с именем Network:
Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -SwitchName Network
Создание виртуального коммутатора для виртуальной машины
Для создания виртуального коммутатора на узле виртуальной машины используется командлет New-VMSwitch
. Дополнительные сведения об использовании см. в справочной документации по командлету New-VMSwitch.
В следующем примере создается новый коммутатор с именем QoS switch, который привязывается к сетевому адаптеру с именем Wired Ethernet Connection 3 и поддерживает использование взвешенной минимальной пропускной способности.
New-VMSwitch "QoS Switch" -NetAdapterName "Wired Ethernet Connection 3" -MinimumBandwidthMode Weight
Настройка памяти для виртуальной машины
Для настройки памяти виртуальной машины используется командлет Set-VMMemory
. Дополнительные сведения об использовании см. в справочной документации по командлету New-VMMemory.
В следующем примере на виртуальной машине с именем VM1 включается динамическая память, устанавливается ее минимальный и максимальный объем и объем при запуске. Кроме того, задается приоритет памяти и ее буфер.
Set-VMMemory -ComputerName Server1 -Name VM1 -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25
Настройка виртуальных процессоров для виртуальной машины
Для настройки виртуальных процессоров виртуальной машины используется командлет Set-VMProcessor
. Дополнительные сведения об использовании см. в справочной документации по командлету New-VMProcessor.
В следующем примере настраивается виртуальная машина с именем VM1, двумя виртуальными процессорами, резервом в 10 %, ограничением в 75 % и относительным весом 200.
Set-VMProcessor -ComputerName Server1 -Name VM1 -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200
Удаление виртуальной машины
Удаление или удаление виртуальной машины с помощью PowerShell удаляет файл конфигурации виртуальной машины, но не удаляет связанные виртуальные жесткие диски. Если вы хотите удалить виртуальную машину со всеми файлами, включая виртуальные жесткие диски, рассмотрите возможность использования Windows Admin Center.
Перед удалением виртуальной машины убедитесь, что виртуальная машина отключена. Помните, что удаление виртуальной машины удаляет файл конфигурации необратимо.
Удаление виртуальной машины с компьютера
Чтобы удалить или удалить виртуальную машину и ее ресурсы с компьютера, сначала найдите все виртуальные машины на компьютере с помощью следующего командлета:
Get-VM -Name VM1
Затем выполните следующий командлет для каждой виртуальной машины, которую вы хотите удалить с компьютера:
Remove-VM -Name VM1
Удаление виртуальной машины из системы
Чтобы удалить или удалить виртуальную машину и ее ресурсы из системы, сначала найдите их с помощью следующего командлета:
Get-ClusterGroup
Затем выполните следующий командлет для каждой виртуальной машины, которую вы хотите удалить из системы:
Remove-ClusterGroup -RemoveResources -Name VM1
Следующие шаги
Вы также можете создавать виртуальные машины и управлять ими с помощью Windows Admin Center. Дополнительные сведения см. в статье о Windows Admin Center.