redhat中的RHCS双机配置
1. 主机概述
主机名 | 主机IP | 备注 |
---|---|---|
node1 | 192.168.1.101 | 模拟fence设备 |
node2 | 192.168.1.102 | rhcs双机节点 |
node3 | 192.168.1.103 | rhcs双机节点 |
修改三台主机的hosts文件,内容如下
[root@node1 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
2. 配置ntp
(1) 修改ntp.conf文件vim /etc/ntp.conf
增加如下配置
#Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#Use public servers from the pool.ntp.org project.
#Please consider joining the pool (http://www.pool.ntp.org/join.html).(ntp服务器可自行选择合适的,这里我用的是1.cn.pool.ntp.org)
server 1.cn.pool.ntp.org prefer
(2)启动ntpd服务
service ntpd start
3. 安装luci
(1) 登陆node1服务器,配置yum源,安装luci服务yum install luci
(2) 启动luci服务service luci start
(3) 浏览器访问https://192.168.1.101:8084/
(4) 输入用户和密码(用户名root,密码是root的口令),登陆到主页
4. 配置RHCS
4.1 在node2和node3主机上,安装ricci、cman和rgmanager
yum install ricci cman rgmanager -y
4.2 修改ricci用户密码,否则创建集群时会出现节点认证失败的错误
passwd ricci
启动ricci服务service ricci start
4.3 创建集群
点击Create
配置集群参数
1). 在Cluster Name 文本框中输入集群名称,不能超过15个字符
2). 如果集群中每个节点都有相同的ricci密码,则选择"Use the same password for all nodes",以便在添加节点中自动填写ricci用户口令
3). 在Node Name栏中输入集群中各节点的主机名,并填入ricci用户口令
4). 点击Add Another Node添加集群节点
5). 如果不想在创建集群的时候升级已经在节点中安装的集群软件包,则必须选择"Download Packages",特别的,如果缺少任意基本集群组件(cman,rgmanager及其所依赖软件包),无论是否选择哪个,都会安装他们,否则节点创建失败
6). 如果需要集群的存储,则选择"Enable share storage support"来启动共享存储支持
参数配置完成后,点击"Create Cluster"创建集群。
集群创建完成后,如果出现下面的情形,节点Status为"Not a cluster member"
原因是cman和rgmanager服务未启动,启动这两个服务即可,注意启动顺序,先启动cman,然后再启动rgmanager。
另外启动cman时,要关闭NetworkManager服务(service NetworkManager stop
),同时关闭该服务的开启启动chkconfig NetworkManager off
。
cman和rgmanager服务开启后,点击"Nodes"
可以看到,node2和node3节点已经加入集群
4.4 添加Fence Devices设备
点击"Fence Devices",添加Fence Devices设备
点击add,选择IPMI Lan
1). Name:填入对应主机fene设备的名字
2). IP address or hostname:fence设备主机IP或主机名
3). Login:管理端口用户名
4). Password:管理端口口令
参数配置完成后,点击"Submit"
4.5 为集群成员配置fence
给节点配置对应的fence设备,点击常规选项栏的"Nodes"
选择node2节点,点击进入配置界面
点击Add Fence Method,设置方法名
接下来点击Add Fence Instance
选择fence_ha
接下来为node3节点添加fence设备,过程同node2相似
4.6 配置Failover Domains
点击常规选择中的"Failover Domains"
设置"Failover Domains"的参数配置
1). 输入故障切换域的名字
2). Prioritized:是否启用故障切换域成员间设置故障切换优先权,如果启用了,则可以为每个节点配置优先级
3). Restricted:是否在失败转移域成员中启用服务故障切换限制
4). No Failback:当最高优先级恢复时,不自动回切服务到最高优先级节点
5). Member: 勾选,则表示节点属于本故障切换域
6). Priority:指定优先级,priority值越小,表示优先级越高,为了以后添加节点方便,建议节点间优先级最好相差5左右
配置完Failover Domains相关参数后,点击create创建
4.7 配置Resource
点击常规选择中的"Resources"
点击Add,创建IP Address资源
IP address:浮动IP地址
Netmask Bits:输入掩码设置
配置完成后,点击"Submit"
继续点击Add,创建Filesystem资源
Name:指定filesystem资源名称
Filesystem Type:指定文件系统类型
Mount Point:指定文件系统挂载点
Device, FS Label, or UUID:指定逻辑卷设备路径
配置完成后,点击"Submit"
4.8 创建集群服务
点击常规选择中的"Service Group"
点击Add,添加服务组
Service Name:指定服务组名
Automatically Start This Service:指定是否在启动集群时自动启动集群服务
Run Exclusive:指定是否选择只在没有服务运行的节点中运行
Failover Domain:指定服务组的故障切换域
Recovery Policy:指定恢复策略,RHCS提供的始终恢复策略:Relocate(表示服务失败时切换到别的节点)、Restart(表示重新定位该服务前尝试重启失败的服务)、Restart-Disable(表示系统应在服务失败的位置尝试重启该服务,但如果重启失败,则禁用该服务而不是移动到集群中的其它几点)、Disable(表示服务失败时关闭此服务)
配置完成后,点击"Submit"创建服务组
4.9 为已创建的集群服务添加资源
点击刚才创建的服务组ha_service
服务组中的资源不用配置依赖关系,直接点击Add Resource添加相应资源
首先添加我们刚才创建的IP address资源
继续添加Filesystem资源
最后点击"Submit",提交服务
4.10 查看集群状态
在node2和node3上,执行clustat
命令查看集群状态
[root@node2 ~]# clustat
Cluster Status for test @ Mon May 28 20:52:19 2018
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
node2 1 Online, Local, rgmanager
node3 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:ha_service node2 started
[root@node3 ~]# clustat
Cluster Status for test @ Mon May 28 20:52:44 2018
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
node2 1 Online, rgmanager
node3 2 Online, Local, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:ha_service node2 started
因为服务运行在node2节点上,所以ip和filesystem资源都在node2上
[root@node2 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
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 state UP qlen 1000
link/ether 00:0c:29:d0:a4:dd brd ff:ff:ff:ff:ff:ff
inet 192.168.1.102/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.100/24 scope global secondary eth0
inet6 fe80::20c:29ff:fed0:a4dd/64 scope link
valid_lft forever preferred_lft forever
[root@node2 ~]# df -h /ha
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ha-lvha 981M 18M 915M 2% /ha
5 RHCS集群管理
5.1 启动RHCS集群
RHCS集群的核心进程有cman、rgmanager,依次在集群的每个节点执行如下命令
service cman start
service rgmanager start
注意:cman和rgmanager的启动是有顺序的,先启动cman,再启动rgmanager
5.2 停止RHCS集群
和启动命令相反,先停止rgmanager、再停cman服务
service rgmanager stop
service cman stop
注意:RHCS双机打印日志默认在/var/log/message中,可通过/var/log/message查看进程的启动和停止信息
5.3 设置集群服务开机自启
为了方便集群的运行,建议设置luci、ricci、cman和rgmanager服务开机自启
chkconfig luci on
chkconfig ricci on
chkconfig cman on
chkconfig rgmanager on
5.4 管理RHCS集群
使用clusvcadm命令可以disable、enable、切换(relocate)、重启(restart)RHCS服务。
(1) disable的命令格式clusvcadm –d <group>
(比如clusvcadm -d ha_service
)
(2) enable的命令格式clusvcadm –e <group> -m <member>
(比如clusvcadm -e ha_service -m node2
),如果未指定member,将会在当前节点启动服务
(3) relocate的命令格式clusvcadm –r <group> -m <member>
(比如clusvcadm –r ha_service -m node3>
)
(4) restart的命令格式clusvcadm –R <group> -m <member>
(比如clusvcadm –R ha_service -m node3>
)
6. RHCS测试
我们关机node2节点,等待几分钟,观察服务是否转移到node3上
[root@node3 ~]# clustat
Cluster Status for test @ Mon May 28 21:39:30 2018
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
node2 1 Online
node3 2 Online, Local, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:ha_service node3 started
[root@node3 ~]#
[root@node3 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
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 state UP qlen 1000
link/ether 00:0c:29:34:be:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.103/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.100/24 scope global secondary eth0
inet6 fe80::20c:29ff:fe34:beb3/64 scope link
valid_lft forever preferred_lft forever
[root@node3 ~]#
[root@node3 ~]# df -h /ha
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ha-lvha 981M 18M 915M 2% /ha
可以看到资源已经成功转移到node3节点上。
重启node2节点,查看集群状态。
redhat中的RHCS双机配置的更多相关文章
- Linux中KVM桥接的配置
Linux中KVM桥接的配置 1. 原理 1.1 说明 在安装一个拥有虚拟化功能的Linux操作系统(此处以CentOS为例),一般我们有两种方法: .在光盘安装的时候安装好虚拟化包或者PXE服务器上 ...
- Nginx安装与使用 及在redhat 中的简单安装方式
首先说下在redhat中的安装方法, 正常安装nginx 需要安装很多的依赖,最后再安装nginx,而且很容易出错. 在nginx官方上有这么一段描述: Pre-Built Packages for ...
- f5双机配置
1.1)要确认2 台设备的型号及版本完全一致! 2)2台设备分别取名f5_4.com 和f5_3.com,并将时区修改成上海时区 注:设备的hostname不能随便修改. 3)VLAN配置 由于当前环 ...
- Redhat中网络启动错误解决办法( Failed to start LSB: Bring up/down networking RTNETLINK answers: File exists)
关于Redhat系列中网络启动失败的解决办法 报错: Failed to start LSB: Bring up/down networking. RTNETLINK answ ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- angularjs中的directive scope配置
angularjs中的directive scope配置 定义directive其中重要的一环就是定义scope,scope有三种形式: 默认的scope,DOM元素上原有的scope scope: ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...
- apache中虚拟主机的配置
一.两种方式:基于域名的虚拟主机和基于IP地址的的虚拟主机 (这里基于前者) 二.作用:实现在同一个web服务器下,同时运行很多个站点(项目) 三.虚拟主机的配置 1.在核心配置文件中加载虚拟主机配置 ...
- Linux中vim的简单配置
本文主要分享Linux中vim的简单配置 ★配置文件的位置 在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...
随机推荐
- SSRF 跨站请求伪造学习笔记
参考文章: 了解SSRF,这一篇就足够了 SSRF 学习之路 SSRF绕过方法总结 Weblogic SSRF漏洞 What-是什么 SSRF(Server-Side Request Forgery) ...
- 01@-tornado
import tornado.web ''' tornado的基础web框架模块 ''' import tornado.ioloop ''' tornado的核心IO循环模块 封装了Linux的epo ...
- excel如何写宏?如何用按钮?
注:本次测试版本 excel版本2019 写宏? 准备工作(使用宏的一切前提)===========文件-选项-自定义功能区 (勾选开发工具) 开始写宏=======右击sheet1--查看代码 ...
- 你真的会做 2 Sum 吗?| 含双重好礼
小预告:文末有两份福利,记得看到最后哦- 2 Sum 这题是 Leetcode 的第一题,相信大部分小伙伴都听过的吧. 作为一道标着 Easy 难度的题,它真的这么简单吗? 我在之前的刷题视频里说过, ...
- 运行SQL文件报错:Got a packet bigger than 'max_allowed_packet' bytes With statement:
英文意思:需要使用一个和现在相比较大的空间,可能mysql中的默认空间比文件需要的空间要小 解决方法: 1.修改配置文件中mysql的默认空间大小:在MYSQL的配置文件 my.in ...
- 11.oracle 事务
一.什么是事务事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败.如:网上转账就是典型的要用事务来处理,用于保证数据的 ...
- 彻底搞懂https原理
我终于彻底理解了https原理!!!激动之下,写一篇博客,搞一波分享!!! 本篇博客比较精彩的地方: 思维方式:也是借鉴一位大佬的,写得很棒.https://blog.csdn.net/guolin_ ...
- Java成员变量和局部变量的区别
定义位置不同: 成员变量:类中方法外 分为类变量(static修饰).实例变量(没有使用static修饰) 局部变量:方法内.代码块内 默认值不同: 成员变量:有默认初始化值 局部变量:没有默认初始化 ...
- 清空ARP缓存
arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x
- Ubuntu 磁盘满了处理方法。
Ubuntu 磁盘满了处理方法: 1. 如果是虚拟机安装ubuntu,直接给虚拟机安装ubuntu 系统所在的盘符动态分配一点磁盘容量,就可以了. 2. 如果不是虚拟机安装ubuntu,那么有两个办法 ...