Zagadnienia dotyczące projektowania zestawów skalowaniaDesign Considerations For Scale Sets

W tym artykule omówiono zagadnienia dotyczące projektowania Virtual Machine Scale Sets.This article discusses design considerations for Virtual Machine Scale Sets. Aby uzyskać informacje o tym, co Virtual Machine Scale Sets, zobacz omówienie Virtual Machine Scale Sets.For information about what Virtual Machine Scale Sets are, refer to Virtual Machine Scale Sets Overview.

Kiedy używać zestawów skalowania zamiast maszyn wirtualnych?When to use scale sets instead of virtual machines?

Ogólnie zestawy skalowania są przydatne do wdrażania infrastruktury o wysokiej dostępności, w której zestaw maszyn ma podobną konfigurację.Generally, scale sets are useful for deploying highly available infrastructure where a set of machines has similar configuration. Jednak niektóre funkcje są dostępne tylko w zestawach skalowania, a inne funkcje są dostępne tylko na maszynach wirtualnych.However, some features are only available in scale sets while other features are only available in VMs. W celu podjęcia świadomej decyzji o tym, kiedy należy używać poszczególnych technologii, należy najpierw zapoznać się z najczęściej używanymi funkcjami, które są dostępne w zestawach skalowania, ale nie na maszynach wirtualnych:In order to make an informed decision about when to use each technology, you should first take a look at some of the commonly used features that are available in scale sets but not VMs:

Funkcje specyficzne dla zestawu skalowaniaScale set-specific features

  • Po określeniu konfiguracji zestawu skalowania można zaktualizować właściwość pojemności , aby wdrożyć więcej maszyn wirtualnych równolegle.Once you specify the scale set configuration, you can update the capacity property to deploy more VMs in parallel. Ten proces jest lepszy niż pisanie skryptu w celu organizowania wdrożenia wielu pojedynczych maszyn wirtualnych równolegle.This process is better than writing a script to orchestrate deploying many individual VMs in parallel.
  • Funkcja automatycznego skalowania platformy Azure umożliwia automatyczne skalowanie zestawu skalowania, ale nie poszczególnych maszyn wirtualnych.You can use Azure Autoscale to automatically scale a scale set but not individual VMs.
  • Możesz odtworzyć maszyny wirtualne zestawu skalowania , ale nie poszczególne maszyny wirtualne.You can reimage scale set VMs but not individual VMs.
  • Za pośrednictwem maszyn wirtualnych z zestawem skalowania można nadmiernie zaalokować czas wdrażania.You can overprovision scale set VMs for increased reliability and quicker deployment times. Nie można nadmiernie zainicjować obsługi administracyjnej poszczególnych maszyn wirtualnych, chyba że utworzysz kod niestandardowy w celu wykonania tej akcji.You cannot overprovision individual VMs unless you write custom code to perform this action.
  • Można określić zasady uaktualniania , aby ułatwić wdrażanie uaktualnień między maszynami wirtualnymi w zestawie skalowania.You can specify an upgrade policy to make it easy to roll out upgrades across VMs in your scale set. W przypadku pojedynczych maszyn wirtualnych należy samodzielnie zorganizować aktualizacje.With individual VMs, you must orchestrate updates yourself.

Funkcje specyficzne dla maszyny wirtualnejVM-specific features

Niektóre funkcje są obecnie dostępne tylko na maszynach wirtualnych:Some features are currently only available in VMs:

  • Możesz przechwycić obraz z pojedynczej maszyny wirtualnej, ale nie z maszyny wirtualnej w zestawie skalowania.You can capture an image from an individual VM, but not from a VM in a scale set.
  • Pojedynczą maszynę wirtualną można migrować z dysków natywnych do usługi Managed disks, ale nie można migrować wystąpień maszyn wirtualnych w zestawie skalowania.You can migrate an individual VM from native disks to managed disks, but you cannot migrate VM instances in a scale set.
  • Publiczne adresy IP można przypisać do poszczególnych kart interfejsów sieci wirtualnej (nic), ale nie można tego zrobić dla wystąpień maszyn wirtualnych w zestawie skalowania.You can assign IPv6 public IP addresses to individual VM virtual network interface cards (NICs), but cannot do so for VM instances in a scale set. Publiczne adresy IP można przypisać do modułów równoważenia obciążenia przed indywidualnymi maszynami wirtualnymi lub maszynami wirtualnymi zestawów skalowania.You can assign IPv6 public IP addresses to load balancers in front of either individual VMs or scale set VMs.

MagazynStorage

Zestawy skalowania przy użyciu usługi Azure Managed DisksScale sets with Azure Managed Disks

Zestawy skalowania można tworzyć przy użyciu usługi azure Managed disks zamiast tradycyjnych kont usługi Azure Storage.Scale sets can be created with Azure Managed Disks instead of traditional Azure storage accounts. Managed Disks zapewnić następujące korzyści:Managed Disks provide the following benefits:

Jeśli masz istniejący szablon, możesz również zaktualizować szablon, aby użyć Managed disks.If you have an existing template, you can also update the template to use Managed Disks.

Magazyn zarządzany przez użytkownikaUser-managed Storage

