HA双机热备配置

HA(高可用性集群)当主机处于工作状态时,从机处于休眠状态,当主机宕机时,从机便会开始工作,让用户几乎感觉不到服务的中断,类似于网络路由配置中的备份。当主机存活时,所有的资源全在主机上,通过网络存储,光纤连接或者是一些第三方存储设备。主机宕机后,资源就会从主机上自动挂到从机上。

一、实验所需的设备

在虚拟机中安装两个新的Linux服务器,每个服务器有两块网卡,eth0为主机模式,eth1为桥接模式或者是NAT模式。eth1会模拟为对外服务,eth0在内网中作为心跳线,起心跳检测的作用,用来检测主机和从机之间是否有存活。

二、从机上的服务安装

采用的事yum安装,yum安装能解决安装包依赖的问题。

1、 yum install epel-release  安装epel yum源

yum install heartbeat* 安装heartbeat服务

yum install nginx 拿web服务做测试

yum install libnet 安装libnet函数库

2、cd /etc/ha.d/

把所需要的文件从/usr/share/doc/heartbeat/中拷到/etc/ha.d/目录下,所需要的文件是haresources,authkeys,ha.cf。

然后进行文件的修改

(1)、vim  /etc/ha.d/authkeys

把#auth1

#3 md5 Hello改为

auth1

3 md5 Hello

        (2)、然后更改该文件的权限

chmod 600 authkeys

(3)、修改haresources文件

vim haresources

在最后一行加上

主机名(主机) VIP(VIP是虚拟IP,改为对外提供服务的eth1网段内的一个虚拟IP)/24/eth1:0 nginx

例如:zhuji1 192.168.137.11/24/eth1:0  nginx

(4)、修改ha.cf文件

vim ha.cf

把#debugfile调试日志文件

    #logfile日志文件

   #keeplive 2   2秒检测一下存活时间

   #deadtime 30   30秒为检测到存活则认为主机死亡

   #warntime 10  警告时间段为10 秒

   #initdead 120   120秒的初始时间

   #udpport 694   提供服务通信的udp端口

   #ucast单播对方的IP

   #node  主机名

   #node  从机名

   #ping  这个是仲裁IP

   #respawn  hacluster  /usr/lib/heartbeat/ipfail

之前的#去掉

在ucast 那行加上

ucast eth0 192.168.13.129

其中eth0 192.168.13.129 是对方的内网即心跳线的IP

再加上

node 主机名

node 从机名

还有很重要的一步

加上ping 192.168.13.1这个IP是作为仲裁,一般是内网的网关,因为网关较为稳定。意思是可以通过这个仲裁IP找到单播IP

(5)、vim /etc/hosts

加上主机和从机的IP和用户名

例如 主机IP  主机名

 从机IP  从机名

第五步在主机上也要写

三、把在从机上配置好的文件复制到主机上去

可以用在从机的/etc/ha.d/目录下scp haresources ha.cf authkeys 主机名:/etc/ha.d下的方法进行复制

如果没有scp命令的话可以安装一下

yum install openssh-clients主机从机上都要安装

复制完之后再主机上只需要更改一个地方即可,就是ha.cf中的一个配置即ucast eth0 加对方心跳线的IP

四、配置完上述配置之后,关闭所有的防火墙和selinux

iptables -F

vim /etc/sysconfig/selinux

把SELINUX=enforcing改为SELINUX=disabled

五、然后就是服务的启动了

应该先启动主机上的heartbeat服务再启动从机上的heartbeat服务。

六、测试

可以在主机上通过ifconfig和ps aux |grep nginx来查看

先启动主机再启动从机之后我们可以看到在主机上有我们配置的VIP以及nginx 服务的进程,而在从机上没有。我们可以在主机上写一条防火墙记录来测试我们服务的正确性。

iptables -I INPUT -p icmp -j DROP

然后注意观察我们的日志文件 tail -f /var/log/ha-log可以看到日志明显的变化。而在从机上通过ifconfig可以看到VIP,这就说明我们的配置成功了。

也可以利用测试网页来验证

在主机上echo “主机” >>/usr/share/nginx/html/index.html

在从机上echo “从机” >>/usr/share/nginx/html/index.html

然后我们可以在浏览器上通过输入我们配置的VIP以及把主机切断在输入我们的VIP来验证。

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

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

相关文章

我的服装DRP之开发感悟

先向各位拜个晚年。 今年过年期间都在想DRP的事,很多朋友也联系我,讨论技术问题的、谋求合作的、分析行业前景的、让我提供源码和数据库的都有。再次谢谢朋友们的关心。目前来说,在修改系统bug的同时,我打算重新找一份工作&#x…

Linux配置

第3章 对Linux系统管理员的建议... 1 第4章 安装Linux操作系统... 2 第5章 初步认识Linux. 5 第6章 Linux系统的远程登陆... 13 第7章 Linux文件与目录管理... 19 第8章 Linux系统用户及用户组管理... 37 第9章 Linux磁盘管理... 45 第10章 文本编辑工具vim.. 70 第11章…

iOS开发那些事-iOS常用设计模式–委托模式案例实现

书接上回,应用案例 我们以UITextFieldDelegate为例来说明一下委托的使用。 UITextFieldDelegate是控件UITextField的 委托,控件的委托主要负责响应控件事件或控制其他对象。除了UITextField,WebView、UITableView等控件也有相应的委托对象。 …

python网络编程-一些常用有用的函数

socket.getservbyname(servicename[, protocolname]) –> integer 查询某个协议对应的端口号,需要使用两个参数,servicename对应端口名称,如 http, smtp,等。protocolname对应tcp,udp。 s.getsockname()…

