Linux 가상 머신의 가용성 관리Manage the availability of Linux virtual machines

Azure에서 여러 가상 머신을 설정하고 관리하여 Linux 애플리케이션의 고가용성을 유지하는 방법에 대해 알아봅니다.Learn ways to set up and manage multiple virtual machines to ensure high availability for your Linux application in Azure.

VM 다시 부팅 이해 - 유지 관리 및 가동 중지Understand VM Reboots - maintenance vs. downtime

Azure의 가상 컴퓨터가 초래할 수 있는 세 가지 시나리오, 즉, 계획되지 않은 하드웨어 유지 관리, 예기치 않은 가동 중지 및 계획된 유지 관리가 있습니다.There are three scenarios that can lead to virtual machine in Azure being impacted: unplanned hardware maintenance, unexpected downtime, and planned maintenance.

  • 계획되지 않은 하드웨어 유지 관리 이벤트 는 Azure 플랫폼에서 물리적 컴퓨터와 관련된 하드웨어 또는 플랫폼 구성 요소가 실패할 것으로 예측할 때 발생합니다.Unplanned Hardware Maintenance Event occurs when the Azure platform predicts that the hardware or any platform component associated to a physical machine, is about to fail. 플랫폼에서 오류를 예측하는 경우 계획되지 않은 하드웨어 유지 관리 이벤트를 발급하여 해당 하드웨어에서 호스팅되는 가상 머신에 미치는 영향을 줄입니다.When the platform predicts a failure, it will issue an unplanned hardware maintenance event to reduce the impact to the virtual machines hosted on that hardware. Azure에서는 실시간 마이그레이션 기술을 사용하여 오류가 발생한 하드웨어에서 정상적인 물리적 컴퓨터로 Virtual Machines를 마이그레이션합니다.Azure uses Live Migration technology to migrate the Virtual Machines from the failing hardware to a healthy physical machine. 실시간 마이그레이션은 짧은 시간 동안 Virtual Machine을 일시 중지하는 VM 보존 작업입니다.Live Migration is a VM preserving operation that only pauses the Virtual Machine for a short time. 메모리, 열린 파일 및 네트워크 연결은 유지되지만 이벤트 전후에 성능이 저하될 수 있습니다.Memory, open files, and network connections are maintained, but performance might be reduced before and/or after the event. 실시간 마이그레이션을 사용할 수 없는 경우 아래에서 설명한 대로 VM에 예기치 않은 가동 중지가 발생합니다.In cases where Live Migration cannot be used, the VM will experience Unexpected Downtime, as described below.

  • 예기치 않은 가동 중지 시간 은 가상 머신의 하드웨어 또는 실제 인프라에 예기치 않게 문제가 발생하는 경우입니다.An Unexpected Downtime is when the hardware or the physical infrastructure for the virtual machine fails unexpectedly. 여기에는 로컬 네트워크 오류, 로컬 디스크 오류 또는 기타 랙 수준의 오류가 포함될 수도 있습니다.This can include local network failures, local disk failures, or other rack level failures. 이러한 오류가 감지되면 Azure 플랫폼에서 가상 머신을 동일한 데이터 센터의 정상적인 물리적 컴퓨터로 자동으로 마이그레이션(복구)합니다.When detected, the Azure platform automatically migrates (heals) your virtual machine to a healthy physical machine in the same datacenter. 복구 과정 중에 가상 머신에서 가동 중지(재부팅)가 발생하고 경우에 따라 임시 드라이브가 손실됩니다.During the healing procedure, virtual machines experience downtime (reboot) and in some cases loss of the temporary drive. 연결된 OS 및 데이터 디스크는 항상 유지됩니다.The attached OS and data disks are always preserved.

    전체 데이터 센터 또는 전체 지역에 영향을 주는 가동 중단 또는 재해가 발생한 경우에 가상 머신에는 가동 중지 시간이 발생할 수도 있습니다.Virtual machines can also experience downtime in the unlikely event of an outage or disaster that affects an entire datacenter, or even an entire region. 이러한 시나리오의 경우 Azure에서는 가용성 영역쌍을 이루는 지역을 비롯한 보호 옵션을 제공합니다.For these scenarios, Azure provides protection options including availability zones and paired regions.

  • 계획된 유지 관리 이벤트 는 가상 머신이 실행되는 플랫폼 인프라의 전반적인 안정성, 성능 및 보안을 향상시키기 위해 Microsoft에서 기본 Azure 플랫폼에 적용하는 정기적인 업데이트입니다.Planned Maintenance events are periodic updates made by Microsoft to the underlying Azure platform to improve overall reliability, performance, and security of the platform infrastructure that your virtual machines run on. 이러한 업데이트의 대부분은 Virtual Machines 또는 Cloud Services에 영향을 주지 않고 수행 됩니다 ( 재부팅을 요구 하지 않는 유지 관리참조).Most of these updates are performed without any impact upon your Virtual Machines or Cloud Services (see Maintenance that doesn't require a reboot). Azure 플랫폼에서 가능한 모든 경우에 VM 보존 유지 관리를 사용하려고 시도하는 반면, 가상 머신을 다시 부팅해야 기본 인프라에 필요한 업데이트를 적용할 수 있는 경우가 드물게 있습니다.While the Azure platform attempts to use VM Preserving Maintenance in all possible occasions, there are rare instances when these updates require a reboot of your virtual machine to apply the required updates to the underlying infrastructure. 이 경우 적절한 기간에 VM에 대한 유지 관리를 시작하여 유지 관리 - 재배포 작업이 포함된 Azure Planned Maintenance(Azure 계획된 유지 관리)를 수행할 수 있습니다.In this case, you can perform Azure Planned Maintenance with Maintenance-Redeploy operation by initiating the maintenance for their VMs in the suitable time window. 자세한 내용은 Virtual Machines에 대한 계획된 유지 관리를 참조하세요.For more information, see Planned Maintenance for Virtual Machines.

이러한 이벤트로 인한 가동 중지 시간의 영향을 줄이기 위해 가상 머신에 다음과 같은 고가용성 모범 사례를 권장합니다.To reduce the impact of downtime due to one or more of these events, we recommend the following high availability best practices for your virtual machines:

  • 가용성 영역를 사용 하 여 데이터 센터 오류 로부터 보호Use Availability Zones to protect from datacenter failures
  • 중복성을 위해 가용성 집합에서 여러 가상 머신 구성Configure multiple virtual machines in an availability set for redundancy
  • 가용성 집합에서 VM에 Managed Disks 사용Use managed disks for VMs in an availability set
  • 예약된 이벤트를 사용하여 VM에 영향을 주는 이벤트에 사전 응답Use scheduled events to proactively respond to VM impacting events
  • 각 애플리케이션 계층을 별도의 가용성 집합으로 구성Configure each application tier into separate availability sets
  • 가용성 영역 또는 집합과 부하 분산 장치 결합Combine a load balancer with availability zones or sets

가용성 영역을 사용하여 데이터 센터 수준 오류로부터 사용자를 보호합니다.Use availability zones to protect from datacenter level failures

가용성 영역은 VM에 있는 애플리케이션 및 데이터의 가용성을 유지해야 하는 컨트롤 수준을 확장합니다.Availability zones expand the level of control you have to maintain the availability of the applications and data on your VMs. 가용성 영역은 Azure 지역 내의 고유한 물리적 위치입니다.Availability Zones are unique physical locations within an Azure region. 각 영역은 독립된 전원, 냉각 및 네트워킹을 갖춘 하나 이상의 데이터 센터로 구성됩니다.Each zone is made up of one or more datacenters equipped with independent power, cooling, and networking. 복원력을 보장하려면 활성화된 모든 지역에서 최소한 세 개의 별도 영역이 필요합니다.To ensure resiliency, there are a minimum of three separate zones in all enabled regions. 지역 내에서 가용성 영역의 물리적 구분은 애플리케이션 및 데이터를 데이터 센터 오류로부터 보호할 수 있습니다.The physical separation of Availability Zones within a region protects applications and data from datacenter failures. 영역 중복 서비스는 단일 지점 오류에서 보호하기 위해 가용성 영역에서 애플리케이션 및 데이터를 복제합니다.Zone-redundant services replicate your applications and data across Availability Zones to protect from single-points-of-failure.

Azure 지역의 가용성 영역은 장애 도메인업데이트 도메인 의 조합입니다.An Availability Zone in an Azure region is a combination of a fault domain and an update domain. 예를 들어 Azure 지역의 3개 영역에 VM을 3개 이상 만들면 장애 도메인 3개와 업데이트 도메인 3개에 VM이 효과적으로 분산됩니다.For example, if you create three or more VMs across three zones in an Azure region, your VMs are effectively distributed across three fault domains and three update domains. Azure 플랫폼은 업데이트 도메인에 분산된 VM을 인식하여 다른 영역에 있는 VM이 동시에 업데이트되지 않게 합니다.The Azure platform recognizes this distribution across update domains to make sure that VMs in different zones are not updated at the same time.

Azure는 가용성 영역을 통해 업계 최고의 99.99% VM 작동 시간 SLA를 제공합니다.With Availability Zones, Azure offers industry best 99.99% VM uptime SLA. 영역에 복제된 VM을 사용하는 솔루션을 설계하여 데이터 센터 손실로부터 애플리케이션과 데이터를 보호할 수 있습니다.By architecting your solutions to use replicated VMs in zones, you can protect your applications and data from the loss of a datacenter. 하나의 영역이 손상되면 다른 영역에서 복제된 앱 및 데이터를 즉시 사용할 수 있습니다.If one zone is compromised, then replicated apps and data are instantly available in another zone.

가용성 영역

가용성 영역에서 Windows 또는 Linux VM을 배포하는 방법에 대해 자세히 알아봅니다.Learn more about deploying a Windows or Linux VM in an Availability Zone.

중복성을 위해 가용성 집합에서 여러 가상 머신 구성Configure multiple virtual machines in an availability set for redundancy

가용성 집합은 VM 중복성 및 가용성을 제공하는 또 다른 데이터 센터 구성입니다.Availability sets are another datacenter configuration to provide VM redundancy and availability. 데이터 센터 내의 이러한 구성은 계획된 유지 관리 또는 계획되지 않은 유지 관리 이벤트 중에 적어도 하나의 가상 컴퓨터를 사용할 수 있고 99.95% Azure SLA가 충족되도록 합니다.This configuration within a datacenter ensures that during either a planned or unplanned maintenance event, at least one virtual machine is available and meets the 99.95% Azure SLA. 자세한 내용은 Virtual Machines에 대한 SLA를 참조하세요.For more information, see the SLA for Virtual Machines.

중요

99.9% 이상의 가상 머신 연결을 위한 SLA를 충족하려면, 가용성 집합의 단일 인스턴스 가상 머신에서 순서의 모든 운영 체제 디스크 및 데이터 디스크에 대해 프리미엄 SSD 또는 울트라 SSD를 사용해야 합니다.A single instance virtual machine in an availability set by itself should use Premium SSD or Ultra Disk for all operating system disks and data disks in order to qualify for the SLA for Virtual Machine connectivity of at least 99.9%.

표준 SSD를 사용하는 단일 인스턴스 가상 머신의 SLA는 99.5% 이상인 반면, 표준 HDD를 사용하는 단일 인스턴스 가상 머신의 SLA는 95% 이상입니다.A single instance virtual machine with a Standard SSD will have an SLA of at least 99.5%, while a single instance virtual machine with a Standard HDD will have an SLA of at least 95%. Virtual Machines에 대한 SLA 참조See SLA for Virtual Machines

기본 Azure 플랫폼에서는 가용성 집합에 포함된 각각의 가상 머신을 업데이트 도메인장애 도메인 에 할당합니다.Each virtual machine in your availability set is assigned an update domain and a fault domain by the underlying Azure platform. 특정 가용성 집합의 경우 기본적으로 사용자가 구성할 수 없는 다섯 개의 업데이트 도메인이 할당되어(그런 다음 최대 20개의 업데이트 도메인을 제공하도록 Resource Manager 배포를 늘릴 수 있음) 동시에 재부팅할 수 있는 가상 머신 및 기본 물리적 하드웨어 그룹을 나타냅니다.For a given availability set, five non-user-configurable update domains are assigned by default (Resource Manager deployments can then be increased to provide up to 20 update domains) to indicate groups of virtual machines and underlying physical hardware that can be rebooted at the same time. 단일 가용성 집합 내에 5개 이상의 가상 머신을 구성한 경우 6번째 가상 머신은 동일한 업데이트 도메인에 첫 번째 가상 머신으로 배치되고, 7번째 가상 머신은 동일한 업데이트 도메인에 두 번째 가상 머신으로 배치되는 식입니다.When more than five virtual machines are configured within a single availability set, the sixth virtual machine is placed into the same update domain as the first virtual machine, the seventh in the same update domain as the second virtual machine, and so on. 재부팅되는 업데이트 도메인의 순서는 계획된 유지 보수 중 순차적으로 진행할 수 없으며 한 번에 하나의 업데이트 도메인만이 재부팅됩니다.The order of update domains being rebooted may not proceed sequentially during planned maintenance, but only one update domain is rebooted at a time. 다시 부팅된 업데이트 도메인을 복구할 시간으로 30분이 제공되며 이 시간이 지나면 다른 업데이트 도메인에서 유지 관리가 시작됩니다.A rebooted update domain is given 30 minutes to recover before maintenance is initiated on a different update domain.

장애 도메인은 공통 전원과 네트워크 스위치를 공유하는 가상 머신 그룹을 정의합니다.Fault domains define the group of virtual machines that share a common power source and network switch. 기본적으로 가용성 집합 안에 구성된 가상 머신은 Resource Manager 배포의 경우 최대 3개의 장애 도메인(클래식의 경우 2개의 장애 도메인)으로 분리됩니다.By default, the virtual machines configured within your availability set are separated across up to three fault domains for Resource Manager deployments (two fault domains for Classic). 가상 머신을 가용성 집합에 배치한다고 해서 애플리케이션이 운영 체제 또는 애플리케이션 고유의 오류로부터 보호되는 것은 아닙니다. 잠재적인 물리적 하드웨어 오류, 네트워크 중단, 전력 차단의 영향이 제한될 뿐입니다.While placing your virtual machines into an availability set does not protect your application from operating system or application-specific failures, it does limit the impact of potential physical hardware failures, network outages, or power interruptions.

업데이트 도메인 및 장애 도메인 구성의 개념적 그림Conceptual drawing of the update domain and fault domain configuration

가용성 집합에서 VM에 Managed Disks 사용Use managed disks for VMs in an availability set

현재 관리 되지 않는 디스크와 함께 Vm을 사용 하는 경우 관리 되지 않는 LinuxWindows용 디스크로 변환 하는 것이 좋습니다.If you are currently using VMs with unmanaged disks, we highly recommend you convert from unmanaged to managed disks for Linux and Windows.

Managed Disks는 단일 실패 지점을 피할 만큼 가용성 집합의 VM 디스크가 서로 충분히 격리되도록 하여 가용성 집합에 더 나은 안정성을 제공합니다.Managed disks provide better reliability for Availability Sets by ensuring that the disks of VMs in an Availability Set are sufficiently isolated from each other to avoid single points of failure. 디스크를 다른 스토리지 장애 도메인(스토리지 클러스터)에 자동으로 배치하고 VM 장애 도메인에 맞게 조정하여 작업을 수행합니다.It does this by automatically placing the disks in different storage fault domains (storage clusters) and aligning them with the VM fault domain. 하드웨어나 소프트웨어 오류로 인해 스토리지 장애 도메인에 장애가 발생하면 스토리지 장애 도메인의 디스크가 있는 VM 인스턴스만 실패합니다.If a storage fault domain fails due to hardware or software failure, only the VM instance with disks on the storage fault domain fails. Managed Disks FDManaged disks FDs

중요

관리되는 가용성 집합에 대한 장애 도메인 수는 지역에 따라 다르며 - 지역마다 2개 또는 3개입니다.The number of fault domains for managed availability sets varies by region - either two or three per region. 다음 스크립트를 실행하여 각 지역의 장애 도메인을 볼 수 있습니다.You can see the fault domain for each region by running the following scripts.

Get-AzComputeResourceSku | where{$_.ResourceType -eq 'availabilitySets' -and $_.Name -eq 'Aligned'}
az vm list-skus --resource-type availabilitySets --query '[?name==`Aligned`].{Location:locationInfo[0].location, MaximumFaultDomainCount:capabilities[0].value}' -o Table

참고

특정 상황에서는 동일한 가용성 집합에 있는 두 VM에서 장애 도메인을 공유할 수 있습니다.Under certain circumstances, two VMs in the same availability set might share a fault domain. 가용성 집합으로 이동하고 장애 도메인 열을 확인하여 공유 장애 도메인을 확인할 수 있습니다.You can confirm a shared fault domain by going to your availability set and checking the Fault Domain column. VM을 배포할 때 다음 순서를 완료하면 공유 장애 도메인이 발생할 수 있습니다.A shared fault domain might be caused by the completing following sequence when you deployed the VMs:

  1. 첫 번째 VM을 배포합니다.Deploy the first VM.
  2. 첫 번째 VM을 중지/할당 취소합니다.Stop/deallocate the first VM.
  3. 두 번째 VM을 배포합니다.Deploy the second VM.

이러한 경우 두 번째 VM의 OS 디스크가 첫 번째 VM과 동일한 장애 도메인에 만들어질 수 있으므로 두 VM이 동일한 장애 도메인에 있게 됩니다.Under these circumstances, the OS disk of the second VM might be created on the same fault domain as the first VM, so the two VMs will be on same fault domain. 이 문제를 방지하려면 배포 간에 VM을 중지/할당 취소하지 않는 것이 좋습니다.To avoid this issue, we recommend that you don't stop/deallocate VMs between deployments.

비관리 디스크에서 VM을 사용하려는 경우 VM의 VHD(가상 하드 디스크)를 페이지 Blob으로 저장하는 스토리지 계정에 대한 아래의 모범 사례를 따릅니다.If you plan to use VMs with unmanaged disks, follow below best practices for Storage accounts where virtual hard disks (VHDs) of VMs are stored as page blobs.

  1. 동일한 스토리지 계정에서 VM과 모든 디스크(OS 및 데이터) 연결 유지Keep all disks (OS and data) associated with a VM in the same storage account
  2. 스토리지 계정에 더 많은 VHD를 추가하기 전에 Azure Storage 계정에서 관리되지 않는 디스크의 수에 대한 제한 검토Review the limits on the number of unmanaged disks in an Azure Storage account before adding more VHDs to a storage account
  3. 가용성 집합의 각 VM마다 별도의 스토리지 계정을 사용합니다.Use a separate storage account for each VM in an Availability Set. 동일한 가용성 집합에서 여러 VM을 사용하여 Storage 계정을 공유하지 않습니다.Do not share Storage accounts with multiple VMs in the same Availability Set. 위의 모범 사례를 따르면 여러 가용성 집합의 VM에서 스토리지 계정을 공유할 수 있습니다. 관리되지 않는 디스크 FDIt is acceptable for VMs across different Availability Sets to share storage accounts if above best practices are followed Unmanaged disks FDs

예약된 이벤트를 사용하여 VM에 영향을 주는 이벤트에 사전 응답Use scheduled events to proactively respond to VM impacting events

예약된 이벤트를 구독하면 VM에 영향을 줄 수 있는 예정된 유지 관리 이벤트에 대한 알림이 VM에 전달됩니다.When you subscribe to scheduled events, your VM is notified about upcoming maintenance events that can impact your VM. 예약된 이벤트를 사용하도록 설정되면 유지 관리 작업을 수행하기 전에 가상 머신에 최소 시간을 제공할 수 있습니다.When scheduled events are enabled, your virtual machine is given a minimum amount of time before the maintenance activity is performed. 예를 들어 VM에 영향을 줄 수 있는 호스트 OS 업데이트는 아무 작업을 수행하지 않을 경우 유지 관리가 수행되는 시간에 영향을 지정하는 이벤트로 큐에서 대기됩니다.For example, Host OS updates that might impact your VM are queued up as events that specify the impact, as well as a time at which the maintenance will be performed if no action is taken. 또한 Azure에서 VM에 영향을 줄 수 있는 임박한 하드웨어 장애를 감지하면 예약된 이벤트가 큐에 넣어지고, 이를 통해 복구를 수행할 시기를 결정할 수 있습니다.Schedule events are also queued up when Azure detects imminent hardware failure that might impact your VM, which allows you to decide when the healing should be performed. 고객은 유지 관리하기 전에 이 이벤트를 사용하여 상태 저장, 보조 스토리지로의 장애 조치 등과 같은 작업을 수행할 수 있습니다.Customers can use the event to perform tasks prior to the maintenance, such as saving state, failing over to the secondary, and so on. 유지 관리 이벤트를 정상적으로 처리하기 위한 논리가 완료되면 플랫폼에서 유지 관리를 진행할 수 있도록 처리 중인 예약된 이벤트를 승인할 수 있습니다.After you complete your logic for gracefully handling the maintenance event, you can approve the outstanding scheduled event to allow the platform to proceed with maintenance.

가용성 영역 또는 집합과 부하 분산 장치 결합Combine a load balancer with availability zones or sets

Azure Load Balancer를 가용성 영역 또는 집합과 결합하여 애플리케이션 복원력을 극대화합니다.Combine the Azure Load Balancer with an availability zone or set to get the most application resiliency. Azure 부하 분산 장치는 트래픽을 여러 가상 머신에 분산시킵니다.The Azure Load Balancer distributes traffic between multiple virtual machines. 표준 계층 가상 머신의 경우 Azure 부하 분산 장치가 포함되어 있습니다.For our Standard tier virtual machines, the Azure Load Balancer is included. 모든 가상 머신 계층에 Azure Load Balancer가 포함되어 있는 것은 아닙니다.Not all virtual machine tiers include the Azure Load Balancer. 가상 컴퓨터의 부하 분산에 대 한 자세한 내용은 Linux 또는 Windows에 대 한 가상 컴퓨터 부하 분산 을 참조 하세요.For more information about load balancing your virtual machines, see Load Balancing virtual machines for Linux or Windows.

부하 분산 장치가 트래픽을 여러 가상 머신에 분산시키도록 구성되지 않은 경우에는 계획된 유지 관리 이벤트가 트래픽 처리 가상 머신에만 영향을 줌으로써 애플리케이션 계층에 중단을 일으킬 수 있습니다.If the load balancer is not configured to balance traffic across multiple virtual machines, then any planned maintenance event affects the only traffic-serving virtual machine, causing an outage to your application tier. 같은 계층의 여러 가상 머신을 같은 부하 분산 장치와 가용성 집합 아래에 배치하면 언제든지 적어도 하나의 인스턴스에서는 트래픽을 계속 처리할 수 있습니다.Placing multiple virtual machines of the same tier under the same load balancer and availability set enables traffic to be continuously served by at least one instance.

가용성 영역 간에 부하를 분산 하는 방법에 대 한 자습서는 자습서: Azure Portal를 사용 하 여 표준 Load Balancer 가용성 영역 간 Vm 부하 분산을 참조 하세요.For a tutorial on how to load balance across availability zones, see Tutorial: Load balance VMs across availability zones with a Standard Load Balancer using the Azure portal.

다음 단계Next steps

가상 머신 부하 분산에 대한 자세한 내용은 가상 머신 부하 분산을 참조하세요.To learn more about load balancing your virtual machines, see Load Balancing virtual machines.