文档章节

红帽RHCS套件搭建与配置

lee_ypp
 lee_ypp
发布于 2014/07/25 09:50
字数 2966
阅读 2453
收藏 1
点赞 1
评论 0

简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。

通过特殊的软件将若干服务器连接在一起并提供故障切换功能的实体我们称之为高可用集群。可用性是指系统的uptime,在7x24x365的工作环境中,99%的可用性指在一年中可以有87小时36分钟的DOWN机时间,通常在关键服务中这种一天多的故障时间是无法接受的,所以提出了前面提到的错误恢复概念,以满足99.999%的高可用性需求。

这里我们先说一下几个概念:

1、服务(Service),是HA集群中提供的资源,包括Float IP,共享的存储,apache等等。

2、成员服务器(Member Server) 也叫节点(Node),是HA中实际运行服务提供资源的服务器。

3、失效域(Failover Domain),是HA中提供资源的服务器的集合,当内部某个成员出现故障时,可以将服务切换到其他正常的成员服务器上。在HA中一个失效域一般包含2台成员服务器(未应用虚拟技术)。

4、心跳(HeartBeat)是HA中监控成员服务器状态的方法,一般心跳是通过网线和串口线来传输的。

5、单一故障点(Single Point Of Failuer,SPOF)是指一个系统的这样的一个部件,当它失效或者停止运行,将导致整个系统不能工作。在HA中通常使用双电源,多网卡,双交换机等来避免SPOF。

6、仲裁(Quorum)是HA中为了准确的判断服务器及其提供的服务是否正常而采用的在共享磁盘中保存成员服务器信息的方法。共享的状态信息包括群集是否活跃。服务状态信息包括服务是否在运行以及哪个成员正在运行该服务。每个成员都检查这些信息来保证其它成员处于最新状态。在一个只有两个成员的群集中,每个成员都定期把一个时间戳和群集状态信息写入位于共享磁盘贮存区的两个共享群集分区上。要保证正确的群集操作,如果某成员无法在启动时写入主共享群集分区和屏蔽共享群集分区,它将不会被允许加入群集。此外,如果某群集成员不更新其时间戳,或者到系统的"heartbeats"(心跳)失败了,该成员就会从群集中删除。

7、Fence设备,Fence设备的作用时在一个节点出现问题时,另一个节点通过fence设备把出现问题的节点重新启动,这样做到了非人工的干预和防止出现问题的节点访问共享存储,造成文件系统的冲突,关于Fence 设备,有外置的比如APC的电源管理器.很多服务器都是内置的,只不过不同厂家的叫法不同而已。比如HP的称为iLo,IBM的称为BMC,Dell的称为DRAC。

    LUCI——RHCS(RedHat Cluster Suite)提供了多种集群配置和管理工具,常用的有基于GUI的system-config-cluster、Conga等,也提供了基于命令行的管理工具。system-config-cluster是一个用于创建集群和配置集群节点的图形化管理工具,它有集群节点配置和集群管理两个部分组成,分别用于创建集群节点配置文件和维护节点运行状态。一般用在RHCS早期的版本中。 Conga是一种新的基于网络的集群配置工具,与system-config-cluster不同的是,Conga是通过web方式来配置和管理集群节点的。Conga有两部分组成,分别是luci和ricci,luci安装在一独立的计算机上(即服务器),用于配置和管理集群,ricci安装在每个集群节点上,Luci通过ricci和集群中的每个节点进行通信。

一、HA的搭建

实验环境:RHEL6.5    iptables    and    selinux        disabled

三台主机:                IP                                          hostname

                    192.168.2.60(服务器)          server60.example.com

                    192.168.2.167(node1)             server67.example.com

                    192.168.2.168(node2)             server68.example.com

分别修改两节点的/etc/hosts

 192.168.2.167            server67.example.com

 192.168.2.168            server68.example.com

关闭火墙#iptables    -F

            #service iptables save

关闭selinux    #setenforce 0

同步两台主机的系统时间

#yum install ntpdate

#ntpdate 192.168.2.60

在两台节点主机上分别安装ricci

#yum install ricci

启动ricci服务

#service    ricci    start

设置为开机自启动

#chkconfig ricci on

为ricci设置密码

#passwd ricci

重启服务器的luci

#service luci restart

Stop luci...                                               [  OK  ]
Start luci...                                              [  OK  ]
Point your web browser to https://server60.example.com:8084 (or equivalent) to access luci
web访问https://server60.example.com:8084/cluster/

进入网页编辑

先用root登录

再用本地用户登录

 

 再用root登录时点击右上角Admin,为普通用户lee授权

 这时候就可以创建集群

系统将会自动安装软件包,主要的软件包有cman-3.0.12.1-59.el6.x86_64\rgmanager-3.0.12.1-19.el6.x86_64\lvm2-cluster-2.02.100-8.el6.x86_64\gfs2-utils-3.0.12.1-59.el6.x86_64

