rbd map失败的一个问题

  1. rbd map时返回如下错误:
     $ sudo rbd map rbd/testobj
     rbd: sysfs write failed
     rbd: map failed: (22) Invalid argument
 
  1. dmesg看到如下信息:
     [148169.753807] libceph: mon2 10.1.0.11:6789 session established
     [148169.762646] rbd: image testobj: unsupported stripe unit (got 4194304 want 33554432)

  1. rbd info查看object信息
     # rbd info testobj
     rbd image 'testobj':
             size 10240 MB in 320 objects
             order 25 (32768 kB objects)
             block_name_prefix: rbd_data.4d786b8b4567
             format: 2
             features: layering, striping
             flags:
             stripe unit: 4096 kB
             stripe count: 8

  1. 查看/etc/ceph/ceph.conf里面的配置信息
     [client]
         ...
         rbd_default_order = 25
         rbd_default_stripe_unit = 4194304
         rbd_default_stripe_count = 8

  1. 应该是krbd不支持striping格式的volume的原因

解决办法:创建rbd volume时候指定stripe-unit和stripe-count
rbd create testobj --size 10240 --image-format 2 --stripe-unit 33554432 --stripe-count 1

你可能感兴趣的:(ceph,常见故障排除)