LAMP环境的搭建

一、mysql的安装1、tar -zxvf mysql.gz2、mv mysql-5.1.49-linux-i686-glibc23/ /usr/local/mysql3、cd /usr/local/mysql4、useradd -s /sbin/nologin -M mysql5、mkdir -p /data/mysql6、chown -R mysql:mysql /data/mysql/7、./scripts/mysql_install_db --usermysql --data…

Windows API 逐个逐个学MessageBox(5) 遍历驱动器并获取驱动器属性 GetLogicalDriveStrings、GetDriveTypeA...

首先还是贴代码 VC Code: /* *************************************《精通Windows API》 * 示例代码* GetVolumeInfo.c* 4.2.1 遍历驱动器并获取驱动器属性**************************************//* 头文件 */ #include <windows.h> #include <stdlib.h> #i…

apache如何在虚拟主机中实现用户验证

虚拟主机配置文件中&#xff0c;需要加入<Directory /data/web/test>AllowOverride AuthConfig</Directory>然后在虚拟主机的主目录&#xff0c;即DocumentRoot 目录下vi /data/web/test/.htaccess加入AuthName "frank share web" AuthType Basic Aut…

linux 内核编译安装及卸载

编译安装&#xff1a; 下载需要的包 apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 cp linux-3.x.x /usr/src cd /usr/src/linux-3.x.x make menuconfig make modules make modules_install make make install sudo mkinitramfs -o /boot/initrd.img-3.…

Linux服务器安全之用户密钥认证登录(基于CentOS 7.0系统)

一、 密钥简介在Linux下&#xff0c;远程登录系统有两种认证方式&#xff1a;密码认证和密钥认证。密码认证方式是一种传统的安全策略。设置一个相对复杂的密码&#xff0c;对系统安全能起到一定的防护作用&#xff0c;但是也面临一些其他问题&#xff0c;例如密码暴力破解、密…

Servlet 3.0 新特性详解

简介 Servlet 是 Java EE 规范体系的重要组成部分&#xff0c;也是 Java 开发人员必须具备的基础技能&#xff0c;Servlet 3.0 是 Servlet 规范的最新版本。本文主要介绍了 Servlet 3.0 引入的若干重要新特性&#xff0c;包括异步处理、新增的注解支持、可插性支持等等&#xf…

LAMP环境下配置虚拟主机和域名的跳转

一、配置虚拟主机 vim /usr/local/apache2/conf/extra/httpd-vhost.conf <VirtualHost *:80> ServerAdmin webmasterdummy-host.example.com root邮箱 DocumentRoot "/data/123"虚拟主机存在的目录 ServerName 123.com 配置的虚拟主机域名 …

linux下搭建nagios监控

一、什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务&#xff0c;同时提供异常通知功能等。Nagios可运行在Linux/Unix平台之上&#xff0c;同时提供一个可选的基于浏览器的WEB界面以方便系统管理人…

Coursera NLP 笔记02

找到一个很好的英语笔记&#xff0c;等有空了再整理第二章http://files.asimihsan.com/courses/nlp-coursera-2013/notes/nlp.html#the-trigram-estimation-problem转载于:https://www.cnblogs.com/bertrandwdx/archive/2013/03/04/2943437.html

zabbix yum安装

zabbix的单个Server节点可以支持上万台设备&#xff0c;每秒可以处理1.5万次请求&#xff0c;理论上可以支持5万台设备.zabbix 的使用可以分为三类用户&#xff1a;入门用户&#xff08;熟悉Zabbix的安装跟配置&#xff09;&#xff0c;中级用户&#xff08;熟悉LAMP和LNMP环境…

Oracle 索引概述

Oracle 提供了多种不同类型的索引以供使用。简单地说&#xff0c;Oracle 中包括如下索引&#xff1a;B*树索引&#xff1a;这些是我所说的“传统“索引。到目前为止&#xff0c;这是 Oracle 和大多数其他数据库中最常用的索引。B*树的构造类似于二叉树&#xff0c;能根据键提供…

zabbix的安装

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix由2部分构成&#xff0c;zabbixserver与可选组件zabbix agent。 一、Zabbix简介 1.1Zabbix简介   Zabbix是一个企业级的开源分布式监控解决方案&…

LinuxMySQL主从配置

mysql 主从配置-2主从 mysql 启动以后&#xff0c;我们来做一些配置。假设 3306 为主&#xff0c;3307 为从登陆 mysql 命令和参数/usr/local/mysql/bin/mysql登陆不同的 mysql 参数&#xff0c;可以 IP 也可以是 sockmysql -S /tmp/mysql.sock sock 登陆主mysql -h127.0.0.1 -…

通过udp及vlc传递视频流

可以通过两个host进行测试&#xff0c;如果是使用笔记本的摄像头进行测试&#xff0c;首先需要将当前用户添加到video组&#xff1a; sudo usermod -G video $user 发送方&#xff1a; vlc v4l2:// :v4l2-dev/dev/video0 :v4l2-width640 :v4l2-height480 --sout "#transco…

Linux主从复制

mysql主从复制 &#xff08;超简单&#xff09; 怎么安装mysql数据库&#xff0c;这里不说了&#xff0c;只说它的主从复制&#xff0c;步骤如下&#xff1a; 1、主从服务器分别作以下操作&#xff1a; 1.1、版本一致 1.2、初始化表&#xff0c;并在后台启动mysql 1.3、修…

对fgets的理解1

摘自《linux程序设计 中文第四版》第94页。 转载于:https://www.cnblogs.com/pengdonglin137/archive/2013/03/10/2952421.html