Отказоустойчивость и эффективность хранилища в Azure Stack HCIFault tolerance and storage efficiency in Azure Stack HCI

Применимо к: Azure Stack ХЦИ, версия 20H2; Windows Server 2019Applies to: Azure Stack HCI, version 20H2; Windows Server 2019

В этой статье вы ознакомитесь с вариантами, доступными в Локальных дисковых пространствах, для обеспечения устойчивости и для каждого из них изучите требования к масштабированию, эффективность хранения, общие преимущества и недостатки.This topic introduces the resiliency options available in Storage Spaces Direct and outlines the scale requirements, storage efficiency, and general advantages and tradeoffs of each. Здесь также представлены некоторые инструкции по использованию, которые помогут приступить к работе, и ссылки на полезные документы, блоги и другие материалы для получения дополнительных сведений.It also presents some usage instructions to get you started, and references some great papers, blogs, and additional content where you can learn more.

Если вы уже знакомы с дисковыми пространствами, то можете сразу перейти к разделу Сводка.If you are already familiar with Storage Spaces, you may want to skip to the Summary section.

ОбзорOverview

По своей сути дисковые пространства призваны поддерживать для ваших данных отказоустойчивость или "устойчивость".At its heart, Storage Spaces is about providing fault tolerance, often called "resiliency," for your data. Эта служба аналогична системе RAID, только на уровне серверов и с программной реализацией.Its implementation is similar to RAID, except distributed across servers and implemented in software.

Как и в случае с RAID, для дисковых пространств есть несколько вариантов использования, у каждого из которых свои соотношения между отказоустойчивостью, эффективностью хранилища и сложностью вычислений.As with RAID, there are a few different ways Storage Spaces can do this, which make different tradeoffs between fault tolerance, storage efficiency, and compute complexity. Эти варианты можно грубо разделить на две категории: "зеркальное отображение" и "контроль четности" (второй иногда называется "удаляющее кодирование").These broadly fall into two categories: "mirroring" and "parity," the latter sometimes called "erasure coding."

Зеркальное отображениеMirroring

Зеркальное отображение обеспечивает отказоустойчивость, сохраняя несколько копий всех данных.Mirroring provides fault tolerance by keeping multiple copies of all data. Это больше всего соответствует схеме RAID-1.This most closely resembles RAID-1. Эти данные распределяются и размещаются неочевидным образом (подробные сведения см. в этом блоге), но мы можем точно сказать, что любые данные, хранящиеся с использованием зеркального отображения, полностью записываются несколько раз.How that data is striped and placed is non-trivial (see this blog to learn more), but it is absolutely true to say that any data stored using mirroring is written, in its entirety, multiple times. Каждая копия записывается на разное физическое оборудование (разные диски на разных серверах), которые, как предполагается, выходят из строя независимо друг от друга.Each copy is written to different physical hardware (different drives in different servers) that are assumed to fail independently.

Дисковые пространства поддерживают два типа зеркального отображения: двустороннее и трехстороннее.Storage Spaces offers two flavors of mirroring – "two-way" and "three-way."

Двухстороннее зеркальное отображениеTwo-way mirror

При двухстороннем зеркальном отображении записываются две полные копии всех данных.Two-way mirroring writes two copies of everything. Эффективность такого хранилища составляет 50 %, то есть для хранения 1 ТБ данных потребуется не менее 2 ТБ физического хранилища.Its storage efficiency is 50 percent – to write 1 TB of data, you need at least 2 TB of physical storage capacity. Аналогичным образом, вам нужно по меньшей мере два аппаратных домена сбоя, что для Локальных дисковых пространств означает два сервера.Likewise, you need at least two hardware 'fault domains' – with Storage Spaces Direct, that means two servers.

двустороннее зеркальное отображение

Предупреждение

Если у вас больше двух серверов, мы рекомендуем использовать трехстороннее зеркальное отображение.If you have more than two servers, we recommend using three-way mirroring instead.

Трехстороннее зеркальное отображениеThree-way mirror

