Назад | Перейти на главную страницу

Ceph PG застревает при создании / создание пула медленно

Я создал небольшой кластер ceph из 3 серверов каждый с 5 дисками для OSD с одним монитором на сервер.

Фактическая настройка, похоже, прошла успешно, и монстры находятся в кворуме, и все 15 экранных дисплеев работают, но при создании пула pg остаются неактивными и никогда не создают должным образом.

Я прочитал столько тем / руководств, сколько смог найти, и до сих пор не могу понять, почему они застряли в создании и никогда не заканчиваются.

Я действительно мог бы использовать некоторые предложения по поиску ошибок, проблем или действительно ли создание этого пула так медленно. Система настроена и работает вот так уже 2 недели, а pgmap от ceph -w показывает, что значение MB Used увеличивается очень, очень медленно на 1 МБ за 2 минуты или около того.

Выход ceph -w

cephadmin@cnc:~$ ceph -w
    cluster 7908651c-252e-4761-8a83-4b1cfcf90522
     health HEALTH_ERR
            700 pgs are stuck inactive for more than 300 seconds
            700 pgs stuck inactive
     monmap e1: 3 mons at {ceph1=10.0.80.10:6789/0,ceph2=10.0.80.11:6789/0,ceph3=10.0.80.12:6789/0}
            election epoch 18, quorum 0,1,2 ceph1,ceph2,ceph3
     osdmap e304359: 15 osds: 15 up, 15 in
            flags sortbitwise,require_jewel_osds
      pgmap v1097264: 700 pgs, 1 pools, 0 bytes data, 0 objects
            90932 MB used, 55699 GB / 55788 GB avail
                 700 creating

2017-02-02 11:20:10.774943 mon.0 [INF] pgmap v1097264: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:11.152412 mon.0 [INF] mds.? 10.0.80.10:6800/1746 up:boot
2017-02-02 11:20:11.152632 mon.0 [INF] fsmap e304293:, 1 up:standby
2017-02-02 11:20:11.853221 mon.0 [INF] pgmap v1097265: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:12.931001 mon.0 [INF] pgmap v1097266: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:14.097210 mon.0 [INF] pgmap v1097267: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:14.707583 mon.0 [INF] osdmap e304360: 15 osds: 15 up, 15 in
2017-02-02 11:20:14.774994 mon.0 [INF] pgmap v1097268: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:15.197354 mon.0 [INF] mds.? 10.0.80.10:6801/2222 up:boot
2017-02-02 11:20:15.197528 mon.0 [INF] fsmap e304294:, 1 up:standby
2017-02-02 11:20:15.875919 mon.0 [INF] pgmap v1097269: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:16.975746 mon.0 [INF] pgmap v1097270: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:18.075955 mon.0 [INF] pgmap v1097271: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:18.708059 mon.0 [INF] osdmap e304361: 15 osds: 15 up, 15 in
2017-02-02 11:20:18.775552 mon.0 [INF] pgmap v1097272: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:19.253143 mon.0 [INF] mds.? 10.0.80.10:6800/1746 up:boot
2017-02-02 11:20:19.253314 mon.0 [INF] fsmap e304295:, 1 up:standby
2017-02-02 11:20:19.853348 mon.0 [INF] pgmap v1097273: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:20.988606 mon.0 [INF] pgmap v1097274: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:22.188444 mon.0 [INF] pgmap v1097275: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:22.709647 mon.0 [INF] osdmap e304362: 15 osds: 15 up, 15 in
2017-02-02 11:20:22.777063 mon.0 [INF] pgmap v1097276: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:23.288351 mon.0 [INF] mds.? 10.0.80.10:6801/2222 up:boot
2017-02-02 11:20:23.288498 mon.0 [INF] fsmap e304296:, 1 up:standby
2017-02-02 11:20:23.855536 mon.0 [INF] pgmap v1097277: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:25.533595 mon.0 [INF] pgmap v1097278: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:26.610728 mon.0 [INF] pgmap v1097279: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:26.743563 mon.0 [INF] osdmap e304363: 15 osds: 15 up, 15 in
2017-02-02 11:20:26.743636 mon.0 [INF] mds.? 10.0.80.10:6800/1746 up:boot
2017-02-02 11:20:26.743722 mon.0 [INF] fsmap e304297:, 1 up:standby
2017-02-02 11:20:26.822333 mon.0 [INF] pgmap v1097280: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:27.900114 mon.0 [INF] pgmap v1097281: 700 pgs: 700 creating; 0 bytes data, 90932 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:29.111348 mon.0 [INF] pgmap v1097282: 700 pgs: 700 creating; 0 bytes data, 90933 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:30.188991 mon.0 [INF] pgmap v1097283: 700 pgs: 700 creating; 0 bytes data, 90933 MB used, 55699 GB / 55788 GB avail
2017-02-02 11:20:30.721728 mon.0 [INF] osdmap e304364: 15 osds: 15 up, 15 in
2017-02-02 11:20:30.778195 mon.0 [INF] pgmap v1097284: 700 pgs: 700 creating; 0 bytes data, 90933 MB used, 55699 GB / 55788 GB avail

