企业部分之-HA高可用集群的搭建

高可用念集群的概: 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。在这个过程中,对于客户端来说是透明的。

实验环境:需要三台纯净的虚拟机   iptables关闭  selinux为disabled

server1:172.25.45.1   #ricci节点主机

server2:172.25.45.2   #ricci节点主机

server3:172.25.45.3   #luci管理主机

yum源的配置vim /etc/yum.repo/

[server]

name=huang

baseurl=http://172.25.254.19/rhel6.5

gpgcheck=1

[HighAvailability]

name=huang

baseurl=http://172.25.254.19/rhel6.5/HighAvailability

gpgcheck=1

[LoadBalancer]

name=huang

baseurl=http://172.25.254.19/rhel6.5/LoadBalancer

gpgcheck=1

[ResilientStorage]

name=huang

baseurl=http://172.25.254.19/rhel6.5/ResilientStorage

gpgcheck=1

[ScalableFileSystem]

name=huang

baseurl=http://172.25.254.19/rhel6.5/ScalableFileSystem

gpgcheck=1

三台虚拟机都要配置yum源

三台虚拟机和物理机都要有解析 如下一个范列其他主机一样配置

实验过程:

server1 ricci节点主机上:

yum install ricci -y #安装ricci软件

echo westos | passwd --stdin ricci #给ricci密码  一定要有 否则创建不了集群

chkconfig  ricci  on #设定ricci服务开机自启

/etc/init.d/ricci  start

yum install httpd  #不要启动该服务

在server2 ricci节点主机上:进行以上同样的步骤。

在server3 luci管理主机上:

yum  install  luci -y #安装luci管理软件

/etc/init.d/luci  start #启动luci服务                    

在浏览器访问 https://server3.example.com:8084

注:使用server3的root用户登录

创建集群:

集群的名字随便填写   但字符数不要超过15个 超过了就会创建不成功

显示该页面 说明集群创建成功

用cluster命令查看ricci节点主机上的集群状态

重复创建集群会报错 如果想重新创建 需要 rm -rf /etc/cluster/cluster.conf 然后重启服务 再创建 在网页上所做的动作都会写入该文件 /etc/cluster/cluster.conf

fence设备文件的生成

在物理机上:

yum   search  fence

然后  yum  install  fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicas  -y

执行命令 fence_virtd -c

f

mkdir  /etc/cluster  -p(有该目录就不需要创建了)

cd  /etc/cluster/

dd  if=/dev/urandom  of=/etc/cluster/fence_xvm/key

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

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

systemctl  restart  fence_virtd

在网页中添加fence设备

在两个节点中分别执行以下步骤

添加错误域

添加集群资源

注:此ip是一个浮动虚拟的ip 用于外界的访问

添加服务组

在服务组在添加前面添加的两个资源

可见集群已经自动开启了httpd服务

测试:

在server1上:fence_nde derver1.example.com server1会断电重新启动 说明fence配置成功

在server1上:cluster查看集群的状态

可见httpd服务在已经在server1上已经开启

为了使效果更明显 配置测试页:echo server1.example.com > /var/www/html/index.html

echo derver2.example.com > /var/www/html/index.html

浏览器访问虚拟ip 172.25.45.100

在server1上:ip addr show

可以看到浮动的ip

在server1上:clusvcadm -r apache -m server2.example.cm #把httpd服务转移到另一节点上

断网模拟

在server1上:ifconfig eth0 down server1挂掉 此时服务会跳转到server2 浮动ip也会跳转到server2上 当server1重新启动后 服务又会重新跳转到server1上 因为server1是主节点 设置的优先级最高 又设置了服务回切

内核崩溃模拟

在server1上:echo c > /proc/sysrp-trigger

和以上类似

存储共享:

在server3上:先添加个虚拟硬盘

yum  install  scsi-*  -y

vim  /etc/tgt/targets.conf  添加以下内容:

tgt-admin -s #查看

/etc/init.d/tgtd  start #启动服务

在server1上:yum  install  iscsi-*  -y

iscsiadm -m discovery -t -st -p 172.25.45.3 #与server3上的设备关联

iscsiadm -m node -l #登录到设备

fdisk  -l #查看可用的分区

建立逻辑卷  首先

fdick  -cu  /dev/sda  #建立分区

在server2上:yum  install  iscsi-*

iscsiadm -m discovery -t -st -p 172.25.45.3

iscsiadm -m node -l

fdisk  -l #查看可用的分区

从server1上同步过来

cat /proc/partitons #查看系统分区

在server1上: pvcreate /dev/sda1 #创建物理卷

pvs #查看物理卷信息

在server2上:pvs 查看物理卷是否同步过来server2上

vgcreate  clustervg  /dev/sda1

在server2:vgs 查看物理卷组是否同步过来server2上

lvcreate -L 2G -n lv1 clustervg

同样在server2上查看是否同步过来

mkfs.ext4  /dev/clustervg/lv1 #格式化

测试:挂载

