| Summary: | Старая версия модуля rbd | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Evgeniy Korneechev <ekorneechev> |
| Component: | kernel-image-std-def | Assignee: | Vitaly Chikunov <vt> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | CC: | ekorneechev, evg, kernelbot, placeholder, shaba, snejok, taf, vt |
| Version: | unstable | Keywords: | RS |
| Hardware: | all | ||
| OS: | Linux | ||
Немного дополню, проверил также на следующих ядрах:
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 в ядрах?
Еще ни одно ядро не поддерживает этих features. Эти параметры можно отключать динамически и индивидуально для нужного образа. Так же рекомендую попробовать использовать rbd-nbd, возможно с ним заработают эти фичи. (В ответ на комментарий №2) > Еще ни одно ядро не поддерживает этих features. > Эти параметры можно отключать динамически и индивидуально для нужного образа. > Так же рекомендую попробовать использовать rbd-nbd, возможно с ним заработают > эти фичи. Дополнение от конечного пользователя: >Наше программное обеспечение работает только через kernel rbd. >У нас есть CEPH luminous на котором мы включили функционал UPMAP >(http://docs.ceph.com/docs/mimic/rados/operations/upmap/). Что будет > происходить, если мы подключимся к нему через Alt - kernel rbd ? > CEPH не сможет оптимально распределить PGs по OSD ??? Мне кажется что обновить rbd не должно быть проблемой. Надо просто поставить эту задачу в очередь. |
Имеется кластер 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?