HA的简介与配置

HA(High Available),高可用集群,是减少服务中断时间为目的的服务器集群技术。是保证业务连续性的有效解决方案。集群,简单的来说就是一组计算机。一般有两个或者两个以上的计算机组成,这些组成集群的计算机被称为节点。

其中由两个节点组成的集群被称为双机热备,即使用两台服务器互相备份,当其中一台服务器出现问题时,另一台服务器马上接管服务,来保护用户的业务程序对外不间断提供的服务,当然集群系统更可以支持两个以上的节点,提供比双机热备更多、更高级的功能,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。

在集群中为了防止服务器出现“脑裂”的现象,集群中一般会添加Fence设备,有的是使用服务器本身的的硬件接口称为内部Fence,有的则是外部电源设备称为外部Fence,当一台服务出现问题响应超时的时候,Fence设备会对服务器直接发出硬件管理指令,将服务器重启或关机,并向其他节点发出信号接管服务。

在红帽系统中我们通过luci和ricci来配置管理集群,其中luci安装在一台独立的计算机上或者节点上,luci只是用来通过web访问来快速的配置管理集群的,它的存在与否并不影响集群。ricci是安装在每个节点上,它是luci与集群给节点通信的桥梁。

接下来是集群的配置了。

主机环境: rhel6.5 iptables and selinux disable

实验主机
server4.example.com 172.25.9.4 luci端

server2.example.com 172.25.9.2 节点1

server3.example.com 722.25.9.2 节点2

在节点端:

yum install ricci

给ricci用户设置密码

echo redhat | passwd --stdin ricci

开启ricci并确保ricci开机启动

/etc/init.d/ricci start
chkconfig ricci on

在luci端:

安装集群管理软件

yum install luci

开启luci

/etc/init.d/luci start

用web登录https://server4.example.com:8084通过网页来配置其中8084端口就是luci启动的端口

luci端的主机的root用户就是luci的管理用户;其他用户登录需要root用户授权这里为了方 便直接用root登录

创建集群

创建集群成功

输入节点主机clustat命令也可查看到

Member Status: Quorate
Member Name ID   Status
 ------ ----   ---- ------
server2.example.com    1 Online, Local
server3.example.com    2 Online

为集群添加外部fence:

因为实验主机是虚拟机所以用物理机来模拟fence 在物理机中安装所需的软件包

yum install fence-virtd-multicast.x86_64 fence-virtd.x86_64 fence-virtd-libvirt.x86_64

开始创建:

执行fence_virtd -c命令后按要求配置

寻找module路径默认即可:

监听module设为多波:

多波IP设为225.0.0.12:

端口设为1229:

接口为br0:

创建fence的key文件默认即可,要确保有/etc/cluster目录:

后端module为libvirt:

成功后会将以下信息写入/etc/fence_virt.conf

backends {
libvirt {
    uri = "qemu:///system";
}

 }

listeners {
multicast {
    port = "1229";
    family = "ipv4";
    interface = "br0";
    address = "225.0.0.12";
    key_file = "/etc/cluster/fence_xvm.key";
}

 }

fence_virtd {
module_path = "/usr/lib64/fence-virt";
backend = "libvirt";
listener = "multicast";
}

采集随即信息到刚刚生成的key文件里

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

启动fence_virtd服务

systemctl start fence_virtd.service

将key文件传到节点的/etc/cluster目录下就可以通过luci给集群添加fence了 点击Fence Devices添加fence,有多种fence设备可供选择这里选的是Fence virt(MulticastMode ):

然后点击Nodes里的节点为集群添加fence

这里选择vmfence(xvm Virtual Machine Fencing)其中Domain填写虚拟机的名字或UUID。

每个节点都添加了以后测试一下:

在server2.example.com中执行fence_node server3.example.com 命令可以看到server3主机关闭重起了

配置完fence后接着配置failover:

#Prioritized设置优先级

#Restricted设置只在勾选节点中运行

#No Failback设置当优先级高的节点恢复时不会接管正在运行的服务

然后在Resource中添加资源这里添加虚拟ip和httpd的脚本(集群要安装httpd):

最后设置Server Group:

#Automatically Start This Service设置自动开启服务

#Run Exclusive 设置当运行此服务时不再运行其他服务

点击 Add Resource 增加Resource中的资源这里添加的是上一步配置的虚拟IP和httpd脚本

测试:

在网页输入设置的虚拟IP172.25.9.100可以看到server2主机的网页内容server2.example.com

在server2主机执行clusvcadm -r apache -m server3.example.com命令让server3主机接管服务

或者执行echo c > /proc/sysrq-trigger让server2内核崩溃,server2主机将在fence的作用下重起.

刷新172.25.9.100的页面可以看到server3的主页内容server3.example.com。

集群存储:

在luci端安装iscsi服务端

yum install scsi-target-utils.x86_64

添加配置:

vim /etc/tgt/targets.conf
 <target iqn.2016-06.com.example:server.target1>
 backing-store /dev/vdb
 initiator-address 172.25.9.2
 initiator-address 172.25.9.3
 </target>
/etc/init.d/tgtd start

输入tgt-admin -s看到如下信息表示成功

在集群安装iscsi客户端

yum install iscsi-initiator-utils.x86_64 -y

找到服务端分享的磁盘

iscsiadm -t st -m discovery -p 172.25.9.4

链接

iscsiadm -m node -l

对磁盘进行分区并创建lvm(只需在集群的一个节点做)

fdisk -cu /dev/sda
pvcreate /dev/sda1
vgcreate clust0 /dev/sda1
lvcreate -L +2G -n lv0 clust0

磁盘可以格式化为本地系统或者集群文件系统

