Почему мой новый статус кластера ceph никогда не показывает 'HEALTH_OK'? - PullRequest
0 голосов
/ 17 сентября 2018

Я работаю над настройкой кластера ceph с докером и образом 'ceph / daemon: v3.1.0-stable-3.1-luminous-centos-7'.Но после того, как кластер был настроен, ceph status никогда не показывает HEALTH_OK.Вот информация моего кластера.На диске достаточно места, и с сетью все в порядке.

У меня такой вопрос:

  1. Почему ceph не копирует «недостаточно большие» страницы?
  2. Какисправить это?

Большое спасибо!

➜  ~ ceph -s
  cluster:
    id:     483a61c4-d3c7-424d-b96b-311d2c6eb69b
    health: HEALTH_WARN
            Degraded data redundancy: 3 pgs undersized

  services:
    mon:        3 daemons, quorum pc-10-10-0-13,pc-10-10-0-89,pc-10-10-0-160
    mgr:        pc-10-10-0-89(active), standbys: pc-10-10-0-13, pc-10-10-0-160
    mds:        cephfs-1/1/1 up  {0=pc-10-10-0-160=up:active}, 2 up:standby
    osd:        5 osds: 5 up, 5 in
    rbd-mirror: 3 daemons active
    rgw:        3 daemons active

  data:
    pools:   6 pools, 68 pgs
    objects: 212 objects, 5.27KiB
    usage:   5.02GiB used, 12.7TiB / 12.7TiB avail
    pgs:     65 active+clean
             3  active+undersized

➜  ~ ceph osd tree
ID CLASS WEIGHT   TYPE NAME               STATUS REWEIGHT PRI-AFF
-1       12.73497 root default
-5        0.90959     host pc-10-10-0-13
 3   hdd  0.90959         osd.3               up  1.00000 1.00000
-7        0.90959     host pc-10-10-0-160
 4   hdd  0.90959         osd.4               up  1.00000 1.00000
-3       10.91579     host pc-10-10-0-89
 0   hdd  3.63860         osd.0               up  1.00000 1.00000
 1   hdd  3.63860         osd.1               up  1.00000 1.00000
 2   hdd  3.63860         osd.2               up  1.00000 1.00000
➜  ~ ceph osd pool ls detail
pool 1 'cephfs_data' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 24 flags hashpspool stripe_width 0 application cephfs
pool 2 'cephfs_metadata' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 24 flags hashpspool stripe_width 0 application cephfs
pool 3 '.rgw.root' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 13 pgp_num 13 last_change 27 flags hashpspool stripe_width 0 application rgw
pool 4 'default.rgw.control' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 13 pgp_num 13 last_change 30 flags hashpspool stripe_width 0 application rgw
pool 5 'default.rgw.meta' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 13 pgp_num 13 last_change 32 owner 18446744073709551615 flags hashpspool stripe_width 0 application rgw
pool 6 'default.rgw.log' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 13 pgp_num 13 last_change 34 flags hashpspool stripe_width 0 application rgw

Ответы [ 3 ]

0 голосов
/ 19 сентября 2018

Создание нового пула с размером 2 и минимальным размером 1.
. Для просмотра в формате pg-num используйте Ceph PG Calculator https://ceph.com/pgcalc/

0 голосов
/ 02 октября 2018

@ itsafire Это не решение. Он просит решение, а не аппаратную рекомендацию.

Я использую 8 узлов и 5 узлов в нескольких кластерах CEPH. Я всегда использую 2 реплики с несколькими картами памяти (для SSD, SAS и 72k дисков)

Зачем вам нужно 3 реплики, если вы используете небольшой кластер с ограниченными ресурсами.

Не могли бы вы объяснить, почему мое решение - Рецепт катастрофы? У вас хорошая репутация, и я не уверен, как вы их получили. Может быть, просто ответ на рекомендацию, а не решение.

0 голосов
/ 17 сентября 2018

Кажется, вы создали кластер из трех узлов с различными конфигурациями и размерами osd. Стандартное правило раздавить говорит ceph иметь 3 копии PG на разных хостах. Если для распространения PG на три хоста недостаточно места, ваш кластер никогда не будет исправен.

Всегда полезно начинать с набора хостов одинакового размера (RAM, CPU, OSD).

Обновление для обсуждения кластера размером 2 против 3

Не используйте 2 реплики. Перейти к 3. Ceph начал с размера по умолчанию 2. Но это было изменено на 3 в Ceph 0.82 (выпуск Firefly).

Почему? Потому что, если один диск выходит из строя, у вас остается только один диск, содержащий ваши данные. Если этот диск тоже выйдет из строя во время восстановления, ваши данные исчезнут навсегда.

См. эту ветку в списке рассылки ceph.

2 реплики не безопасны, независимо от того, насколько большой или маленький кластер. С диски становятся больше время восстановления будет расти. В этом окне вы не хотите запустить на одной реплике.

...