ceph编译及虚拟机环境搭建

虚拟机前置通用步骤:配置静态ip、更换yum源、安装git。

机器配置

建议:内存8G以上,硬盘容量40G以上。

系统:Centos 7

配置代理

https 下载

使用 export 命令,每次重启电脑都需要重新开启代理,可以通过向 /etc/profile.d/proxy.sh 写入环境变量来持久化 ip 代理。

#ip代理 
export http_proxy=http://192.168.30.216:7890

export https_proxy=https://192.168.30.216:7890

#关闭ip代理
unset http_proxy

unset https_proxy

#git代理
git config --global http.proxy http://192.168.30.216:7890

git config --global https.proxy https://192.168.30.216:7890

#关闭git代理
git config --global --unset http.proxy

git config --global --unset https.proxy

#如果是虚拟机走主机代理,请打开主机代理软件的 Allow LAN(允许局域网内机器通过代理)

ssh 下载

参考链接:https://www.cnblogs.com/cscshi/p/15705045.html

编辑 ~/.ssh/config 文件,给文件加上如下对应内容

 # HTTP 代理
Host github.com
    User git
    ProxyCommand nc -X connect -x 127.0.0.1:7890 %h %p

解释:

Host 后面 接的 github.com 是指定要走代理的仓库域名。
在 ProxyCommand 中,Linux 和 macOS 用户用的是 nc。
-X 选项后面接的是 connect 的意思是 HTTPS 代理。
-x 选项后面加上代理地址和端口号。
在调用 ProxyCommand 时,%h 和 %p 将会被自动替换为目标主机名和 SSH 命令指定的端口(%h 和 %p 不要修改,保留原样即可)。

源码下载

git clone https://github.com/ceph/ceph.git
cd ceph
git tag
git checkout  v14.2.7
git checkout -b v14.2.7

编译

安装 gcc 7

安装scl软件集。

yum -y install centos-release-scl

修改scl repo源。

vi /etc/yum.repos.d/CentOS-SCLo-scl.repo

添加以下字段:

baseurl=http://mirror.centos.org/altarch/7/sclo/$basearch/rh/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MGBJL8fN-1634778188119)(C:\Users\wq\AppData\Roaming\Typora\typora-user-images\image-20201130204714481.png)]

模拟gcc7编译环境

yum -y install devtoolset-7

scl enable devtoolset-7 bash #每次重启需要重新输入,启用gcc7

gcc --version

编译 ceph

git submodule update --init --recursive
./install-deps.sh

# 可以在编译是,通过ARGS参数为cmake附加参数。如下命令作用开启cephfs-shell
# ARGS="-DWITH_PYTHON3=3 -DWITH_CEPHFS_SHELL=ON" ./do_cmake.sh 
./do_cmake.sh
cd build/
#关闭代理,否则可能报错
unset http_proxy
unset https_proxy
make -j 4

参考链接

https://support.huaweicloud.com/prtg-kunpengsdss/kunpengceph_02_0003.html

问题

  1. 问题描述: Error: No Package found for python-scipy

    解决方法:I was able to fix this dependency problem by deleting the 'BuildRequires: python%{python_buildid}-scipy’ line from the ceph.spec.in file:

    sed -i -e '/BuildRequires:  python%{_python_buildid}-scipy/d' ceph.spec.in
    

    参考连接:https://www.spinics.net/lists/ceph-users/msg63428.html

  2. 问题描述:Could not fetch URL https://pypi.org/simple/wheel/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org’, port=443): Max retries exceeded with url: /simple/wheel/ (Caused by SSLError(SSLEOFError(8, u’EOF occurred in violation of protocol (_ssl.c:618)‘),)) - skipping
    ERROR: Could not find a version that satisfies the requirement wheel>=0.24 (from versions: none)
    ERROR: No matching distribution found for wheel>=0.24
    Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org’, port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLEOFError(8, u’EOF occurred in violation of protocol (_ssl.c:618)’),)) - skipping

    解决方法:换国内 pip 源

    pip install xlrd -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    
  3. 问题描述:-- Could NOT find RDKafka: Found unsuitable version “0.11.5”, but required is at least “1.9.2” (found /usr/include)

    解决方法:安装新版本 librdkafka

    1,Git clone
    
    git clone https://github.com/edenhill/librdkafka.git
    
    2,cd librdkafka/
    
    3,./configure 
    
    4,make
    
    5,sudo make install
    

git 子模块

修改 ceph/.gitmoudles 文件中url路径

使用国内镜像,目前已知Github国内镜像网站有github.com.cnpmjs.orggit.sdut.me/。速度根据各地情况而定,在clone某个项目的时候将github.com替换为github.com.cnpmjs.org即可。

wq@ubuntu:~/ceph$ vi ./.gitmodules
ubmodule "src/c-ares"]
        path = src/c-ares
        url = https://github.com.cnpmjs.org/ceph/c-ares.git
...

更新 git config

sudo git submodule sync
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ceph是一个分布式存储系统,可以提供高性能、可靠性和可扩展性的存储解决方案。Ceph的文件系统(CephFS)是其核心组件之一,可以提供类似传统文件系统的访问方式。 要搭建CephFS,首先需要从源码编译Ceph。以下是一个大致的步骤: 1. 下载Ceph源码:可以从Ceph官方网站上获取源码的压缩包,也可以通过GitCeph的代码仓库中克隆最新的源码。 2. 安装依赖项:编译Ceph需要一些依赖项,如CMake、GCC、Python等。确保这些依赖项已经安装在系统中。 3. 配置编译选项:进入Ceph源码目录,运行命令"CMake ."来生成编译脚本。可以根据需要配置编译选项,例如启用CephFS支持。 4. 编译源码:运行命令"make -j"进行编译,"-j"选项可以并行编译以加快编译时间。 5. 安装二进制文件:编译完成后,运行命令"sudo make install"将二进制文件安装到系统路径中。 6. 配置Ceph集群:在搭建CephFS之前,需要先配置一个Ceph集群。这包括设置监视器(Monitor)和存储后端(OSD),以及创建认证密钥等。 7. 创建CephFS:在Ceph集群配置完成后,可以通过命令"ceph fs new cephfs_data metadata"来创建一个名为cephfs_data的CephFS。这将在集群中的一个数据池中创建CephFS的元数据。 8. 挂载CephFS:在创建CephFS后,可以使用命令"sudo mount -t ceph <MONITOR_IP>:6789:/ /path/to/mount"将CephFS挂载到本地文件系统中。将<MONITOR_IP>替换为Ceph监视器的IP地址。 通过以上步骤,您应该能够成功编译和搭建CephFS。然后,您可以通过CephFS提供的类似传统文件系统的API和工具来管理和访问分布式存储。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值