Bug 35069 - Старая версия модуля rbd
Summary: Старая версия модуля rbd
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-std-def (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Vitaly Chikunov
QA Contact: qa-sisyphus
URL:
Keywords: RS
Depends on:
Blocks:
 
Reported: 2018-06-22 09:16 MSK by Evgeniy Korneechev
Modified: 2018-09-21 22:28 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeniy Korneechev 2018-06-22 09:16:24 MSK
Имеется кластер CEPH Luminous 12.2.
Исходное состояние кластера CEPH:
# ceph features
{
    "mon": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 3
        }
    },
    "osd": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 12
        }
    },
    "client": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 5
        }
    }
}

Имеется свежая регулярка.
# uname -r
4.9.109-std-def-alt1

В ядре имеется модуль rbd для подключения к блочным устройствам CEPH:
# modinfo rbd
filename:       /lib/modules/4.9.109-std-def-alt1/kernel/drivers/block/rbd.ko.gz
license:        GPL
description:    RADOS Block Device (RBD) driver
author:         Jeff Garzik <jeff@garzik.org>
author:         Yehuda Sadeh <yehuda@hq.newdream.net>
author:         Sage Weil <sage@newdream.net>
author:         Alex Elder <elder@inktank.com>
srcversion:     1109D05FF76CD0C920D96E6
depends:        libceph
intree:         Y
vermagic:       4.9.109-std-def-alt1 SMP mod_unload modversions 686 
parm:           single_major:Use a single major number for all rbd devices (default: false) (bool)

Пробуем подключить ПК как клиента к кластеру:
# echo '10.0.1.159,10.0.1.171,10.0.1.172 name=admin,secret=AQDcD7XXXXXXXXXXXXXXXXXXXXXb1uJTA== rbd myblock' > /sys/bus/rbd/add
# l /dev/rbd0
brw-rw---- 1 root disk 251, 0 июн  9 10:46 /dev/rbd0
Добавился клиент:
# ceph features
{
        "group": {
            "features": "0x40106b84a842a52",
            "release": "jewel",
            "num": 1
        },

Как видно релиз клиента отображается "jewel" (ceph 10), а не "luminous".
Требуется обновление модуля rbd?
Comment 1 Evgeniy Korneechev 2018-09-20 18:39:09 MSK
Немного дополню, проверил также на следующих ядрах:

root@client-alt8:~# rpm -qa *kernel-image*
kernel-image-std-def-4.14.70-alt1.x86_64
kernel-image-un-def-4.18.8-alt1.x86_64

Одна из нод кластера:
root@pve-node1:~# ceph features
{
    "mon": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 3
        }
    },
    "osd": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 12
        }
    },
    "client": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 3
        }
    }
}
root@pve-node1:~# rbd create myblock --image-format 2 --size 6291456

Пытаемся подключить устройство на Альте:
root@client-alt8:~# modprobe rbd
root@client-alt8:~# echo '192.168.233.47:6789,192.168.233.48:6789,192.168.233.49:6789 name=admin,secret=...== rbd myblock' > /sys/bus/rbd/add_single_major
-bash: echo: ошибка записи: Нет такого устройства или адреса

Диагностических сообщений на CEPH ни в логе, ни в dmesg нет...
Решил подключить на одной из нод созданное устройство:
root@pve-node1:~# rbd map rbd/myblock
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the
kernel with "rbd feature disable myblock1 object-map fast-diff deep-flatten".
In some cases useful info is found in syslog - try "dmesg | tail".
rbd: map failed: (6) No such device or address

В dmesg в это время:
[12805.737053] libceph: mon1 192.168.233.48:6789 session established
[12805.739319] libceph: client658450 fsid 238f5402-528d-467f-9016-b1f29a9e497f
[12805.811381] rbd: image myblock: image uses unsupported features: 0x38

Собственно отключили эти фичи (отключал по отдельности - однако все равно понадобились все):
root@pve-node1:~# rbd feature disable myblock object-map fast-diff deep-flatten

Собственно после этого подключение прошло успешно:
root@client-alt8:~# echo ... > /sys/bus/rbd/add_single_major
root@client-alt8:~# l /dev/rbd0
brw-rw---- 1 root disk 251, 0 сен 20 18:00 /dev/rbd0

Но результат jewel на всех ядрах....:
root@pve-node1:~# ceph features
{
    "mon": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 3
        }
    },
    "osd": {
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 12
        }
    },
    "client": {
        "group": {
            "features": "0x7018fb86aa42ada",
            "release": "jewel",
            "num": 1
        },
        "group": {
            "features": "0x1ffddff8eea4fffb",
            "release": "luminous",
            "num": 4
        }
    }
}

Также есть сообщение с форума: https://forum.proxmox.com/threads/rbd-map-rbd-image-feature-set-mismatch.36070/
Судя по всему модуль rbd просто существенно отстает от librbd1.
Но все таки хочется получить ответ на вопрос - возможно ли обновить модуль rbd в ядрах?
Comment 2 Alexey Shabalin 2018-09-20 21:32:55 MSK
Еще ни одно ядро не поддерживает этих features.
Эти параметры можно отключать динамически и индивидуально для нужного образа.
Так же рекомендую попробовать использовать rbd-nbd, возможно с ним заработают эти фичи.
Comment 3 Evgeniy Korneechev 2018-09-21 17:58:00 MSK
(В ответ на комментарий №2)
> Еще ни одно ядро не поддерживает этих features.
> Эти параметры можно отключать динамически и индивидуально для нужного образа.
> Так же рекомендую попробовать использовать rbd-nbd, возможно с ним заработают
> эти фичи.

Дополнение от конечного пользователя:
>Наше программное обеспечение работает только через kernel rbd. 
>У нас есть CEPH luminous на котором мы включили функционал UPMAP
>(http://docs.ceph.com/docs/mimic/rados/operations/upmap/). Что будет
> происходить, если мы подключимся к нему через Alt - kernel rbd ?
> CEPH не сможет оптимально распределить PGs по OSD ???
Comment 4 Anton Farygin 2018-09-21 17:59:09 MSK
Мне кажется что обновить rbd не должно быть проблемой.
Надо просто поставить эту задачу в очередь.
Comment 5 Alexey Shabalin 2018-09-21 22:28:08 MSK
(В ответ на комментарий №4)
> Мне кажется что обновить rbd не должно быть проблемой.
> Надо просто поставить эту задачу в очередь.

Ещё раз объясните мне, что и откуда вы собрались обновлять?