Debian Wheezy 上 RadosGW 的 Curl_multi_wait 支持添加
laurentbarbe
WARNING: libcurl doesn't support curl_multi_wait()
WARNING: cross zone / region transfer performance may be affected
如果您已经在 RadosGW 启动时遇到此错误,问题在于使用的 libcurl 版本。要启用 curl_multi_wait 的支持,您需要使用 libcurl >= 7.28.0 编译 radosgw:http://curl.haxx.se/libcurl/c/curl_multi_wait.html
在 debian wheezy 上,您可以使用 ceph-extras 仓库,其中包含 libcurl 7.29.0,以重新编译 ceph 包
# apt-cache policy libcurl4-gnutls-dev
libcurl4-gnutls-dev:
Installed: (none)
Candidate: 7.26.0-1+wheezy13
# echo deb https://ceph.net.cn/packages/ceph-extras/debian wheezy main | tee /etc/apt/sources.list.d/ceph-extras.list
# apt-get update
# apt-cache policy libcurl4-gnutls-dev
libcurl4-gnutls-dev:
Installed: (none)
Candidate: 7.29.0-1~bpo70+1.ceph
从 Github 上获取 Ceph 仓库(在此示例中,我使用 hammer 版本)
# apt-get install git build-essential automake
# git clone --recursive https://github.com/ceph/ceph.git -b hammer
# cd ceph
安装依赖项并构建软件包(无需 libbabeltrace-ctf-dev libbabeltrace-dev,在这里我们不需要……)
# apt-get install autoconf automake autotools-dev libbz2-dev cryptsetup-bin debhelper default-jdk gdisk javahelper junit4 libaio-dev libatomic-ops-dev libblkid-dev libboost-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libcurl4-gnutls-dev libedit-dev libexpat1-dev libfcgi-dev libfuse-dev libgoogle-perftools-dev libkeyutils-dev libleveldb-dev libnss3-dev libsnappy-dev liblttng-ust-dev libtool libudev-dev libxml2-dev parted pkg-config python-nose python-virtualenv sdparm uuid-dev uuid-runtime xfslibs-dev xfsprogs xmlstarlet yasm zlib1g-dev
# dpkg-buildpackage -d
在 RadosGW 主机上,您需要添加“ceph-extras”仓库(用于 libcurl)并安装 radosgw 包和依赖项
# echo deb https://ceph.net.cn/packages/ceph-extras/debian wheezy main | tee /etc/apt/sources.list.d/ceph-extras.list
# apt-get update
# dpkg -i ceph-common_*.deb librbd1_*.deb python-cephfs_*.deb python-rbd_*.deb librados2_*.deb python-ceph_*.deb python-rados_*.deb radosgw_*.deb