高可用集群HA架构搭建

HA含义为在集群服务器架构中,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。

(1)基本安装

Server1和server2 为High Availability的两个节点

在两个节点上配置完整的rhel6.5的yum源,安装ricci,创建ricci用户,密码westos,启动并设置开机启动ricci。

将instructor机作为管理机(M端),安装luci,启动luci服务

web上配置

在web上输入https://instructor.example.com:8084  //m端通过8084端口设置节点

输入M 端root用户名和密码

点击Nodes->create 创建集群

Cluster name 为yakexi_ha(自定义)

下面两行填写两个节点hostname和密码(ricci的密码)

勾选下载包、在加入集群之前重启、支持分享存储这三个选项,

点击创建,集群创建完成。

点击server1.example.com,可以看到底部相关集群服务已启动,其中,

Cman:控制组管理器

Rgmanager;资源组管理器

在server1上

#clustat  显示两个节点都是online,表明HA架构创建成功。

(2)Fence服务配置

当集群中一个节点僵住处于假死状态时,服务器会向另一个节点请求数据,若僵住的节点突然正常,向服务器发送数据,两节点数据冲突,会造成服务器的数据损坏,这种现象成为脑裂。为避免这种情况,可以采用fence服务,fence可以将假死节点在主板上跳电关机,避免脑裂发生。

在M端,

#yum install fence-virtd-multicast-0.3.2-2.e17.x86_64 fence-virtd-libvirt-0.3.2-2.e17.x86_64 fence-virt-0.3.2-2.e17.x86_64

#fence_virtd -c  //创建fence

Listener module [muliticast] :默认多播监听模块,回车

Multicast IP Address [225.0.0.12]:默认组播IP,回车

Multicast IP Port [1229]:默认多播端口为1229端口,回车

Interface [none]:输入一个网卡,如br0

key file [/etc/cluster/fence_xvm.key]:显示fence_xvm.key文件,回车

Backend module [checkpoint]: 后端模块为libvirt 回车