При трехстороннем зеркальном отображении записываются три полные копии всех данных.Three-way mirroring writes three copies of everything. Эффективность такого хранилища составляет 33,3 %, то есть для хранения 1 ТБ данных потребуется не менее 3 ТБ физического хранилища.Its storage efficiency is 33.3 percent – to write 1 TB of data, you need at least 3 TB of physical storage capacity. Аналогичным образом, вам нужно по меньшей мере три аппаратных домена сбоя, что для Локальных дисковых пространств означает три сервера.Likewise, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers.

При трехстороннем зеркальном отображении можно безопасно перенести по меньшей мере два сбоя оборудования (диска или сервера) одновременно.Three-way mirroring can safely tolerate at least two hardware problems (drive or server) at a time. Например, в случае перезагрузки одного сервера при внезапном сбое другого диска или сервера все данные остаются в целостности и постоянно доступными.For example, if you're rebooting one server when suddenly another drive or server fails, all data remains safe and continuously accessible.

трехстороннее зеркальное отображение

ParityParity

Кодирование с контролем четности, также именуемое "удаляющее кодирование", поддерживает отказоустойчивость с помощью побитовой арифметической операции, которая в некоторых случаях невероятно сложна.Parity encoding, often called "erasure coding," provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. Такой подход менее очевиден, чем зеркальное отображение, и для знакомства с ним следует изучить какой-либо из множества замечательных Интернет-ресурсов, например этот сторонний документ Dummies Guide to Erasure Coding (Руководство для чайников по удаляющему кодированию).The way this works is less obvious than mirroring, and there are many great online resources (for example, this third-party Dummies Guide to Erasure Coding) that can help you get the idea. Достаточно лишь сказать, что это обеспечивает более высокую эффективность хранилища без ущерба отказоустойчивости.Sufficed to say it provides better storage efficiency without compromising fault tolerance.

Дисковые пространства поддерживают два вида контроля четности — "одинарный" и "двойной", последний применяет в широком масштабе сложную технологию "кодов локального восстановления".Storage Spaces offers two flavors of parity – "single" parity and "dual" parity, the latter employing an advanced technique called "local reconstruction codes" at larger scales.

Важно!

Мы рекомендуем для наиболее чувствительных к производительности рабочих нагрузок применять зеркальное отображение.We recommend using mirroring for most performance-sensitive workloads. Дополнительные сведения о достижении компромисса между производительностью и емкостью с учетом характеристик рабочих нагрузок см. в статье Планирование томов.To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Одинарный контроль четностиSingle parity

При одинарном контроле четности сохраняется только один символ битовой четности, что позволяет защитить данные только от одного сбоя единовременно.Single parity keeps only one bitwise parity symbol, which provides fault tolerance against only one failure at a time. Это больше всего соответствует схеме RAID-5.It most closely resembles RAID-5. Чтобы применить одинарный контроль четности, вам нужно по меньшей мере три аппаратных домена сбоя, что для Локальных дисковых пространств означает три сервера.To use single parity, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers. Поскольку трехстороннее зеркальное отображение дает большую отказоустойчивость при тех же объемах, мы рекомендуем не применять одинарный контроль четности.Because three-way mirroring provides more fault tolerance at the same scale, we discourage using single parity. Но он присутствует в системе и полностью поддерживается, если у вас будут причины выбрать этот вариант.But, it's there if you insist on using it, and it is fully supported.

Предупреждение

Мы советуем не использовать одинарный контроль четности из-за того, что он способен надежно выдерживать только один аппаратный сбой единовременно, и если во время непредвиденного сбоя диска или сервера вы перезагружали другой сервер, система окажется неработоспособна.We discourage using single parity because it can only safely tolerate one hardware failure at a time: if you're rebooting one server when suddenly another drive or server fails, you will experience downtime. Если у вас всего три сервера, лучше всего настроить трехстороннее зеркальное отображение.If you only have three servers, we recommend using three-way mirroring. Рекомендации для четырех и более серверов приводятся в следующем разделе.If you have four or more, see the next section.

Двойной контроль четностиDual parity

