利用pcs+pacemaker+corosync实现(HA)高可用集群
实验环境搭建
创建一台操作系统是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)高可用集群相关推荐
- 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/,因为原链接打不开,故在 ...
- 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 ...
- 红帽436——HA高可用集群之概念篇
一.集群概念: 集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术. 集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二.集群三种类型: HA:高可用集 ...
- Hadoop HA 高可用集群搭建
Hadoop HA 高可用集群搭建 一.首先配置集群信息 1 vi /etc/hosts 二.安装zookeeper 1.解压至/usr/hadoop/下 1 tar -zxvf zookeeper- ...
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
一.服务器环境 主机名 IP 用户名 密码 安装目录 master 192.168.142.124 root xxx /usr/hadoop-2.6.5/ slave1 192.168.142.125 ...
- Hadoop HA 高可用集群启动报错 Encountered exception loading fsimage 解决方案
笔者在搭建好Hadoop HA 高可用集群启动时报如下错误,后面是解决方案. 报错信息: 2018-08-24 11:18:07,475 INFO org.apache.hadoop.hdfs.ser ...
- 基于Kubeadm部署Kubernetes1.13.3 HA 高可用集群
Table of Contents 目录 基于Kubeadm部署Kubernetes1.13.3 HA 高可用集群 01. 部署目的 1.1 Kubernetes的特性 1.2 贴微服务,开发环境快速 ...
- HA(高可用)集群之AIS(corosync),高可用httpd+NFS
**高可用集群的定义** 高可用集群,High Availability Cluster,简称HA Cluster:集群就是一组计算机,它们作为一个整体向用户提供各种资源,集群里的host就是节点(n ...
- [转]HA高可用集群中“脑裂“问题解决
什么是脑裂(split-brain) 在"双机热备"高可用(HA)系统中,当联系两个节点的"心跳线"断开时(即两个节点断开联系时),本来为一个整体.动作协调的H ...
- HA高可用集群与RHCS集群套件
一.HA基本概念 linux高可用集群(HA)原理详解:https://blog.csdn.net/xiaoyi23000/article/details/80163344 负载均衡.集群.高可用(H ...
最新文章
- php上传头像的代码,php头像上传预览实例代码
- html 表格_【HTML】3 表格标签
- 百度移动应用安卓_昔日明星91助手和安卓市场“下线” 百度那19亿美元值不值?...
- <<温泉屋的小老板娘>>观后感
- 开单大师(开源可定制的房产管理系统) v3.6.9学习版
- linux常用文本编缉命令(strings/sed/awk/cut/uniq/sort)
- 11矩阵的QR分解(1)
- [蓝牙 4.0 CC2541开发] BLE协议栈 GAP GATT
- ABAQUS使用功能总结
- android绘制矢量图地图,Android 高级 UI 进阶之路 (七) SVG 基础使用 + 绘制中国地图...
- 何谓情比金坚——婚姻来源和相关说法
- 北信源与天津麒麟签战略合作协议 共建国产信息安全生态圈
- 微信小程序登录后,用户名显示微信用户,头像显示灰色,用户自己的头像和名称无法正常显示的问题(附解决方案)
- Android P Asan使用总结
- 数据结构:利用栈实现数制转换
- python小明爱跑步
- 按揭贷款买房流程及注意事项详解 你准备好买房了吗
- ASEMI整流桥GBU410参数,GBU410介绍,GBU410代换
- 一文讲解Linux内核中根文件系统挂载流程
- js实现复制文本及其排版格式
热门文章
- BIGEMAP APP导入/导出文件\照片(kml\shp\cad(dxf)\txt\excel)
- EVE-NG打开Wireshark提示拒绝访问
- EDIUS中怎么快速实现色彩平衡滤镜较色
- 不等式解集怎么取_口诀巧取不等式组的解集
- Openwrt Kernel panic - not syncing: Fatal exception 解决方案
- Uncaught RangeError Maximum call stack size exceeded
- 判断一周中的某一天是否为工作日
- 人人都能成为闪电网络节点:第7章管理lnd
- 使用ArcGIS制作专题等值线图
- hi3516dv300 u-boot, 内核, 文件系统编译移植