Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Stack HCI, версии 22H2 и 21H2; Windows Server 2022, Windows Server 2019
В этой статье описаны доступные варианты устойчивости и описаны требования к масштабированию, эффективность хранения и общие преимущества и компромиссы каждого.
Overview
Технология Storage Spaces Direct обеспечивает отказоустойчивость данных, часто называемую "резильентностью". Его реализация аналогична RAID, но распределена по серверам и выполнена в программном обеспечении.
Как и в случае с RAID, существует несколько различных способов использования дисковых пространств, что делает различные компромиссы между отказоустойчивостью, эффективностью хранилища и сложностью вычислений. Эти в общем делятся на две категории: "зеркальное отображение" и "паритет", последний иногда называется "кодирование стирания".
Mirroring
Зеркальное отображение обеспечивает отказоустойчивость, сохраняя несколько копий всех данных. Это больше всего напоминает RAID-1. How that data is striped and placed is non-trivial (see this blog to learn more), but it's absolutely true to say that any data stored using mirroring is written, in its entirety, multiple times. Каждая копия записывается на другое физическое оборудование (разные диски на разных серверах), и предполагается, что они могут выходить из строя независимо.
Вы можете выбрать один из двух вариантов зеркального отображения — "двусторонний" и "трехсторонний".
Two-way mirror
Двунаправленное зеркальное отображение записывает две копии всего. Его эффективность хранилища составляет 50 процентов — для записи 1 ТБ данных требуется не менее 2 ТБ физической емкости хранилища. Аналогичным образом, вам потребуется как минимум два аппаратных домена отказа — с технологией Storage Spaces Direct, это означает два сервера.
Warning
Если у вас более двух серверов, вместо этого рекомендуется использовать трехстороннее зеркальное отображение.
Three-way mirror
Трехкратное зеркалирование создает три копии всего. Его эффективность хранения составляет 33,3 процента— для записи 1 ТБ данных требуется не менее 3 ТБ физической емкости хранилища. Аналогично, вам потребуется не менее трех доменов отказоустойчивости оборудования — с использованием Storage Spaces Direct, это означает необходимость в трех серверах.
Трехстороннее зеркалирование может безопасно выдерживать как минимум две аппаратные проблемы (диска или сервера) одновременно. Например, если вы перезагрузите один сервер при внезапном сбое другого диска или сервера, все данные остаются безопасными и постоянно доступными.
Parity
Parity encoding, often called "erasure coding," provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. То, как это работает, менее очевидно, чем зеркальное отображение, и есть много отличных онлайн-ресурсов (например, этот сторонний Руководство для чайников по кодированию с устранением ошибок), которые могут помочь вам получить представление. Достаточно сказать, что это обеспечивает лучшую эффективность хранения без ущерба для отказоустойчивости.
Хранилище данных предлагает две версии четности — "одинарный" и "двойной" паритет, второй использует усовершенствованный метод, называемый "локальными кодами реконструкции" на больших масштабах.
Important
Рекомендуется использовать зеркальное отображение для большинства рабочих нагрузок с учетом производительности. To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.
Single parity
Единая четность сохраняет только один битовый символ четности, который обеспечивает отказоустойчивость только к одному сбою за раз. Он больше всего похож на RAID-5. Чтобы использовать единичную четность, вам потребуется не менее трех доменов сбоя оборудования — с Storage Spaces Direct, это означает три сервера. Так как трехкратное зеркалирование обеспечивает большую отказоустойчивость в том же масштабе, мы не рекомендуем использовать одиночную четность. Но, если вы настаиваете на его использовании, и он полностью поддерживается.
Warning
Мы не рекомендуем использовать одиночную четность, так как она может безопасно выдерживать только один аппаратный сбой за раз: если вы перезагружаете один сервер, когда вдруг происходит сбой другого диска или сервера, у вас будет время простоя. Если у вас есть только три сервера, рекомендуется использовать трехсторонние зеркальное отображение. Если у вас есть четыре или более, см. следующий раздел.
Dual parity
Двойная четность реализует Reed-Solomon коды исправления ошибок для поддержания двух битовых символов четности, тем самым обеспечивая ту же отказоустойчивость, что и трехстороннее зеркалирование (т. е. до двух сбоев одновременно), но с более эффективным использованием хранилища. Он больше всего похож на RAID-6. Чтобы использовать двойную четность, вам потребуется по крайней мере четыре домена сбоя оборудования — с использованием Storage Spaces Direct, это означает четыре сервера. В этом масштабе эффективность хранения составляет 50% — для хранения 2 ТБ данных требуется 4 ТБ физической емкости хранилища.
Эффективность хранилища с двойной четностью увеличивается с увеличением числа доменов сбоя оборудования, достигая от 50 до 80 процентов. Например, при семи (с использованием Storage Spaces Direct, это означает семь серверов) эффективность резко возрастает до 66,7 процента: для хранения 4 ТБ данных требуется всего 6 ТБ физической емкости хранилища.
See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.
Локальные коды реконструкции
В пространствах хранения внедрён продвинутый метод, разработанный Microsoft Research и называемый "локальные коды реконструкции" или LRC. В крупномасштабных системах двойная четность использует LRC для разделения кодирования и декодирования на несколько меньших групп, чтобы уменьшить издержки, необходимые для записи или восстановления после сбоев.
При использовании жестких дисков (HDD) размер группы составляет четыре символа; с твердотельными дисками (SSD) размер группы составляет шесть символов. Например, вот как выглядит макет с жесткими дисками и 12 доменами сбоя оборудования (то есть 12 серверов) — есть две группы из четырех символов данных. Она достигает 72,7 процента эффективности хранения.
Мы рекомендуем этот подробный, но легко читаемый обзор о том, как местные коды восстановления обрабатывают различные сценарии сбоя и почему они привлекательныот Клауса Джоергенсена.
Mirror-accelerated parity
Локальный том дисковых пространств может быть зеркальным отображением и четностью частей. Запись сначала осуществляется в зеркальном разделе, а затем постепенно перемещается в раздел четности. Фактически это применение зеркального отображения для ускорения кода стирания.
Чтобы смешивать трехстороннее зеркалирование и двойной паритет, требуется по крайней мере четыре домена сбоев, то есть четыре сервера.
Эффективность хранения с зеркально ускоренной четностью находится между показателями, которые можно получить в случае использования только зеркалирования или только четности, и зависит от выбранных вами пропорций.
Important
Рекомендуется использовать зеркальное отображение для большинства рабочих нагрузок с учетом производительности. To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.
Summary
В этом разделе приведены типы устойчивости, доступные в локальных пространствах для хранения данных, минимальные требования к масштабу для использования каждого типа, количество сбоев, которые может выдержать каждый тип, и соответствующая эффективность хранилища.
Resiliency types
Resiliency | Failure tolerance | Storage efficiency |
---|---|---|
Two-way mirror | 1 | 50.0% |
Three-way mirror | 2 | 33.3% |
Dual parity | 2 | 50,0% - 80,0% |
Mixed | 2 | 33,3% - 80,0% |
Минимальные требования к масштабированию
Resiliency | Минимальные обязательные домены сбоя |
---|---|
Two-way mirror | 2 |
Three-way mirror | 3 |
Dual parity | 4 |
Mixed | 4 |
Tip
Если не используется шасси или отказоустойчивость стойки, количество доменов отказов соответствует количеству серверов. Количество дисков на каждом сервере не влияет на типы устойчивости, которые можно использовать, если вы соответствуете минимальным требованиям для локальных дисковых пространств.
Эффективность двойного четности для гибридных развертываний
В этой таблице показана эффективность хранения с использованием кодов двойной четности и локальных кодов восстановления на каждом уровне для гибридных развертываний, включающих как жесткие диски (HDD), так и твердотельные накопители (SSD).
Fault domains | Layout | Efficiency |
---|---|---|
2 | – | – |
3 | – | – |
4 | RS 2+2 | 50.0% |
5 | RS 2+2 | 50.0% |
6 | RS 2+2 | 50.0% |
7 | RS 4+2 | 66.7% |
8 | RS 4+2 | 66.7% |
9 | RS 4+2 | 66.7% |
10 | RS 4+2 | 66.7% |
11 | RS 4+2 | 66.7% |
12 | ЦУР (8, 2, 1) | 72.7% |
13 | ЦУР (8, 2, 1) | 72.7% |
14 | ЦУР (8, 2, 1) | 72.7% |
15 | ЦУР (8, 2, 1) | 72.7% |
16 | ЦУР (8, 2, 1) | 72.7% |
Эффективность двойной четности для всефлешевых развертываний
В этой таблице показана эффективность использования хранилища с двойной четностью и локальных кодов восстановления для каждого уровня в развертываниях на основе флэш-памяти, которые содержат только твердотельные накопители (SSD). Макет четности может использовать более крупные размеры групп и повысить эффективность хранения в конфигурации all-flash.
Fault domains | Layout | Efficiency |
---|---|---|
2 | – | – |
3 | – | – |
4 | RS 2+2 | 50.0% |
5 | RS 2+2 | 50.0% |
6 | RS 2+2 | 50.0% |
7 | RS 4+2 | 66.7% |
8 | RS 4+2 | 66.7% |
9 | RS 6+2 | 75.0% |
10 | RS 6+2 | 75.0% |
11 | RS 6+2 | 75.0% |
12 | RS 6+2 | 75.0% |
13 | RS 6+2 | 75.0% |
14 | RS 6+2 | 75.0% |
15 | RS 6+2 | 75.0% |
16 | ЦУР (12, 2, 1) | 80.0% |
Examples
Если у вас не меньше двух серверов, мы рекомендуем использовать трехстороннее зеркальное отображение либо двойную четность, поскольку они обеспечивают более высокую отказоустойчивость. В частности, они гарантируют, что все данные остаются безопасными и постоянно доступными, даже если два домена сбоя — с Storage Spaces Direct, это означает, что два сервера пострадали от одновременных сбоев.
Примеры, где все остается в сети
These six examples show what three-way mirroring and/or dual parity can tolerate.
- 1. One drive lost (includes cache drives)
- 2. One server lost
- 3. One server and one drive lost
- 4. Two drives lost in different servers
- 5. More than two drives lost, so long as at most two servers are affected
- 6. Two servers lost
... В каждом случае все тома остаются в сети. (Убедитесь, что кластер поддерживает кворум.)
Примеры, в которых все идет в автономном режиме
На протяжении всего срока службы пулы хранения могут терпеть любое количество сбоев, так как они восстанавливаются до полной устойчивости после каждого из них, при условии наличия достаточного времени. Однако в любой момент может быть безопасно затронуто максимум два домена отказа. The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.
- 7. Drives lost in three or more servers at once
- 8. Three or more servers lost at once
Usage
Check out Create volumes.
Next steps
Дополнительные сведения о темах, упомянутых в этой статье, см. в следующих статьях:
- Кодирование стиранием в Azure от Microsoft Research
- Локальные коды реконструкции и ускорение обработки томов четности
- тома в API управления хранилищами