Двойной контроль четности реализует коды коррекции ошибок Рида-Соломона с двумя символами битовой четности, что обеспечивает отказоустойчивость на уровне трехстороннего зеркального отображения (то есть до двух сбоев единовременно) при более высокой эффективности хранилища.Dual parity implements Reed-Solomon error-correcting codes to keep two bitwise parity symbols, thereby providing the same fault tolerance as three-way mirroring (i.e. up to two failures at once), but with better storage efficiency. Это больше всего соответствует схеме RAID-6.It most closely resembles RAID-6. Чтобы применить двойной контроль четности, вам нужно по меньшей мере четыре аппаратных домена сбоя, что для Локальных дисковых пространств означает четыре сервера.To use dual parity, you need at least four hardware fault domains – with Storage Spaces Direct, that means four servers. Эффективность хранилища на такой системе составляет 50 %, то есть для хранения 2 ТБ данных потребуется 4 ТБ физического места в хранилище.At that scale, the storage efficiency is 50% – to store 2 TB of data, you need 4 TB of physical storage capacity.

двойной контроль четности

Эффективность хранилища в схеме двойного контроля четности повышается с 50 до 80 % по мере увеличения числа доменов сбоя.The storage efficiency of dual parity increases the more hardware fault domains you have, from 50 percent up to 80 percent. Например, при семи узлах (семи серверах, если речь идет о Локальных дисковых пространствах) эффективность повышается до 66,7 %, то есть для хранения 4 ТБ данных вам будет достаточно 6 ТБ физического места в хранилище.For example, at seven (with Storage Spaces Direct, that means seven servers) the efficiency jumps to 66.7 percent – to store 4 TB of data, you need just 6 TB of physical storage capacity.

двойной контроль четности, широкая схема

В разделе Сводка приводятся данные об эффективности двойного контроля четности и кодов локального восстановления для каждого размера системы.See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.

Коды локального восстановленияLocal reconstruction codes

Дисковые пространства предоставляют современную технологию, разработанную в Microsoft Research, которая именуется "коды локального восстановления" (LRC).Storage Spaces introduces an advanced technique developed by Microsoft Research called "local reconstruction codes," or LRC. При больших размерах системы в двойном контроле четности применяются коды LRC для распределения задач кодирования и декодирования на несколько небольших групп. Это позволяет снизить затраты на операции записи или восстановления после сбоев.At large scale, dual parity uses LRC to split its encoding/decoding into a few smaller groups, to reduce the overhead required to make writes or recover from failures.

Для жестких дисков HDD размер группы составляет четыре символа, а для твердотельных накопителей — шесть символов.With hard disk drives (HDD) the group size is four symbols; with solid-state drives (SSD), the group size is six symbols. Например, так будет выглядеть схема системы с жесткими дисками и 12-ю аппаратными доменами сбоя (то есть 12-ю серверами), где используются две группы по четыре символа данных.For example, here's what the layout looks like with hard disk drives and 12 hardware fault domains (meaning 12 servers) – there are two groups of four data symbols. Это позволяет достичь эффективности хранилища на уровне 72,7 %.It achieves 72.7 percent storage efficiency.

коды локального восстановления

Мы рекомендуем изучить это подробное, но легко читаемое пошаговое руководство о применении кодов локального восстановления в разных сценариях сбоя и привлекательности этого подхода, которое создал наш сотрудник Клаус Йоргенсен (Claus Joergensen).We recommend this in-depth yet eminently readable walk-through of how local reconstruction codes handle various failure scenarios, and why they're appealing, by our very own Claus Joergensen.

Контроль четности с зеркальным ускорениемMirror-accelerated parity

Том Локальных дисковых пространств можно сделать частично зеркальным и частично с контролем четности.A Storage Spaces Direct volume can be part mirror and part parity. В этом случае операции записи сохраняются сначала на одном из зеркальных сегментов, а затем постепенно перемещаются на другой.Writes land first in the mirrored portion and are gradually moved into the parity portion later. По сути это означает, что зеркальное отображение применяется для ускорения удаляющего кодирования.Effectively, this is using mirroring to accelerate erasure coding.

Чтобы совместить трехстороннее зеркальное отображение и двойной контроль четности, вам потребуется не менее четырех доменов сбоя, то есть четырех серверов.To mix three-way mirror and dual parity, you need at least four fault domains, meaning four servers.

