Как настроить OSD-контейнер для CEHP - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь настроить кластер CEPH с помощью док-контейнеров, однако я не могу запустить контейнер для OSD. Я запустил контейнер монитора следующей командой:

docker run -d --net=host --name MON -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph -e MON_IP=1.1.1.1 -e CEPH_PUBLIC_NETWORK=1.1.1.0/24 ceph/daemon mon

Затем для запуска OSD я использую:

docker run -d --net=host --name OSD --privileged=true -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph -v /dev/:/dev/ -e OSD_DEVICE=/dev/sdc ceph/daemon osd_ceph_disk

, но не работает со следующими журналами:

2019-05-10 13:28:59  /opt/ceph-container/bin/entrypoint.sh: static: does not generate config
Error: /dev/sdc: unrecognised disk label
2019-05-10 13:28:59  /opt/ceph-container/bin/entrypoint.sh: Device detected, assuming ceph-disk scenario is desired
2019-05-10 13:28:59  /opt/ceph-container/bin/entrypoint.sh: Preparing and activating /dev/sdc
HEALTH_WARN 1 osds down; 1 host (1 osds) down; 1 root (1 osds) down; no active mgr
Error: /dev/sdc: unrecognised disk label
/opt/ceph-container/bin/osd_disk_prepare.sh: line 46: ceph-disk: command not found

Я использую монитор и osd на одном устройстве, и я уверен, что на хосте существует /dev/sdc. У меня есть докер 1.12.6, build 5680db5/1.12.6 версия.

ceph -s вывод с монитора:

    id:     5bf42838-97f0-492b-81ac-58c7c39a56b3
    health: HEALTH_WARN
            1 osds down
            1 host (1 osds) down
            1 root (1 osds) down
            no active mgr
            mon localhost is low on available space

  services:
    mon:        1 daemons, quorum localhost (age 3d)
    mgr:        no daemons active (since 4d)
    mds:        cephfs:1 {0=demo=up:active(laggy or crashed)}
    osd:        2 osds: 0 up (since 4d), 1 in (since 5d)
    rbd-mirror: 1 daemon active (4137)
    rgw:        1 daemon active (localhost)

  data:
    pools:   8 pools, 64 pgs
    objects: 250 objects, 5.3 KiB
    usage:   1.0 GiB used, 9.0 GiB / 10 GiB avail
    pgs:     64 active+clean

Конечная цель, которую я хочу достичь, - это минимальный Docker Ceph Cluser с блочным устройством, используемым для хранения.

1 Ответ

0 голосов
/ 16 мая 2019

Я знаю, что мой ответ не решит ваш вопрос, но почему бы вам не использовать ладью [1]? Ладья отлично работает с k8s [2] и уже была принята в проект инкубации Cloud Native Computing Foundation, имеет отличное сообщество для слабины [3].

Тебе стоит попробовать.

[1] https://rook.io/
[2] https://rook.io/docs/rook/master/ceph-quickstart.html
[3] https://slack.rook.io/

Ура!

...