rhcs集群套件—红帽6的高可用

含义及理解:

RHCS是Red Hat Cluster Suite的缩写,也就是红帽子集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,,它将集群系统中三大集群架构(高可用性集群、负载均衡集群、存储集群)融合一体,可以给web应用、数据库应用等提供安全、稳定的运行环境。

主要功能:
1 . 高可用集群是RHCS的核心功能。当正使用的节点出现故障时,RHCS提供的高可用管理组件自动、快速的将应用使用的当前服务节点切换到另一个节点,保证应用的正常进行,而且节点转移功能对客户来说是透明的,所以也能实现应用持续、不间断的对外提供服务!
2 . 负载均衡集群是RHCS通过使用LVS(Linux Virtual Server)实现的。LVS是 一个开源的且功能强大的基于IP的负载均衡技术,LVS 由调度器和服务器节点组成,通过LVS的负载调度功能,可以将客户端请求平均的分配到各服务器节点上,当然,还可以自定义多种负载均衡策略,当客户请求进来时,调度器根据负载均衡策略来判断应该将请求分配到哪个服务器节点上,然后由分配的服务器节点去响应客户请求。不仅如此,LVS 还提供了服务节点故障转移功能,简单来说就是当某个服务节点出故障后,LVS 会自动屏蔽这个节点,并将它从集群踢除,同时将新来此节点的请求平滑的转移到其它正常节点上,当故障节点恢复正常后,LVS 又会自动将此节点加入集群中。这所有操作对客户而言都是透明的,从而保证了服务的不间断,稳定运行!
3 . 储存集群功能是由GFS文件系统实现的。GFS(Global File System)是一个分布式文件系统,通过锁管理机制,来协调和管理多个服务节点对同一文件系统的读写操作,允许多个服务同时去读写一个单一的共享文件系统;储存集群通过将共享数据放到一个共享文件系统中,从而消除了在应用程序间同步的麻烦。

集群套件的作用:

1 . 集群中luci的作用:luci是用来配置和管理集群,监听在8084上。
2 . 集群中ricci的作用:ricci是安装在每个后端的每个节点上的,luci管理集群上的各个节点就是通过和节点上的ricci进行通信,ricci监听在11111上。
3 . 集群中fence的作用:当意外原因导致主机异常或者宕机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常主机重启或者从网络隔离,当FENCE操作成功执行后,返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。

实验搭建:

准备三台虚拟机6.5版本的,关火墙,selinux状态为disabled

server1 :管理节点和HA节点 :172.25.11.1
server2 :HA节点 :172.25.11.2
server3 :作为iscsi共享磁盘 :172.25.11.3

给三台虚拟机配置高可用yum源,

[rhel6.5]
name=rhel6.5
baseurl=http://172.25.11.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[HighAvailability]
name=HighAvailability
baseurl=http://172.25.11.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.11.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.11.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.11.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

配好之后yum repolist 查看一下
scp 拷给server2和server3

在server1上安装ricci、luci:

yum install ricci luci -y    下载软件
id ricci      会生成这个用户
passwd ricci      给个密码/etc/init.d/ricci start      开启服务
/etc/init.d/luci start
chkconfig ricci on      开机自启
chkconfig luci on

在server2上安装ricci:

yum install ricci -y
id ricci
passwd ricci/etc/init.d/ricci start
chkconfig ricci on

测试:
真机打开浏览器输入https://172.25.11.1:8084
注意要添加安全证书

在这里插入图片描述
再将server1, server2添加到集群

在这里插入图片描述

查看是否添加成功和集群状态

cat /etc/cluster/cluster.conf
clustat

为RHCS高可用添加fence(栅)

首先配置好fence

yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
Interface [virbr0]: br0		##设备选择br0,其他用默认
mkdir /etc/cluster
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
scp fence_xvm.key root@server1:/etc/cluster/
scp fence_xvm.key root@server2:/etc/cluster/
systemctl start fence_virtd.service

在web里添加fence
Fence Devices---->Add---->submit

在这里插入图片描述
分别为server1和server2添加fence,Domain为虚拟机的MAC地址,可在虚拟机管理器查看
在这里插入图片描述
测试:
在server1上使用fence关掉server2
发现server2被重启

fence_node server2
netstat -antulp | grep 1229 ##udp 1229端口

添加httpd资源
添加失败回切和优先级:
Failover --> Add --> webfail --> Prioritized --> Restricted --> No Failback(此选项选中,failover的主机在再次正常时会按优先级大小回切,否则不会)
server2优先级为1,server5优先级为10,数字越小,优先级越高。

在这里插入图片描述

