Высокая доступность и надежность данных
Хранение объектов Ceph достигает доступности данных через репликацию и передовое кодирование с использованием комбинирования данных с информацией о четности, а затем их фрагментации и распределения по пулу хранения.
Когда устройство хранения выходит из строя, требуется только подмножество фрагментов для восстановления данных, нет времени на восстановление или ухудшения производительности, и вышедшие из строя устройства хранения могут быть заменены по удобству.
Ceph объединяет широко распределенные данные и технологию проверки данных, которая непрерывно проверяет записанные данные на носителе, что позволяет достичь 15 девяток надежности данных.
Репликация данных, кодирование с использованием четности и проверка
Репликация объектов
Когда клиент собирается записать данные, он использует идентификатор объекта и имя пула, чтобы определить, к какому OSD он должен записать. После того, как клиент записывает данные на OSD, OSD копирует данные на один или несколько OSD. Вы можете настроить столько репликаций, сколько вам нужно, чтобы данные могли выжить в случае одновременного сбоя нескольких OSD. Репликация похожа на RAID-1 массива дисков, но позволяет создавать больше копий данных. Потому что на большом масштабе простая репликация RAID-1 может уже недостаточно покрывать риск отказа оборудования. Единственным недостатком хранения большего количества реплик является стоимость хранения.
Клиенты Ceph записывают данные случайным образом в OSD на основе алгоритма CRUSH.Если диск OSD или узел выходит из строя, Ceph может повторно восстановить данные из других реплик, хранящихся в работоспособных OSD.
Вы можете определить домен отказа, чтобы Ceph хранил реплицированные данные на разных серверах, стойках, комнатах или центрах обработки данных, чтобы избежать потери данных из-за одного или нескольких отказов во всем домене отказа.Например, если у вас установлено 15 серверов хранения в 5 стойках (по 3 сервера в каждой стойке), вы можете использовать тройное реплицирование и стойку в качестве домена отказа.Запись данных в кластер Ceph всегда будет иметь три копии, хранящиеся в трех из пяти стоек.Данные могут сохраняться, даже если отказывают до 2 стоек, без ухудшения обслуживания клиентов.Правило CRUSH является ключом к тому, чтобы хранилище Ceph имело отсутствие единой точки отказа.
Кодирование с использованием стирания
Репликация обеспечивает лучшую общую производительность, но не является эффективной по использованию места для хранения.Особенно если вам нужна более высокая степень избыточности.
Для обеспечения высокой доступности данных мы в прошлом использовали RAID-5 или RAID-6 в качестве альтернативы RAID-1.RAID с четностью обеспечивает избыточность с гораздо меньшими накладными расходами на хранение за счет производительности хранения (в основном производительности записи).Ceph использует кодирование с помощью стирания для достижения аналогичного результата.Когда масштаб вашей системы хранения становится большим, вы можете почувствовать неуверенность в том, что разрешаете отказ только одного или двух дисков или областей отказа одновременно.Алгоритм кодирования с исправлением ошибок позволяет настроить более высокий уровень избыточности, но с меньшим объемом накладных расходов.
Кодирование с исправлением ошибок разбивает исходные данные на K блоков данных и вычисляет дополнительные M блоков кодирования.Ceph может восстановить данные при сбое в максимально M областях сбоя одновременно.Общее количество K+M чанков хранится на OSD, которые находятся в разных областях отказа.
Очистка
В рамках поддержания согласованности и чистоты данных, демоны Ceph OSD могут проверять объекты внутри групп размещения. То есть, демоны Ceph OSD могут сравнивать метаданные объекта в одной группе размещения с его репликами в группах размещения, хранящихся на других OSD. Чистка (обычно выполняется ежедневно) позволяет обнаружить ошибки или ошибки файловой системы. Демоны Ceph OSD также выполняют более глубокую проверку путем сравнения данных в объектах бит-за-битом. Глубокая очистка (обычно выполняется еженедельно) находит поврежденные секторы на диске, которые не были заметны при поверхностной очистке.
Восстановление данных
Из-за конструкции размещения данных в Ceph данные восстанавливаются всеми здоровыми OSD. Для восстановления данных не требуется дополнительный диск. Это может значительно сократить время восстановления по сравнению с дисковым массивом, который должен восстанавливать потерянные данные на резервный диск.
- Настройка карты и правил CRUSH