Linux+HA高可用24X7的安全保证

news2024/12/24 8:45:40

一. 介绍
作为服务器,需要提供一定的24X7的安全保证,这样可以防止关键节点的宕机引起系统的全面崩溃。利用OpenSource开源软件,完成系统的高可靠双机热备方案。
基于linux的 HA软件可靠稳定,比使用商业版本的HA软件降低成本约9成左右。
用 lvs 和 DRBD 实现了一个真实环境下的双机热容错集群。这里的关键技术是如何实现ip代换, mon/heartbeat检测, 文件同步。同样这一方法稍加改动就可以实现oracle热备份、ldap热备份等。

二. 方案描述
将真实服务地址绑定到一个虚拟网卡(eth0:1)上通过检测程序(heartbeat)来将主机或是备份主机的虚拟网卡(eth0:1)激活。从而实现热备份。使用网络硬盘RAID来同步文件。检测程序通过内网进行监控。


F
2 工作模式
a) 正常状态:


b) 备份激活:


c) 主机就绪:


d) 切换回正常模式:
需要手动停止备份服务器的服务,系统会自动切换回正常模式
三. 软硬件需求
两台双网卡主机完全安装 redhat6.2
主机IP 10.0.0.126 备份主机IP 10.0.0.250
实际服务即浮动IP 202.9.201.61
邮件系统:
系统Mail2.0
HA软件:
ftp://ha.redhat.com/pub/ha/piranha-docs-0.4.17-2.i386.rpm
ftp://ha.redhat.com/pub/ha/piranha-gui-0.4.17-2.i386.rpm
ftp://ha.redhat.com/pub/ha/piranha-0.4.17-2.i386.rpm
ftp://ha.redhat.com/pub/ha/ipvsadm-1.11-4.i386.rpm
http://www.complang.tuwien.ac.at/reisner/drbd/download/drbd-0.5.8.1.tar.gz
安装软件:
rpm –Uvh ipvsadm* piranha*两台主机都要装
金笛邮件系统安装
DRBD 安装
Tar zvxf tar -zvxf drbd-0.5.8.1.tar.gz
cd drbd
make
make install
有如下相关文件
/usr/sbin/drbdsetup
/lib/modules/2.2.18pre11-va2.1/block/drbd.o
/etc/ha.d/resource.d
/etc/rc.d/init.d/drbd
/sbin/insmod drbd进行测试
应返回”Using /lib/modules/2.2.18pre11-va2.1/block/drbd.o”
四. 设置
编辑/etc/lvs.cf文件
#Example of /etc/lvs.cf
#还需要smtpd popd这两个启动脚本
service = fos # 采用fos模式
primary = 10.0.0.126 # 主ip地址(qmail)
backup = 10.0.0.250 # 备份主机ip地址(Backup)
backup_active = 1 # 激活备份
heartbeat = 1 # 激活Heartbeat
heartbeat_port = 1050 # Heartbeat端口
keepalive = 2 # heartbeat间隔 单位秒
deadtime = 10 # 判定死机间隔
rsh_command = ssh # 文件同步方案 选ssh
#failovermail服务
failover pop {
active = 1 # 激活监听服务
address = 202.93.204.68 eth0:1 #
port = 110 #pop 端口
send = "n" #pop 连接特征串
expect = "+OK" #pop 反馈特征串
timeout = 10
start_cmd = "/etc/rc.d/init.d/popd start" #pop 启动命令
stop_cmd = "/etc/rc.d/init.d/popd stop" #pop关闭命令
}
failover smtp {
active = 1 #激活监听服务
address = 202.93.204.68 eth0:1 #
port = 25 #smtp端口
send = "n" #smtp 连接特征串
expect ="220" #smtp 反馈特征串
timeout = 10
start_cmd = "/etc/rc.d/init.d/smtpd start" # smtp启动命令
stop_cmd = "/etc/rc.d/init.d/smtpd stop" # smtp关闭命令
}
failover mirror {
active = 1
timeout = 10
start_cmd = "/etc/ha.d/resource.d/datadisk start" # DRBD启动命令
stop_cmd = "/etc/ha.d/resource.d/datadisk stop" # DRBD 关闭命令
}
同步LVS文件
scp /etc/lvs.cf 10.0.0.112:/etc/lvs.cf
编辑/etc/fstab加入 (两台都要加)
/dev/nb0 /var/qmail ext2 noauto 0 0 #FOS RAID
如下
/dev/sda1 /boot ext2 defaults 1 1
/dev/sda2 / ext2 defaults 1 1
/dev/nb0 /var/qmail ext2 noauto 0 0 #FOS RAID
/dev/sda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
编辑/etc/drbd.conf
resource drbd0 {
protocol=B
fsck-cmd=fsck.ext2 -p -y
on thost1 {
device=/dev/nb0
disk=/dev/hda7
address=10.0.0.126
port=7789
}
on thost2 {
device=/dev/nb0
disk=/dev/hda7
address=10.0.0.250
port=7789
}
}
检查两台主机drbd是否载入
#/sbin/lsmod
Module Size Used by
drbd 37792 0 (unused)
3c59x 20880 1 (autoclean)
如果drbd没有载入用如下命令载入
/sbin/insmod /lib/modules/2.2.18pre11-va2.1/block/drbd.o
在备份主机上挂接镜像盘
/usr/sbin/drbdsetup /dev/nb0 disk /dev/sda2
/usr/sbin/drbdsetup /dev/nb0 net 10.0.0.250 10.0.0.126 B
在主机上挂接镜像盘
/usr/sbin/drbdsetup /dev/nb0 disk /dev/sda2
/usr/sbin/drbdsetup /dev/nb0 net 10.0.0.126 10.0.0.250 B
/usr/sbin/drbdsetup /dev/nb0 primary
两台主机安装文件卷
/sbin/mkfs -b 4096 /dev/nb0
mount /dev/nb0 /var/qmail
启动
启动主机的drbd
/etc/rc.d/init.d/brdb start
启动备份主机的drbd
将金笛邮件系统 安装到 /home/webmail
启动主机的邮件系统 startup.sh
启动主机的pulse
/etc/rc.d/init.d/pulse start
启动备份主机的drbd
访问主机的smtp pop服务 查看是否正常(这点很重要)
然后才能启动备份主机的 pules
以上顺序不能弄错
测试
连接qmail测试是否正常工作
使用ifconfig 查看虚拟网卡是否工作
停止 主机的邮件系统服务
shutdown.sh
连接smtp pop 测试是否正常工作
使用 ifconfig 查看备份主机的网卡是否工作
正常的话应该将202.93.204.68绑定到这台主机上了
然后在停止备份主机的qmail服务 202.93.204.68应该被绑回到主机上了

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

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