ceph.conf

[global]
public network = 10.0.80.0/23
cluster network = 10.0.80.0/23

fsid = 7908651c-252e-4761-8a83-4b1cfcf90522
mon_initial_members = ceph1, ceph2, ceph3
mon_host = 10.0.80.10,10.0.80.11,10.0.80.12
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 750
osd pool default pgp num = 750
osd crush chooseleaf type = 2

[mon.ceph1]
mon addr = 10.0.80.10:6789
host = ceph1
[mon.ceph2]
mon addr = 10.0.80.11:6789
host = ceph2
[mon.ceph3]
mon addr = 10.0.80.12:6789
host = ceph3

[mds]
keyring = /var/lib/ceph/mds/ceph-ceph1/keyring
[mds.ceph1]
host = ceph1

[osd.0]
cluster addr = 10.0.80.13
host = ceph1
[osd.1]
cluster addr = 10.0.80.13
host = ceph1
[osd.2]
cluster addr = 10.0.80.13
host = ceph1
[osd.3]
cluster addr = 10.0.80.13
host = ceph1
[osd.4]
cluster addr = 10.0.80.13
host = ceph1

[osd.5]
cluster addr = 10.0.80.14
host = ceph2
[osd.6]
cluster addr = 10.0.80.14
host = ceph2
[osd.7]
cluster addr = 10.0.80.14
host = ceph2
[osd.8]
cluster addr = 10.0.80.14
host = ceph2
[osd.9]
cluster addr = 10.0.80.14
host = ceph2

[osd.10]
cluster addr = 10.0.80.15
host = ceph3
[osd.11]
cluster addr = 10.0.80.15
host = ceph3
[osd.12]
cluster addr = 10.0.80.15
host = ceph3
[osd.13]
cluster addr = 10.0.80.15
host = ceph3
[osd.14]
cluster addr = 10.0.80.15
host = ceph3

ceph df

cephadmin@cnc:~$ ceph df
GLOBAL:
    SIZE       AVAIL      RAW USED     %RAW USED
    55788G     55699G       90973M          0.16
POOLS:
    NAME              ID     USED     %USED     MAX AVAIL     OBJECTS
    rbd_vmstorage     4         0         0        27849G           0
cephadmin@cnc:~$

ceph osd дерево

cephadmin@cnc:~$ ceph osd tree
ID WEIGHT   TYPE NAME      UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 54.47983 root default
-2 18.15994     host ceph1
 0  3.63199         osd.0       up  1.00000          1.00000
 1  3.63199         osd.1       up  1.00000          1.00000
 2  3.63199         osd.2       up  1.00000          1.00000
 3  3.63199         osd.3       up  1.00000          1.00000
 4  3.63199         osd.4       up  1.00000          1.00000
-3 18.15994     host ceph2
 5  3.63199         osd.5       up  1.00000          1.00000
 6  3.63199         osd.6       up  1.00000          1.00000
 7  3.63199         osd.7       up  1.00000          1.00000
 8  3.63199         osd.8       up  1.00000          1.00000
 9  3.63199         osd.9       up  1.00000          1.00000
