学习笔记--HA高可用集群

实验环境:火墙 selinux关闭 实验机时间同步 各节点解析完整

配置好yum源:

[source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=http://172.25.60.250/rhel6

gpgcheck=0

[HighAvailability]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=http://172.25.60.250/rhel6/HighAvailability

gpgcheck=0

[LoadBalancer]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=http://172.25.60.250/rhel6/LoadBalancer

gpgcheck=0

[ResilientStorage]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=http://172.25.60.250/rhel6/ResilientStorage

gpgcheck=0

[ScalableFileSystem]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=http://172.25.60.250/rhel6/ScalableFileSystem

gpgcheck=0

实验主机:server6  server7  server8    网段:172.25.60.0

访问   https://server8.example.com:8084

帐号:root密码:123456

FENCE机制

在真机上安装  fence-virt-multicast

fence-virt-libvirt

fence-virt

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

systemctl start fence_virtd

fence_virtd -c进入执行界面,按照以下【】中内容填写

Module search path [/usr/lib64/fence-virt]:

Available backends:

libvirt 0.1

Available listeners:

multicast 1.2

Listener modules are responsible for accepting requests

from fencing clients.

Listener module [multicast]:

The multicast listener module is designed for use environments

where the guests and hosts may communicate over a network using

multicast.

The multicast address is the address that a client will use to

send fencing requests to fence_virtd.

Multicast IP Address [225.0.0.12]:

Using ipv4 as family.

Multicast IP Port [1229]:

Setting a preferred interface causes fence_virtd to listen only

on that interface.  Normally, it listens on all interfaces.

In environments where the virtual machines are using the host

machine as a gateway, this *must* be set (typically to virbr0).

Set to ‘none‘ for no interface.

Interface [br0]:

The key file is the shared key information which is used to

authenticate fencing requests.  The contents of this file must

be distributed to each physical host and virtual machine within

a cluster.

Key File [/etc/cluster/fence_xvm.key]:

Backend modules are responsible for routing requests to

the appropriate hypervisor or management layer.

Backend module [libvirt]:

Configuration complete.

=== Begin Configuration ===

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";

}

=== End Configuration ===

上述配置文件会被写入到/etc/fence_virt.conf中

scpfence_xvm.key  [email protected] 7 :/etc/cluster

进入网页管理界面:

添加完成后点击Nodes--->Add Fence Method(name默认即可)--->Add Fence Instance

在Domain 中填写物理主机中的虚拟机名称或者填写UUID--->提交完成

测试:

在server6上查看状态 clustat

执行fence_node server7.example.com,观察7上的运行状态

此时server7被fence掉执行重启,重启成功后自动加入节点中

整合httpd

添加虚拟ip和脚本文件

添加服务组

Add Resource时注意启动顺序 1.Ip Address 2.httpd

测试:关闭server6和server7上的httpd服务

clusvcadm -e apache开启apache服务组

查看server6的httpd服务和ip地址

clusvcadm -r apache -m server7.example.com将服务转换到server7上

查看server7的httpd服务和ip地址

在server8上添加一块空白硬盘做iscsi挂载

相关配置文件:/etc/tgt/targets.conf

# Sample target with one LUN only. Defaults to allow access for all initiators:

<target iqn.2016-08.com.example:server.target1>

backing-store /dev/vda

initiator-address       172.25.60.6

initiator-address       172.25.60.7

</target>

启动tgtd服务

并在server6 7 上登陆

iscsiadm -m discovery -t st -p 172.25.60.8

iscsiadm -m node -l

fdisk -cu /dev/sdb----> pvcreate /dev/sdb1--->vgcreate clustervg /dev/sdb1--->lvcreate -L    2G -n data1 /dev/clustervg

添加Resource

添加服务组

Ipaddr--->httpd--->data1

重启服务:clusvcadm -d apache

clusvcadm -e apache

查看挂载

转换节点:clusvcadm -r apache -m server7.example.com

HA mysql 数据库高可用

安装mysql mysql-server 启动mysqld服务  cp -rp /var/lib/mysql*  /var/www/html (此目录为刚才挂载的目录,并不是这是目录)  chown mysql.mysql /var/www/html

clusvcadm -d apache 停掉之前服务

删除Resources 中httpd和data1并创立新的源(删除之前在服务组先删除)

在服务组里添加服务:

Ipaddr--->filesystem--->script

关闭6 7 的mysqld服务

clusvcadm -e apache  开启服务组 查看对应节点上的mysql是否启动成功

(由于cp -rp时将sock套接字也一起复制过去了导致mysql服务启动失败,删除该套借字即可)

附加:

gfs2 分布式集群锁管理器

