linux自带的gcc支持的ceph,Openstack对接Ceph时的错误

本次 Openstack 版本为N版ceph版本为J版在对接volume和glance时非常轻松不过在对接nova的时候坑了一下午。

ERROR nova.compute.manager [instance: b6b53548-2d12-4019-a189-1d006455dfa3] 2017-08-07T14:09:55.209454Z qemu-system-x86_64: -drive file=rbd:vms/b6b53548-2d12-4019-a189-1d006455dfa3_disk:id=cinder:auth_supported=cephx\;none:mon_host=192.168.0.151\:6789,file.password-secret=virtio-disk0-secret0,format=raw,if=none,id=drive-virtio-disk0,cache=none: Unknown protocol 'rbd'

意思是说不支持rbd协议 于是乎查看自己的qemu。

[root@compute01 ~]# qemu-img --help | grep rbd

[root@compute01 ~]#

注此时我已经装了ceph相关的包现在已经有了rbd的命令内核已经也已经有了rbd现在是qemu不支持rbd协议接下来继续证明这个事情

[root@compute01 ~]# rados lspools

glance

volumes

vms

rbd

images

[root@compute01 ~]# rbd ls volumes

volume-4a898a0e-40db-4846-b944-079891598ae4

[root@compute01 ~]#

[root@compute01 ~]# qemu-img create -f raw rbd:volumes/test 5G

qemu-img: rbd:volumes/test: Unknown protocol 'rbd'

[root@compute01 ~]#

可以看到直接让qemu使用ceph都不行报不支持rbd协议此时 我回想自己编译qemu时是默认选项查了好多文档默认是不支持rbd的所以要重新编译此次开启rbd

[root@compute01 qemu-2.9.0]# ./configure --enable-rbd

No C++ compiler available; disabling C++ specific optional code

ERROR: User requested feature rados block device

configure was not able to find it.

Install librbd/ceph devel

报No C++我们来安装包

[root@compute01 qemu-2.9.0]# yum install gcc  gcc-c++

Installed:

gcc-c++.x86_64 0:4.8.5-11.el7

Dependency Installed:

libstdc++-devel.x86_64 0:4.8.5-11.el7

Complete!

再次编译

[root@compute01 qemu-2.9.0]# ./configure --enable-rbd

ERROR: User requested feature rados block device

configure was not able to find it.

Install librbd/ceph devel

报找不到ceph 的librdb我们继续装包

[root@compute01 qemu-2.9.0]# yum install ceph-devel

Loaded plugins: fastestmirror, priorities

Loading mirror speeds from cached hostfile

Resolving Dependencies

--> Running transaction check

---> Package ceph-devel-compat.x86_64 1:10.2.9-0.el7 will be installed

Installed:

ceph-devel-compat.x86_64 1:10.2.9-0.el7

Dependency Installed:

libcephfs1-devel.x86_64 1:10.2.9-0.el7                          libcephfs_jni1.x86_64 1:10.2.9-0.el7

libcephfs_jni1-devel.x86_64 1:10.2.9-0.el7                      librados2-devel.x86_64 1:10.2.9-0.el7

libradosstriper1-devel.x86_64 1:10.2.9-0.el7                    librbd1-devel.x86_64 1:10.2.9-0.el7

Complete!

再次编译

[root@compute01 qemu-2.9.0]# ./configure --enable-rbd

Install prefix    /usr/local

BIOS directory    /usr/local/share/qemu

binary directory  /usr/local/bin

library directory /usr/local/lib

module directory  /usr/local/lib/qemu

libexec directory /usr/local/libexec

include directory /usr/local/include

config directory  /usr/local/etc

local state directory  /usr/local/var

Manual directory  /usr/local/share/man

ELF interp prefix /usr/gnemul/qemu-%M

rbd support      yes ###重点来了

NUMA host support no

tcmalloc support  no

jemalloc support  no

avx2 optimization yes

replication support yes

[root@compute01 qemu-2.9.0]# make && make install

大概等了3个小时终于编译完成!

install -c -m 0755 qemu-tilegx  "/usr/local/bin"

strip "/usr/local/bin/qemu-tilegx"

install -d -m 0755 "/usr/local/bin"

install -c -m 0755 qemu-x86_64  "/usr/local/bin"

strip "/usr/local/bin/qemu-x86_64"

[root@compute01 qemu-2.9.0]#

再次查看是否支持rbd

[root@compute01 ~]# qemu-img -h|grep rbd

Supported formats: blkdebug blkreplay blkverify bochs cloop dmg file host_cdrom host_device luks nbd null-aio null-co parallels qcow qcow2 qed quorum raw rbd replication sheepdog vdi vhdx vmdk vpc vvfat

[root@compute01 ~]#

qemu已经支持rbd了!此次任务完成!

更多Ceph相关教程见以下内容:

Ceph 的详细介绍:请点这里

Ceph 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值