centos 6 下编译打包 ceph 10.2.0

ceph存储 Centos下建立RPM包中spec文件编写说明书 Centos RPM Build Shell SPEC FILE INSTRUCTIONS 一、概述 Rpm包制作最重要的就是编写.spec脚本。rpm建包的原理其实并不复杂,可以理解为按照标准的格式整理一些信息,包括:软件基础信息,以及安装、卸载前后执行的脚本,对源码包解压、打补丁、编译,安装路径和文件等。    实际过程中,最关键的地方,是要清楚虚拟路径的位置,以 阅读详情

 先来看看release note: http://docs.ceph.com/docs/master/release-notes/#v10-2-0-jewel

but CentOS 7.x. We have dropped support for CentOS 6

但是鉴于全部升级操作系统会是比较缓慢的过程所以先在现有环境编译打包

1.download
wget http://download.ceph.com/tarballs/ceph_10.2.0.orig.tar.gz
2.打包准备
tar -xzvf ceph_10.2.0.orig.tar.gz
从 src/tools/Makefile-client.am 删除rbd-nbd的相关编译项目,因为内核默认的nbd模块版本比较低不支持rbd-nbd的操作,如果需也可以选择升级这个模块
cp ceph.spec  ./
tar -cjf  ~/rpmbuild/SOURCES/ceph-10.2.0.tar.bz2 ceph-10.2.0
3.需要支持c++11的编译器
wget http://gcc.skazkaforyou.com/releases/gcc-4.9.0/gcc-4.9.0.tar.gz;
tar gcc-4.9.0.tar.gz
cd gcc-4.9.0
./contrib/download_prerequisites
yum install glibc-devel
./configure --prefix=/usr/local --enable-languages=c,c++ --disable-multilib
make install
4.安装boost
1.53 即可
解压后
由于ceph 连接的时mt版本,默认时最小编译,所以需要全部编译,另外最好卸载系统中现有的版本(实际上设置好链接顺序不会有问题)
./b2 --prefix=/usr/local  --build-type=complete --layout=tagged  install
5.安装patch
git clone https://github.com/ceph/ceph.git
cp init-ceph.in-fedora.patch ~/rpmbuild/SOURCES/
6.安装提示的依赖
rpmbuild -bb ceph.spec
注意只安装python 以外的依赖即可,由于ceph中的工具现在不再支持python2.6版本,安装python2.7版本会可能会影响yum 的使用所以现在先将其他的以来都装了省的一会麻烦
不用理会boost 和 /usr/share/selinux/devel/policyhelp is needed by ceph-1:10.2.0-0.el6.x86_64 以来
只要确认boost 安装成功一会从spec文件注释掉以来检测即可
policyhelp 比较麻烦
  https://fedoraproject.org/wiki/SELinux_Policy_Modules_Packaging_Draft
  The /usr/share/selinux/devel/policyhelp requirement was necessary to extract the version number of the selinux-policy package being built against, which is used to enforce a minimum version requirement on selinux-policy when the built package is installed. The policyhelp file itself can be found in either the selinux-policy, selinux-policy-devel, or selinux-policy-doc package (depending on OS release), which is why we cannot simply use a package name unless we are prepared to sacrifice spec file portability. From Fedora 20 onwards, this method is no longer necessary, so if your packaging is not targeting any releases prior to Fedora 20 or EPEL-5/6, the /usr/share/selinux/devel/policyhelp requirement is not needed.
    所以一会也从spec文件注释掉这部分的以来 
7.安装rocksdb
git clone https://github.com/facebook/rocksdb.git
make static_lib
8.安装python2.7
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz 这个快些
这个直接安装就好,不过记得一定要安装/usr下,可能spec文件是在centos 7下写的其默认是python2.7 所以有些路径是写成固定的 @@
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install distribute
pip install Cython
ln -s /usr/local/bin/sphinx-build /usr/local/bin/sphinx-1.0-build
安装所以python 包的依赖
需要yum时如果遇到问题,可以在yum的脚本直接报名python的版本,或者修改软连接
9.修改spec文件
vim ceph.spec
1)
找到%install
下面添加
%define __debug_install_post   \
       %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\
    %{nil}