1.磁盘格式化为本地文件系统 mkfs.ext4 /dev/clust0/lv0

节点执行pvs,vgs,lvs。命令进行同步

最后在网页进行配置:

点击Resource添加资源:选择File System

在之前的Resource Group中的apache组添加资源顺序为虚拟IP -> File System ->httpd脚本

因为server2主机的优先级高所以先挂载在server2主机,在server2主机执行

echo www.redhat.com > /var/www/html/index.html

访问虚拟ip172.25.9.100可以看到这个主页

2.磁盘格式化为集群文件系统

lvcreate -L 2G -n demo clust0
mkfs.gfs2 -p lock_dlm -t memory:mygfs2s  -j 3 /dev/clust0/demo
gfs2_tool sb   /dev/clust0/demo all #查看demo的信息

在/etc/fstab中写入(UUID可以通过blkid查看,所用节点都做) vim /etc/fstab UUID=c705c698-7dbb-b831-2cd5-1d553660d393 /var/www/html gfs2 _netdev 0 0 mount -a

时间: 06-12

HA的简介与配置的相关文章

深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置[转]

上篇文章<深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)>简单看了一下TypeHandler, 本次将结束对于mybatis的配置文件的学习, 本次涉及到剩下没提及到的几个节点的配置:objectFactory.databaseIdProvider.plugins.mappers. 那么,接下来,就简单介绍一下这几个配置的作用吧: 1.objectFactory是干什么的? 需要配置吗? MyBatis 每次创建结果对象的新实例时,它都会使用一个

SAP Web Service简介与配置方法

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt } h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; margin-left: 0.0000pt; text-indent: 21.0000pt; page-break-after: avoid; text-al

ADFS 2.0 配置简介 PartⅡ – 配置 ADFS 信任关系

ADFS 与应用程序间的各种验证是基于信任关系的,在 ADFS 服务器配置好要信赖的应用程序(以 URL 为标识)后,应用程序再通过指定认证服务器来将用户引导至 ADFS 登录页,登录完成后再将用户的信息使用 Cookie 加密发送到应用程序完成验证. 我们来配置一个应用程序试试,为了方便就使用 ASP.NET MVC 吧. 一 .配置应用程序 建立 ASP.NET MVC 应用程序,一路默认. 安装一个 Visual Studio 扩展插件,能帮助我们省很多功夫,如果你不想太深入ADFS配置文

Varnish缓存代理简介与配置

一.varnish原理: 1)Varnish简介: varnish缓存是web应用加速器,同时也作为http反向缓存代理.你可以安装varnish在任何http的前端,同时配置它缓存内容.与传统的 squid 相比,varnish 具有性能更高.速度更快.管理更加方便等诸多优点.有一部分企业已经在生产环境中使用其作为旧版本的squid的替代方案,以在相同的服务器成本下提供更好的缓存效果,Varnish更是作为CDN缓存服务器的可选服务之一. 根据官网的介绍,Varnish的主要特性如下:http

RHCS集群简介及配置web高可用

                 RHCS集群配置 一.RHCS集群简介 RHCS(Red Hat Cluster Suite)集群是红帽官方提供的子集群套件,它整合了高可用集群.负载均衡集群.存储集群,从而为用户提供了完整的一套从前端到应用到存储的集群解决方案.通过RHCS集群提供的集群服务,可以为web,数据库等关键业务提供高效,稳定的运行环境. 二.RHCS的核心功能 1.负载均衡 RHCS的负载均衡集群通过LVS(Linux Virtual Server)来实现其功能,LVS是由前端的调

01 Node.js简介, 安装&amp;配置

Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开发框架, CSS生成器, 操作系统API, 网络通信 等. Node.js 是什么 ? 是一个让 javascript 运行在服务器端的平台, 以前javascript只能运行在浏览器中,  node.js 可以解析 javascript. CommonJS 试图设计一套Javascript的规范.

Redis学习笔记——简介及配置

1. Redis简介 Redis概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案.Redis从它的许多竞争继承来的三个主要特点:Redis数据库完全在内存中,使用磁盘仅用于持久性.相比许多键值数据存储,Redis拥有一套较为丰富的数据类型.Redis可以将数据复制到任意数量的从服务器. Redis 优势 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录.支持丰富的数据类型:Redis支持字符串.列表.集合

Apache Ant 简介和配置

Apache Ant 简介 Apache Ant是目前事实上的Java应用的标准build脚本工具.使它大受欢迎的一个主要愿意是它的和灵活,允许程序员创建自己的Task来对Ant进行扩展. 本文主要内容有: 对Ant的简介 介绍常用的Ant脚本 Ant的安装 Apache Ant是Apache基金会下的一个项目, 官网:http://ant.apache.org/ 下载地址:http://ant.apache.org/bindownload.cgi 根据不同的平台下载不同的压缩包,直接解压到安装

HA分布式集群配置三 spark集群配置

(一)HA下配置spark 1,spark版本型号:spark-2.1.0-bin-hadoop2.7 2,解压,修改配置环境变量 tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz mv spark-2.1.0-bin-hadoop2.7 /usr/spark-2.1.0 vim /etc/profile export JAVA_HOME=/usr/java export SCALA_HOME=/usr/scala export HADOOP_HOME=/usr/h

SVN入门:流程简介 安装配置 项目库配置 客户端 上线方案

查看警告:show warnings:  备份库结构:mysqldump 库 -add-drop-table  >  路径 添加用户:grant select,insert on 库名 to '用户名'@'172.8.8.8' identified by '密码':flush privileges 所有权限:grant all privileges on *.* to 'name'@'%' identified by 'mima':      ---- 小 Q -----------------