Libvirt url [qemu:///system]: 回车

replace /etc/fence_virt.conf with the above [y/n] :y

重启fence_virtd服务

#netstat -anulp |grep 1229

显示fence_virtd 的套结字,表明fence的m端配置成功。

#dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1  //为fence_xvm.key写入随机数密码

重启fence_virtd

将key文件发送到两个节点的/etc/cluster/下。

在web上,点击fence devices

选择fence virt(multicast mode),name为server1.example.com.

同上将server2.example.com加到fence devices中

点击nodes->server1.example.com

在fence devices 中点击add fence method ,创建fence method名(如vmfence-1).

点击add fence instance 选择vmface(xvm virtual machine fencing). Domain 为server1的uuid。

同理在server2中添加server2到vmfence-2。

在server1上,

#fence_node server2.example.com

显示fence server2.example.com success 表明两节点的fence服务连接成功

在web上,点击failover domains(故障转移域) ->add

因为接下来是验证apache服务故障转移能力,所以name为webfail(自定义),勾选优先级(安排节点优先级)、限制(服务只能在特定节点上运行)、不回错(当僵死的服务再次复活时不让它的优先级回到1)。

勾选两个节点,优先级分别为1,2.

然后点击上面的resources->add 选择ip address ,ip address 为172.25.0.100,子网掩码为24,勾选monitor link ,设置当ip地址移除5秒后休眠。这样虚拟ip (vip) 配置成功。

再点add, 选择script,name为httpd,path为/etc/init.d/httpd.(节点服务为httpd,注意 两节点都要安装httpd且主页分别为server1.example.com 和 server2.example.com)。

点击service groups->add ,

Name为apache,勾选自动启动服务和独立运行。故障转移域为webfail,恢复计划为重新安置。

这样服务组设置完成。

在server2中,

#clustat

显示群组的apache由server2上开启

Web上登陆172.25.0.100后界面显示server2.example.com

#clusvcadm -r apache -m server1.example.com  //切换apache服务切换到server1上

注:

Clusvcadm用来管理HA服务。

1. 启动某个应用服务

可以通过如下方式启动某个节点的应用服务:

clusvcadm -e -m

2. 关闭某个应用服务

可以通过如下方式关闭某个节点的应用服务:

clusvcadm -s -m

3. 重启某个应用服务

可以通过如下方式重启某个节点的应用服务:

clusvcadm -R -m

4. 切换某个服务

可以通过如下方式将一个应用服务从一个节点切换到另一个节点:

clusvcadm -r -m

刷新web,显示server1.example.com

在将apache切换到server2上

刷新web,显示server2.example.com

#echo c > /proc/sysrq-trigger   //破坏server2内核

刷新web,显示server1.example.com

(3)集群共享存储

在m端

要有空余空间的逻辑卷。如图

#yum install iscsi-initiator-utils-6.2.0.873.e16.x86_64 scsi-target-utils-1.0.24-2.e16.x86_64 -y   // 服务端tgt软件名为scsi-target-utils

#vim /etc/tgt/targets.conf

编辑如图下

//将存储(/dev/vol0/demo)共享给server1和server2两个节点

重启tgtd

#tgt-admin -s //显示共享存储信息,ACL为权限列表。

注:tgt-admin是一个对Target和luns进行持久化配置的工具。它使用tgtadm命令进行Target创建、删除和显示等操作。

在server2上

安装iscsi-initiator-utils

将iscsi启动并设为开机启动

#iscsiidm -t st -m discovery -p 172.25.0.251    //发现远端存储 st为sata模式

#iscsiadm -m node -l    // 以集群节点登陆远端存储

对远端存储进行分区,pv、vg、lv 。卷组名为clustervg, 逻辑卷名为lv1,并格式化为ext4.

#iscsiadm -m node -u  //登出

#iscsiadm -m node -o delete //卸载远端存储

在server1上,同server2。

Server2、server1都登陆挂载远程存储。并都mount到/mnt目录

Server1在mount上创建名为clu的文件,在server2上也能看到。这是集群远程存储的同步性。

在web上,resource->add

通过网页设置节点上的远端存储

选择filesystem ,name为webdata,type为ext4,挂载点为/var/www/html ,device为/dev/cluster/lv1,勾选强制不挂载,快速状态检查,当卸载失败后重启节点设备。

在web 上

点击webdata,删除script,再add resource to service,依次添加,httpd,webdata。节点是按照这三个顺序启动服务的。

(4)集群文件系统gfs2

Gfs2特性:高可用,多路冗余

在server1上

#lvcreate -L 2G -n demo clustervg

#mkfs.gfs2 -p lock_dlm -t yakexi_ha:mygfs2 -j 3 /dev/clustervg/demo

// 创建gfs2文件系统 -plock_dlm 锁定协议为标准锁定模式,-t :在您使用 lock_dlm 协议时用来指定锁定表格字段的唯一识别程序,l后接文件名加冒号加自定义文件系统名称。 -j 指定生成日志数目。

#gfs2_tool sb /dev/clustervg/demo all  // 创建超级块

挂载demo到/mnt

#gfs2_tool journals /dev/clustervg/demo  //查看日志大小

开机自动挂载gfs2远端文件系统

#blkid  //查看设备uuid

在fstab文件中添加

UUID=你的uuid  /var/www/html   gfs2 _netdev    0 0

#mount -a

在server2上在fstab中直接添加,因为集群同步性,server2的远端存储配置上已同server1上一样。

也可在web上配置,

点击resource->add

选择gfs2 ,其他与webdata几乎相同。

若想添加文件日志数,可用

#gfs2_jadd -j 2 /dev/clustervg/demo

增大挂载文件系统

#gfs2_grow /dev/clustervg/demo

可用df -h 、vgs 、lvs等验证。

时间: 2024-10-05 08:41:28

高可用集群HA架构搭建的相关文章

mysql高可用集群——MHA架构

目录 1.下载 2.搭建mha 2.1 系统配置 2.2 架构 2.3 添加ssh公钥信任 2.4 安装mha节点 2.5 manager配置文件 2.6 检查 2.7 启动manager进程 2.8 碰到的问题 3.测试切换 3.1 正常切换测试 3.2 回切测试 3.3 雪崩测试 3.4 主从不一致切换测试 下载 mha链接地址:http://pan.baidu.com/s/1pJkDGX9#dir/path=%2Fmysql%2FHA%2Fmha 或者:https://code.googl

linux高可用集群(HA)原理详解

高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务.高可用集群是用于单个节点发生故障时,能够自动将资源.服务进行切换,这样可以保证服务一直在线.在这个过程中,对于客户端来说是透明的. 二.高可用集群的衡量标准 高可用集群一般是通过系统的可靠性(reliability)和系统的可维护性(maintainability)来衡量的.通常用平均无故障时间

linux高可用集群(HA)原理详解(转载)

一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个 节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务.高可用集群是用于单个节点发 生故障时,能够自动将资源.服务进行切换,这样可以保证服务一直在线.在这个过程中,对于客户端来说是透明的. 二.高可用集群的衡量标准 高可用集群一般是通过系统的可靠性(reliability)和系统 的可维护性(maintainability)来衡量的.通常用平均无故障时间(MT

高可用集群HA之双机集群

HA:High Availability  高可用性:主要目的就是让运行在服务器上的服务尽可能减少的中断的技术,保证服务运行的连续性:原理如上图所示,本文实现双机集群系统,首先通关管理虚拟机LUCI服务对ClusterVM1.ClusterVM2进行管理,维护等工作,而他们之间沟通的桥梁是RICCI服务,所以ClusterVM1.ClusterVM2均安装RICCI服务.主要工作原理是ClusterVM1.ClusterVM2构成集群的双机,将其中一台作为活动机,也就是运行服务的主机(Clust

高可用集群HA(heartbeat)

HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务. 下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务. 试验准备: 两个机器, 都是centos6.5,网卡eth1 ip如下: master  192.168.11.24 master1  192.168.11.23 1. hostname 设置好,分别为master 

搭建HA高可用集群

搭建HA高可用集群 一.搭建集群的准备环境 有三台机器,两台上装ricci,另外一台装luci Luci管理机:172.25.47.6 Ricci节点:172.25.47.4   172.25.47.5 Yum仓库: Yum仓库中要指向其他的一些包 注意:yum仓库一般是从Server目录中下载包,但是也有一些其他的包在其他的目录下,因此此次yum 源的配置会和以往不一样 Yum源中配置的是这几个模块: 防火墙方面: 永久关闭防火墙 Selinux方面: 由于这些套件是redhat自带的,所以可

高可用集群技术之heartbeat+NFS实现web服务高可用(文本方式配置接口--gui图形配置)

一.高可用集群基本概念   什么是高可用技术呢?在生产环境中我既要保证服务不间断的服务又要保证服务器稳定不down机,但是异常还是会发生,比如说:服务器硬件损坏...导致服务器down机,我该如何保证服务器down机后继续提供服务呢?这时我就应该请出高可用技术来帮忙了,当我们的服务器发生故障后不能继续时,高可用集群技术解决将业务及服务自动转移至其他主机服务器上继续服务,保证服务架构不间断运行. 高可用集群的架构层次: 后端主机层: 这一层主要是正在运行在物理主机上的服务. 2.Message l

高可用集群和负载均衡集群理解

高可用集群 HA(hight avaliable)即高可用,又被叫双机热备 防止服务器中断,影响对外提供服务 协议:Heartbeat使用心跳进行通信和选举 含义:一般是指当集群中的任意一个节点失效的情况下,节点上的所有任务自动转移到其他正常的节点上,并且此过程不影响整个集群的运行,不影响业务的提供. 负载均衡集群 LB(load balance)负载均衡集群 防止服务器发生瓶颈 协议:Keepalived使用VRRP协议进行通信和选举 用于用户请求量过大,服务器发生瓶颈,通过负载均衡,让用户可

CentOS linux 高可用集群之heartbeat

CentOS linux 高可用集群之heartbeat Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能. Heartbeat是Linux-HA工程的一个组件,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的一个例子,在行业内得到了广泛的应用. 随着Linux在关键行业应用的逐渐增多,它必将提供一些