keepalived交叉编译

news2024/11/15 1:34:10

前言

Keepalived可以实现对服务器的健康检查,当主服务器出现故障时,自动将服务切换到备份服务器上,确保服务的连续性,避免单点故障。它还可以管理一个虚拟 IP 地址,在主备服务器之间进行灵活切换,对外提供统一的访问入口,使得客户端无需感知服务器的具体切换操作。
当我们在嵌入式边缘设备上部署服务时,为了保障服务稳定性,使用keepalived时很有必要的。

准备工作

  • 根据芯片平台确定交叉编译工具链。
    此处以在飞腾E2000上移植keepalived命令为例,采用的工具链为:aarch64-linux-gnu-xxx
    安装命令:sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
  • 下载keepalived源码及其依赖的三方库源码。
    keepalived下载地址:keepalived-2.2.8.tar.gz
    openssl下载地址: openssl-1.1.1u.tar.gz

交叉编译openssl

解压文件

tar axvf  openssl-1.1.1u.tar.gz
cd openssl-1.1.1u

配置生成Makefile

./config no-asm shared no-async  --prefix=$(pwd)/install --cross-compile-prefix=aarch64-linux-gnu-

修改Makefile

输入如下命令。删除Makefile中的交叉编译工具链不支持的-m64参数。

sed -i '/-m64/d' Makefile

也可打开文件手动删除:
在这里插入图片描述

编译源码

make && make install

编译完成后,在当前openssl-1.1.1u目录下会生成一个install目录,目录下即可获取到所有的编译产物,主要检查生成的动态库文件.so是否正确,后续keepalived交叉编译时需要用到。
在这里插入图片描述

交叉编译keepalived

配置生成Makefile

./configure --host=aarch64-linux-gnu  --prefix=$(pwd)/install CC=aarch64-linux-gnu-gcc CFLAGS=-I/home/fangye/build_keepalived/openssl-1.1.1u/install/include LDFLAGS=-L/home/fangye/build_keepalived/openssl-1.1.1u/install/lib --disable-fwmark

参数含义:
--host= 表示目标平台的名称
--prefix= 表示编译产物安装目标路径
CFLAGS 表示gcc编译参数,用于指定openssl头文件搜索路径
LDFLAGS 表示gcc链接参数,用于指定openssl库文件搜索路径
--disable-fwmark 表示禁用iptables规则,可防止VIP无法访问

编译源码

make && make install

安装的时候会报错,是因为要将keepalived.service文件安装到/lib/systemd/system目录下没有权限。我们交叉编译时一般用不到,可以不用管。如果需要可自行在keepalived目录下找到相应文件。
在这里插入图片描述
编译生成的产物如下:
在这里插入图片描述
至此,交叉编译完成。将之前openssl的库文件、keepalived可执行文件及其keepalived配置文件拷贝至arm开发板相应目录下,即可完成keepalived移植。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1702461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux如何在目录下灵活创建、浏览、删除百万个文件

文章目录 一、创建百万级小文件1、单核CPU情况2、多核CPU情况3、执行效率对比3.1、单核的顺序执行3.2、多核的并发执行 二、如何列出/浏览这些文件1、查看目录下文件的数量2、列出?3、ls -f(关闭排序功能)3.1、执行效率对比 4、通过重定向导入…

2024深圳数字能源展推介会在巴西圣保罗举行

4月26日,深圳市发展和改革委员会在巴西圣保罗国际工程机械及矿山机械展上举行专题推介会,介绍将于今年下半年在深圳市举办的2024国际数字能源展。 深圳市发展和改革委员会主任郭子平在推介会上介绍,为进一步深化数字能源领域互利共赢&#xf…

“二叉堆:不是,啊?”

目录 前言一、堆的概念及结构堆的性质:堆的结构:最大堆最小堆堆顶注意 二、堆的实现1.初始化堆2. 堆的插入什么是堆的向上调整算法? 3.堆的删除什么是堆的向下调整算法? 4.获取堆顶的数据5.获取堆的数据个数6.堆的判空7.堆的销毁 三、建堆的时…

逻辑分析仪的调试使用

