一、环境准备
服务器列表:ansible server : 192.168.8.40
node2.chinasoft.com: 192.168.8.39
node3.chinasoft.com: 192.168.8.41
node4.chinasoft.com: 192.168.8.42
iscsi设备:192.168.8.43
1、在各节点上配置/etc/hosts文件,不使用DNS解析域名
192.168.8.39 node2.chinasoft.com node2
192.168.8.41 node3.chinasoft.com node3
192.168.8.42 node4.chinasoft.com node4
2、时间同步、在ansible服务器配置免密码访问node2、node3、node4
在ansible服务器中添加rhcs组
# vim /etc/ansible/hosts
加入如下内容:
[rhcs]
node2.chinasoft.com
node3.chinasoft.com
node4.chinasoft.com
时间同步
# ansible rhcs -m shell -a "ntpdate -u 192.168.8.102"
node2.chinasoft.com | success | rc=0 >>
3 May 09:13:11 ntpdate[1791]: step time server 192.168.8.102 offset 393253.345476 sec
node4.chinasoft.com | success | rc=0 >>
3 May 09:13:11 ntpdate[1775]: step time server 192.168.8.102 offset 393211.983109 sec
node3.chinasoft.com | success | rc=0 >>
3 May 09:13:12 ntpdate[1803]: step time server 192.168.8.102 offset 339279.739826 sec
4、关闭几台服务器上的防火墙和selinux(避免干扰)
二、安装corosync、cman、rgmanager并配置集群
# ansible rhcs -m yum -a"name=corosync state=present"
# ansible rhcs -m yum -a "name=cman state=present"
# ansible rhcs -m yum -a "name=rgmanager state=present"
说明:
不支持在集群节点中使用 NetworkManager 。如果已经在集群节点中安装了 NetworkManager, 您应该 删除或者禁用该程序。
RHCS的配置文件/etc/cluster/cluster.conf,其在每个节点上都必须有一份,且内容均相同,其默认不存在,因此需要事先创建,ccs_tool命令可以完成此任务。另外,每个集群通过集群ID来标识自身,因此,在创建集群配置文件时需要为其选定一个集群名称,这里假设其为mycluster。此命令需要在集群中的某个节点上执行。
在其中的一个节点上创建集群mycluster
# ccs_tool create mycluster
# cd /etc/cluster
# ls
cluster.conf cman-notify.d
# vim cluster.conf
可以看到集群的配置文件中没有集群的信息
<?xml version="1.0"?>
<cluster name="mycluster" config_version="1">
<clusternodes>
</clusternodes>
<fencedevices>
</fencedevices>
<rm>
<failoverdomains/>
<resources/>
</rm>
</cluster>
通过# ccs_tool -h可以查看ccs_tool的命令帮助
# ccs_tool addnode
Usage: ccs_tool addnode [options] <nodename> [<fencearg>=<value>]...
-n --nodeid Nodeid (required)
-v --votes Number of votes for this node (default 1)
-a --altname Alternative name/interface for multihomed hosts
-f --fence_type Name reference of fencing to use
-c --configfile Name of configuration file (/etc/cluster/cluster.conf)
-o --outputfile Name of output file (defaults to same as --configfile)
-h --help Display this help text
Examples:
Add a new node to default configuration file:
ccs_tool addnode newnode1 -n 1 -f wti7 port=1
Add a new node and dump config file to stdout rather than save it
ccs_tool addnode -o- newnode2 -n 2 -f apc port=1
添加集群节点node2、node3和node4
票数为1,节点的id分别为1、2、3
# ccs_tool addnode node2.chinasoft.com -n 1 -v 1
# ccs_tool addnode node3.chinasoft.com -n 2 -v 1
# ccs_tool addnode node4.chinasoft.com -n 3 -v 1
可以看到cluster.conf文件中已经有了集群节点的信息
<?xml version="1.0"?>
<cluster name="mycluster" config_version="4">
<clusternodes>
<clusternode name="node2.chinasoft.com" votes="1" nodeid="1"/><clusternode name="node3.chinasoft.com" votes="1" nodeid="2"/><clusternode name="node4.chinasoft.com" votes="1" nodeid="3"/></clusternodes>
<fencedevices>
</fencedevices>
<rm>
<failoverdomains/>
<resources/&