实验环境搭建
创建一台操作系统是rhel7.6的虚拟机node,配置好网络仓库,解析,网卡设置,关闭火墙和selinux后封装
克隆node虚拟机,虚拟机域名为node1,node2,node3,主机名分别为server1,server2,server3
配置好三台主机的网络,使三台主机能够相互ping通
实验目的和实验步骤
使用corosync作为集群消息事务层,pacemaker作为集群资源管理器,pcs作为CRM的接口管理工具。要求实现http的高可用功能
实验步骤
实现简单的http高可用
将server1和server2作为高可用集群的两个节点,server3作为外部存储设备(iscsi)
在server1和server2上安装工具包

yum install -y pacemaker pcs psmisc policycoreutils-python

在server1和server2上启动pcsd服务

systemctl enable --now pcsd

给server1和server2的hacluster用户添加密码

 echo westos | passwd --stdin hacluster

在任意一个节点上利用pcs集群auth认证hacluster用户

pcs cluster auth server1 server2

在同一个节点上使用pcs集群设置和同步corosync

pcs cluster setup --name mycluster server1 server2

开启集群上的所有节点

pcs cluster start --all

设置开机自启

pcs cluster enable --all

查看集群状态

pcs cluster status

查看当前集群通信是否正常

corosync-cfgtool -s

查看当前加入该集群节点信息

pcs status corosync

使用pcs status查看集群状态会看到一个警告,用crm_verify -L -V会看到报错,这是为了保护数据安全默认会开启stonith这个属性,代表fence的总开关,在配置fence之前要将这个开关打开,暂时不配置fence时先关闭这个开关

pcs property set stonith-enabled=false

创建第一个资源vip,添加虚拟ip

pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.3.100 op monitor interval=30s

这时第一个资源已经创建完毕,作用在server2上


关闭server2节点则会自动漂移到server1

创建第二个资源web,实现http的高可用集群(需要先在两个节点上安装http服务)

pcs resource create web systemd:httpd op monitor interval=60s

此时两个资源创建完毕,但不在同一个节点

可以通过建立资源组的方式让他们节点一致

pcs resource group add webgroup vip web


开始测试:
给两个web默认发布页写入不同的内容以便区分

echo server1 > /var/www/html/index.html
echo server2 > /var/www/html/index.html

访问172.25.10.100的默认发布页

curl 172.25.10.100

此时资源在server1上运行,所以访问的默认发布页是server1的默认发布页

关闭server1节点,再次测试


实现带有数据存储的httpd高可用
在外部存储(server3)上添加一块硬盘,并且通过iscsi共享给server1和server2
安装targetcli

yum install targetcli -y

分享硬盘步骤

targetcli 进入交互界面
/backstores/block> create mydisk /dev/vdb
/iscsi> create iqn.2020-10.com.westos:target1
/iscsi/iqn.2020-10.com.westos:target1/tpg1/acls create wwn=iqn.2020-10.com.westos:client
/iscsi/iqn.2020-10.com.westos:target1/tpg1/luns create /backstores/block/mydisk

在server1和server2扫描共享硬盘(在两台主机都必须要做)
vi /etc/iscsi/initiatorname.iscsi

iscsiadm -m discovery -t st -p 172.25.10.3
iscsiadm -m node -l

查看硬盘fdisk -l

在任意一个节点对硬盘进行分区格式化,如果在另一个节点无法找到分区需要用partprobe同步分区表

在任意一个节点创建资源wwwdata

pcs resource create wwwdata ocf:heartbeat:Filesystem device=/dev/sda1 directory=/var/www/html fstype=xfs op monitor interval=30s

新建的资源没有在资源组里,而优先级又必须是vip,wwwdata,web
重新建立资源组

pcs resource group remove webgroup 删除原先的资源组
pcs resource group add webgroup vip wwwdata web 添加一个新的资源祖并将资源重新排列

实现带fence的httpd高可用
在宿主机安装fence

yum install fence-virtd* -y

进入fence-virtd配置

fence-virtd -c


创建认证文件,并且重启服务

dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
systemctl restart fence_virtd.service

在两个节点上创建/etc/cluster目录,并将认证文件放入目录下

ssh server1 mkdir /etc/cluster
ssh server2 mkdir /etc/cluste
scp /etc/cluster/fence_xvm.key server1:/etc/cluster/fence_xvm.key
scp /etc/cluster/fence_xvm.key server2:/etc/cluster/fence_xvm.key

在结点上安装fnece-virt

yum install fence-virt -y

在节点上查看可用的fence

stonith_admin -I

创建fence_xvm类型的vmfence

pcs stonith create vmfence fence_xvm pcmk_host_map="server1:node1;server2:node2" op monitor interval=30s

