理论基础:

User → HA →     Lb    → web → sql → 分布式filesystem ->磁盘I/O

用户   高可用 负载均衡    应用   数据库      mfs/hadoop

磁盘I/O是硬伤,前面的各个厂商基本都可以做到最好,虽然可以考虑换成固态硬盘,但是固态的价格就目前来看相对比较昂贵,实际情况下显然不现实。

红帽集群套件 RHCS

红帽集群套件管理器 RHCSM

集群配置管理工具 conga

luci  :8084<-web<-user

/\                           vip

/     \                        service(web)

ricci <--> ricci                filesystem

HA

cman 核心套件

rgmanage 集群资源管理器

lvm2-cluster lvm支持

sg3_utils 支持scsi

gfs2-utils 分布式文件系统支持

注:ricci只负责与luci连接进行集群配置

真正的集群服务为:

cman

rgmanage

modclusterd

clvmd

server33 <-> server34

\                   /

\              /

\  HA  /

share storage

当server33的网卡坏了,server33和server34都会认为对方挂掉了,双方同时接管资源,用户在访问的时候因为server33的网卡坏的,无法访问,只能访问server34,因此在用户看来,服务是没有问题的。

当server33昏迷后,此时server34接管资源,但是当server33恢复后,还占据着原来的资源,此时用户访问时就不知道该访问哪台主机了。因此需要第三方设备来解决此问题,即Fence!

Fence

/          \

/              \                       
一整套资源:

/       HA       \                     vip

server33 <-> server34            
service

\                    /                   
stroage

\               /

\           /

share storage

server33和server34连接着Fence,当有其中一方挂掉之后,虽然双方都会认为对方挂掉了,但是另一方仍然可以连接到Fence,可以通过向fence所在主机发送请求将对方主机进行断电处理,自己接管资源。当故障主机恢复后,将成为备份主机,不再是master,也不会争抢资源。

存储方式

SAN存储(iscsi):服务端共享出设备,在客户端上进行分区,格式化才能使用。即文件系统在客户端上

NAS存储(NFS):在服务端上进行分区,格式化。客户端上只需进行mount操作即可使用。

配置:

系统环境: rhel6 x86_64 iptables and selinux disabled

主机: 192.168.122.119 server19.example.com

192.168.122.25 server25.example.com

192.168.122.1 desktop36.example.com

yum仓库配置:

[rhel-source]

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

baseurl=ftp://192.168.122.1/pub/yum

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]

name=Instructor
Server Repository

baseurl=ftp://192.168.122.1/pub/yum/HighAvailability

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

enabled=1

[LoadBalancer]

name=Instructor
Server Repository

baseurl=ftp://192.168.122.1/pub/yum/LoadBalancer

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

enabled=1

[ResilientStorage]

name=Instructor
Server Repository

baseurl=ftp://192.168.122.1/pub/yum/ResilientStorage

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

enabled=1

[ScalableFileSystem]

name=Instructor
Server Repository

baseurl=ftp://192.168.122.1/pub/yum/ScalableFileSystem

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

enabled=1

#启动luci

以下步骤在server19server25上实施:

[root@server19
~]# yum install ricci -y

[root@server19
~]# passwd ricci

[root@server19
~]# chkconfig ricci on

[root@server19
~]# /etc/init.d/ricci start

以下步骤在desktop36上实施:

[root@desktop36
~]# yum install luci -y

[root@desktop36
~]# /etc/init.d/luci start

启动成功系统会给出一个网址,访问此网址(例如上图网址为http://desktop36.example.com:8084),访问时注意在desktop36的/etc/hosts中写上解析.

下载证书,并以desktop36的root身份登录,会显示homebase页面

注:luci登录时可以使用luci所在电脑上的本机用户登录,但是只有root用户才可以管理集群

#创建集群

选择Manage Clusters

选择Create

按照如下图配置创建集群