ext4格式文件系统只能单点挂载,gfs2可多点同时写入

格式化

mkfs.gfs2 -p lock_dlm -t rhel(此为开始创建的集群名称):mygf2 -j 3 /dev/clustervg/data1

mount  /dev/clustervg/data1 /mntchown  mysql.mysql  /mntcd  /mnt

gfs2_tool sb /dev/clustervg/data1 all 查看GFS2块参数

gfs2_tool  journals  /dev/clustervg/data1查看日志文件

实现开机自挂载

blkid查询设备UUID

vim /etc/fstab

UUID=xxxxxxxxxxxxx/var/lib/mysqlgfs2_netdev0 0

gfs2   lv扩容

lvextend -L +2G /dev/clustervg/data1

gfs2_grow  /dev/clustervg/data1

gfs2_jadd  -j 3  /dev/clustervg/data1  增加三个日志文件(每个128M)

####关闭集群的顺序

停止服务--->  leave--->  remove--->  关闭节点上的服务(cman rgmanager clvmd等)

####iscsi的登出删除

iscsiadm  -m  node  -u

iscsiadm  -m  node  -o delete

时间: 2024-10-29 15:03:52

学习笔记--HA高可用集群的相关文章

Heartbeat学习笔记--HA高可用集群实现

一.部署环境: 服务器版本:CentOS6.5 双主热备模式: VIP:192.168.3.30(MASTER上) VIP:192.168.3.32(BACKUP上) 主机网络参数: 接口 MASTER BACKUP 说明 eth1 192.168.3.23 192.168.3.24 内网管理IP eth2 192.168.5.23 192.168.5.24 心跳线 eth3 192.168.2.23 192.168.2.24 外网(临时下载文件用) 网络拓扑: 二.需求分析: 通过Heartb

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

一.集群概念: 集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术. 集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二.集群三种类型: HA:高可用集群     -->正在学习的集群 LP:负载均衡集群 HPC:分布式集群 三.HA模型架构图:(图一.图二) (图一) (图二)

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

一.集群概念: 集群:提高性能,降低成本,提高可扩展性,增强可靠性,任务调度室集群中的核心技术. 集群作用:保证业务不断 集群三种网络:业务网络,集群网络,存储网络 二.集群三种类型: HA:高可用集群     -->正在学习的集群 LP:负载均衡集群 HPC:分布式集群 三.HA模型架构图:(图一.图二) (图一) (图二)

搭建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自带的,所以可

红帽436——HA高可用集群之安装篇

红帽436--HA高可用集群的安装 图释: 1-  su - :真实机切换至root用户 2-  virt-manager :打开KVM管理工具 3-  从Desktop开启虚拟机:classroom(充当服务器的作用)和三台节点机 图释:在每台节点中操作 1-  通过ssh以节点root远程登录三个节点进行操作: ssh [email protected] 2-  安装pcs服务 3-  关闭firewall,并永久启用pcs服务 4-  设置用户hacluster密码:redhat    -

HA 高可用集群概述及其原理解析

HA 高可用集群概述及其原理解析 1. 概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS 的HA和YARN的HA. 3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF). 4)NameNode主要在以下两个方面影响HDFS集群: ? NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 ? NameNode机器需要升级

Hadoop 2.6.0 HA高可用集群配置详解

1 Hadoop HA架构详解 1.1 HDFS HA背景 HDFS集群中NameNode 存在单点故障(SPOF).对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动. 影响HDFS集群不可用主要包括以下两种情况:一是NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用:二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内不可用. 为了解决上述问题,Hadoop给出了HDFS的高

高可用集群之Corosync+Pacemaker及用CRM命令和NFS-server构建一个HA高可用集群

红帽5.0使用的是OpenAIS作为内核中的信息通信API,然后借助CMAN作为Messager Layer,再使用ramanager作为CRM进行资源的管理 Corosync具有比heartbeat在设计上更好的信息通信机制 红帽6.0直接使用Corosync用来作为集群的Messager Layer 不同的公司的API机制所调用的库,函数类型,返回方式各不相同,这就必须使用一个标准,使不同公司的API保持最大的兼容 比如你买了华硕的主板使用其他公司的鼠标照样可以使用 应用接口规范(AIS)就

HA高可用集群配置

高可用集群 说明:关键业务节点,需做高可用 HA==high available heartbeat -->HA 结构图: 1. 准备:需要两台机器,一主一从,同一局域网 主:192.168.11.160 从:192.168.11.20 2. 修改下主从主机的hostname,并用bash切换 主:hostname master ; bash 从:hostname slave ; bash 3. 关闭主从机器的防火墙,配置文件/etc/selinux/config,修改SELINUX=disab