linux heartbeat双机设置

第一方案: 双机热备(算是ha集群的一种)


方案思路:
如图所示。R1和R2是真实存在的服务器。并且都配置双网卡。一个连接公网,一个用于连接心跳线。数据服务器在后端,用于存放R1或者R2的数据。V1是虚拟服务器,做成双机热备后,V1就是一个浮动IP。

具体配置:
R1和R2都是五洲服务器。XEON3.0/1G/73SCSI/CENTOS4.4-KENREL2.6.9
R1: eth0 192.168.0.100(公网) eth1:10.0.0.100(内网)
R2: eth0 192.168.0.200(公网) eth1:10.0.0.200(内网)
数据库服务器: 192.168.0.121(这里我临时使用NFS来作数据共享服务器)
V1: 192.158.0.222 (虚拟浮动ip)

由于我这里面是实验环境,所以大概思路交待清楚。心跳线由于没有交叉线,就用一个交换机代替。

R1和R2都要安装libnet, pkgconfig glib2-devel e2fsprogs
开始配置:
R1需要配置的内外网ip

Vi /etc/sysconfig/network
修改自己的主机名,我这里是R1,记得重起生效。
Vi /etc/hosts
里面添加R1和R2的主机名对应的IP地址。记得重新启动网卡。
R2和共享存储服务器一样的设置。
Ok。接下来安装heartbeat软件(R1和R2安装,共享数据库不用安装了,只要装nfs就好),下载地址

Ult Ramon Key.org - A blog about Linux and computer software
我使用heartbeat-2.1.3.tar.gz。解压安装,过程不在说了。
先以R1为例(我准备R1做主,R2做从):

1
安装后,会存在/usr/local/etc/ha.d这个目录。有些朋友使用rpm包安装,可能ha.d这个目录直接生成在/etc/下了。实在找不到使用find / -name ha.d来寻找。
接下来copy源安装目录下的doc目录里面的三个文件到ha.d目录下
copy /home/tinkoko/heartbeat-2.1.3/doc/ha.cf /usr/local/etc/ha.d/
copy /home/tinkoko/heartbeat-2.1.3/doc/haresources /usr/local/etc/ha.d/
copy /home/tinkoko/heartbeat-2.1.3/doc/authkeys /usr/local/etc/ha.d/

2
然后 vi /usr/local/etc/ha.d/ha.cf
具体要把下面的选项前的注释去掉
logfile /var/log/ha-log
logfacility local0
keepalive 2 每2秒钟 测试机发送一个广播
deadtime 30 30秒内没有反应,立即切换服务
warntime 10
initdead 120
udpport 694
bcast eth1 指明心跳连接的接口号,这个一定要写对了,内网卡
ucast eth1 10.0.0.200 心跳连接的pc的ip,写R2的
auto_failback on 主服务器恢复后是不是自动获得主权限
node R1 两个的主机名(最好用uname -n察看)
node R2
ping www.baidu.com 测试机的ip (要写外部的测试IP)

3
Vi /usr/local/etc/ha.d/haresources(这个很重要,很多时候测试不成功都是这个文件问题)
在里面添加或者修改一句就好了.
R1 IPaddr::192.168.0.222/24/eth0 Filesystem::192.168.0.121:/home/www::/var/www/html/::nfs httpd
这句话意思是 主服务器的主机名 虚拟服务器的浮动ip地址 存储服务器NFS的源到挂载的目的 启动heartbeat顺便还要启动的服务。

4
Vi /usr/local/etc/ha.d/authkeys
修改auth 1
#1 crc
1 sha1 HI! (sha加密方式最好,如果直接使用交叉线连接心跳的话建议用crc)
#3 md5 Hello!
最后要更改文件的权限
chmod 600 /etc/ha.d/authkeys

5
上面就是R1的设置。R2的设置和R1差不多。唯一区别就是R2的ha.cf文件中:
ucast eth1 10.0.0.100 这个需要写R1的。
其余的两个文件内容都一致。

