环境:准备两台虚拟机,iptables是关闭的,和selinux是关闭的。NetworkManager is stopped
假设你准备的两台虚拟机的IP分别是: 192.168.0.75 IP:192.168.0.91
主机的IP: 192.168.0.38(此时ip:38是服务器,ip:75和ip:91是集群的两个节点,当然你可以更多的节点)
实验一: 配置集群服务器
首先你要在服务器上安装luci(yum install luci 用来与集群节点中的ricci进行通信的)
在集群节点上安装ricci(yum install ricci)
步骤(1)在管理节点:IP:38
yum install luci -y
service luci on
chkconfig luci on
(开机启动)
打开 https://desktop38.example.com:8084(这个条目会在你启动luci服务的时候出来)
(2)在 集群节点:IP:75
yum install ricci -y
service ricci on
chkconfig ricci on
(开机启动)

在 集群节点:IP:91
yum install ricci -y
service ricci on
chkconfig ricci on
(开机启动)(如果不启动可能会在你创建集群的时候报错的!)

(3)打开 https://desktop38.example.com:8084
这个是加密的,所以你进入的时候要点击了解风险,确认进入才可以进入主界面。
输入管理节点服务器超户:root,以及超户密码:redhat(根据自己的情况而定)
进入之后:点击Manage Clusters,在中间一行点击create。创建集群
Cluster Name: westos-sushan(注意不要超过15个字符哦!)
选择:Use same password for all nodes(设置集群节点使用相同的密码)
Node Hostname:desktop75.example.com Root Password:redhat
(这个密码是你集群节点的超户密码) 监听的端口是:11111(默认的)
点击Add Another Node(会自动弹出一行,将密码给你填好了,因为之前选择了:Use same password for all nodes)
Node Hostname:desktop91.example.com 密码就不用你填了。(注意这时候不可以永IP地址,要用域名)
接下来选择: Download Packages
Reboot nodes before joining cluster
Enable shared storage support

之后点击:Create  Cluster
注意在你添加的过程中如果是出现什么SSL  111111之类的错误。说明是集群节点的防火墙和selinux没有关闭的!!!
此时你在集群节点:ps aux 可以看到系统正在做什么,过一段时间会有westos-sushan集群及节点创建成功。


实验二:在进入 https://desktop38.example.com:8084之后会有一行:
步骤(1)
依次为:Nodes Services Resource Failover Domains Fence Devices Configure
Configure按照默认的来,不必修改。
点击Fence Devices :然后点击Add 然后选择一个fence设备:Fence Virt(Multicast Mode)-->写进名字(假设为westos-sushan)-->submit
将节点添加到fence设备中来:点击Node:点击Node Name
:desktop75.example.com-->Add a fence Method-->点击确定-->Add a fence instance-->选择一个fence设备(vm_fence(xvm Virtual Machine Fencing))-->填写域名假设为(westos-sushan)-->submit(注意对两个集群节点都要这么的设置。)
点击Failover Domains-->Add--> Name:Web_test 选择:Prioritized(设置优先级) Restricted(限制,意思是只限治你添加的节点之间访问)NoFailback(假如75那台访问的时候,突然关闭了。之后会自动切换到91,Nofailback是说当你的75回来的时候不会重新回到75那台机子上。该选项可不选)。选择下面的两个主机并且设置优先级。
点击Resource-->Add-->Add a resource-->Select a resource type-->选择IP Address-->填写IP:192.168.0.1(这个IP得保证没有被别人在使用)netmask:24 选择:Monitor link
之后在添加一个Script脚本。按照上面的步骤写进Script-->Name(httpd) Full path to script file(/etc/init.d/httpd)-->submit
点击Services:Add -->Add a service-->Service name(www)选择Automatically start this service 和 Run exclusive Failover domain选择web_test Recovery policy:选择Relocate -- > Add a resource--Script-->submit
点击Services-->点击名字www-->Add aresource (添加Ip address)

(2)在IP:192.168.0.75/91上安装httpd,并且启动服务,可以设置开机不启动(chkconfig httpd off)在ip75:echo `hostname` > /var/www/html/index.html
IP91:echo `hostname` > /var/www/html/index.html
(3)测试:http://192.168.0.1/ 此时假如会显示一个的主机上的,比如此时访问的是desktop75.example.com(即使2个集群节点都开着,也只会访问一个,因为这是高可用,不是负载均衡) 当你在IP:192.168.0.75使用命令:echo b > /proc/sysrq-trigger (意思是瞬间重启该机子) 此时你刷新会变成:desktop91.example.com(要想看2个集群节点的状态在,集群节点的机子上用命令:cluster)
注意:http是人家集群给你启动的,不用你自行启动哦!

 

实验三:
在 /etc/cluster/cluster.conf是你创建一个集群所产生的,在你想要将该节点添加到新的集群的话,那就应该将这个删除文件,(这个文件是在客户端的,也就是说在集群节点上的)重新生成的,你想要把这个节点加到其他的集群中去,那么你应该把这个文件删除才可以的。
    将节点退出,停止服务
首先:在你创建的集群中停止服务及将节点推出
(1)将节点退出,停止服务
    进入:   https://desktop38.example.com:8084
    点击service -->服务名称(www),点击,然后stop(disable),刷新会发现服务已经停止了,然后你去Nodes-->选中集群中的节点,点击leave Cluster,刷新,此时你会发现那2个节点都不可用了。点击Manager Clusters 也没有什么集群了。
    测试:ping 192.168.0.1已经无法连通了!(此Ip地址是你自己设置的)
(2)添加集群,已经存在的。
    点击Manager Clusters -->Add (切记不可以用Create)你写你之前的集群节点的名字:desktop75.example.com 密码:redhat -->connect 汇出来与你之前该节点在一个集群组的节点,然后你可以输入:desktop91.example.com 点击Use same password for all nodes
        Add Cluster
    点击Nodes-->选中你添加的2个节点,选中,Join Cluster。此时就正常了
    测试:ping 192.168.0.1也可以连通了!
实现迁移:假设你访问:http://192.168.0.1 此时显示的是:desktop91.example.com说明你现在运行在91这台主机上,你可以用图形切换实现迁移,(不过本人做了好几次,只有一次成功)
    用命令实现迁移:clusvcadm -r www -m desktop75.example.com,此时你刷新http://192.168.0.1 会显示的是:    desktop75.example.com