您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
RHCS集群配置
发布时间:2019-05-20 21:34:44编辑:雪饮阅读()
之前实现了基于drbd+corosync的高可用mysql集群。
今天来实现下RHCS集群,RHCS集群是红帽集群套件。
基础条件
(0)准备好yum源
(1)各节点的uname -n值和主机名保持一致
(2)主机互信,如果有跳板机,则至少满足跳板机和各个节点能互信。
(3)节点最好是奇数个(不包含跳板机),防止脑分裂。
(4)时间同步
(5)各节点需要的集群资源只要测试能单独ok就先关闭,例如nfs能挂载就先卸载,httpd能正常启动就先关闭,并且都不要做开机自启。
本次实践架构:
(1)一台跳板机作为时间同步服务器、nfs共享服务器
(2)3台集群节点,每个节点上部署httpd服务,各节点与跳板机之间是同网络段
安装集群套件
以上条件都准备妥当后我们开始安装集群套件,在非跳板机的任意一个节点上操作就行,为了更快速的安装,这里介绍下for循环结合别名的一种特殊用法,如这里用for循环可以直接快速将各个非跳板机的集群套件安装ok。这种for循环是串行的,所以不适合节点依赖性强的命令。
注意:因为当前我配置的主机互信是每个节点和跳板机进行互信而不是各个节点直接互信,所以这种特殊的使用方式就必须在跳板机上执行。
那么这里就不多废话了,直接通过for循环安装集群套件如:
[root@nfs ~]# alias ha='for I in {1..3}; do'
[root@nfs ~]# ha ssh node$I.magedu.com 'yum -y install cman rgmanager system-config-cluster'; done
配置集群
这里是在任何一个非跳板机上执行一个命令启动gui图形界面进行配置的
[root@localhost ~]# system-config-cluster &
注意:因为我使用的是xshell6,如果你也是,那么此时可能会报错
那么你需要做如下工作:
然后下载Xmanager6
等Xmanager6安装ok后,重新打开会话即可
如果你没有发生错误,那么就应该会进入如下界面
我们直接点击配置一个新的配置
![2.png](/d/file/xuewuzhijing/xindebiji/729feed2c0c3fb4377e75d603bb289df.png)
给你的集群设定一个集群id、第一个勾选框是设定组播地址的(不勾选的情况下会自动生成一个可用的随机组播地址)、第二个勾选框是设定仲裁磁盘的(因为我们这里的节点数是3个,就不考虑脑裂情况了)
![3.png](/d/file/xuewuzhijing/xindebiji/6da1f5f34af34020be3afedece50639e.png)
接下来添加集群节点
![4.png](/d/file/xuewuzhijing/xindebiji/429a5aa7f48cb095136512579aa817d4.png)
第一处的节点名一定要保证和uname -n的值相同,第二处的票数这里我们每个节点都设定为1吧。就这样,依次把3个节点都添加上。
![5.png](/d/file/xuewuzhijing/xindebiji/e9e5743c19b58aabe1100943b0595f2b.png)
添加完节点后就开始添加fence设备了,设定一个fence名称。这里用的fence类型就是图中所选的类型。
![6.png](/d/file/xuewuzhijing/xindebiji/437bd3483db8daaed6e004ae061f48b9.png)
保存以上配置
![7.png](/d/file/xuewuzhijing/xindebiji/485a0b3cf5c789f0eb3681f9a43d39b0.png)
启动集群
启动集群
启动集群必须分别在各个节点上执行,因为该命令是需要节点依赖的,不可在跳板机上批量执行。
root@node1 ~]# service cman start
Starting cluster:
Loading modules... done
Mounting configfs... done
Starting ccsd... done
Starting cman... done
Starting daemons... done
Starting fencing... done
[ OK ]
启动集群资源管理器
这个可以直接在跳板机进行执行
[root@nfs ~]# ha ssh node$I.magedu.com 'service rgmanager start'; done
Starting Cluster Service Manager: [ OK ]
Starting Cluster Service Manager: [ OK ]
Starting Cluster Service Manager: [ OK ]
查看集群状态
集群状态的查看最常用的有两种
方法1:
root@node3 ~]# cman_tool status
Version: 6.2.0
Config Version: 2
Cluster Name: tcluster
Cluster Id: 28212
Cluster Member: Yes
Cluster Generation: 12
Membership state: Cluster-Member
Nodes: 3
Expected votes: 3
Total votes: 3
Node votes: 1
Quorum: 2
Active subsystems: 8
Flags: Dirty
Ports Bound: 0 177
Node name: node3.magedu.com
Node ID: 3
Multicast addresses: 239.192.110.162
Node addresses: 192.168.2.205
方法2:
[root@node3 ~]# clustat
Cluster Status for tcluster @ Sun May 19 10:51:55 2019
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
node1.magedu.com 1 Online
node2.magedu.com 2 Online
node3.magedu.com 3 Online, Local
集群资源配置
添加vip资源
![8.png](/d/file/xuewuzhijing/xindebiji/f8ae394c422f4b0fe248c890d5ca68db.png)
添加httpd资源
![9.png](/d/file/xuewuzhijing/xindebiji/6f2eadd1afa449dd43a70ec6b163b99d.png)
集群服务配置
单独添加了集群资源是不能直接启动的,这点和heartbeat是不同的,这里必须将一个或多个资源添加到某个服务才可以。
为服务设定一个名字
![10.png](/d/file/xuewuzhijing/xindebiji/5121c0e70221607354744aa05d113c42.png)
将我们刚才添加的资源都添加进来
![11.png](/d/file/xuewuzhijing/xindebiji/65f9391e2f1c99300ba0d7d56e23224b.png)
配置分发
我们上面做了集群资源、服务等的配置只是在当前操作节点上,要想整个集群生效,则还需要做配置分发。
![12.png](/d/file/xuewuzhijing/xindebiji/cf4bb32656fe9d55b4918e3dd33a5697.png)
同一个网卡不设定别名也可以实现多个ip地址
我们通过heartbeat添加的vip会是以网卡别名绑定的,但是rhcs集群配置出来的vip你在ifconfig中是无法看到的,只能在ip addr show中能看到。
[root@node1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:c0:da:39 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.241/24 brd 192.168.2.255 scope global eth0
inet 192.168.2.139/24 scope global secondary eth0
inet6 fe80::20c:29ff:fec0:da39/64 scope link
valid_lft forever preferred_lft forever
3: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
[root@node1 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:C0:DA:39
inet addr:192.168.2.241 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec0:da39/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:35073 errors:0 dropped:0 overruns:0 frame:0
TX packets:39391 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4121962 (3.9 MiB) TX bytes:24191734 (23.0 MiB)
Interrupt:67 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:20905 errors:0 dropped:0 overruns:0 frame:0
TX packets:20905 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24621499 (23.4 MiB) TX bytes:24621499 (23.4 MiB)
专用资源的添加
上面配置的资源都是每个节点可以单独存在的,但是有一种资源是每个节点所共享的,如nfs。这种资源要单独添加。
集群资源(服务)迁移
指定节点迁移
转移前:
[root@node1 ~]# clustat
Cluster Status for tcluster @ Sun May 19 19:23:46 2019
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
node1.magedu.com 1 Online, Local, rgmanager
node2.magedu.com 2 Online, rgmanager
node3.magedu.com 3 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:webserver node1.magedu.com started
转移:
[root@node1 ~]# clusvcadm -r webserver -m node2.magedu.com
Trying to relocate service:webserver to node2.magedu.com...Success
service:webserver is now running on node2.magedu.com
转移后:
[root@node1 ~]# clustat
Cluster Status for tcluster @ Sun May 19 19:28:30 2019
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
node1.magedu.com 1 Online, Local, rgmanager
node2.magedu.com 2 Online, rgmanager
node3.magedu.com 3 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:webserver node2.magedu.com started
由系统分配转移节点
[root@node1 ~]# clusvcadm -r webserver
Trying to relocate service:webserver...Success
service:webserver is now running on node3.magedu.com
测试
进行集群服务转移后在浏览器中访问vip如果httpd服务ok就没有问题了。
集群服务停止
集群资源服务停止
[root@node1 ~]# clusvcadm -s webserver
Local machine stopping service:webserver...Success
跳板机上停止资源管理器
[root@nfs ~]# ha ssh node$I.magedu.com 'service rgmanager stop'; done
Shutting down Cluster Service Manager...
Services are stopped.
Cluster Service Manager is stopped.
Shutting down Cluster Service Manager...
Services are stopped.
Cluster Service Manager is stopped.
Shutting down Cluster Service Manager...
Waiting for services to stop: [ OK ]
Cluster Service Manager is stopped.
跳板机上停止cman
[root@nfs ~]# ha ssh node$I.magedu.com 'service cman stop'; done
Stopping cluster:
Stopping fencing... done
Stopping cman... done
Stopping ccsd... done
Unmounting configfs... done
[ OK ]
Stopping cluster:
Stopping fencing... done
Stopping cman... done
Stopping ccsd... done
Unmounting configfs... done
[ OK ]
Stopping cluster:
Stopping fencing... done
Stopping cman... done
Stopping ccsd... done
Unmounting configfs... done
[ OK ]
关键字词:rhcs,集群