6
接下来就是存储NFS服务器的设置了!先说题外话,存储服务器能用到的很多。例如NAS,RAID5/10,SAN,NFS,磁盘柜等等。建议如果要使用的话可以去选择NAS,而且目前linux有开源的nas软件,freenas,可以在www.freenas.cn下载到。官网不知道怎么了打不开了。这个软件我回头就去测试。Ok,先说NFS。
安装nfs软件。
我想把nfs服务器的/home/www/这个目录挂载到R1和R2的/var/www/html下所以
Vi /etc/exports
添加/home/www/ 192.168.0.*(rw)
然后启动nfs服务,和portmap服务。
然后再R1和R2上面测试是不是可以手动挂载过来。
在R1和 R2上输入:
Mount –t nfs 192.168.0.121:/home/www /var/www/html
然后登陆进去,里面创建文件测试。
注意如果出错,注意关掉防火墙或者允许111端口。注意给/home/www的777权限。如果关于nfs还有什么问题的话,建议去查看
http://www.chinaitlab.com/www/special/linux14.asp#(鸟哥的关于nfs设置,大概看下就知道了)

8
ok。为了测试效果。我在192.168.0.121共享服务器的/home/www/下编辑index.html,里面写:ok this is test page!if you see this!!!!congratulation.
然后别忘记在R1和R2服务器上卸载掉挂载的目录,还有停止httpd服务。我们让heartbeat自动启动带起来。

9
好了,然后准备好一切。在r1和r2上开启heartbeat服务把。别忘记防火墙释放相应端口。
然后我们察看/var/log/ha.log
只要不出错。观察里面的信息变化。顺便ping 192.168.0.222(虚拟ip),只要能通。Ok,就去网站访问192.168.0.222。是不是出现了我们刚才的那句话:ok this is test page!if you see this!!!!congratulation.。要使没有出现,在R1或者R2上用df –h查看是不是目录被挂载过来。在看看是不是httpd服务启动起来。只能是一个httpd服务启动。

ps:有些朋友为了更加安全期间,可以将nas服务器配置成内网卡ip,去测试

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

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

相关文章

【深度学习】基于BRET的高级主题检测

一、说明 使用BERT,UMAP和HDBSCAN捕获文档主题,紧随最先进的BERTopic架构(transformer编码器)。 主题检测是一项 NLP 任务,旨在从文本文档语料库中提取全局“主题”。例如,如果正在查看书籍描述的数据集,主题检测将使我们能够将书籍分类,例如:“浪漫”、“科幻”、“旅…

Springboot+Flask+Neo4j+Vue2+Vuex+Uniapp+Mybatis+Echarts+Swagger综合项目学习笔记

文章目录 Neo4j教程:Neo4j高性能图数据库从入门到实战 医疗问答系统算法教程:医学知识图谱问答系统项目示例:neo4j知识图谱 Vueflask 中药中医方剂大数据可视化系统可视化技术:ECharts、D.jsflask教程:速成教程Flask w…

Redis 常用数据结构及操作

Redis 支持多种数据类型,这些数据类型允许你存储和操作不同类型的数据。以下是 Redis 支持的主要数据类型: 字符串(Strings):最基本的数据类型,可以存储文本或二进制数据。在 Redis 中,字符串的…

Excel数据分析教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 Excel数据分析入门教程 - 从基本到高级概念的简单步骤了解Excel数据分析,其中包括概述,流程,Excel数据分析概述,使用范围名称,表格,使用文本功能清理数据,清洁数据包含日期值&#xf…

Django_rest_framework-drf 笔记

Django-drf-序列化器高级用法之SerializerMethodField Django-drf-序列化器高级用法之SerializerMethodField - 知乎 (zhihu.com) 科普search_fields与filter_fields的区别 一句话:search_fields 里的字段,是做模糊查询的字段;filter_fiel…

25.基于XML的AOP实现

基于XML的AOP实现 主要是使用XML去代替注解&#xff0c;来实现起到代替注解的作用&#xff0c;实际使用频率很低 除了Component注解&#xff0c;将里面其他的注解都注释掉 spring-aop-xml.xml <?xml version"1.0" encoding"UTF-8"?> <beans x…

【自动化测试】-关键字驱动测试框架设计

一、什么是关键字驱动 它是主流的应用最广泛自动化测试设计模式 主流设计模式&#xff1a;关键字驱动、数据驱动、POM 关键字驱动&#xff1a;表格驱动测试或者基于动作字的测试。 基于关键字驱动设计把用例分为四大部分&#xff1a; 1. Test Step(测试步骤)&#xff1a;就…

【Spring Cloud Gateway】NoSuchBeanDefinitionException

目录 使用了springcloud gateway作为微服务的网关 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type org.springframework.core.convert.ConversionService available: expected at least 1 bean which qualifies as …

list模拟实现