server1和server2都挂载到/mnt/下,可以sever1在/mnt/下建立一个文件或者目录 server2不能看到 只有server2卸载后 再挂载上去 才能在/mnt/下看到建立的东西

存储和集群的联系:

在网页上  添加集群资源 选择添加文件系统

apache 关掉  删掉scripts,添加Filesystem和Script

先制作一个测试页 echo  www.westos.com > /var/www/html/index.html

clusvcadm -e apache #在该主机上启动apache

访问 172.25.19.100 效果如下

内核崩溃模拟 在server1上:echo c > /proc/sysrq-trigger

server1挂掉 服务的文件系统自动挂载跳转到另一节点server2上

还可以断网模拟 停止服务在测试 效果都和 以上差不多 不管那个节点的主机挂了 都不影响服务和磁盘的自动挂载 保证了服务的高可用性

gfs2文件系统的存储共享:

在网页上:Service Groups中  删掉Filesystem和Scrip    集群资源中 删掉webdata

lvremove  /dev/clustervg/vg1

lvs   查看server2上是否还存在 不存在说明进行了同步

lvcreate  -L 2G  -n  demo  clustervg #重新创建逻辑卷

lvs  一样看server2是否同步

mkfs.gfs2   -p  lock_dlm  -t   hua_ha:mygfs2  -j  3  /dev/cluster/demo   注:3   为节点加1

gfs2_tool  sb   /dev/cluster/demo  all

测试:

server1和server2上的/dev/clustervg/demo都挂载在/mnt/下   然后在server1上  cd  /mnt/   建立一个文件或者文集夹

在server2上执行  gfs2_tool journals  /dev/clustervg/demo  进去/mnt/目录可以看见server1创建的东西

永久挂载:

blkid  #可以查看设备的uuid

umount /mnt/

在server1和server2上都挂载在/var/www/html下

vim /etc/fstab

UUID="d287c031-bb4a-013a-3d29-ddd651a4b168"     /var/www/html   gfs2    _netdev 0 0

df  #查看挂载信息

在网页上:增加资源-GFS2,在Service groups添加GFS2和Script

clusvcadm -e apache

测试页:echo  www.westos.com  /var/www/html/index.htl

浏览器访问    网页显示 www.westos.com   断网模拟和内核崩溃测试的原理上面类似  就不再一一测试了

增加日志:

jfs2_jadd  -j 2 /dev/clustervg/demo

lvextend  -L +511M  /dev/clustervg/demo

gfs2_grow /dev/clustervg/demo

总结:实验过程真的一步步联系都非常的紧密,一个环节出错后面的实验都搞不了,首先我们在实验之前就要把实验的环境搞好。尤其要注意防火墙,一定要关闭,否则集群创建不了,要注意三台虚拟机时间一定要同步,否则会导致信息的不同步,在实验中出错过几次,集群老师创建不了,仔细检查后是在真机中没有设置解析,网路不互通,连集群创建的网页都打不开,还有就是创建了集群后,添加服务组时,apache服务组时disabled,添加的两个资源都没生效,很是纳闷,最好发现一台ricci主机没有设置子网掩码。发现后问题成功的解决了,有的实验真的不是一次就能成功的,出现各种错都要花时间去排错。总之实验不容易,实验过程中要细心,一步错步步错,但也不要怕出错,觉得出现错误,排错更能让你的水平提升一个层次。

时间: 2024-10-07 13:41:36

企业部分之-HA高可用集群的搭建的相关文章

conga下HA高可用集群的搭建(redhat6.5)

实验环境 redhat6.5虚拟机三台,各1G内存,时间同步 server1  172.25.44.1 server2  172.25.44.2 server3  172.25.44.3 火墙和selinux均处于关闭状态 编辑/etc/hosts文件,加入解析 不支持在集群节点中使用 NetworkManager.如果已经在集群节点中安装了 NetworkManager,应该删除或者禁用该程序. server1  server2 ricci节点 (1).yum源配置 vim /etc/yum.

搭建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学习笔记--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模型架构图:(图一.图二) (图一) (图二)

红帽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机器需要升级

高可用集群 corosync 搭建步骤

实验环境:    OS :    CentOS 6.6     corosync: corosync-1.4.7-1.el6.x86_64    pacemaker:pacemaker-1.1.12-4.el6.x86_64    crmsh:crmsh-2.1-1.6.x86_64.rpm     pssh:    pssh-2.3.1-2.el6.x86_64.rpm node1:        hostname: node2.1inux.com        IP     :172.16.

Hadoop2.2.0-HA高可用集群环境搭建

Hadoop2.2.0-HA高可用集群环境搭建 集群主机信息 主机名称 主机ip 配置 主要功能 master1 硬盘300G,内存32G,CPU8核 管理主节点 master2 硬盘300G,内存32G,CPU8核 管理备份节点 slave1 硬盘300G,内存8G,CPU4核 数据节点 slave2 硬盘300G,内存8G,CPU4核 数据节点 slave3 硬盘300G,内存8G,CPU4核 数据节点 slave4 硬盘500G,内存4G,CPU2核 mysql数据库 本次集群使用6台物理