Эффективность хранилища при контроле четности с зеркальным ускорением будет средней между теми значениями, которые можно получить при чистом зеркальном отображении и чистом контроле четности, и зависит от выбранных пропорций между ними.The storage efficiency of mirror-accelerated parity is in between what you'd get from using all mirror or all parity, and depends on the proportions you choose. Например, на 37-й минуте этой презентации предлагается демонстрационный пример с разными сочетаниями, которые обеспечивают эффективность хранилища на уровне 46 %, 54 % или 65 % для системы с 12-ю серверами.For example, the demo at the 37-minute mark of this presentation shows various mixes achieving 46 percent, 54 percent, and 65 percent efficiency with 12 servers.

Важно!

Мы рекомендуем для наиболее чувствительных к производительности рабочих нагрузок применять зеркальное отображение.We recommend using mirroring for most performance-sensitive workloads. Дополнительные сведения о достижении компромисса между производительностью и емкостью с учетом характеристик рабочих нагрузок см. в статье Планирование томов.To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

СводкаSummary

В этом разделе перечислены типы устойчивости, доступные в Локальных дисковых пространствах, минимальные требования к размеру системы для каждого из этих типов, допустимое количество сбоев и соответствующая эффективность хранилища.This section summarizes the resiliency types available in Storage Spaces Direct, the minimum scale requirements to use each type, how many failures each type can tolerate, and the corresponding storage efficiency.

Типы устойчивостиResiliency types

УстойчивостьResiliency ОтказоустойчивостьFailure tolerance Эффективность хранилищаStorage efficiency
Двухстороннее зеркальное отображениеTwo-way mirror 11 50,0 %50.0%
Трехстороннее зеркальное отображениеThree-way mirror 22 33,3 %33.3%
Двойной контроль четностиDual parity 22 от 50,0 % до 80,0 %50.0% - 80.0%
СмешанныйMixed 22 от 33,3 % до 80,0 %33.3% - 80.0%

Минимальные требования к размеру системыMinimum scale requirements

УстойчивостьResiliency Минимально допустимое число доменов сбояMinimum required fault domains
Двухстороннее зеркальное отображениеTwo-way mirror 22
Трехстороннее зеркальное отображениеThree-way mirror 33
Двойной контроль четностиDual parity 44
СмешанныйMixed 44

Совет

Если вы не используете отказоустойчивость на уровне корпуса или стойки, число доменов сбоя всегда совпадает с числом серверов.Unless you are using chassis or rack fault tolerance, the number of fault domains refers to the number of servers. Число дисков на каждом сервере не влияет на доступность типов устойчивости, если соблюдаются минимальные требования для Локальных дисковых пространств.The number of drives in each server does not affect which resiliency types you can use, as long as you meet the minimum requirements for Storage Spaces Direct.

Двойной контроль четности в гибридных развертыванияхDual parity efficiency for hybrid deployments

В этой таблице представлены уровни эффективности хранилища для двойного контроля четности и кодов локального восстановления при каждом возможном размере гибридного развертывания, в котором сочетаются жесткие диски (HDD) и твердотельные накопители (SSD).This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for hybrid deployments which contain both hard disk drives (HDD) and solid-state drives (SSD).

Домены сбояFault domains МакетLayout ЭффективностьEfficiency
22
33
44 RS 2+2RS 2+2 50,0 %50.0%
55 RS 2+2RS 2+2 50,0 %50.0%
66 RS 2+2RS 2+2 50,0 %50.0%
77 RS 4+2RS 4+2 66,7 %66.7%
88 RS 4+2RS 4+2 66,7 %66.7%
99 RS 4+2RS 4+2 66,7 %66.7%
1010 RS 4+2RS 4+2 66,7 %66.7%
1111 RS 4+2RS 4+2 66,7 %66.7%
1212 LRC (8, 2, 1)LRC (8, 2, 1) 72,7 %72.7%
1313 LRC (8, 2, 1)LRC (8, 2, 1) 72,7 %72.7%
1414 LRC (8, 2, 1)LRC (8, 2, 1) 72,7 %72.7%
1515 LRC (8, 2, 1)LRC (8, 2, 1) 72,7 %72.7%
1616 LRC (8, 2, 1)LRC (8, 2, 1) 72,7 %72.7%

Двойной контроль четности в развертываниях "только на флэш-дисках"Dual parity efficiency for all-flash deployments

