Wersja zapoznawcza: wdrażanie maszyn wirtualnych na dedykowanych hostach przy użyciu Azure PowerShellPreview: Deploy VMs to dedicated hosts using the Azure PowerShell

W tym artykule opisano sposób tworzenia dedykowanego hosta platformy Azure do hostowania maszyn wirtualnych.This article guides you through how to create an Azure dedicated host to host your virtual machines (VMs).

Upewnij się, że zainstalowano Azure PowerShell wersji 2.4.2 lub nowszej, i zalogujesz się do konta platformy Azure w programie z dodatkiem Connect-AzAccount.Make sure that you have installed Azure PowerShell version 2.4.2 or later, and you are signed in to an Azure account in with Connect-AzAccount. Aby zainstalować wersję 2.4.2, Otwórz wiersz polecenia programu PowerShell i wpisz:To install version 2.4.2, open a PowerShell prompt and type:

Install-Module -Name Az.Compute -Repository PSGallery -RequiredVersion 2.4.2-preview -AllowPrerelease

Aby włączyć funkcję modułu podglądu w programie PowerShell, potrzebna jest co najmniej wersja 1.6.0 modułu PowerShellGet.You will need at least version 1.6.0 of the PowerShellGet module to enable preview module functionality in PowerShell. Najnowsze wersje programu PowerShell Core mają to automatycznie wbudowaną wersję, ale w przypadku starszych wersji programu PowerShell można uruchomić następujące polecenie, aby zaktualizować do najnowszej wersji:The latest versions of PowerShell Core have this automatically built in, but for older versions of PowerShell, you can run the following command to update to the latest version:

Install-Module -Name PowerShellGet -Repository PSGallery -Force

Ważne

Dedykowane hosty platformy Azure są obecnie dostępne w publicznej wersji zapoznawczej.Azure Dedicated Hosts is currently in public preview. Ta wersja zapoznawcza nie jest objęta umową dotyczącą poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych.This preview version is provided without a service level agreement, and it's not recommended for production workloads. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.Certain features might not be supported or might have constrained capabilities. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Ograniczenia znanej wersji zapoznawczejKnown preview limitations

  • Zestawy skalowania maszyn wirtualnych nie są obecnie obsługiwane na dedykowanych hostach.Virtual machine scale sets are not currently supported on dedicated hosts.
  • Początkowa wersja zapoznawcza obsługuje następujące serie maszyn wirtualnych: DSv3 i ESv3.The preview initial release supports the following VM series: DSv3 and ESv3.

Tworzenie grupy hostówCreate a host group

Grupa hostów jest zasobem, który reprezentuje kolekcję dedykowanych hostów.A host group is a resource that represents a collection of dedicated hosts. Można utworzyć grupę hostów w regionie i strefie dostępności, a następnie dodać do niej hosty.You create a host group in a region and an availability zone, and add hosts to it. W przypadku planowania wysokiej dostępności dostępne są dodatkowe opcje.When planning for high availability, there are additional options. W przypadku dedykowanych hostów można użyć jednej lub obu następujących opcji:You can use one or both of the following options with your dedicated hosts:

  • Obejmuje wiele stref dostępności.Span across multiple availability zones. W takim przypadku konieczne jest posiadanie grupy hostów w każdej ze stref, które mają być używane.In this case, you are required to have a host group in each of the zones you wish to use.
  • Obejmuje wiele domen błędów, które są mapowane na stojaki fizyczne.Span across multiple fault domains which are mapped to physical racks.

W obu przypadkach należy podać liczbę domen błędów dla grupy hostów.In either case, you are need to provide the fault domain count for your host group. Jeśli nie chcesz obejmować domen błędów w grupie, użyj liczby domen błędów wynoszącej 1.If you do not want to span fault domains in your group, use a fault domain count of 1.

Możesz również zdecydować się na korzystanie ze stref dostępności i domen błędów.You can also decide to use both availability zones and fault domains. Ten przykład umożliwia utworzenie grupy hostów w strefie 1 z 2 domenami błędów.This example creates a host group in zone 1, with 2 fault domains.

