цеф.какой osd выбран для фактического возврата данных из него (логика ceph) - PullRequest
0 голосов
/ 07 декабря 2018

Я использую кластер nginx-> radosgw-> ceph, где каждая часть размещенных данных лежит на 3 OSD одновременно (каждый OSD является отдельным OSD-сервером). Весь кластер содержит 9 OSD-серверов.Ceph v10 (если это имеет значение)

Скажем, мой фрагмент данных представляет собой небольшой файл объемом 5 КБ.Кластер в состоянии OK.

ВОПРОС: Когда я ПОЛУЧАЮ (запрашиваю) мой фрагмент данных, формирующий кластер через nginx-> radosgw, какое OSD выбрано для получения актуальной информации с дисков SSD?

  1. Является ли это ОДИН «главный» OSD, которое возвращает целые 5 КБ данных?

  2. Это ВСЕ 3 OSD, которые содержат этот фрагмент, который возвращает целые 5 КБ данных из каждых 3 OSDодновременно?

  3. Это ЛЮБОЙ, но один из 3 OSD, который содержит этот кусок 5 КБ данных, выбранных для возврата фактических данных, и данные могут быть возвращены из любого из 3 OSD, но толькоиз ОДНОГО выбранного OSD вернет целые 5 КБ данных?

  4. Это ЛЮБОЕ из 3 OSD, которое содержит этот фрагмент данных 5 КБ, который возвращает, скажем, osd1 возвращает 1KiB + osd2 возвращает 3KiB +osd8 возвращает всего 1 КБ = 5 КБ?

В чем логика?

Спасибо за терпение, прочитав приведенные выше варианты.Заранее спасибо за ответы.

1 Ответ

0 голосов
/ 08 декабря 2018

ВОПРОС: Когда я ПОЛУЧАЮ (запрашиваю) мой фрагмент данных из моего кластера через nginx-> radosgw, какое OSD выбрано для получения актуальной информации с дисков SSD?

Клиент всегданаправляет запросы на чтение и запись в основное экранное меню.Для остальной части необходимой работы основное OSD отвечает.

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

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

...