В этой таблице представлены уровни эффективности хранилища для двойного контроля четности и кодов локального восстановления при каждом возможном размере для развертываний "только на флэш-дисках", где используются только твердотельные накопители (SSD).This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for all-flash deployments which contain only solid-state drives (SSD). Схема контроля четности позволяет применять более крупные группы и получить более высокую эффективность хранилища в конфигурациях "только на флэш-дисках".The parity layout can use larger group sizes and achieve better storage efficiency in an all-flash configuration.

Домены сбояFault domains МакетLayout ЭффективностьEfficiency
22
33
44 RS 2+2RS 2+2 50,0 %50.0%
55 RS 2+2RS 2+2 50,0 %50.0%
66 RS 2+2RS 2+2 50,0 %50.0%
77 RS 4+2RS 4+2 66,7 %66.7%
88 RS 4+2RS 4+2 66,7 %66.7%
99 RS 6+2RS 6+2 75,0 %75.0%
1010 RS 6+2RS 6+2 75,0 %75.0%
1111 RS 6+2RS 6+2 75,0 %75.0%
1212 RS 6+2RS 6+2 75,0 %75.0%
1313 RS 6+2RS 6+2 75,0 %75.0%
1414 RS 6+2RS 6+2 75,0 %75.0%
1515 RS 6+2RS 6+2 75,0 %75.0%
1616 LRC (12, 2, 1)LRC (12, 2, 1) 80,0 %80.0%

ПримерыExamples

Мы рекомендуем во всех случаях, кроме системы с двумя серверами, применять трехстороннее зеркальное отображение и (или) двойной контроль четности, так как они обеспечивают более высокую отказоустойчивость.Unless you have only two servers, we recommend using three-way mirroring and/or dual parity, because they offer better fault tolerance. В частности, они позволяют гарантировать сохранность всех данных и постоянный доступ к ним даже при сбоях, затрагивающих одновременно два домена сбоя (два сервера в среде Локальных дисковых пространств).Specifically, they ensure that all data remains safe and continuously accessible even when two fault domains – with Storage Spaces Direct, that means two servers - are affected by simultaneous failures.

Примеры, в которых сохраняется работоспособность системыExamples where everything stays online

В этих шести примерах показаны проблемы, с которыми позволяют справиться технологии трехстороннего зеркального отображения и (или) двойного контроля четности.These six examples show what three-way mirroring and/or dual parity can tolerate.

  • 1. Потеря одного диска (в том числе диска кэша)1. One drive lost (includes cache drives)
  • 2. Потеря одного сервера2. One server lost

примеры отказоустойчивости 1 и 2

  • 3. Потеря одного сервера и еще одного диска3. One server and one drive lost
  • 4. Потеря двух дисков на разных серверах4. Two drives lost in different servers

примеры отказоустойчивости 3 и 4

  • 5. Потеря более чем двух дисков, если они размещаются не более чем на двух серверах5. More than two drives lost, so long as at most two servers are affected
  • 6. Потеря двух серверов6. Two servers lost

примеры отказоустойчивости 5 и 6

Во всех этих случаях все тома останутся доступными....in every case, all volumes will stay online. (Следите за тем, чтобы в кластере соблюдался кворум.)(Make sure your cluster maintains quorum.)

Примеры, в которых нарушается работоспособность системыExamples where everything goes offline

В долгосрочной перспективе дисковые пространства могут выдержать любое число сбоев, так как полная устойчивость эффективно восстанавливается после каждого сбоя, если на это будет достаточно времени.Over its lifetime, Storage Spaces can tolerate any number of failures, because it restores to full resiliency after each one, given sufficient time. Но в любой конкретный момент сбой может затрагивать не более двух доменов сбоя.However, at most two fault domains can safely be affected by failures at any given moment. В следующих примерах показаны проблемы, с которыми технологии трехстороннего зеркального отображения и (или) двойного контроля четности не смогут справиться.The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.

  • 7. Потеря дисков на трех и более серверах одновременно7. Drives lost in three or more servers at once
  • 8. Потеря трех и более серверов одновременно8. Three or more servers lost at once

примеры отказоустойчивости 7 и 8

ИспользованиеUsage

Извлеките раздел Создание томов.Check out Create volumes.

Дальнейшие действияNext steps

Дополнительные сведения по темам, которые упоминались в этой статье, вы можете получить в этих статьях:For further reading on subjects mentioned in this article, see the following: