高可用集群~上

高可用集群(High Availability Cluster),简称HACluster,简单的说集群就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(Cluster)。高可用集群解决的是保障用户的应用程序持续对外提供服务的能力(保护的是用户的业务程序对外不间断提供服务,把因人为/软件/硬件造成法故障对业务的影响将到最低)。

准备工作:

三台纯净的虚拟机:

(节点主机::172.25.31.1 -server1.example.com

节点主机: 172.25.31.2 - server2.example.com

M端: 172.25.31.3 - server3.example.com )

1.三台虚拟机做同样的操作:

配置yum源:

cd /etc/yum.repos.d/

vim dvd.repo       ##(让yum 源指向自己的真机,删除多于的仓库)

yum repolist

vim /etc/hosts   ##(将打开的三台主机进行地址解析,在自己的真机上也进行地址解析)

chkconfig iptables off

/etc/init.d/iptables stop

两台节点主机的时间要同步。

2.在节点主机172.25.31.1/2上安装ricci:   ##ricci属于集群组件的节点组件之一,作用是与集                              群管理套件luci进行通讯,可称之为主控端或者M端

yum install ricci -y

echo westos | passwd --stdin ricci   ##给两个节点主机的ricci用户设置密码westos

chkconfig ricci  on                       ## 设置开机自启动

/etc/init.d/ricci  start

M端172.25.31.3上安装luci:              ##luci是集群的控制软件

yum install luci -y

rpm -q luci                  ##(luci-0.26.0-48.el6.x86_64)

/etc/init.d/luci start

在浏览器中输入:https://server3.example.com:8084     ##(登陆的是M端:172.25.31.3的root                               和密码redhat,普通用户需要经过root授权才能登陆)

create new cluster

Download Packages         ##自动从yum源中下载集群套件,这两个节点会安装                             cman,rgmanager,modclusterd,clvmd服务,并且安装完成后还会重启

Use Locally Installed Packages    ##检查是否已经安装,有新的话不更新

之后可以在节点主机172.25.31.1/2查看:

clustat                         ##(查看集群状态)

3.在集群外,物理机172.25.254.31上,配置fence:    ##当一台机器出现故障时处于正常状态的机器                                  会通过fence将其重启,关机或者释放ip等资源

配置物理机的yum源

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

fence-virtd-multicast.x86_64

ll /etc/fence_virt.conf

fence_virtd  -c                    ##配置fence

## module设置为多播,多播ip为225.0.0.12,创建fence的key文件

cat /etc/fence_virt.conf                 ##fence的配置信息写入这个文件中

mkdir /etc/cluster                       #原来没有这个目录的需要手动创建

systemctl restart fence_virtd

netstat -anulp | grep :1229

cd /etc/cluster

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

##生成电源key(dd 用于复制文件并对原文件的内容进行转换和格式化处理  if-代表输入文件

of-代表输出文件  bs-代表以字节为单位的块大小   count-代表被复制的块数)

systemctl restart fence_virtd

cd /etc/cluster                    ## (该目录下有fence_xvm.key)

scp fence_xvm.key   [email protected]:/etc/cluster

scp fence_xvm.key   [email protected]:/etc/cluster

在浏览器中输入:https://172.25.31.4:8084

Fence Devices ->add

server1.example.com -> Add Fence Method to Node    ##集群给节点添加fence

-> Add Fence Device (Instance)           ##Domain添加的是节点主机的uuid或者主机名称

同样的节点主机server2.example.com也进行同样的操作。

检测:

在server1.example.com:

fence_node server2.example.com     ##(server2.example.com 强制关机后重新启动)

配置failover:

Failover Domains -> Add

##prioritized为故障切换域成员的每个节点设置优先值

##restricted分配给这个故障切换域的服务只能切换到这个故障切换域中的节点

##no failback,如果从首选节点中恢复某个服务,则该服务不会切换到恢复它的节点中。

Add Service Group to Cluster ->                   ##添加故障域

Add Service Group to Cluster->Add

##run exclusive  当运行apache时不再运行其他服务

##Add Resource增加的是IP address和scripts

检测:

在节点主机172.25.31.1/2上进行:

yum install httpd -y           ##(安装之后开启httpd)

echo server1.example.com > /var/www/html/index.html     ##172.25.31.1

echo server2.example.com > /var/www/html/index.html     ##172.25.31.2

在浏览器中输入:172.25.31.131可以出现:server1.example.com

在172.25.31.1上进行:

clusvcadm -r apache -m server2.example.com    ##server3接管服务

echo c > /proc/sysrq-trigger    ##故意让server2的系统崩溃,之后server1重启

在浏览器中刷新:出现server2.example.com

4.给M端172.25.21.3分一块硬盘:       ##8G左右

fdisk -l                 ##查看是否有新的硬盘/dev/vdb

vim /etc/tgt/targets.conf

<target iqn.2016-06.com.example:server.disk>

backing-store /dev/vdb                    ##/dev/vdb就是刚刚分出来的新硬盘

initiator-address 172.25.31.1

initiator-address 172.25.31.2

</target>

tgt-admin  -s