Zestaw skalowania, który nie jest zdefiniowany za pomocą usługi Azure Managed Disks, jest oparty na kontach magazynu utworzonych przez użytkownika do przechowywania dysków systemu operacyjnego maszyn wirtualnych w zestawie.A scale set that is not defined with Azure Managed Disks relies on user-created storage accounts to store the OS disks of the VMs in the set. Zalecany jest współczynnik 20 maszyn wirtualnych na konto magazynu lub mniej, aby można było osiągnąć maksymalną operację we/wy i korzystać z nadmiernego udostępniania (zobacz poniżej).A ratio of 20 VMs per storage account or less is recommended to achieve maximum IO and also take advantage of overprovisioning (see below). Zalecane jest również rozłożenie początkowych znaków nazw kont magazynu w alfabecie.It is also recommended that you spread the beginning characters of the storage account names across the alphabet. Takie działanie pomaga rozłożyć obciążenie między różne systemy wewnętrzne.Doing so helps spread load across different internal systems.

CeliOverprovisioning

Zestawy skalowania są obecnie domyślne dla maszyn wirtualnych o nadmiernej aprowizacji.Scale sets currently default to "overprovisioning" VMs. Dzięki włączeniu nadmiarowego udostępniania zestaw skalowania faktycznie zmniejsza liczbę maszyn wirtualnych, niż jest to wymagane, a następnie usuwa dodatkowe maszyny wirtualne po pomyślnym zainicjowaniu żądanej liczby maszyn wirtualnych.With overprovisioning turned on, the scale set actually spins up more VMs than you asked for, then deletes the extra VMs once the requested number of VMs are successfully provisioned. Nadmierne Inicjowanie obsługi administracyjnej zwiększa szybkość inicjowania obsługi i skraca czas wdrażania.Overprovisioning improves provisioning success rates and reduces deployment time. Nie są naliczane opłaty za dodatkowe maszyny wirtualne i nie są one wliczane do limitów przydziałów.You are not billed for the extra VMs, and they do not count toward your quota limits.

Mimo że nadmierne Inicjowanie obsługi administracyjnej zwiększa częstotliwość powodzeń aprowizacji, może to spowodować mylące zachowanie aplikacji, która nie jest przeznaczona do obsługi dodatkowych maszyn wirtualnych, które są wyświetlane, a następnie znika.While overprovisioning does improve provisioning success rates, it can cause confusing behavior for an application that is not designed to handle extra VMs appearing and then disappearing. Aby wyłączyć nadmierne Inicjowanie obsługi administracyjnej, upewnij się, że w szablonie znajduje się następujący ciąg: "overprovision": "false" .To turn overprovisioning off, ensure you have the following string in your template: "overprovision": "false". Więcej szczegółów można znaleźć w dokumentacji interfejsu API REST zestawu skalowania.More details can be found in the Scale Set REST API documentation.

Jeśli zestaw skalowania korzysta z magazynu zarządzanego przez użytkownika i zostanie wyłączone przeprowadzenie nadmiernej aprowizacji, możesz mieć więcej niż 20 maszyn wirtualnych na konto magazynu, ale nie zaleca się więcej niż 40 z przyczyn związanych z wydajnością we/wy.If your scale set uses user-managed storage, and you turn off overprovisioning, you can have more than 20 VMs per storage account, but it is not recommended to go above 40 for IO performance reasons.

LimityLimits

Zestaw skalowania zbudowany na obrazie witryny Marketplace (znany również jako obraz platformy) i skonfigurowany do korzystania z platformy Azure Managed Disks obsługuje pojemności do 1 000 maszyn wirtualnych.A scale set built on a Marketplace image (also known as a platform image) and configured to use Azure Managed Disks supports a capacity of up to 1,000 VMs. Jeśli skonfigurujesz zestaw skalowania do obsługi ponad 100 maszyn wirtualnych, nie wszystkie scenariusze działają tak samo (na przykład Równoważenie obciążenia).If you configure your scale set to support more than 100 VMs, not all scenarios work the same (for example load balancing). Aby uzyskać więcej informacji, zobacz Praca z dużymi zestawami skalowania maszyn wirtualnych.For more information, see Working with large virtual machine scale sets.

Zestaw skalowania skonfigurowany przy użyciu kont magazynu zarządzanych przez użytkownika jest obecnie ograniczony do 100 maszyn wirtualnych, a dla tej skali zaleca się 5 kont magazynu.A scale set configured with user-managed storage accounts is currently limited to 100 VMs (and 5 storage accounts are recommended for this scale).

Zestaw skalowania zbudowany na obrazie niestandardowym (utworzonym przez Ciebie) może mieć pojemność do 600 maszyn wirtualnych po skonfigurowaniu usługi Azure Managed Disks.A scale set built on a custom image (one built by you) can have a capacity of up to 600 VMs when configured with Azure Managed disks. Jeśli zestaw skalowania jest skonfigurowany przy użyciu kont magazynu zarządzanych przez użytkownika, należy utworzyć wszystkie dyski VHD dysków systemu operacyjnego w ramach jednego konta magazynu.If the scale set is configured with user-managed storage accounts, it must create all OS disk VHDs within one storage account. W związku z tym Maksymalna zalecana liczba maszyn wirtualnych w zestawie skalowania zbudowanym na obrazie niestandardowym i zarządzanym przez użytkownika magazynem wynosi 20.As a result, the maximum recommended number of VMs in a scale set built on a custom image and user-managed storage is 20. Jeśli wyłączysz opcję nadmiernej aprowizacji, możesz przejść do 40.If you turn off overprovisioning, you can go up to 40.

W przypadku większej liczby maszyn wirtualnych niż te limity Zezwalaj na wdrożenie wielu zestawów skalowania, jak pokazano w tym szablonie.For more VMs than these limits allow, you need to deploy multiple scale sets as shown in this template.