打开节点的stonith

pcs property set stonith-enabled=true

查看是否打开成功

pcs property list

此时资源在server2上,在server1通过fence_xvm -H node2可以使server2重启,资源会漂移到server1

fence_xvm -H node2

利用pcs+pacemaker+corosync实现(HA)高可用集群相关推荐

  1. Centos7.6+Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    本文转自https://mshk.top/2019/03/centos-hadoop-zookeeper-hbase-hive-spark-high-availability/,因为原链接打不开,故在 ...

  2. Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...

  3. 红帽436——HA高可用集群之概念篇

    一.集群概念: 集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术. 集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二.集群三种类型: HA:高可用集 ...

  4. Hadoop HA 高可用集群搭建

    Hadoop HA 高可用集群搭建 一.首先配置集群信息 1 vi /etc/hosts 二.安装zookeeper 1.解压至/usr/hadoop/下 1 tar -zxvf zookeeper- ...

  5. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    一.服务器环境 主机名 IP 用户名 密码 安装目录 master 192.168.142.124 root xxx /usr/hadoop-2.6.5/ slave1 192.168.142.125 ...

  6. Hadoop HA 高可用集群启动报错 Encountered exception loading fsimage 解决方案

    笔者在搭建好Hadoop HA 高可用集群启动时报如下错误,后面是解决方案. 报错信息: 2018-08-24 11:18:07,475 INFO org.apache.hadoop.hdfs.ser ...

  7. 基于Kubeadm部署Kubernetes1.13.3 HA 高可用集群

    Table of Contents 目录 基于Kubeadm部署Kubernetes1.13.3 HA 高可用集群 01. 部署目的 1.1 Kubernetes的特性 1.2 贴微服务,开发环境快速 ...

  8. HA(高可用)集群之AIS(corosync),高可用httpd+NFS

    **高可用集群的定义** 高可用集群,High Availability Cluster,简称HA Cluster:集群就是一组计算机,它们作为一个整体向用户提供各种资源,集群里的host就是节点(n ...

  9. [转]HA高可用集群中“脑裂“问题解决

    什么是脑裂(split-brain) 在"双机热备"高可用(HA)系统中,当联系两个节点的"心跳线"断开时(即两个节点断开联系时),本来为一个整体.动作协调的H ...

  10. HA高可用集群与RHCS集群套件

    一.HA基本概念 linux高可用集群(HA)原理详解:https://blog.csdn.net/xiaoyi23000/article/details/80163344 负载均衡.集群.高可用(H ...

最新文章

  1. php上传头像的代码,php头像上传预览实例代码
  2. html 表格_【HTML】3 表格标签
  3. 百度移动应用安卓_昔日明星91助手和安卓市场“下线” 百度那19亿美元值不值?...
  4. <<温泉屋的小老板娘>>观后感
  5. 开单大师(开源可定制的房产管理系统) v3.6.9学习版
  6. linux常用文本编缉命令(strings/sed/awk/cut/uniq/sort)
  7. 11矩阵的QR分解(1)
  8. [蓝牙 4.0 CC2541开发] BLE协议栈 GAP GATT
  9. ABAQUS使用功能总结
  10. android绘制矢量图地图,Android 高级 UI 进阶之路 (七) SVG 基础使用 + 绘制中国地图...
  11. 何谓情比金坚——婚姻来源和相关说法
  12. 北信源与天津麒麟签战略合作协议 共建国产信息安全生态圈
  13. 微信小程序登录后,用户名显示微信用户,头像显示灰色,用户自己的头像和名称无法正常显示的问题(附解决方案)
  14. Android P Asan使用总结
  15. 数据结构:利用栈实现数制转换
  16. python小明爱跑步
  17. 按揭贷款买房流程及注意事项详解 你准备好买房了吗
  18. ASEMI整流桥GBU410参数,GBU410介绍,GBU410代换
  19. 一文讲解Linux内核中根文件系统挂载流程
  20. js实现复制文本及其排版格式

热门文章

  1. BIGEMAP APP导入/导出文件\照片(kml\shp\cad(dxf)\txt\excel)
  2. EVE-NG打开Wireshark提示拒绝访问
  3. EDIUS中怎么快速实现色彩平衡滤镜较色
  4. 不等式解集怎么取_口诀巧取不等式组的解集
  5. Openwrt Kernel panic - not syncing: Fatal exception 解决方案
  6. Uncaught RangeError Maximum call stack size exceeded
  7. 判断一周中的某一天是否为工作日
  8. 人人都能成为闪电网络节点:第7章管理lnd
  9. 使用ArcGIS制作专题等值线图
  10. hi3516dv300 u-boot, 内核, 文件系统编译移植