一、结点的定义 有三个成员&#xff0c;2个指向前面和后面的指针&#xff0c;一个表示结点存储T类型的值。 对于_prev和_next&#xff0c;类型是 list_node<T>*&#xff0c;不是list_node*&#xff0c;加上类型参数T之后&#xff0c;才是模板类的类型。 构造函数中&am…

【MySQL】MySQL8.1.0版本正式发布带来哪些新特性?

文章目录 前言一、畅谈新版本二、8.1.0版本部署2.1、环境准备2.2、配置yum安装依赖2.3、用户及目录创建2.4、创建用户及组2.5、解压缩包2.6、环境变量配置2.7、创建参数文件2.8、数据库初始化2.9、启动Mysql2.10、登陆MySQL 8.1 三、新特性3.1、密码参数3.2、错误日志加强3.3、…

Spring Security OAuth2.0(6):自定义认证自定义登录页

文章目录 自定义登录界面配置自定义登录页面 自定义登录界面 \qquad 你可能想知道登录页面从哪里来&#xff1f;因为我们并没有提供任何的HTML或JSP文件。Spring Security 的默认配置没有明确设定一个登录页面的URL&#xff0c;因此Spring Security 会根据启用的功能自动生成一…

Go语言ErrGroup

Go语言ErrGroup 在并发编程里&#xff0c;sync.WaitGroup 并发原语的使用频率非常高&#xff0c;它经常用于协同等待的场景&#xff1a;goroutine A 在检查 点等待一组执行任务的 worker goroutine 全部完成&#xff0c;如果在执行任务的这些 goroutine 还没全部完成&#xf…

Godot实用代码-存取存档的程序设计

1. Settings.gd 全局变量 用于保存玩家设置 对应Settings.json 2. Data.gd 全局变量 用于保存玩具数据 对应Data.json 实践逻辑指南 1.在游戏开始的时候&#xff08;游戏场景入口的_ready()处&#xff0c; Settings.gd

day09面试题

面试题 说说对 React 的理解?有哪些特性?说说 Real DOM 和 Virtual DOM 的区别?优缺点?说说 React 生命周期有哪些不同阶段?每个阶段对应的方法是?说说 React 中的 setState 执行机制&#xff1f;说说对 React 中类组件和函数组件的理解?有什么区别? 说说对 React 的理…

Linux内核结构与特性简介

系统调用接口&#xff1a;位于最上层&#xff0c;实现了一些基本的功能&#xff0c;如read和write等系统调用。这是用户空间程序与内核交互的接口&#xff0c;提供了对内核功能的访问。 内核代码&#xff1a;位于系统调用接口之下&#xff0c;可以看作是独立于体系结构的通用内…

RabbitMQ的基本使用

RabbitMQ的基本使用 引入程序集&#xff1a;RabbitMQ.Client 生产者 /// <summary> /// ProducerWrites 写入消息 ConsumerConsumption 消费消息 /// </summary> public class ProducerWrites {public static void Send(){string path AppDomain.CurrentDomain.…

qt和vue交互

1、首先在vue项目中引入qwebchannel /******************************************************************************** Copyright (C) 2016 The Qt Company Ltd.** Copyright (C) 2016 Klarlvdalens Datakonsult AB, a KDAB Group company, infokdab.com, author Milian …

CLIP概述

文章目录 Learning Transferable Visual Models From Natural Language Supervision(使用自然语言的监督信号训练一个可迁移的视觉模型)AbstractIntroduction and Motivating WorkApproachNatural Language SupervisionCreating a Suffciently Large DatasetSelecting an Eff…

13_Linux无设备树Platform设备驱动

目录 Linux驱动的分离与分层 驱动的分隔与分离 驱动的分层 platform平台驱动模型简介 platform总线 platform驱动 platform设备 platform设备程序编写 platform驱动程序编写 测试APP编写 运行测试 Linux驱动的分离与分层 像I2C、SPI、LCD 等这些复杂外设的驱动就不…

Fortinet Accelerate 2023·中国区巡展收官丨让安全成就未来

7月18日&#xff0c;2023 Fortinet Accelerate Summit在上海成功举办&#xff01;这亦象征着“Fortinet Accelerate2023中国区巡展”圆满收官。Fortinet携手来自多个典型行业的百余位代表客户&#xff0c;以及Telstra - PBS 太平洋电信、Tenable等多家生态合作伙伴&#xff0c;…