Принципы проектирования и реализации Ceph rados Глава 4: OSD, краеугольный камень хранилища

OSD — это, по сути, процесс, который переопределяет операционную систему. Он имеет такие ресурсы, как процессор, память и пропускная способность сети. Он используется для реализации объектного хранилища и совместим с различными типами файловых систем.

OSD используют сеть кластера для контроля друг друга и своевременно сообщают об ошибках монитору.После того, как монитор изменяет OSDMap, OSD затем передают последнюю версию OSDMap по принципу «точка-точка» друг другу.

1. Управление кластером

OSD необходимо регулярно взаимодействовать с монитором, сообщать о своей ситуации, обновлять последнюю версию OSDMap, а также сообщать монитору об использовании собственной емкости, ключах и т. д. Таким образом, процесс OSD инкапсулирует клиентский компонент Monitor внутри и используется для общаться с Монитором.

2. Сетевая связь

Компонент сетевой связи Messenger включает в себя общедоступные сети и кластерные сети.

3. Включение экранного меню

Загрузочные данные Objectstore хранятся на диске.Сначала они считываются и аутентифицируются, а затем считываются в память суперблок Objectstore, то есть Objectstore монтируется.Все нормально (OSD имеет достаточные разрешения, соответствует UUID кластера, имеет правильный номер версии и т. д.) После прохождения) OSDMap необходимо синхронизировать с монитором. Поскольку OSDMap все еще обновляется при выключении OSD, версия OSDMap после Включенное экранное меню может отличаться от последней версии монитора на определенное число. Поэтому, помимо экранного меню, монитор должен получать информацию о своем собственном состоянии в OSDMap. Измените на UP (поскольку на экранное меню включено питание). В то же время Монитору также необходимо отправить в OSD приращения (до 40) нескольких версий OSDMap, отсутствующие во время отключения питания OSD, для обновления локального OSDMap OSD.

4. Обнаружение ошибок OSD

Четыре состояния: вверх, вниз, вход, выход.Три
метода обнаружения: автономный отчет, обнаружение пульса, сторожевой таймер (регулярная отправка сообщений на монитор для поддержания работоспособности).После
обнаружения того, что экранное меню не работает, через 600 секунд оно будет установлено на выход. Затронутые PG начали мигрировать.

5.Пространственная статистика OSD

Четыре уровня: NearFull, BackFull (предотвращает миграцию PG от записи в OSD), Full (предотвращает запись в OSD), Failsafefull (предотвращает запись, чтобы избежать финального барьера заполнения OSD из-за задержки полной отметки)

Общее пространство пула хранения = используемое пространство пула хранения + максимально доступное пространство пула хранения.

Формула расчета максимального доступного пространства пула носителей: min{ [емкость OSD - зарезервированное пространство (пять процентов)] / доля OSD в общей емкости пула носителей / количество копий пула носителей}
где емкость OSD / доля OSD = сумма емкостей всех OSD в пуле хранения данных.

Формула расчета используемого пространства пула носителей: сумма используемого пространства всех OSD в пуле носителей / количество копий.

Фактически, приведенная выше формула расчета максимального доступного пространства пула носителей основана на предпосылке сбалансированного распределения данных. Поскольку оно минимально, если два диска одинаковой емкости используются в качестве двух OSD, записываемые данные не распределяются равномерно. распределенный.min всегда принимает значение с наибольшим занимаемым пространством для расчета максимального доступного пространства, в результате чего рассчитанное максимальное доступное пространство оказывается слишком маленьким.

рекомендация

отblog.csdn.net/mxy990811/article/details/135368901
рекомендация