这时,两节点主机将会重启。这就是为什么把ricci服务设置为开机自启动且将iptables关闭的原因。

创建完成会自动在节点上写入文件/etc/cluster/cluster.conf

<?xml version="2.0"?>
<cluster config_version="1" name="leeypp">
        <clusternodes>
                <clusternode name="server67.example.com" nodeid="1"/>
                <clusternode name="server68.example.com" nodeid="2"/>
        </clusternodes>
        <cman expected_votes="1" two_node="1"/>
        <fencedevices/>
        <rm/>
</cluster>

二、fence device 隔离设备 

用kvm虚拟机来做这个隔离设备

实验环境:RHEL6 selinux and iptables disabled

主机:KVM虚拟机

hostname            ip                         kvm domain name

node1         192.168.2.137                     vm1

node2         192.168.2.138                     vm2

192.168.2.60    服务器

#yum install fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicast -y

# fence_virtd -c        设置隔离设备

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

Available backends:

libvirt 0.1

Available listeners:

multicast 1.0

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 [none]: 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]:

The libvirt backend module is designed for single desktops or

servers. Do not use in environments where virtual machines

may be migrated between hosts.

Libvirt URI [qemu:///system]:

Configuration complete.

=== Begin Configuration ===

backends {

libvirt {

uri = "qemu:///system";

}

}

listeners {

multicast {

key_file = "/etc/cluster/fence_xvm.key";

interface = "br0";

port = "1229";

address = "225.0.0.12";

family = "ipv4";

}

}

fence_virtd {

backend = "libvirt";

listener = "multicast";

module_path = "/usr/lib64/fence-virt";

}

=== End Configuration ===

Replace /etc/fence_virt.conf with the above [y/N]? y

注:以上设置除“Interface”处填写虚拟机通信接口外,其他选项均可回车保持默认。

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

#scp /etc/cluster/fence_xvm.key 192.168.2.138:/etc/cluster(该目录默认是不存在的,可用mkdir来创建)

#scp /etc/cluster/fence_xvm.key 192.168.2.137:/etc/cluster

#service fence_virtd start

#chkconfig fence_virtd on

# netstat -anulp |grep fence

udp 0 0 0.0.0.0:1229 0.0.0.0:* 7519/fence_virtd

#cd /etc/cluster

查看是否存在fence_virtd文件

现在在网页管理上添加隔离设备 

在domain后添加server37主机的uuid

在domain后添加server38主机的uuid

#fence_xvm    -H    vm1    看看是否可以操作你的虚拟机,如果成功,vm1将会重启。

且另一个节点会热接管

设置两节点的下列服务为开机自启动:

#chkconfig cman on

#chkconfig rgmanager on

#chkconfig modclusterd on

#chkconfig clvmd on

设置故障转移域(failover domains)

添加资源(resourses)

(该IP不为其他主机所用)

添加成功之后

添加服务组(Server Groups)


在节点上执行的命令

#clusvcadm -d www   关闭此服务组
#clustat  查看节点和服务的状态
#clusvcadm -e www 开启此服务组

刚刚添加了apache服务,所以要在每个节点上安装apache服务

#yum install -y httpd

为了区分两台内容可以重新编辑一下默认访问主页

#cd /var/www/html/

#echo `hostname` > index.html

ok现在可以在web网页上访问

http://192.168.2.111就有主机名

刚刚添加的那个ip服务,它是一个浮动ip

192.168.2.111就可以看到你做的那个优先级高的再接管服务

如果将这个节点上的http关掉,那么那个优先级低的候补立马接管

如果ifconfig eth0 down 是这个节点的网可关掉,它会尝试恢复,如果恢复不了,就会被集群forceoff,然后重启当替补,如果优先级高的话,那么它就会立即接管给集群管理加存储服务

三、给集群管理加存储服务

1.ext4文件系统

192.168.0.237(节点)server67.example.com

192.168.0.248(节点)server68.example.com

192.168.0.60(服务器)server60.example.com

在一个存储服务器上共享一块硬盘,作为存储(在实验中,就直接在集群管理的那台服务器上共享一块硬盘)

#yum install scsi-*

#vgs

#lvcreate -L 1G -n iscsi cinder-volumes

#lvs

#vim /etc/tgt/targets.conf


#/etc/init.d/tgtd start

#chkconfig tgtd on

#tgt-admin -s

#在节点上要可以发现这个共享的存储设备 ,在两个节点上都执行

#yum install iscsi-initiator-utils

#iscsiadm -m discovery -t st -p 192.168.0.60

#iscsiadm -m node -l   激活设备
#fdisk -l /dev/sda

 现在在两个节点上给此设备做 分区和格式化 (做本地文件系统 ext4)

#fdisk -cu /dev/sda

#mkfs.ext4 /dev/sda1 


在web管理界面上添加存储设备资源和资源组


再去资源组(Server Groups)添加此资源

ok现在操作服务组

#clustat

#clusvcadm -d www

现在将此设备先挂载到/var/www/html下

启动服务

#clusvcadm -e www

#clustat     查看服务是否启动成功

#clusvcadm -r www -m server38.example.com

#clustat    这是会发现www运行在server38主机上


2.设备的分区和格式化 (即网络文件系统 gfs2)

clusvcadm -d www   先停掉服务组 

删掉服务组里(servies groups)的文件系统(filesystem)资源,再到资源里删掉(delete)存储设备资源

fdisk -cu /dev/sda  把它做成LVM形式

这时在另一节点主机上运行pvs就可以看到刚创建的

pvcreate /dev/sda1

lvmconf --enble-cluster 在 /etc/lvm/lvm.conf做更改,使它可以支持集群

重启服务  /etc/init.d/clvmd restart

在另一节点主机上运行lvs,可以看见同步到的gfs2demo

格式化为gfs2的格式 -t跟更集群的名字:后是标签

两节点主机都进行挂载

# mount /dev/clustervg/gfs2demo /var/www/html

设置为开机自动挂载 直接写入/etc/fstab文件, 在所有节点都做这个操作

查看系统设备信息

vim /etc/fstab

现在mount -a 刷此文件,同时挂载

cd /var/www/html

vim index.html  写东西来进行web测试 

web访问集群

192.168.0.111可以看到index.html文件里写入的内容

ok现在开启服务组

clusvcadm -e www

clusvcadm -d www  先停掉服务组

在web管理上面添加

 在/etc/fstab中注释掉gfs2设备的挂载  ,解挂

现在在资源加存储设备资源,集群管控添加服务组

ok现在开启服务组

clusvcadm -e www

现在哪个节点工作,那个节点挂载

前提:clusvcadm -d www 删掉原来的存储设备
   lvs
   vgs
   vgremove clustervg
   lvs
   pvs
   pvremove /dev/sda1
   iscsiadm -m node -u
   iscsiadm -m node -o delete

            --leeypp@gmail.com



© 著作权归作者所有

共有 人打赏支持
lee_ypp
粉丝 64
博文 45
码字总数 58692
作品 0
程序员
基于RHCS+ISCSI+CLVM实现web服务的共享存储集群架构

一、RHCS简介 RHCS是Red Hat Cluster Suite的缩写,也就是红帽子集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构...

feilong0663
07/03
0
0
RHEL5配置RHCS集群web (无共享存储)

RHEL5配置RHCS集群web (无共享存储) power by yuhongxiang EMAIL:hongxiang22355@gmail.com 环境简介:如下表所示 各个虚拟机网卡设置(仅与主机连接) yum库配置 创建 /etc/yum.repo.d/base.r...

hongxiang22355
06/26
0
0
Apache 虚拟主机 VirtualHost 配置

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名...

夏小八
2012/03/12
0
0
红帽子RHCS套件安装与配置(二)

系统环境: RHEL6.4 iptables 关闭 selinux is disabled https://access.redhat.com/site/documentation/en-US 参照文档 注意:由于本实验环境是在RHEL系列,因此将使用红帽自己的yum源,配置如...

Andy-xu
2014/05/25
0
3
RedHat 6.5下RHCS 集群的实现

集群常见的拓扑结构 1,此集群也算是一个典型的高可用集群。下图描述了各个硬件组成部分,由2台以上服务器组成,加入到集群的服务被称为节点,通常以私有网络作为心跳,当集群中一台服务器出...

YLSL2014
07/04
0
0
linux各个发行版本对比与简介

首先我们要能够清晰的区分Linux系统内核与Linux发行套件系统的区别,Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而...

河图再现
04/27
0
0
红帽子RHCS套件安装与配置(一)

RHCS提供的三个核心功能   高可用集群是RHCS的核心功能。当应用程序出现故障,或者系统硬件、网络出现故障时,应用可以通过RHCS提供的高可用性服务管理组件自动、快速从一个节点切换到另一...

Andy-xu
2014/05/24
0
0
RHEL5 SERVER和RHEL5AP(Red Hat Enterprise Linux )的区别

RHEL5 SERVER和RHEL5AP是红帽的2个产品,使用相同的介质光盘,主要区别是他们各自的支持范围。 RHEL5 SERVER 支持最多2路处理器的硬件,只支持4台虚拟主机,不支持高可用集群功能,负载均衡集...

彭苏云
2014/01/03
0
0
红帽集群套件RHCS

一、什么是RHCS   RHCS是RedHatClusterSuite的缩写,也就是红帽子集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群...

鱼在天上游
2014/05/01
0
0
RedHat Enterprise Linux 7简介

我这里列举一部分程序员可能比较感兴趣的地方,主要还是我感兴趣的方面。 1. 系统架构 RedHat Enterprise Linux 7.0 支持更多的CPU,内核和内存。只有64位硬件支持RedHat Enterprise Linux 7...

柳哥
2015/05/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
23分钟前
1
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
44分钟前
0
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
58分钟前
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
1
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
0
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
0
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部