在两个节点主机安装:

yum install iscsi-initiator-utils.x86_64  -y

在M端安装:

yum install  scsi-target-utils-1.0.24-10.el6.x86_64  -y

/etc/init.d/tgtd start

在172.25.31.1/2上进行:

iscsiadm  -t st -m discobery  -p 172.25.31.3

iscsiadm  -m node -l

在172.25.31.1上进行:

fdisk -cu /dev/sda               ##对磁盘分区,lvm

pvcreate /dev/sda1

vgcreate clustervg  /dev/sda1          ##clustervg是逻辑卷组的名称

lvcreate  -L 2G  -n  lv1  clustervg

##磁盘分区,创建逻辑卷组等操作,会共享给节点主机172.25.31.2

将172.25.31.1上磁盘格式化为ext4:

mkfs.exte  /dev/clustervg/lv1

在浏览器中:https://server3.example.com

Resource -> Add

在Add Service Group to Cluster中添加资源顺序是:IP address ,File System,Script

在172.25.31.1上进行:

echo www.westos.org > /var/www/html/index.html

在浏览器中输入:172.25.31.131,出现:www.westos.org

格式化为gfs2:   ##集群式文件系统

先删除之前创建的lv1:

lvextend -L 2G /deb/clustervg/lv1

resize2fs /dev/clustervg/lv1

lvremove  /dev/clustervg/lv1

lvcreate -L 2G  -n demo  clustervg

mkfs.gfs2  -p lock_dlm  -t memory:mygfs2s -j  3  /dev/clustervg/demo

gfs2_tool sb /dev/clustervg/demo all

时间: 2024-10-09 14:29:04

高可用集群~上的相关文章

18.1 集群介绍;18.2 keepalived介绍;18.3,18.4,18.5 用keepalived配置高可用集群(上,中,下);

18.1 集群介绍 1. 根据功能划分为两大类:高可用和负载均衡 2. 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 3. 实现高可用的开源软件有:heartbeat.keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 4. 实现负载均衡的开源软件有LVS.keepalived.haproxy.nginx,

Centos7上利用corosync+pacemaker+crmsh构建高可用集群

一.高可用集群框架 资源类型: primitive(native):表示主资源 group:表示组资源,组资源里包含多个主资源 clone:表示克隆资源 master/slave:表示主从资源 资源约束方式: 位置约束:定义资源对节点的倾向性 排序约束:定义资源彼此能否运行在同一节点的倾向性 顺序约束:多个资源启动顺序的依赖关系 HA集群常用的工作模型: A/P:两节点,active/passive,工作于主备模型 A/A:两节点,active/active,工作于主主模型 N-M:N>M,N个

线上测试高可用集群部署文档【我的技术我做主】

线上测试高可用集群部署文档 目录: 目录:1 项目需求:2 实现方式:2 拓扑图:3 系统及软件版本:3 安装步骤:4 IP分配:4 LVS和keepalived的安装和配置:4 LVS主配置:4 LVS2备 配置:7 web服务器配置9 Mysql-MHA高可用:13 Mysql主配置:13 manager管理端操作:15 VIP切换:16 测试:26 下面是centos5.6的系统环境,如果是centos6版本,只需改动少许地方即可,步骤一致 . ---- by 金戈铁马行飞燕 项目需求:

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

CentOS 7 corosync高可用集群的实现

CentOS 7 corosync高可用集群的实现 =============================================================================== 概述: =============================================================================== 在CentOS 7上实现高可用集群案例  1.corosync安装配置 ★CentOS 7: corosync v2 (

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

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

linux 下heartbeat简单高可用集群搭建

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.通过Heartbeat我们可以实现双机热备,以实现服务的持续性. linux下基于heartbeat的简单web服务的高可用集群搭建 首先规划好两台主机作为heartbeat的双机热备,命名为node1.lvni.cc(主) ;node2.lvni.cc, node1的eth0IP :192.168.157.148  Vip eth0:0:192.168.157.149 node2的eth0IP :19

CoroSync + Drbd + MySQL 实现MySQL的高可用集群

Corosync + DRBD + MySQL 构建高可用MySQL集群 节点规划: node1.huhu.com172.16.100.103 node2.huhu.com172.16.100.104 资源名称规划 资源名称:可以是除了空白字符外的任意ACSII码字符 DRBD设备:在双节点上,此DRBD设备文件,一般为/dev/drbdN,主设备号147 磁盘:在双方节点上,各自提供存储设备 网络配置:双方数据同步所使用的网络属性 DRBD从Linux内核2.6.33起已经整合进内核 1.配置

利用heartbeat的ldirectord实现ipvs的高可用集群构建

集群架构拓扑图: 网络规划: 两台LVS server:(两台LVS也可以为用户提供错误页面) node1:172.16.31.10 node2:172.16.31.11 VIP:172.16.31.180 ipvs规则内包含2台Real Server:(后面的RS指的就是后端的web服务器) rs1:172.16.31.13 rs2:172.16.31.14 我们还需要错误页面提供者:我们选择LVS作为sorry server,所有的real server不可用时就指向这个sorry serv