Области отказа

Под областью отказа подразумевается область (например, серверная стойка), которая может отказать, в то время как ее данные останутся доступны. Если выбрать стойку в качестве области отказа, то данные в кластере выдержат отказ одной стойки, так как другие стойки обеспечат доступность данных. Если выбрать хост в качестве области отказа, то потеря целого сервера не приведет к потере доступности данных.

Чтобы обеспечить высокую доступность, Кибер Инфраструктура равномерно распределяет реплики данных по областям отказа в соответствии с политикой размещения реплик. Доступны следующие политики:

  • Диск, наименьшая возможная область отказа. При использовании этой политики Кибер Инфраструктура никогда не размещает больше одной реплики данных на одном диске. Несмотря на защиту от отказов дисков, этот вариант может привести к потере данных, если реплики будут расположены на разных дисках одного хоста, который откажет. Эту политику следует применять в кластерах с одним узлом.
  • Хост как область отказа. При использовании этой политики Кибер Инфраструктура никогда не размещает больше одной реплики данных на одном хосте. Поэтому, если один из узлов хранилища откажет (сбой операционной системы) и все его диски станут недоступны, данные по-прежнему будут доступны с исправных узлов.
  • Стойка как область отказа. При использовании этой политики Кибер Инфраструктура никогда не размещает больше одной реплики данных на одну стойку. Поэтому, если одна из стоек откажет (сбой коммутатора, обслуживающего стойку) и все узлы в ней станут недоступны, данные по-прежнему будут доступны из других стоек.
  • Ряд стоек как область отказа. При использовании этой политики Кибер Инфраструктура никогда не размещает больше одной реплики данных в одном ряду. Поэтому, если один ряд откажет (сбой одного источника питания) и все стойки в нем станут недоступны, данные по-прежнему будут доступны из других рядов.
  • Серверная комната как область отказа. При использовании этой политики Кибер Инфраструктура никогда не размещает больше одной реплики данных на одну комнату. Поэтому, если одна комната откажет (отключение электричества) и все ряды стоек в ней станут недоступны, данные по-прежнему будут доступны из других комнат.

При выборе области отказа учитывайте следующие рекомендации.

  • Убедитесь, что службы метаданных распределены по областям. Например, если вы выбрали комнату как область отказа и равномерно распределили данные по нескольким комнатам, необходимо также распределить службы метаданных. Если разместить все службы метаданных в одной серверной комнате, то при ее отказе из-за отключения электричества кластер не сможет нормально работать.
  • Для выбора какой-либо области отказа необходимо иметь несколько областей этого типа, чтобы службы или данные могли перемещаться между ними, например из одной стойки в другую. Например, если вы хотите выбрать стойку как область отказа с уровнем избыточности 2 реплики или кодирование 1+1, убедитесь, что кластеру назначено как минимум две стойки с исправными узлами.
  • Дисковое пространство должно быть равномерно распределено между областями отказа. Например, если выбрать стойку в качестве области отказа, в каждой стойке должно быть равное количество доступного дискового пространства. Распределяемое дисковое пространство в каждой стойке соответствует размеру дискового пространства наименьшей стойки. Это необходимо, поскольку в каждой стойке должна храниться одна реплика фрагмента данных. Поэтому, когда дисковое пространство наименьшей стойки закончится, в кластере больше не смогут создаваться фрагменты данных, пока не будет добавлена новая стойка или не будет уменьшен коэффициент репликации. Огромные области отказа более чувствительны к дисбалансу общего дискового пространства. Например, если в области 5 стоек с общим дисковым пространством 10, 20, 30, 100 и 100 ТБ, невозможно будет распределить (10+20+30+100+100)/3 = 86 ТБ данных в трех репликах. Вместо этого только 60 ТБ будет доступно для распределения, поскольку место в стойках низкой емкости закончится раньше. При этом в самых больших стойках (по 100 ТБ) будет оставаться свободное пространство, недоступное для распределения.