是指一组相互独立的计算机,利用高速通讯网络组成的一个较大的计算机服务系统,每一个集群节点都是运行各自服务的独立服务器,这些服务器之间能够彼此通讯,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。前端
1 高性能
2 价格有效性
3 可伸缩性
4 高可用
5 透明性
6 可管理
7 可编程mysql
1 集群架构管理器
这是RHCS 集群的一个基础套件,提供您一个集群的基本功能,使各个节点组成的集群在一块儿工做,具体包含分布式集群管理器(CMAN),成员关系管理、锁管理(DLM)配置文件管理(CCS)、栅设备(FENCE)
2 高可用服务管理器
提供节点服务监控和服务故障转移,当一个节点服务出现故障时,将服务转移到另外一个健康的节点上。
3 集群配置管理工具
经过LUCI 来管理和配置RHCS集群,LUCI是一个基于web的集群配置方式,经过luci能够轻松的搭建一个功能强大的集群系统,节点主机可使用ricci来和luci 管理段进行通讯
4 Linuxvirtualserver
LVS 是一个开源的负载均衡软件,利用LVS 能够将客户端的请求根据指定的负载策略和算法合理分配到各个节点,实现动态、智能的负载分担。
5 RedhatGS(globalfilesystem)
GFS 是Redhat公司开发的一款集群文件系统,目前最新的版本是GFS2,GFS文件系统容许多个服务同时读写一个磁盘分区,经过GFS能够实现数据的集中管理,免去了数据同步和拷贝的麻烦,但GFS不能独立存在,须要RHCS的底层组件支持
6 clusterlogicalvolumemanger
CLuster 逻辑卷管理,及CLVM,是LVM的扩展,这种容许cluster 中的机器使用LVM来管理共享存储
7 ISCSI
是一种在Internet协议上,特别是以太网上进行数据传输的标准,他是一种基于IPstorage理论的新型存储技术,RHCS能够经过ISCSI技术来导出和分配共享存储的使用。nginx
它运行在各个节点上,为RHCS提供集群管理任务
CMAN 用于管理集群成员、消息和通知。他经过监控每一个节点的运行状态来了解节点成员之间的关系,当节点出现故障时,CMAN及时将这种改变通知底层,进而作出相应的调整web
表示一个分布式锁管理器,他是RHCS的一个底层基础构建,同时也为集群提供了一个公用的锁运行机制,在RHCS中,DLM运行在集群的每一个节点上,GFS经过锁管理机制来同步访问数据系统元数据,CLVM经过锁管理其来同步更新数据到LVM卷和逻辑卷, DLM 不须要设定锁骨哪里服务器,它采用对等的锁管理方式,大大提升了处理性能,同时,DLM避免了当单个节点失败须要总体恢复的性能瓶颈,另外,DLM的请求都是本地的,不须要网络请求,于是请求会当即生效,最后,DLM经过分层机制,能够实现多个锁空间的并行管理模式算法
ClusterConfigurationSystem,简称CCS,主要用于集群配置文件管理和配置文件在节点之间的同步。有时候,luci管理界面可能因为网络等方面的以素并非那么畅快,CCS就显得很必要了。CCS运行在集群的每一个节点上,监控每一个集群节点上的单一配置文件/etc/cluster/cluster.conf的状态,当这个文件发生任何变化时,
都将此变化更新到集群中的每一个节点,时刻保持每一个节点的配置文件同步。例如,管理员在节点A上更新了集群配置文件,CCS发现A节点的配置文件发生变化后,立刻将此变化传播到其它节点上去。rhcs的配置文件是cluster.conf,它是一个xml文件,具体包含集群名称、集群节点信息、集群资源和服务信息、fence设备等sql
FENCE设备是RHCS集群中必不可少的一个组成部分,经过FENCE设备能够避免因出现不可预知的状况而形成的“脑裂”现象,FENCE设备的出现,就是为了解决相似这些问题,Fence设备主要就是经过服务器或存储自己的硬件管理接口,或者外部电源管理设备,来对服务器或存储直接发出硬件管理指令,将服务器重启或关机,或者与网络断开链接。
FENCE的工做原理是:当意外缘由致使主机异常或者宕机时,备机会首先调用FENCE设备,而后经过FENCE设备将异常主机重启或者从网络隔离,当FENCE操做成功执行后,返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。这样经过FENCE设备,将异常节点占据的资源进行了释放,保证了资源和服务始终运行在一个节点上。
RHCS的FENCE设备能够分为两种:内部FENCE和外部FENCE,经常使用的内部FENCE有IBMRSAII卡,HP的iLO卡,还有IPMI的设备等,外部fence设备有UPS、SANSWITCH、NETWORKSWITCH等数据库
高可用性服务管理主要用来监督、启动和中止集群的应用、服务和资源。
它提供了一种对集群服务的管理能力,当一个节点的服务失败时,
高可用性集群服务管理进程能够将服务从这个失败节点转移到其它健康节点上来,而且这种服务转移能力是自动、透明的。
RHCS经过rgmanager来管理集群服务,rgmanager运行在每一个集群节点上,在服务器上对应的进程为clurgmgrd。
在一个RHCS集群中,高可用性服务包含集群服务和集群资源两个方面,集群服务其实就是应用服务,例如apache、mysql等,集群资源有不少种,例如一个IP地址、一个运行脚本、ext3/GFS文件系统等。
在RHCS集群中,高可用性服务是和一个失败转移域结合在一块儿的,所谓失败转移域是一个运行特定服务的集群节点的集合。在失败转移域中,能够给每一个节点设置相应的优先级,经过优先级的高低来决定节点失败时服务转移的前后顺序,若是没有给节点指定优先级,那么集群高可用服务将在任意节点间转移。所以,经过建立失败转移域不但能够设定服务在节点间转移的顺序,并且能够限制某个服务仅在失
败转移域指定的节点内进行切换。 apache
Conga是一种新的基于网络的集群配置工具,Conga是经过web方式来配置和管理集群节点的。Conga有两部分组成,分别是luci和ricci,luci安装在一台独立的计算机上,用于配置和管理集群,ricci安装在每一个集群节点上,Luci经过ricci和集群中的每一个节点进行通讯。
RHCS也提供了一些功能强大的集群命令行管理工具,经常使用的有clustat、cman_tool、ccs_tool、fence_tool、clusvcadm等,这些命令的用法将在下面讲述。 编程
GFS是RHCS为集群系统提供的一个存储解决方案,它容许集群多个节点在块级别上共享存储,每一个节点经过共享一个存储空间,保证了访问数据的一致性,更切实的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统不能实现的。
为了实现多个节点对于一个文件系统同时读写操做,GFS使用锁管理器来管理I/O操做,当一个写进程操做一个文件时,这个文件就被锁定,此时不容许其它进程进行读写操做直到这个写进程正常完成才释放锁,有当锁被释放后,其它读写进程才能对这个文件进行操做,另外,当一个节点在GFS文件系统上修改数据后,这种修改操做会经过RHCS底层通讯机制当即在其它节点上可见。
在搭建RHCS集群时,GFS通常做为共享存储,运行在每一个节点上,而且能够经过RHCS管理工具对GFS进行配置和管理。这些须要说明的是RHCS和GFS之间的关系,通常初学者很容易混淆这个概念:运行RHCS,GFS不是必须的,只有在须要共享存储时,才须要GFS支持,而搭建GFS集群文件系统,必需要有RHCS的底层支持,因此安装GFS文件系统的节点,必须安装RHCS组件。后端
两台NGINX服务器负责前端调度,集群服务器被搭建在前面两态服务器上
两台HTTPd服务器负责提供web界面
设备名称 | 功能描述 | 设备IP地址 |
---|---|---|
server1 | nginx 负载均衡器 RHCS集群子节点 | 192.168.122.149 |
server4 | NGINX负载均衡器 RHCS集群子节点 | 192.168.122.58 |
server2 | web 服务 | 192.168.122.177 |
server3 | web 服务 | 192.168.122.85 |
、
通常优化项:
建立nginx 用户和组
修改配置
重启服务
查看其启动状况:
默认的NGINX多个进程有可能跑在一个CPU上,致使NGINX进程使用硬件的资源不均,所以须要针对一个CPU配置一个进程
Woker_connections 的值要根据具体服务器性能和程序的内存使用量来指定(一个进程启动使用的是内存根据程序肯定),以下Events 核定NGINX的工做模式以及连接数上限。
服务端修改:
配置文件修改
查看
此处的IP应该对应后面集群的VIP地址:
server 1 配置文件复制到server4 中;
建立软链接,以便于启动服务:
修改配置和server1 相同:
配置地址解析并测试:
其用户名和密码分别是root和节点server1 root对应的密码,
并添加节点,其名称是对应的uname -n 对应的主机名,密码是在ricci 安装完成后设置的密码
集群节点建立中:
集群节点建立完成:
1 添加服务资源名并配置相关优先级:
添加成功:
此处的网络接口必须与server1和server4在同一个网段的端口,负责不能起到防止脑裂的做用,由于若是不在同一个网段,网络则不通、
选择使用组播方式进行数据传输,由于上述在生成密文的时候默认是使用组播的方式传输信息的。
yum -y install scsi*
注意此时的磁盘只须要进行一次分区便可,由于其是同一块磁盘:
两边都安装服务单只须要一边启动服务,由于经过启动服务获取的配置文件将被移动到共享资源中,两边的服务的目录都将挂载共享资源,及启动配置文件:
必须-rp -r表示复制目录-p 表示复制权限。
可使用上述的VIP,也能够分开,建议分开使用。
其格式是ext4 文件系统,由于上述格式化时使用的是ext4文件系统
添加组,将VIP 、磁盘挂载、脚本启动进行绑定,其顺序不能混杂,由于其顺序是启动的顺序。
此时server1端mysql服务启动
其不能完成并发的数据库服务访问及两边的读写不一样步:
节点上进行查看: