目录
步骤一、RHCS概念
RHCS名字就叫红帽集群套件
有很多的集群套件都是基于红帽的RHCS开发的
步骤二、RHCS搭建
IP | host name | node | OS |
10.239.32.185 | HA-nginx-tomcat-app03 | 服务端 | CentOS6.9 |
10.239.32.186 | HA-nginx-tomcat-app01 | 客户端:主 | CentOS6.9 |
10.239.32.187 | HA-nginx-tomcat-app02 | 客户端:备 | CentOS6.9 |
三台主机相互信任
RHCS服务端:
把这台机器变成RHCS服务端要安装luci软件包,要安装luci软件包要改变一下yum源才能安装luci
安装luci软件包,启动luci服务,luci服务会搭建https:// HA-nginx-tomcat-app03:8084网站,你可以在任何一台机器上通过web浏览器来访问这个站点(前提是你这个机器能ping通luci服务器,并可以对HA-nginx-tomcat-app03进行解析),这个站点就是对整个集群进行高可用的管理
[root@HA-nginx-tomcat-app03 home]# yum -y install luci
[root@HA-nginx-tomcat-app03 ~]# service luci restart
Stop luci... [ OK ]
Start luci... [ OK ]
Point your web browser to https:// HA-nginx-tomcat-app03:8084(or equivalent) to access luci
[root@HA-nginx-tomcat-app03 ~]# chkconfig luci on
在其它机器上访问luci服务端搭建的web站点https:// HA-nginx-tomcat-app03:8084,因为用的是https来访问的,这个网页的证书没有被国际承认,浏览器认为是不安全的,就把网页内容挡住了,点击继续访问,把这个网页加入到允许列表里面,才能显示出网页内容
显示出集群高可用性的管理界面,通过这个界面,可以创建一个集群,把主服务器,备份服务器加入到集群里面,然后通过这个界面就可以对这个集群进行管理了。
在红帽5中,luci服务器提供web的HA管理员账户,这个账户就是服务器的root账户,这样是不安全的,黑客一旦攻破了luci服务,就可以把整个机器攻破了,所以红帽6 root账户就是HA的管理员账户
关掉防火墙。
[root@HA-nginx-tomcat-app03 ~]# system-config-firewall
[root@HA-nginx-tomcat-app03 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@HA-nginx-tomcat-app03 ~]# service iptables save
iptables: Saving firewall rules to/etc/sysconfig/iptables:[ OK ]
RHCS客户端:
在主服务器和备份服务器上安装ricci软件包,让它们变成RHCS客户端,不过安装ricci软件包需要改变下yum源
在主服务器上和备份服务器上安装ricci软件包,重启ricci服务。在红帽5中ricci软件包安装完后,root管理员账户就相当于ricci服务的管理账户,而在在红帽6中ricci软件包安装完后,系统自动会创建ricci普通账户当做ricci服务的账户
主服务器:
[root@HA-nginx-tomcat-app01 ~]# yum -y install ricci
[root@HA-nginx-tomcat-app01 ~]# service ricci restart
Shutting down ricci: [ OK ]
Starting ricci: [ OK ]
[root@HA-nginx-tomcat-app01 ~]# chkconfig ricci on
[root@HA-nginx-tomcat-app01 ~]# id ricci 安装了ricci软件包,ricci用户就创建了
uid=140(ricci) gid=140(ricci)groups=140(ricci)
[root@HA-nginx-tomcat-app01 ~]# passwd ricci 给予ricci用户密码
关掉防火墙。
[root@HA-nginx-tomcat-app01 ~]# system-config-firewall
[root@HA-nginx-tomcat-app01 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@HA-nginx-tomcat-app01 ~]# service iptables save
iptables: Saving firewall rules to/etc/sysconfig/iptables:[ OK ]
关掉Selinux
[root@HA-nginx-tomcat-app01 ~]# vim /etc/sysconfig/selinux
# This file controls the state of SELinuxon the system.
# SELINUX= can take one of these threevalues:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these twovalues:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@HA-nginx-tomcat-app01 ~]# getenforce
Permissive
不使用红帽6的NetworkManager网卡,这个网卡不稳定,启动红帽5的network网卡,等RHCS客户端加入到了RHCS服务端创建的集群后,系统会自动的在这台机器上使用红帽5的network网卡
[root@HA-nginx-tomcat-app01 ~]# /etc/init.d/NetworkManager stop
[root@HA-nginx-tomcat-app01 ~]# chkconfig NetworkManager off
[root@HA-nginx-tomcat-app01 ~]# service network restart
备份服务器:
[root@HA-nginx-tomcat-app02 ~]# yum -y install ricci
[root@HA-nginx-tomcat-app02 ~]# service ricci restart
Shutting down ricci: [ OK ]
Starting ricci: [ OK ]
[root@HA-nginx-tomcat-app02 ~]# chkconfig ricci on
[root@HA-nginx-tomcat-app02 ~]# id ricci 安装了ricci软件包,ricci用户就创建了
uid=140(ricci) gid=140(ricci)groups=140(ricci)
[root@HA-nginx-tomcat-app02 ~]# passwd ricci 给予ricci用户密码
关掉防火墙。
[root@HA-nginx-tomcat-app02 ~]# system-config-firewall
[root@HA-nginx-tomcat-app02 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@HA-nginx-tomcat-app02 ~]# service iptables save
iptables: Saving firewall rules to/etc/sysconfig/iptables:[ OK ]
关掉Selinux
[root@HA-nginx-tomcat-app02 ~]# vim /etc/sysconfig/selinux
# This file controls the state of SELinuxon the system.
# SELINUX= can take one of these threevalues:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these twovalues:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@HA-nginx-tomcat-app02 ~]# getenforce
Permissive
使用红帽5的网卡
[root@HA-nginx-tomcat-app02 ~]# /etc/init.d/NetworkManager stop
[root@HA-nginx-tomcat-app02 ~]# chkconfig NetworkManager off
[root@HA-nginx-tomcat-app02 ~]# service network restart
RHCS服务端:
用普通用户student登陆,在manage clusteers中点击床架集群
Cluster Name:集群名字,名字随便取的,不过自己要知道名字代表什么
User the Same Password for ALL Nodes:勾上这个,代表所有的节点使用ricci的密码都是一样的,那么你写了一个密码,剩下的系统会自动给你写上
Download Packages:勾上这个代表RHCS客户端在加入到集群的时候,系统会自动的去安装集群相关的服务并且运行。
Reboot Nodes Before Joining Cluster:RHCS客户端加入到集群后,会重启
Enable shared Storage Support:可以分享存储支持
这里的password输入的是ricci用户的密码,建立信任关系才能查持到证书信息,这里添加HA-nginx-tomcat-app01和HA-nginx-tomcat-app02
RHCS客户端被安装和集群相关的服务有以下这些,确保这些服务都运行。
无论是那个节点,只要加入到集群中来,这个节点会自动的把集群相关的服务安装的你的机器上
ricci:ricci没有起来,会一直转圈圈
Cman(cluster manager)集群管理服务:任何一个集群上的节点cman没起来,集群就起不来。集群的存与活,看集群节点上的cman是否正常(cman_tools status命令查看集群状态)
Rgmanager: 集群资源访问控制:将当前集群的状态反应给你看(clustat -i 1命令查看集群状态)
modclusterd:集群模块
clvmd: 集群逻辑卷,我在任何一个节点上做逻辑卷,把这个逻辑卷的信息通告给其它节点,其它节点就有这个逻辑卷的信息
[root@HA-nginx-tomcat-app02 ~]#service ricci status
ricci (pid 2759) is running...
[root@HA-nginx-tomcat-app02 ~]#service cman status
cluster is running.若是cman服务重启不起来,copy其它节点的/etc/cluster/cluster.conf文件
[root@HA-nginx-tomcat-app02 ~]#service rgmanager status
rgmanager (pid 2690) is running...
[root@HA-nginx-tomcat-app02 ~]#service modclusterd status
modclusterd (pid 4307) is running...
RHCS客户端加入到RHCS服务端创建的集群后,系统会自动生成这个文件
步骤三、Failover Domains
Failover Domains就是失效率、优先级的意思
在集群坏境中,有个问题就是1机器先启动服务还是2机器先启动服务,通过设置Failover Domains来解决,数字越低,优先级越高,这个机器就先启动服务。
在主和辅助服务器上都安装nginx服务,但是都不要启动这个服务。
然后在进入到RHCS服务端搭建的HA站点界面中,创建Failover Domains
创建的失效率名字可以随便写,Prioritized打上勾勾,在Member打上勾勾意思是在那几台
机器上可以运行这个失效率
Restricted也要勾上
Proority一个写1、一个写2的意思是先在写1的机器上运行集群服务,这个服务挂了,在转到写2的机器上去运行这个服务,如果写1的机器上的服务又好了,写1的机器会抢回运行这个服务的权利。
Proority一个写1、另一个也写1意思是先在写前面的那个1的机器上运行集群服务,这个服务挂了,在转到写另一个1的机器上去运行这个服务,前面那个写1的机枪服务好了,是不会抢回服务的运行权的
Failover Domains创建成功
步骤四、Resources
Resources是资源的意思
一个服务能够被正常的运行、工作,它需要满足那些条件,这个条件就是资源的意思
1.Ip Address
2.脚本
创建资源
添加IP Address,IP地址填写主服务器和备份服务器虚拟出来的IP地址,勾勾打不打无所谓,不打勾勾,它也会更你按上去的
如果要创建ftp服务了,这资源里面没有怎么办,你可以选择script,脚本的意思,名字随便叫,脚本文件路径要填写vsftpd启动脚本路径了/etc/init.d/vsftpd
如果创建apach服务,只写个名字即可,其它不要动
步骤五、Service Groups
Service group就是使用之前创建的失效率和资源。让某一个服务正常的运行起来
让httpd运行其起来,勾勾打上,填写之前的失效率,relocate是如果一个机器故障了,就马上让服务转移到另一个机器上。按Add Resource按钮,把需要的满足httpd服务的资源添加进去
Service Group 创建成功,且没有报错,正常运行
服务器:通过clustat -i 5 可以查看服务在那一台机器上的的运行状态,发现httpd服务在HA-nginx-tomcat-app01主机上已经运行了
服务启停及切换
在Service Groups中点击nginx_web,在nginx_web服务节点中选择服务节点,然后点击start即可完成切换。
勾选nginx_web,然后点击上面的Disable,则可停止集群服务。
cman_tool status,clustat –i 2均可查看集群状态。
服务安装说明:
客户端安装并启动cman,rgmanager,ricci。服务端安装并启动luci。
先启cman再启rgmanager,关闭时反向执行。
一个服务端可管理多个客户端