$rgName = "myDHResourceGroup"
$location = "East US"

New-AzResourceGroup -Location $location -Name $rgName
$hostGroup = New-AzHostGroup `
   -Location $location `
   -Name myHostGroup `
   -PlatformFaultDomain 2 `
   -ResourceGroupName $rgName `
   -Zone 1

Tworzenie hostaCreate a host

Teraz Utwórzmy dedykowanego hosta w grupie hostów.Now let's create a dedicated host in the host group. Oprócz nazwy hosta, należy podać jednostkę SKU dla hosta.In addition to a name for the host, you are required to provide the SKU for the host. Jednostka SKU hosta przechwytuje obsługiwaną serię maszyn wirtualnych oraz generowanie sprzętu dla dedykowanego hosta.Host SKU captures the supported VM series as well as the hardware generation for your dedicated host. W trakcie okresu zapoznawczego będzie obsługiwana następująca wartość jednostki SKU hosta: DSv3_Type1 i ESv3_Type1.During the preview, we will support the following host SKU values: DSv3_Type1 and ESv3_Type1.

Aby uzyskać więcej informacji o jednostkach SKU i cenach hosta, zobacz Cennik dedykowanego hosta platformy Azure.For more information about the host SKUs and pricing, see Azure Dedicated Host pricing.

Jeśli ustawisz liczbę domen błędów dla grupy hostów, zostanie wyświetlony monit o określenie domeny błędów dla hosta.If you set a fault domain count for your host group, you will be asked to specify the fault domain for your host. W tym przykładzie ustawimy domenę błędów dla hosta na 1.In this example, we set the fault domain for the host to 1.

$dHost = New-AzHost `
   -HostGroupName $hostGroup.Name `
   -Location $location -Name myHost `
   -ResourceGroupName $rgName `
   -Sku DSv3-Type1 `
   -AutoReplaceOnFailure 1 `
   -PlatformFaultDomain 1

Tworzenie maszyny wirtualnejCreate a VM

Utwórz maszynę wirtualną na dedykowanym hoście.Create a virtual machine on the dedicated host.

Jeśli podczas tworzenia grupy hostów została określona strefa dostępności, należy użyć tej samej strefy podczas tworzenia maszyny wirtualnej.If you specified an availability zone when creating your host group, you are required to use the same zone when creating the virtual machine. W tym przykładzie, ponieważ nasza grupa hostów znajduje się w strefie 1, musimy utworzyć maszynę wirtualną w strefie 1.For this example, because our host group is in zone 1, we need to create the VM in zone 1.

$cred = Get-Credential
New-AzVM `
   -Credential $cred `
   -ResourceGroupName $rgName `
   -Location $location `
   -Name myVM `
   -HostId $dhost.Id `
   -Image Win2016Datacenter `
   -Zone 1 `
   -Size Standard_D4s_v3

Ostrzeżenie

Jeśli utworzono maszynę wirtualną na hoście, który nie ma wystarczającej ilości zasobów, maszyna wirtualna zostanie utworzona w stanie niepowodzenia.If you create a virtual machine on a host which does not have enough resources, the virtual machine will be created in a FAILED state.

Sprawdź stan hostaCheck the status of the host

Można sprawdzić stan kondycji hosta oraz liczbę maszyn wirtualnych, które można wdrożyć na hoście przy użyciu GetAzHost z parametrem -InstanceView.You can check the host health status and how many virtual machines you can still deploy to the host using GetAzHost with the -InstanceView parameter.

Get-AzHost `
   -ResourceGroupName $rgName `
   -Name myHost `
   -HostGroupName $hostGroup.Name `
   -InstanceView

Dane wyjściowe będą wyglądać podobnie do tego:The output will look similar to this:

ResourceGroupName      : myDHResourceGroup
PlatformFaultDomain    : 1
AutoReplaceOnFailure   : True
HostId                 : 12345678-1234-1234-abcd-abc123456789
ProvisioningTime       : 7/28/2019 5:31:01 PM
ProvisioningState      : Succeeded
InstanceView           : 
  AssetId              : abc45678-abcd-1234-abcd-123456789abc
  AvailableCapacity    : 
    AllocatableVMs[0]  : 
      VmSize           : Standard_D2s_v3
      Count            : 32
    AllocatableVMs[1]  : 
      VmSize           : Standard_D4s_v3
      Count            : 16
    AllocatableVMs[2]  : 
      VmSize           : Standard_D8s_v3
      Count            : 8
    AllocatableVMs[3]  : 
      VmSize           : Standard_D16s_v3
      Count            : 4
    AllocatableVMs[4]  : 
      VmSize           : Standard_D32-8s_v3
      Count            : 2
    AllocatableVMs[5]  : 
      VmSize           : Standard_D32-16s_v3
      Count            : 2
    AllocatableVMs[6]  : 
      VmSize           : Standard_D32s_v3
      Count            : 2
    AllocatableVMs[7]  : 
      VmSize           : Standard_D64-16s_v3
      Count            : 1
    AllocatableVMs[8]  : 
      VmSize           : Standard_D64-32s_v3
      Count            : 1
    AllocatableVMs[9]  : 
      VmSize           : Standard_D64s_v3
      Count            : 1
  Statuses[0]          : 
    Code               : ProvisioningState/succeeded
    Level              : Info
    DisplayStatus      : Provisioning succeeded
    Time               : 7/28/2019 5:31:01 PM
  Statuses[1]          : 
    Code               : HealthState/available
    Level              : Info
    DisplayStatus      : Host available
Sku                    : 
  Name                 : DSv3-Type1
Id                     : /subscriptions/10101010-1010-1010-1010-101010101010/re
sourceGroups/myDHResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts
/myHost
Name                   : myHost
Location               : eastus
Tags                   : {}

CzyszczenieClean up

Opłaty są naliczane za dedykowane hosty nawet wtedy, gdy nie wdrożono żadnych maszyn wirtualnych.You are being charged for your dedicated hosts even when no virtual machines are deployed. Należy usunąć wszystkie hosty, których obecnie nie używasz, aby zaoszczędzić koszty.You should delete any hosts you are currently not using to save costs.

Hosta można usunąć tylko wtedy, gdy nie ma dłużej używanych maszyn wirtualnych.You can only delete a host when there are no any longer virtual machines using it. Usuń maszyny wirtualne za pomocą polecenia Remove-AzVM.Delete the VMs using Remove-AzVM.

Remove-AzVM -ResourceGroupName $rgName -Name myVM

Po usunięciu maszyn wirtualnych można usunąć hosta za pomocą polecenia Remove-AzHost.After deleting the VMs, you can delete the host using Remove-AzHost.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

Po usunięciu wszystkich hostów można usunąć grupę hostów za pomocą polecenia Remove-AzHostGroup.Once you have deleted all of your hosts, you may delete the host group using Remove-AzHostGroup.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

Możesz również usunąć całą grupę zasobów w pojedynczym poleceniu za pomocą polecenia Remove-AzResourceGroup.You can also delete the entire resource group in a single command using Remove-AzResourceGroup. Spowoduje to usunięcie wszystkich zasobów utworzonych w grupie, w tym wszystkich maszyn wirtualnych, hostów i grup hostów.This will delete all resources created in the group, including all of the VMs, hosts and host groups.

Remove-AzResourceGroup -Name $rgName

Następne krokiNext steps

  • Istnieje przykładowy szablon, który znajduje się w tym miejscu, który używa stref i domen błędów w celu uzyskania maksymalnej odporności w regionie.There is sample template, found here, that uses both zones and fault domains for maximum resiliency in a region.

  • Możesz również wdrożyć dedykowane hosty przy użyciu Azure Portal.You can also deploy dedicated hosts using the Azure portal.