环境准备:

一准备三个虚拟机,把/etc/hosts/文件配置好

                             192.168.43.9 node0
                             192.168.43.10 node1
                             192.168.43.11 node2

配置ssh免密码登入(在node0上操作)(为了避免ssh登入是需要输入yes,可以笨办法可以先在各个节点上使用ssh先登入其他的节点)

ssh-keygen -t rsa -P ""
cd .ssh
mv id_rsa.pub authorized_keys
rm -f known_hosts
cd ../
scp -rp .ssh/ node1:/root/
scp -rp .ssh/ node2:/root/

node0,node1,node2上配置时间同步服务器

1:在node0上安装配置chrony服务,同步国内互联网时间服务器的时间

yum install -y chrony
 

2:编辑配置文件/etc/chrony.conf

修改默认的centos时间同步服务器地址为国内时间同步服务器地址,且允许192.168.43.0/24网段的主机同步时间
server s1a.time.edu.cn iburst
server s1b.time.edu.cn iburst
server s1c.time.edu.cn iburst
server s1d.time.edu.cn iburst
allow 192.168.43.0/24
 

3:启动chrony

systemctl enable chronyd.service
systemctl start chronyd.service
 

4:在node1和node2上分别安装chrony,且修改配置文件/etc/chrony.conf,将时间同步指向node0节点

yum install -y chrony
server node0 iburst(配置文件里面修改)
systemctl enable chronyd.service
systemctl start chronyd.service
 
 

5:node1,node2验证时间同步