-4 18.15994     host ceph3
10  3.63199         osd.10      up  1.00000          1.00000
11  3.63199         osd.11      up  1.00000          1.00000
12  3.63199         osd.12      up  1.00000          1.00000
13  3.63199         osd.13      up  1.00000          1.00000
14  3.63199         osd.14      up  1.00000          1.00000

crushmap декомпилировать.

# begin crush map
tunable choose_local_tries 0
tunable choose_local_fallback_tries 0
tunable choose_total_tries 50
tunable chooseleaf_descend_once 1
tunable chooseleaf_vary_r 1
tunable straw_calc_version 1

# devices
device 0 osd.0
device 1 osd.1
device 2 osd.2
device 3 osd.3
device 4 osd.4
device 5 osd.5
device 6 osd.6
device 7 osd.7
device 8 osd.8
device 9 osd.9
device 10 osd.10
device 11 osd.11
device 12 osd.12
device 13 osd.13
device 14 osd.14

# types
type 0 osd
type 1 host
type 2 chassis
type 3 rack
type 4 row
type 5 pdu
type 6 pod
type 7 room
type 8 datacenter
type 9 region
type 10 root

# buckets
host ceph1 {
        id -2           # do not change unnecessarily
        # weight 18.160
        alg straw
        hash 0  # rjenkins1
        item osd.0 weight 3.632
        item osd.1 weight 3.632
        item osd.2 weight 3.632
        item osd.3 weight 3.632
        item osd.4 weight 3.632
}
host ceph2 {
        id -3           # do not change unnecessarily
        # weight 18.160
        alg straw
        hash 0  # rjenkins1
        item osd.5 weight 3.632
        item osd.6 weight 3.632
        item osd.7 weight 3.632
        item osd.8 weight 3.632
        item osd.9 weight 3.632
}
host ceph3 {
        id -4           # do not change unnecessarily
        # weight 18.160
        alg straw
        hash 0  # rjenkins1
        item osd.10 weight 3.632
        item osd.11 weight 3.632
        item osd.12 weight 3.632
        item osd.13 weight 3.632
        item osd.14 weight 3.632
}
root default {
        id -1           # do not change unnecessarily
        # weight 54.480
        alg straw
        hash 0  # rjenkins1
        item ceph1 weight 18.160
        item ceph2 weight 18.160
        item ceph3 weight 18.160
}

# rules
rule replicated_ruleset {
        ruleset 0
        type replicated
        min_size 1
        max_size 10
        step take default
        step chooseleaf firstn 0 type chassis
        step emit
}

# end crush map

Должно ли на создание пула уйти больше недели? Я где-то сделал что-то не так в конфиге, и они не разговаривают друг с другом или что-то еще? Я выполню любые команды, которые вы хотите, чтобы я запустил, если вам нужна дополнительная информация, просто опубликуйте команду, и я ее запустю. Мне просто нужна какая-то идея, так как я действительно хочу попробовать / использовать ceph, но в настоящее время я застрял на уровне своих знаний и изо всех сил пытаюсь найти дополнительные знания / похожие проблемы с поиском в Google

Вы можете обратиться сюда

https://github.com/ceph/ceph/commit/b73d0d325d382e32662ba5fab3c3f4d3a1b1681b

Раньше у нас был сложный процесс создания pg, в котором мы запрашивали любые предыдущие сопоставления для pg перед тем, как создать новый «пустой» pg локально. Отслеживание предыдущих сопоставлений было очень простым (и сломанным), но на самом деле это не имело значения, потому что mon периодически отправлял pg create сообщения. Теперь это не так, так что это сломалось.

Я бы начал смотреть в OSD

  1. ceph сообщает osd.0 injectargs --debug-osd 0/5
  2. Посмотрите здесь команды для пулов http://docs.ceph.com/docs/jewel/rados/operations/pools/

Если это не сработает, измените все на максимальный уровень отладки http://docs.ceph.com/docs/master/rados/troubleshooting/log-and-debug/, затем проверьте файлы журнала, описанные в документации.

С моим ограниченным знанием CEPH, я думаю, что лучше просто просмотреть онлайн-документацию (поскольку версия CEPH быстро развивается, затем попытайтесь понять функции, добавьте отладку, где можете, посмотрите журналы).

Сообщите мне, какие ошибки вы обнаружите.