2)
由于centos7 使用systemd 替代init,脚本中本来已经做了判断不过漏了一处(感觉)
%{_unitdir}/ceph.target from ceph.spec => #%{_unitdir}/ceph.target from ceph.spec
3)
删掉一下包的文件定义
rbd-nbd cephfs-java libcephfs_jni1-devel
rbd-nbd 是上面的原因,java的这两个感觉不必要,不过我不需要所以直接注释掉了
(查找%file 部分会看到这个部分内容)
4)
在%clean前加上这些
删掉多余的文件 
rm %{_libdir}/libcephfs_jni.so -f
rm %{_javadir}/libcephfs-test.jar -f
rm %{_javadir}/libcephfs.jar -f
rm %{_mandir}/man8/rbd-nbd.8* -f


10. 开始打包
/bin/env QA_RPATHS=$[ 0x0020 ]  rpmbuild -bb  ceph-10.2.0_old/ceph.spec


银河麒麟V10系统安装Mellanox OFED驱动:内核兼容与性能调优实战 在Linux服务器部署中,内核模块驱动是连接操作系统与硬件设备的核心组件,其编译与加载机制直接决定了硬件功能的可用性与性能。驱动安装的本质在于确保内核头文件、开发工具链与运行内核版本的严格匹配,任何不兼容都可能导致编译失败或系统不稳定。这一过程的技术价值在于为高性能网络、存储和计算场景提供稳定、低延迟的硬件加速能力,尤其是在需要RDMA(远程直接内存访问)技术的高性能计算集群和AI训练环境中。具体到国产化操作系统环境,如银河麒麟服务器操作系统V10,安装商业硬件(如Mellanox ConnectX系列网卡 阅读详情

相关推荐

OpenStack Nova服务端手动安装与配置指南

OpenStack Nova是云计算平台的核心计算服务,负责虚拟机全生命周期管理。其本质是一套基于Python的分布式服务组件,依赖Keystone认证、MySQL数据库、RabbitMQ消息队列及libvirt虚拟化层。理解Nova服务端(非CLI客户端)的架构原理,对私有云部署、故障排查和安全合规至关重要。技术价值体现在高度可控性、深度定制能力与生产级可调试性,广泛应用于金融、政务、边缘计算等需强审计与内核适配的场景。本文聚焦Nova服务端的手动部署实践,覆盖环境准备、源码安装、配置详解与服务注册全流程

virusswb的专栏 411

/usr/lib/rpm/check-rpaths rpm打包失败解决

原因:当前automake版本(1.16.2)不支持自动导出变量 runstatedir = @runstatedir@当前构建系统为 automake + configure + rpm。

Funning的博客 742

Kolla-Ansible:容器化部署OpenStack私有云的自动化实践指南

在云计算和私有云平台构建领域,容器化技术通过将应用及其依赖打包成标准单元,实现了环境一致性和快速部署,而自动化运维工具则进一步提升了基础设施管理的效率。其技术价值在于解决了传统部署中环境差异大、依赖复杂和升级困难等痛点,广泛应用于企业IT基础设施、云服务提供商和教育科研等场景。本文聚焦于Kolla-Ansible这一核心工具,它结合Docker容器与Ansible自动化,将OpenStack的各个服务组件(如Nova、Neutron)打包为独立容器,并通过Ansible Playbook进行编排部署,从而显

438

rpmbuild之check-rpaths的问题

'[' '%{buildarch}' = noarch ']' + QA_CHECK_RPATHS=1 + case "${QA_CHECK_RPATHS:-}" in + /usr/lib/rpm/check-rpaths ******************************************************************************* * * WAR

u013639526的专栏 7435

Kolla-Ansible实战:容器化部署OpenStack的完整指南与运维解析

在云计算与私有云平台构建领域,OpenStack作为开源基础设施即服务(IaaS)的标杆,其灵活性与可定制性备受青睐。然而,其传统的基于源码或软件包的部署方式常因复杂的依赖关系和脆弱的环境隔离,导致运维复杂度高、升级困难,成为工程师面临的主要挑战。容器化技术的出现,通过将应用及其依赖打包成标准、隔离的单元,从根本上解决了环境一致性与依赖冲突问题。结合自动化编排工具,能够实现服务的快速部署、弹性伸缩与可靠回滚,极大提升了云平台的交付效率与稳定性。这一技术组合在OpenStack部署场景中,由Kolla-Ans

dicha7140的博客 491

etcd与Consul实战:服务发现与配置中心生产部署指南

服务发现和分布式配置中心是云原生架构的核心基础设施,解决微服务动态寻址与配置集中治理两大关键问题。其底层原理依赖强一致性或最终一致性的分布式键值存储,通过自动注册、健康检查、实时发现与安全注销形成闭环。技术价值在于支撑Kubernetes调度、Istio流量治理、Spring Cloud配置热更新等高可用场景。典型应用包括容器化环境下的服务自动感知、多环境配置灰度发布、敏感信息加密管理及故障自愈。本文聚焦etcd(Raft强一致)与Consul(全栈开箱即用)的选型逻辑、TLS安全加固、三节点高可用部署及线

weixin_30896511的博客 504

CentOS7安装Open vSwitch 及 基础模块解释

Open vSwitch开放的虚拟交换标准 (虚拟交换机) Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议(例如NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。此外,它被设计位支持跨越多个物理服务器的分布式环境,类似于VMware的vNetwork分布式vswitch或

dandanfengyun的博客 5305

ARM架构Kylin V10系统下Kubernetes 1.26.15集群部署实战

容器技术通过操作系统级别的虚拟化,实现了应用及其依赖的打包与隔离,其核心原理是基于命名空间和控制组(cgroup)进行资源限制与环境隔离。容器运行时(如containerd)作为管理容器生命周期的底层引擎,为Kubernetes等编排平台提供了稳定基础。在国产化与信创背景下,将Kubernetes部署于ARM架构服务器及银河麒麟(Kylin V10)操作系统,能有效支撑微服务架构的落地,满足自主可控环境下的应用现代化需求。本文聚焦于containerd运行时与Kubernetes 1.26.15版本的集成,

weixin_33907511的博客 399

centos7部署calamari

calamari安装指导

helloconfucian的博客 2344

国产化ARM麒麟环境部署KingHistorian时序数据库全攻略

时序数据库(TSDB)作为处理海量时间序列数据的核心技术,通过优化的存储引擎和压缩算法,高效支持物联网、监控等场景的高并发写入与快速查询。其技术价值在于为实时分析与历史回溯提供稳定可靠的数据底座。随着信创国产化进程加速,在基于飞腾、鲲鹏等ARM架构的银河麒麟操作系统上部署专业时序数据库成为常见需求。本文聚焦于KingHistorian这款国产TSDB,详解其针对ARM麒麟环境预编译的专属部署包(如KingHistorian4.0-0320-Arm-Kylin-250912.tar.gz)的核心价值与开箱即用

weixin_34151004的博客 545

ceph安装部署(centos6.6)

一:简介 1 二:部署环境介绍 1 三:集群配置准备工作 2 四:安装ceph软件包 6 五:安装ceph对象网关 9 六、搭建ceph集群 10 6.1、配置mon节点 10 6.2:添加osd节点 13 6.2.1、添加第一块osd节点 13 6.3:添加元数据服务器 17 6.3.1、添加第一个元数据服务器 17 七:安装client端RBD、cephFS挂载演示 18 7.1:客户端内核要求、安装装准备 18 7.2、RBD方式挂载 19 7.3、cephFS挂载 20 八:检查ceph集群状态常用命令 23 8.1、磁盘压力测试软件推荐 23 九:故障排查 23

CentOS下搭建Teuthology Ceph自动化测试平台(四)

这一小节介绍Gitbuilder与Ceph编译环境,之前的paddles与pulpiti等都是处于一台机器上的,他们不怎么吃资源,我这里是重新选择了一台性能较好的节点来作为编译节点,当然也可以找一台性能好的,把paddles、pulpito、gitbuilder编译工作都放在一台机器里。 该模块的用处是编译Ceph成rpm包,然后发布到自建的仓库中,做成一个局域网源。这样只需要在slave节点配...

SEU_PAN的博客 2854

具身智能的边缘计算核心构成方案

摘要: 具身智能(Embodied Intelligence)依赖物理实体与环境交互,而边缘计算(Edge Computing)通过本地化数据处理降低延迟、提升实时性。两者结合的核心方案包含五层架构:传感器层采集环境数据,边缘处理单元执行本地计算,通信模块实现低延迟传输,决策引擎运行轻量AI模型,执行器接口转化动作为物理操作。该方案以“边缘优先”为原则,满足毫秒级响应(如延迟<50ms),同时优化能效(功耗降低30%)和隐私保护。适用于机器人、自动驾驶等场景,通过分层闭环设计确保在资源受限环境中的可靠

老郑的博客 810

ceph-deploy源码制作rpm包 <转>

为什么80%的码农都做不了架构师?>>> ...

weixin_33894992的博客 268

PL端:HDMI 输出实验

开发板没有HDMI编码芯片,是将FPGA的3.3差分IO直接连接到HDMI连接器,FPGA 完成 24 位 RGB 编码输出TMDS 差分信号。1、学会使用第三点IP核,首先是添加,后面的使用和自带IP核操作一致。2、主要还是在梳理vivado使用流程。

qq_43441284的博客 4287

UG NX二次开发(C++)-NX2406系列二次开发编程模板配置

前面已经写了有关UG NX二次开发编程模板配置的文章,但是由于NX2406/2412系列的版本中,在UGOpen文件夹中没有了vs_files文件夹了,而是采用了VSIX Project的方式配置(其适用于VS2019),在VS2022中不能正确的配置。我结合以前配置模板的经验和现在的配置方式讲一下NX2406系列二次开发编程模板的配置。我把相应的编程模板放在资源文件UG NX二次开发编程模板(基于NX2406版本制作)中,方便大家下载使用。

GimiGimmy 2640

Ceph Calamari Server RPM编译

本文介绍如何使用redhat官方提供的源代码rpm包编译成Calamari Server二进制RPM软件包。编译过程很简单,一条命令即可。这里主要记录下编译过程出错的解决办法,希望能帮助有需要的朋友。1、下载 [root@hdp04 ~]# wget http://ftp.redhat.com/pub/redhat/linux/enterprise/7Server/en/RHCEPH/SRPMS...

weixin_34259559的博客 100

六、大模型(LLMs)参数高效微调(PEFT) 面

链接: https://pan.baidu.com/s/1TYqdCK53tDFEYGtAvpnTbA 提取码: 6a9s。考核中的核心考点,并针对这些考点提供了详尽的解答。通过网盘分享的文件:06大模型(LLMs)参数高效微调(PEFT) 面。)有哪些方法,能不能稍微介绍一下它们间?这种微调方法和全参数比起来有什么劣势吗?能不能总结一下各种参数高效微调方法?高效参数微调,如何进行存储?多种不同的高效微调方法对比。模型显存占用的部分有哪些?微调方法为啥能加速训练?微调计算可训练参数的比例。

weixin_51988935的博客 534

在centos8上生成nfs-ganesha的相关rpm

在centos8上生成nfs-ganesha的相关rpm

cf313995的博客 676

uniapp [全端兼容] - 实现省市区选择器三四级联动组件,uniapp选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择(全平台兼容苹果安卓App、支付宝微信小程序、移动端H5网页)

uni-app省市区选择器,省市区街道三级四级联动选择器,uniapp自定义多列选择器省市两级联动,uniapp picker组件实现多级联动,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniApp选择器省市区县街道乡镇,uniapp实现省市区选择联动,uniapp城市三级联动(自定义组件)_uniapp三级联动,picker插件省市区联动,uniapp小程序省市区选择器,uni-app 省市区街道的四级联动选择,uniapp怎样实现省市区地址三级联动uni

🏆 前端领域优质创作者 1万+

自然语言处理之话题建模:BERTopic模型详解

BERTopic是一种基于BERT的先进话题建模技术,它结合了BERT的语义理解能力和非参数聚类算法HDBSCAN的灵活性,能够生成高质量、语义丰富的话题。与传统的LDA(Latent Dirichlet Allocation)话题模型相比,BERTopic能够更好地捕捉文本的复杂语义结构,因为它利用了预训练的BERT模型来嵌入文本,从而在话题建模中引入了深度学习的力量。聚类是无监督学习的一种,其目标是将数据集中的样本按照相似性进行分组,每个组称为一个“簇”。

zhubeibei168的博客 4535
上一篇: Ceph性能调优
下一篇: ceph core dump方法
for_tech
博客等级 码龄11年 50粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值