<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>35069</bug_id>
          
          <creation_ts>2018-06-22 09:16:24 +0300</creation_ts>
          <short_desc>Старая версия модуля rbd</short_desc>
          <delta_ts>2018-09-21 22:28:08 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>kernel-image-std-def</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>RS</keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgeniy Korneechev">ekorneechev</reporter>
          <assigned_to name="Vitaly Chikunov">vt</assigned_to>
          <cc>ekorneechev</cc>
    
    <cc>evg</cc>
    
    <cc>kernelbot</cc>
    
    <cc>placeholder</cc>
    
    <cc>shaba</cc>
    
    <cc>snejok</cc>
    
    <cc>taf</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>172034</commentid>
    <comment_count>0</comment_count>
    <who name="Evgeniy Korneechev">ekorneechev</who>
    <bug_when>2018-06-22 09:16:24 +0300</bug_when>
    <thetext>Имеется кластер CEPH Luminous 12.2.
Исходное состояние кластера CEPH:
# ceph features
{
    &quot;mon&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 3
        }
    },
    &quot;osd&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 12
        }
    },
    &quot;client&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 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 &lt;jeff@garzik.org&gt;
author:         Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
author:         Sage Weil &lt;sage@newdream.net&gt;
author:         Alex Elder &lt;elder@inktank.com&gt;
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 &apos;10.0.1.159,10.0.1.171,10.0.1.172 name=admin,secret=AQDcD7XXXXXXXXXXXXXXXXXXXXXb1uJTA== rbd myblock&apos; &gt; /sys/bus/rbd/add
# l /dev/rbd0
brw-rw---- 1 root disk 251, 0 июн  9 10:46 /dev/rbd0
Добавился клиент:
# ceph features
{
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x40106b84a842a52&quot;,
            &quot;release&quot;: &quot;jewel&quot;,
            &quot;num&quot;: 1
        },

Как видно релиз клиента отображается &quot;jewel&quot; (ceph 10), а не &quot;luminous&quot;.
Требуется обновление модуля rbd?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174350</commentid>
    <comment_count>1</comment_count>
    <who name="Evgeniy Korneechev">ekorneechev</who>
    <bug_when>2018-09-20 18:39:09 +0300</bug_when>
    <thetext>Немного дополню, проверил также на следующих ядрах:

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
{
    &quot;mon&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 3
        }
    },
    &quot;osd&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 12
        }
    },
    &quot;client&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 3
        }
    }
}
root@pve-node1:~# rbd create myblock --image-format 2 --size 6291456

Пытаемся подключить устройство на Альте:
root@client-alt8:~# modprobe rbd
root@client-alt8:~# echo &apos;192.168.233.47:6789,192.168.233.48:6789,192.168.233.49:6789 name=admin,secret=...== rbd myblock&apos; &gt; /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 &quot;rbd feature disable myblock1 object-map fast-diff deep-flatten&quot;.
In some cases useful info is found in syslog - try &quot;dmesg | tail&quot;.
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 ... &gt; /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
{
    &quot;mon&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 3
        }
    },
    &quot;osd&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 12
        }
    },
    &quot;client&quot;: {
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x7018fb86aa42ada&quot;,
            &quot;release&quot;: &quot;jewel&quot;,
            &quot;num&quot;: 1
        },
        &quot;group&quot;: {
            &quot;features&quot;: &quot;0x1ffddff8eea4fffb&quot;,
            &quot;release&quot;: &quot;luminous&quot;,
            &quot;num&quot;: 4
        }
    }
}

Также есть сообщение с форума: https://forum.proxmox.com/threads/rbd-map-rbd-image-feature-set-mismatch.36070/
Судя по всему модуль rbd просто существенно отстает от librbd1.
Но все таки хочется получить ответ на вопрос - возможно ли обновить модуль rbd в ядрах?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174360</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-09-20 21:32:55 +0300</bug_when>
    <thetext>Еще ни одно ядро не поддерживает этих features.
Эти параметры можно отключать динамически и индивидуально для нужного образа.
Так же рекомендую попробовать использовать rbd-nbd, возможно с ним заработают эти фичи.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174412</commentid>
    <comment_count>3</comment_count>
    <who name="Evgeniy Korneechev">ekorneechev</who>
    <bug_when>2018-09-21 17:58:00 +0300</bug_when>
    <thetext>(В ответ на комментарий №2)
&gt; Еще ни одно ядро не поддерживает этих features.
&gt; Эти параметры можно отключать динамически и индивидуально для нужного образа.
&gt; Так же рекомендую попробовать использовать rbd-nbd, возможно с ним заработают
&gt; эти фичи.

Дополнение от конечного пользователя:
&gt;Наше программное обеспечение работает только через kernel rbd. 
&gt;У нас есть CEPH luminous на котором мы включили функционал UPMAP
&gt;(http://docs.ceph.com/docs/mimic/rados/operations/upmap/). Что будет
&gt; происходить, если мы подключимся к нему через Alt - kernel rbd ?
&gt; CEPH не сможет оптимально распределить PGs по OSD ???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174413</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2018-09-21 17:59:09 +0300</bug_when>
    <thetext>Мне кажется что обновить rbd не должно быть проблемой.
Надо просто поставить эту задачу в очередь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174416</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-09-21 22:28:08 +0300</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; Мне кажется что обновить rbd не должно быть проблемой.
&gt; Надо просто поставить эту задачу в очередь.

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

    </bug>

</bugzilla>