相关文章

中国智慧城管哪家做的好?

智慧城市管理综合执法系统建立全市统一的法律法规、裁量基准、执法事项、执法文书和基础信息库,实现从获取线索、立案、调查、处理到结案全过程的信息化和文书制作的智能化。全面支持移动执法办案,提高执法效率。 技术架构: 微服务javasprin…

arm开发板移植工具mkfs.ext4

文章目录 一、前言二、手动安装e2fsprogs1、下载源码包2、解压源码3、配置4、编译5、安装 三、移植四、验证五、总结 一、前言 在buildroot菜单中,可以通过勾选e2fsprogs工具来安装mkfs.ext4工具: Target packages -> Filesystem and flash utilit…

【Python】免费的图片/图标网站

专栏文章索引:Python 有问题可私聊:QQ:3375119339 这里是我收集的几个免费的图片/图标网站: iconfont-阿里巴巴矢量图标库icon(.ico)INCONFINDER(.ico)

力扣刷题 二叉树的迭代遍历

题干 给你二叉树的根节点 root ,返回它节点值的 前中后序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:root […

智慧农业新篇章:数字乡村引领农业现代化

随着信息技术的飞速发展,数字乡村正成为引领农业现代化的重要力量。智慧农业作为数字乡村的核心内容,以其高效、精准、可持续的特点,为农业现代化开辟了新篇章。本文将从智慧农业的内涵与特点、数字乡村在农业现代化中的引领作用、智慧农业发…

机器学习第33周周报Airformer

文章目录 week33 AirFormer摘要Abstract一、论文的前置知识1. 多头注意力机制(MSA)2. 具有潜变量的变分模型 二、文献阅读1. 题目2. abstract3. 问题与模型阐述3.1 问题定义3.2 模型概述3.3 跨空间MSA(DS-MSA)3.4 时间相关MSA&…

小程序如何设置余额充值和消费功能

小程序中设置余额充值和消费功能非常重要的,通过让客户在小程序中进行余额充值,不仅可以提高用户粘性,还可以促进消费,增加用户忠诚度。以下是如何在小程序中设置余额充值和消费功能的步骤: 1. **设计充值入口**&…

Cisco Nexus 9000v Switch, NX-OS Release 10.4(3)F

Cisco Nexus 9000v Switch, NX-OS Release 10.4(3)F 用于网络原型设计和学习研究的虚拟化数据中心交换机 请访问原文链接:https://sysin.org/blog/cisco-nexus-9000v/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.o…

【软件测试】测试常见知识点汇总

测试常见知识点汇总 一、什么是测试1.1 测试和调试的区别1.2 什么是需求1.2.1 用户需求1.2.2 软件需求 1.3 测试用例要素1.4 软件的生命周期及各阶段概述1.5 开发模型和测试模型(记住特点和适用场景)1.5.1 开发模型1.5.1.1 瀑布模型(自上而下…

微信小程序生命周期管理:从数据初始化到事件绑定

作为一个独立的应用开发平台,微信小程序提供了自己的生命周期机制,与我们熟悉的Vue.js框架有一些差异。掌握小程序生命周期的特点和使用技巧,对于开发高质量的小程序应用至关重要。深入理解和掌握小程序生命周期的使用技巧,将有助于我们构建出更加健壮和可维护的小程序应用。 小…

内网穿透的应用-如何在Android Termux上部署MySQL数据库并实现无公网IP远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…

tesseract-ocr一站式安装与使用

目录 前言 安装tesseract-ocr 添加环境变量 1、在path中添加 2、在系統變量中添加 3、验证是否添加成功 添加语言包 更多语言包下载 示例程序 前言 如果你遇到了:make sure the TESSDATA_PREFIX Failed loading language \‘chi_sim 那么就是语言包缺少这个&#xf…

地质地貌卫星影像集锦(三 矿产资源篇)

1. 元古代沉积岩的抬升 这个地区位于Leigh Creek中部,距离澳大利亚南部的阿德莱德约500km,弗林德斯山脉的北面是Gawler克拉通。弗林德斯山脉是由元古代沉积岩抬升后形成的块体,在其之下的是寒武纪的岩石,它座落在距阿德莱德北…

正则表达式浅析

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很…

内表GROUP BY

内表GROUP BY REPORT z_test_table_lhy. DATA: price TYPE sflight-price. SELECT MIN( price ) AS m,carridINTO DATA(t_temp)FROM sflightGROUP BY carridHAVING MAX( price ) > 10. "Having从句中比较统计结果时,需要将统计函数重写一遍,而不…

python爬虫获取豆瓣前top250的标题(简单)

今天是简略的一篇,简单小实验 import requests from bs4 import BeautifulSoup# 模拟浏览器的构成(请求头) headers {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Ch…

6、【单例模式】确保了一个类在程序运行期间只有一个实例

你好,我是程序员雪球 在软件设计中,单例模式是一种常见的设计模式。它确保了一个类在程序运行期间只有一个实例,并提供了全局访问该实例的方式。单例模式在许多场景中都有广泛的应用,例如共享资源管理、数据库连接、日志记录器等…

面试题:MySQL 高可用

💖 主从同步 原理 核心:二进制日志 binlog 是 MySQL 的日志,redolog 和 undolog 是 innodo 引擎的日志。 💖 分库分表 分类 问题和技术 数据一致性问题 使用分布式事务管理组件,如ShardingSphere的分布式事务功能&…

蓝桥杯第十四届C++A组(未完)

【规律题】平方差 题目描述 给定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 。 输入格式 输入一行包含两个整数 L, R,用一个空格分隔。 输出格式 输出一行包含一个整数满足题目给定条件的 x 的数量。 样例输入 1 5 样例输出 …

Vue3学习笔记+报错记录

文章目录 1.创建Vue3.0工程1.1使用vue-cli创建1.2 使用vite创建工程1.3.分析Vue3工程结构 2.常用Composition2.1 拉开序幕的setup2.2 ref函数_处理基本类型2.3 ref函数_处理对象类型2.4 ref函数使用总结 1.创建Vue3.0工程 1.1使用vue-cli创建 查看vue/cli版本,确保…