linux系统集群之高可用(一)HA
高可用的需求
Engender)策略引擎对心跳信息进行分析然后根据某种规则进行策略分析,然后把分析的结果送交给LRM进行执行
split(脑裂)的,在收不到节点发的heartbeat信息时,就要使光电交换机自动的切断自己认为是错误节点的电源,以防止发生脑裂现象。
- heartbeatv1
- heartbeatv2
- hearteatv3
- corosync
- cman
2.CRM
- pacemaker
- crm
- rgmanager
3.全生命周期的管理软件
- pcs(因为其没有命令行补全工具,而且命令又不是嵌入shell里面,因此不是特别友好)
- crmsh(具有命令行工具,命令类似于一个全新的shell)
以上软件具体的作用我会在之后的实验里面进行介绍,今天我先介绍一种架构,近来因为看的学习视频有点老,很多的软件都找不到,有时候就算找到了也很难安装成功,况且高可用软件对于linux内核版本的依赖性很高,,因此建议用以下架构,因为centos7.0默认具有以下组件,我们可以非常轻松的用yum进行软件的安装,但是因为centos第一次接触,有很多地方和之前的版本有很大的不同,让我们一起来克服吧。
- corosync v2 + pacemaker
+ pcs - centos 7.0
- node1 192.168.1.128
- node2 192.168.1.129
- node3 192.168.1.130
- ntp_server nfs_server 192.168.1.127
found
initialization centos 7
/etc/udev/rule.d/70-persisent-ipoib.rules
找eth1的mac地址,替换以下文件的mac地址
/etc/sysconfig/network-scripts/cfg-ens33
然后重启服务
network
节点一
#hostname node1 修改主机名,临时生效
#vim /etc/sysconfig/network 永久生效
HOSTNAME=node1
#vim /etc/hosts 使主机能够解析node1,node2,node3
192.168.1.128 node1
192.168.1.129 node2
192.168.1.130 node3
#ping node2 测试是否能够ping通
#ping node3
节点二
#hostname node2 修改主机名,临时生效
#vim /etc/sysconfig/network 永久生效
HOSTNAME=node2
#vim /etc/hosts 使主机能够解析node1,node2,node3
192.168.1.128 node1
192.168.1.129 node2
192.168.1.130 node3
#ping node3 测试是否能够ping通
#ping node1
节点三
#hostname node3 修改主机名,临时生效
#vim /etc/sysconfig/network 永久生效
HOSTNAME=node3
#vim /etc/hosts 使主机能够解析node1,node2,node3
192.168.1.128 node1
192.168.1.129 node2
192.168.1.130 node3
#ping node2 测试是否能够ping通
#ping node1
在家目录下面生成秘钥文件
在家目录下面生成秘钥文件
在家目录下面生成秘钥文件
此处最关键,对于centos7.0没有了Server,Cluster,因此就写成这样可以了
4.2.6p5-25.el7.centos
@hu
httpd
对于不知道怎么设置防火墙的,而且是仅仅只是做实验的人来说,这一步必须要有
version:
2
crypto_hash: none
secauth: off
{
ringnumber:
0
bindnetaddr: 192.168.1.0
网段地址
mcastaddr:
239.188.1.31 组播地址
mcastport:
5405
ttl:
1
}
node {
ring0_addr: 192.168.1.128
nodeid: 1
}
node {
ring0_addr: 192.168.1.129
nodeid: 2
}
node {
ring0_addr: 192.168.1.130
nodeid: 3
}
}
fileline:
off 在记录日志的时候不同的日志是否需要下划线
to_stderr: no
是否需要错误输出
to_logfile:
yes 输出为日志文件
logfile:
/var/log/cluster/corosync.log
to_syslog: no
是否传送给标准的日志文件
debug:
off
timestamp: off 时间戳是否要进行记录
logger_subsys
{
subsys:
QUORUM
debug:
off
}
}
provider:
corosync_votequorum 开启投票系统
}
Test HA Cluster script.
" > /www/huwentao/index.html
关闭httpd服务
复制样例文件,并进行第五步骤的修改
node2:/etc/corosync/
复制文件到node2
node2:/etc/corosync/
复制文件到node3
pcs.service 开启node1上面的pcsd服务
Current DC: node3 (version 1.1.15-11.el7-e174ec8) - partition with quorum
Last updated: Mon May 15 07:51:56
2017
Last change: Mon May 15 05:52:38 2017 by root via cibadmin on
node1
]
- cluster 定义集群服务
- resource 定义一些资源
- config 查看当前的一些配置
- status 查看当前集群的状态
- constraint 定义资源约束
- property 设置一些全局属性
这里只是简单的配置一些资源,详细的使用信息这里就不在赘述
以下为设置web高可用集群的三个必要资源webip,webstore,webserver,并把这三个资源放在一个组内
#pcs property set
stonith-enabled=false因为当前没有stonish设备,因此将此参数设置成false
#pcs source create webip
ocf:heartbeat:IPaddr ip="192.168.1.2"
op monitor interval=30s
#pcs source create webstore
ocf:heartbeat:Filesystem device="192.168.1.127:/www/huwentao/"
\ directory="/var/www/html" fstype="nfs"
#pcs source create webserver systemd:httpd
#pcs source group webservice webip webserver webstore
#pcs status 显示以下信息
Cluster name:
WARNING: corosync and pacemaker node names do not match (IPs used
in setup?)
Stack: corosync
Current DC: node3 (version 1.1.15-11.el7-e174ec8) - partition with
quorum
Last updated: Mon May 15 08:04:22
2017
Last change: Mon May 15 05:52:38 2017 by root via cibadmin on
node1
3 nodes and 3 resources configured
Online: [ node1 node2 node3 ]
Full list of resources:
Resource Group: webservice
webip
(ocf::heartbeat:IPaddr):
Started node1
webstore
(ocf::heartbeat:Filesystem):
Started node1
webserver
(systemd:httpd):
Started node1
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/disabled
linux系统集群之高可用(一)HA的更多相关文章
- Memcached 集群的高可用(HA)架构
Memcache自身并没有实现集群功能,如果想用Memcahce实现集群需要借助第三方软件或者自己设计编程实现,这里将采用memagent代理实现,memagent又名magent,大家注意下,不要将 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)
1.熟悉几个组件 1.1.apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...
- 15套java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- 15套java架构师、集群、高可用、高可扩 展、高性能、高并发、性能优化Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
- Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试
文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...
- Rabbitmq安装、集群与高可用配置
历史: RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多 ...
- 11.Redis 哨兵集群实现高可用
作者:中华石杉 Redis 哨兵集群实现高可用 哨兵的介绍 sentinel,中文名是哨兵.哨兵是 redis 集群机构中非常重要的一个组件,主要有以下功能: 集群监控:负责监控 redis mast ...
- Quartz学习笔记:集群部署&高可用
Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...
- Nginx+Zuul集群实现高可用网关
代码参考:https://github.com/HCJ-shadow/Zuul-Gateway-Cluster-Nginx Zuul的路由转发功能 前期准备 搭建Eureka服务注册中心 服务提供者m ...
随机推荐
- vue 修饰符 整理
事件修饰符 .stop <!-- 阻止单击事件继续传播 --> <a v-on:click.stop="doThis"></a> .preven ...
- easyui datagrid 表格中操作栏 按钮图标不显示
jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染 解决办法: 使用解析器 Parser(解析器) $.parser.parse(); // 解析所有页面 $.par ...
- SQL Server(第一章) 创建表 删除表 创建主键约束、唯一约束、外键约束、CHECK约束、默认约束
1.Employees员工表 /** 创建Employees员工表 **/ USE TSQL2012 IF OBJECT_ID('dbo.Employees','U') IS NOT NULL DRO ...
- MyEclipse 相关配置操作、问题处理及快捷键说明
MyEclipse傻瓜式安装不做介绍,试用期结束后破解操作见博客:MyEclipse 2014 破解补丁及激活步骤 以下为安装完MyEclipse后一般需要进行的一些配置,写来自己参考用.比较简陋,望 ...
- 笨办法学Python(十三)
习题 13: 参数.解包.变量 在这节练习中,我们将讲到另外一种将变量传递给脚本的方法(所谓脚本,就是你写的 .py 程序).你已经知道,如果要运行 ex13.py,只要在命令行运行 python e ...
- java研发常见问题总结2
1. String.StringBuffer与StringBuilder之间区别 关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 ...
- NO.003-2018.02.08《江城子·乙卯正月二十日夜记梦》宋代:苏轼
江城子·乙卯正月二十日夜记梦_古诗文网 江城子·乙卯正月二十日夜记梦 乙卯:公元1075年,即北宋熙宁八年. 宋代:苏轼 十年生死两茫茫,不思量,自难忘.千里孤坟,无处话凄凉.纵使相逢应不识,尘满面, ...
- springmvc--jsp页面乱码
最近想做一个平台,花时间学习springmvc.现在把零散的问题做总结 A页面写数据,一个post请求,B页面负责数据接收和显示,但是在B页面中输入中文确乱码了 A页面如下 B页面展示如下 B页面的j ...
- IA32的三种地址
IA32的三种地址 逻辑地址:机器语言指令仍用这种地址指定一个操作数的地址或一条指令的地址. 这种寻址方式在Intel的分段结构中表现得尤为具体,它使得MS-DOS或Windows程序员把程序分为若干 ...
- 【LOJ6045】「雅礼集训 2017 Day8」价(网络流)
点此看题面 大致题意: 有\(n\)种药,每种药有一个权值,且使用了若干种药材.让你选择若干种药,使得药的数量与所使用的药材并集大小相等,求最小权值总和. 网络流 \(hl666\):这种数据范围,一 ...