调试软件下载:点击跳转 一、接线 逻辑分析仪 设备 GND --- GND CHX(数据通道) --- 通信引脚 二、数据采集 图中两个可以选择数字大小的地方分别表示 采样深度 (10M Samples&a…

eBay运营账号防关联成功的关键因素是什么?

一、什么是eBay? eBay如今的发展现状呈现出积极且充满活力的态势。作为全球知名的在线拍卖和购物平台,随着全球消费者对线上购物的需求不断增长,这为卖家提供了广阔的市场空间和盈利机会,但多账号的运营若处理不好容易引起账号被关…

宝塔下新增站点 No Input File Specified.错误修复

今天明月收到了一个购买【站长必备在线工具源码含上百款工具-博客优化修复版】用户的求助,在宝塔里新增网站部署好工具源码后,访问出现“No input file specified.”的提示。其实出现这个提示一般都是 PHP 文件无法被解析造成的。 简单排查了一下宝塔相关…

521源码-免费下载-WordPress全能自动采集与发布插件 – WP-AutoPostPro 汉化版

更多网站源码学习教程,请点击👉-521源码-👈获取最新资源 本工具下载地址:WordPress全能自动采集与发布插件 – WP-AutoPostPro 汉化版 - 521源码 WP-AutoPostPro是一款出类拔萃的WordPress自动采集发布插件,凭借其卓…

剪画小程序:分享3个无字幕保存高清视频的方法!!!

视频怎么去水印? 视频制作是当下越来越流行的一种形式,但是很多时候我们会发现一些精美的视频却被水印所遮盖。 尤其是一些自媒体人想要进行二创时。。。 那么,该如何去除视频水印保存高清原视频呢? 今天,小编分享…

全国各城市间驾车耗时和距离矩阵数据集(更新至2022年)

数据简介:城市之间距离越远,耗时越长。经济发达地区的交通状况较好。各城市之间的驾车耗时和距离存在差异。有些城市之间的交通非常便捷,而有些城市之间的交通则较为不便。这表明中国的交通网络发展尚不平衡,需进一步优化。特别是…

解密 Alpha 勒索软件

Alpha 勒索软件很容易与 ALPHV 勒索软件混淆,但其实这是两个不同的勒索软件团伙。近期,Alpha 勒索软件团伙在暗网上建立了数据披露网站,并且对外公开了6个受害者。 通常来说,勒索软件运营者在启动数据披露网站前会保持攻击态势。一…

Yolov5保姆及入门-含源码【推荐】

前言 YOLO系列模型作为一种实时目标检测算法,自从YOLO1发布以来,就以其检测速度快、准确率高而受到广泛关注。随着技术的迭代,YOLO系列已经发展到了YOLO8。本文将详细介绍YOLO5的技术规格、应用场景、特点以及性能对比。 yolov5源码下载地址…

【软件测试】bug篇|软件测试的生命周期|描述bug的要素|bug的级别|bug的生命周期|高频面试题:与开发产⽣争执怎么处理

目录 一、软件测试的⽣命周期 二、BUG 2.1 bug的概念 2.2 描述bug的要素 2.3 bug级别 2.4 bug的⽣命周期 💡2.5 与开发产⽣争执怎么办(⾼频考题) 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&…

四川省税务局CDH国产化替代实践

“传统数据仓库对于数据处理时效较低,且无法处理实时增量数据及数据变更,同时,在面对海量税务数据大规模进行查询分析等方面存在一些挑战。我们希望尽快寻找到一款能够替代CDH,并且具备灵活扩展能力的大数据解决方案,以…

Kubernetes 容器资源管理Resources和探针Probe

资源配额 Resources 在 Kubernetes 中,resources 配置用于设置容器的资源请求和限制,以确保集群中的资源(如 CPU 和内存)得到合理分配和使用。 在之前的pod中,不写 resources 字段。就意味着 Pod 对运行的资源要求“…

集智书童 | YOLOv10开源|清华用端到端YOLOv10在速度精度上都生吃YOLOv8和YOLOv9

本文来源公众号“集智书童”,仅用于学术分享,侵权删,干货满满。 原文链接:YOLOv10开源|清华用端到端YOLOv10在速度精度上都生吃YOLOv8和YOLOv9 在过去几年中,YOLO系列模型已成为实时目标检测领域的主导范式…

图像处理之基于标记的分水岭算法(C++)

图像处理之基于标记的分水岭算法(C) 文章目录 图像处理之基于标记的分水岭算法(C)前言一、基于标记点的分水岭算法应用1.实现步骤:2.代码实现 总结 前言 传统分水岭算法存在过分割的不足,OpenCV提供了一种…

图片提取表格要怎么做?7个软件教你快速进行图片识别

图片提取表格要怎么做?7个软件教你快速进行图片识别 要从图片中提取表格,您可以使用以下七款软件来快速进行图片识别和表格提取: 1.一键识别王:这是一款专业的OCR(光学字符识别)软件,可以帮助…

在通过跨网文件交换时,如何保障科研结构核心研究数据?

当今科研领域,数据如同生命线,支撑着每一个突破性发现的诞生。随着国际合作的加深,跨网文件交换成了常态,但这也为科研机构的核心研究数据安全带来了一系列挑战。想象一下,那些精心搜集和分析的宝贵数据,在…

【Typescript】通过变量的值即可获取变量的类型【typeof 变量】

注意:只要变量的类型准确,则typeof获取变量的类型就不会错 enum Test {a "a0",b "b0" }// 这里的a是一个变量的值 let a: Test.a "a0" as Test.a// 这里的typeof a是一个类型【Test.a】 let x: typeof a Test.a

【C++】开源:RabbitMQ安装与配置使用(SimpleAmqpClient)

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…