添加vip资源:
Resources --> Add --> IP Address
172.25.11.100
24
Monitor Link(选中)
Number of … 5
在这里插入图片描述
再添加服务
Resources --> Add --> Script
Name : httpd
Full Path to Script File : /etc/init.d/httpd
两个节点都安装并启动httpd,写默认发布页面

在这里插入图片描述
添加服务组到集群:
Service Groups --> Add
Service Name : apache
Automatically Start This Service : 选中
Run Exclusive : 运行独占(先选中)
Failover Domain : webfail

在这里插入图片描述
然后添加资源

Add Resource --> 172.25.0.100/24 --> Script —>submit ##添加IP和启动脚本

添加好以后
测试:
勾选apache并点击上方start

在真机crul 172.25.11.100
发现默认访问到server2

使server2脑裂,测试fence:

echo c > /proc/sysrq-trigger
ip link set dowm eth0 (使网络挂掉)

发现服务器由于server被重启暂时回到server1上

在这里插入图片描述

在web页面点击左边第一个按钮即start
在这里插入图片描述

添加iscsi网络共享磁盘

给server3在添加一块虚拟磁盘

fdisk -l
fdisk /dev/vda
p 1 回车 回车 wqyum install -y scsi-*

配置server3的存储:

vim /etc/tgt/targets.conf
38 <target iqn.2019-06.com.example:server.target1>
39     backing-store /dev/vda1 initiator-address 172.25.11.1initiator-address 172.25.11.2
40 </target>/etc/init.d/tgtd starttgt-admin -s		##查看存储信息
ps ax			##看到有2个tgtd进程(如果有4个,就是错误的)

在server1和server2两个ha节点上:
安装客户端

yum install iscsi-*  -y

在HA节点上发现并登陆共享存储:

iscsiadm -m discovery -t st -p 172.25.11.3
iscsiadm -m node -l
fdisk -l 
fdisk -cu /dev/sdb   ##只分一个区,方便在分区表被破坏的时候恢复
pratprobe
fdisk /dev/sdb

同步过后在server2查看进程

partprobe
cat /proc/partitions

该文件格式在把分区改一下

mkfs.ext4 /dev/sdb1
fdisk /dev/sdb
t 8e wq
partprobe

在server1创建逻辑卷

pvcreate /dev/sdb1
vgcreate vg /dev/sdb1
lvcreate -L 4G -n lv vg
partprobe

在server2同步并查看

partprobe
lvs
pvs
vgs
mkfs.ext4 /dev/vg/lv

在web添加webdata(文件系统)
现在server1server2关闭apache

clusvcadm -d apache

点击Service Groups,删除原来的添加,重新配置,这次的添加顺序是IP

Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)

测试:
启动集群服务,发现server2自动挂载
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MapReduce二次排序

2019独角兽企业重金招聘Python工程师标准>>> 默认情况下&#xff0c;Map输出的结果会对Key进行默认的排序&#xff0c;但是有时候需要对Key排序的同时还需要对Value进行排序&#xff0c;这时候就要用到二次排序了。下面我们来说说二次排序 1、二次排序原理 我们把二…

数据有序_详解数据库插入性能优化:合并+事务+有序数据进行INSERT操作

概述对于一些数据量较大的系统&#xff0c;数据库面临的问题除了查询效率低下&#xff0c;还有就是数据入库时间长。特别像报表系统&#xff0c;每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此&#xff0c;优化数据库插入性能是很有意义的。其实最有效的…

Java ProcessBuilder environment()方法与示例

ProcessBuilder类的environment()方法 (ProcessBuilder Class environment() method) environment() method is available in java.lang package. environment()方法在java.lang包中可用。 environment() method is used to return Map interfaces of this process builder env…

容器内应用日志收集方案

容器化应用日志收集挑战 应用日志的收集、分析和监控是日常运维工作重要的部分&#xff0c;妥善地处理应用日志收集往往是应用容器化重要的一个课题。 Docker处理日志的方法是通过docker engine捕捉每一个容器进程的STDOUT和STDERR&#xff0c;通过为contrainer制定不同log dri…

python统计行号_利用Python进行数据分析(第三篇上)

上一篇文章我记录了自己在入门 Python 学习的一些基础内容以及实际操作代码时所碰到的一些问题。这篇我将会记录我在学习和运用 Python 进行数据分析的过程&#xff1a;介绍 Numpy 和 Pandas 两个包运用 Numpy 和 Pandas 分析一维、二维数据数据分析的基本过程实战项目【用 Pyt…

lnmp架构搭建—源码编译(nginx、mysql、php)

含义及理解&#xff1a; LNMP LinuxNginxMysqlPHP&#xff1a;LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux&#xff0c;N指Nginx&#xff0c;M一般指MySQL&#xff0c;也可以指MariaDB&#xff0c;P一般指PHP&#xff0c;也可以指P…