[root@node1 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* node0 3 6 17 6 -5684ns[-1595ns] +/- 401ms
 

高可用集群(服务配置)

pacemaker提供的管理程序有:(rpm -ql pacemaker)
/usr/libexec/pacemaker/cib(集群信息中心 cluster infomation base)
/usr/libexec/pacemaker/crmd(集群管理器)
/usr/libexec/pacemaker/lrmd(本地管理器)

 


  • 在node1和node2节点安装corosync、pacemaker
安装pacemaker( corosync将会被作为依赖安装)
yum install -y pacemaker
  • 在node1上操作
cd /etc/corosync/
cp corosync.conf.example corosync.conf
  • 关于/etc/corosync/corosync.conf配置文件的介绍
1:totem { }:设置节点间的通信方式,通信协议,加密,通信的多播地址,且至少需要定义一个interface{}接口用来传递集群心跳信息

2:loggin { }:设置格式,存储路径,记录的级别

3:quorum { }: 设置投票信息

4:nodelist { }:设置节点个数
  • 由于在message layer层传递心跳信息需要加密,因此先必须生成加密文件
corosync-keygen
  • 编辑配置文件/etc/corosync/corosync.conf,修改配置文件(man corosync.conf 查看配置选项)
totem {
version: 2 # 指定版本号
cluster_name: uplookingcluster # 指定集群名称
crypto_cipher: aes256 # 指定对称加密算法
crypto_hash: sha1 # 指定单向加密算法
interface {
ringnumber: 0 # 指定心跳信息传递的环路id
bindnetaddr: 192.168.43.0 # 指定环路中的网络地址
mcastaddr: 239.255.1.1 # 指定心跳信息通过多播的方式传递的IP通道
mcastport: 5405 # 指定多播的端口
ttl: 1 # 指定多播报文信息的生命周期
}
} logging {
fileline: off
to_stderr: no
to_logfile: yes # 指定开启日志文件
logfile: /var/log/cluster/corosync.log # 指定日志文件保存的位置
to_syslog: no # 指定不使用系统日志保存日志信息
debug: off
timestamp: on
logger_subsys { # 指定启用仲裁机制
subsys: QUORUM
debug: off
}
} quorum { # 指定仲裁机制是corosync投票系统
provider: corosync_votequorum
} nodelist { # 指定节点列表
node {
ring0_addr: 192.168.43.10
nodeid: 1
}
node {
ring0_addr: 192.168.43.11
nodeid: 2
}
}
  • 将corosync.conf配置文件和生成的authkey文件复制到node2节点,注意authkey文件的权限必须是400才能启动corosync
scp authkey corosync.conf node2:/etc/corosync/
  • 在node1和node2上分别启动corosync
systemctl enable corosync.service
systemctl start corosync.service
  • 在node1和node2上分别启动pacemaker
systemctl enable pacemaker.service
systemctl start pacemaker.service
  • 在node1节点上查看,当前集群中谁是DC(DC:Designated Coordinator 指定的协调员 负责管理集群的事务信息)
crm_mon
  • 在node1和node2上配置crmsh的yum仓库,此仓库的RPM包有openSUSE提供,将这个network:ha-clustering:Stable.repo文件直接下载到本地并且命名为crmsh.repo
wget -O /etc/yum.repos.d/crmsh.repo http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/network:ha-clustering:Stable.repo
  • 在node1和node2上通过yum安装crmsh(crmsh是pacemaker的命令行接口工具,执行help命令,可以查看shell接口所有的一级命令和二级命令,使用cd 可以切换到二级子命令的目录中去,可以执行二级子命令)
yum repolist
yum install -y crmsh
 
 
  • 在此可以使用crm命令进入交互式接口,实现对集群的管理操作
 https://www.cnblogs.com/liu1026/p/10149701.html   (crmsh基本的命令解释)

配置高可用集群(实验) corosyne+pacemaker的更多相关文章

  1. Linux集群介绍、keepalived介绍及配置高可用集群

    7月3日任务 18.1 集群介绍18.2 keepalived介绍18.3/18.4/18.5 用keepalived配置高可用集群扩展heartbeat和keepalived比较http://blo ...

  2. Linux centosVMware 集群介绍、keepalived介绍、用keepalived配置高可用集群

    一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat. ...

  3. 集群相关、用keepalived配置高可用集群

    1.集群相关 2.keepalived相关 3.用keepalived配置高可用集群 安装:yum install keepalived -y   高可用,主要是针对于服务器硬件或服务器上的应用服务而 ...

  4. 高可用集群之corosync+pacemaker

    1.概念 在传统Linux集群种类,主要分了三类,一类是LB集群,这类集群主要作用是对用户的流量做负载均衡,让其后端每个server都能均衡的处理一部分请求:这类集群有一个特点就是前端调度器通常是单点 ...

  5. 集群介绍 keepalived介绍 用keepalived配置高可用集群

    集群介绍 • 根据功能划分为两大类:高可用和负载均衡 • 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 • 实现高可用的开源软件有:heartb ...

  6. Keepalived 配置高可用集群

    一.Keepalived 简介 (1) Keepalived 能实现高可用也能实现负载均衡,Keepalived 是通过 VRRP 协议 ( Virtual Router Redundancy Pro ...

  7. Spring Cloud Config 配置高可用集群

    详细参考:<Sprin Cloud 与 Docker 微服务架构实战>p163-9.10节 spring cloud config 与 eureka 配合使用 我就不写了,请参见本书章节.

  8. 配置drbd高可用集群

    前期准备: 同步时间 (两个节点) 节点一(172.16.21.6) [root@stu21 heartbeat2]# ntpdate 172.16.0.1 31 Dec 20:59:25 ntpda ...

  9. MongoDB高可用集群配置的方案

    >>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...

随机推荐

  1. ES6的Promise对象

    http://es6.ruanyifeng.com/#docs/promise Promise 对象 Promise 的含义 基本用法 Promise.prototype.then() Promise ...

  2. 【转】WCF设置拦截器捕捉到request和reply消息

    原文:https://www.cnblogs.com/yanglang/p/7063743.html 我们需要拦截消息,并把消息打印出来,那么我们就需要一个拦截器,叫做MessageInspector ...

  3. 【python】Selenium隐藏控制台解决办法

    一.起因: 使用selenium 驱动浏览器的时候,如果使用headless模式,会有dos窗口弹出,输出监听信息,有时不想看到,很是麻烦. 二.解决办法: 修改源码:Lib \ site-packa ...

  4. 3- 功能2:基于forms组件和ajax实现注册功能

    1.forms组件的注册页面 url from django.urls import path, re_path from blog import views from django.views.st ...

  5. 详解 nginx location ~ .*\.(js|css)?$ 什么意思?

    语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因 ...

  6. Java类的加载的一个小问题

    前言 之前写了一篇文章专门介绍了一下类的加载和对象的创建流程,然后收到了一个博友的疑问,觉得蛮好的,在这里和大家分享下. 博文地址:[Java基础]Java类的加载和对象创建流程的分析 疑问 类在加载 ...

  7. python爬虫之requests库介绍(二)

    一.requests基于cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们 ...

  8. 总结hibernate框架的常用检索方式

    1.hibernate框架的检索方式有以下几种: OID检索:根据唯一标识OID检索数据 对象导航检索:根据某个对象导航查询与该对象关联的对象数据 HQL检索:通过query接口对象查询 QBC检索: ...

  9. 微信小程序中的分享事件

    小程序的分享 onShareAppMessage(options)   在页面的js文件中定义了 onShareAppMessage 函数时,页面可以表示改页面可以转发.可以在函数中设置页面转发的信息 ...

  10. css布局笔记(二)Flex

    flex Flex是"Flexible Box"的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可指定为Flex布局. .box{di ...