Java PipedInputStream available()方法与示例

PipedInputStream类的available()方法 (PipedInputStream Class available() method) available() method is available in java.io package. available()方法在java.io包中可用。 available() method is used to return the number of available bytes left that can be read …

解析xml_Mybatis中mapper的xml解析详解

上一篇文章分析了mapper注解关键类MapperAnnotationBuilder&#xff0c;今天来看mapper的项目了解析关键类XMLMapperBuilder。基础介绍回顾下之前是在分析configuration的初始化过程&#xff0c;已经进行到了最后一步mapperElement(root.evalNode("mappers"))&#x…

lnmp—MemCache的作用

含义及理解&#xff1a; 1 . memcache是一个高性能的分布式的内存对象缓存系统&#xff0c;用于动态web应用以减轻数据库负担。通过在内存里维护一个统一的巨大的hash表&#xff0c;来存储经常被读写的一些数组与文件&#xff0c;从而极大的提高网站的运行效率。 memcache是一…

Java ListResourceBundle getKeys()方法与示例

ListResourceBundle类的getContents()方法 (ListResourceBundle Class getContents() method) getContents() method is available in java.util package. getContents()方法在java.util包中可用。 getContents() method is used to return an enumeration of all the keys tha…

orale用户密码过期处理

使用具有管理权限的用户登录1、查看用户的proifle是哪个&#xff0c;一般是default&#xff1a;SELECT username,PROFILE FROM dba_users;2、查看指定概要文件&#xff08;如default&#xff09;的密码有效期设置&#xff1a;sql>SELECT * FROM dba_profiles s WHERE s.prof…

python字典怎么设置_在python中设置字典中的属性

在python中设置字典中的属性是否可以在python中从字典创建一个对象&#xff0c;使每个键都是该对象的属性&#xff1f;像这样的东西&#xff1a;d { name: Oscar, lastName: Reyes, age:32 }e Employee(d)print e.name # Oscarprint e.age 10 # 42我认为这几乎与这个问题相反…

Java ObjectInputStream readByte()方法与示例

ObjectInputStream类readByte()方法 (ObjectInputStream Class readByte() method) readByte() method is available in java.io package. readByte()方法在java.io包中可用。 readByte() method is used to read a byte (i.e. 8 bit) of data from this ObjectInputStream. re…

openresty—实现缓存前移

含义及理解&#xff1a; OpenResty(又称&#xff1a;ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台&#xff0c;由中国人章亦春发起&#xff0c;提供了很多高质量的第三方模块。 其目标是让Web服务直接跑在Nginx服务内部&#xff0c;充分利用Nginx的非阻塞I/O模型&am…

Nginx+Keepalived+Tomcat之动静分离的web集群

NginxKeepalivedTomcat之动静分离的web集群 博客分类&#xff1a; webserverNginxKeepalivedTomcat之动静分离的web集群为小公司提供大概一天持续在100万/日之间访问的高性能、高可用、高并发访问及动静分离的web集群方案NginxKeepalived 高可用、反向代理NginxPHP …

安装完成后的配置_cent os7 默认安装后的一般配置

在安装cent os7后&#xff0c;进入系统会出现一些命令无法执行。这是因为最小化没有安装包含的软件包。这时候先要配置一下基本的IP参数&#xff0c;(包括动态&#xff0c;静态&#xff0c;或者是双网卡绑定)。我们在虚拟机中模拟操作一下&#xff0c;配置文件在/etc/sysconfig…

Java Integer类lowerOneBit()方法与示例

整数类lowerOneBit()方法 (Integer class lowestOneBit() method) lowestOneBit() method is available in java.lang package. minimumOneBit()方法在java.lang包中可用。 lowestOneBit() method is used to find at most only single 1’s bit from the rightmost side one b…

lnmp构架——对tomcat详解

tomcat的安装部署 安装jdk和tomcat tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/ tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/做好软连接便于访问 cd /usr/local ln -s jdk1.7.0_79/ java ln -s apache-tomcat-7.0.37/ tomcat配置环境变量 vim /etc/profile…

Linux 查找文件

find 查找目录 -name "文件名"find / -name "php.ini"locate 文件名locate php.ini 一&#xff1a;locate命令 locate命令用于查找文件&#xff0c;它比find命令的搜索速度快&#xff0c;它需要一个数据库&#xff0c;这个数据库由每天的例行工作&#xff…

Java GregorianCalendar hashCode()方法与示例

GregorianCalendar类的hashCode()方法 (GregorianCalendar Class hashCode() method) hashCode() method is available in java.util package. hashCode()方法在java.util包中可用。 hashCode() method is used to returns the hash code for this GregorianCalendar. hashCode…