参考 http://www.cnblogs.com/xshrim/p/5367628.html
RedHat6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机HA
192.168.1.155 | node01.rhcs | 集群节点&管理主机 |
192.168.1.156 | node02.rhcs | 集群节点 |
os | rhel 6.6 |
1、初始化系统 节点1 & 2
# mount /dev/sr0 /mnt/
# vi/etc/rc.local
mount /dev/sr0 /mnt/ |
#vi /etc/yum.repos.d/local.repo
[base1] name=rhel6 baseurl=file:///mnt/ enabled=1 gpgcheck=0 [base2] name=rhel6.6 baseurl=file:///mnt/HighAvailability/ enabled=1 gpgcheck=0 [base4] name=rhel4 baseurl=file:///mnt/ResilientStorage/ enabled=1 gpgcheck=0 [base5] name=rhel5 baseurl=file:///mnt/LoadBalancer/ enabled=1 gpgcheck=0 |
# yumclean all && yum makecache
# chkconfig iptables off
# chkconfig NetworkManager off
#vi /etc/selinux/config
SELINUX=disabled |
#vi /etc/hosts
192.168.1.155 node01.rhcs 192.168.1.156 node02.rhcs |
# reboot
2、安装配置
# 集群节点 1 & 2
# yum -y install ricci
#chkconfig ricci on
# echoredhat | passwd --stdin ricci
# /etc/init.d/ricci start
# 管理主机
# yum -y install luci
# /etc/init.d/luci start
#chkconfig luci on
# WEB 端配置
#登录 url : https://192.168.1.155:8084 用管理IP+端口 https登录,账号为管理主机的root/密码
# 新建集群 mycluster
cluster name:给集群添加一个命名即可。 Use the Same Password for All Nodes:所有节点使用相同的节点管理密码,建议勾选。 Node Name:节点名,与/etc/hosts文件中心跳IP的对应命名相同即可。也可以直接填写心跳IP。(两节点分别填写) Password:节点管理密码,随便设置,建议与系统root密码相同。 Ricci Hostname:ricci主机名,默认与节点名相同,不用更改。 Ricci Port:ricci端口,默认11111即可。 Download Packages:使用网络下载所需的相关包。 Use Locally Installed Packages:使用本地已安装的包,选择此项。 Reboot Nodes Before Joining Cluster:主机节点加入集群前先重启,建议不勾选。 Enable Shared Storage Support:共享存储支持,如果需要使用共享存储,需要勾选此项。(此项需要系统安装lvm2-cluster并启动clvmd服务) 点击Create Cluster创建集群,ricci会自动启动添加的节点服务器上的集群软件(cman和rgmanager),成功后即可完成集群的创建和节点的添加。 |
# Wait…. 等待节点重启后会出现以下页面就算成功了
# 登录某一节点查看状态
# clustat
Cluster Status for mycluster @ Fri Oct 27 13:58:12 2017 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ node01.rhcs 1 Online node02.rhcs 2 Online, Local |
3、添加 fence 设备
“Fence技术”核心在于解决高可用集群在出现极端问题情况下的运行保障问题,在高可用集群的运行过程中,有时候会检测到某个节点功能不正常,比如在两台高可用服务器间的心跳线突然出现故障,这时一般高可用集群技术将由于链接故障而导致系统错判服务器宕机从而导致资源的抢夺,为解决这一问题就必须通过集群主动判断及检测发现问题并将其从集群中删除以保证集群的稳定运行,Fence技术的应用可以有效的实现这一功能。
来自 <http://ty1992.blog.51cto.com/7098269/1325327/>
可以参考,我是虚拟机环境,没法搞
Fence设备可以防止集群资源(例如文件系统)同时被多个节点占有,保护了共享数据的安全性和一致性节,同时也可以防止节点间脑裂的发生。(Fence设备并非不可缺少,通常也可以使用仲裁盘代替Fence设备,本项目使用Fence方案) 切换到“Fence Devices”选项,“Add”添加两个Fence设备,对于华为浪潮等国产服务器,服务器本身的IPMI管理系统(MGMT管理口)即可充当Fence设备。一添加其中一个Fence设备为例: 选择IPMI Lan:Fence Type:Fence类型,本项目使用IPMI。; Name:给Fence设备取个名字; IP Address or Hostname:Fence设备IP地址或者设备名,这里直接填IP地址,即服务器管理口IP; Login:Fence设备登陆账号,华为服务器通常是root/Huawei12#$,浪潮服务器可能是admin/admin,或者root/superuser等等。 Password:Fence设备登陆密码,如上; Password Script:密码脚本,无视; Authentication Type:认证类型,选择密码认证或者None; Use Lanplus:部分服务器机型需要勾选此项Fence才可正常工作,建议做切换测试时根据测试结果选择是否勾选; Privilege Level:需要操作权限在Opretor以上,一般default即可。 其他的可以不用管了,“submit”提交即可。 两个Fence均创建完成后如图: 【注意】部分服务器IPMI口系统未自动启用ssh服务,需要登录到IPMI管理系统启用服务,否则fence配置无用! Fence设备配置完成后,需要在Nodes页面为每个node指定相对应的Fence Device,如图: 最后可以通过以下命令验证Fence是否可用: # fence_ipmilan -v -P -a 50.1.2.221 -l admin -p admin -o status #通过fence设备查看主机状态, -o reboot可重启。 来自 <http://www.cnblogs.com/xshrim/p/5367628.html> |
4、添加集群 web 服务
# echo`hostname` > /var/www/html/index.html # 节点1 & 2,http服务不需要手动启动,cluster会自动启动
# WEB 端配置
# 创建故障转移域
Name:给失败转移域策略取一个名字; prioritized: 是否启用域成员节点优先级设置,这里启用; Restricted:是否只允许资源在指定的节点间切换,这里只有两个节点互相切换,是否启用都行; No Failback:是否启用故障回切功能,即当高优先级节点失效,资源切换到其他节点,而高优先级节点重新恢复正常时,资源是否再次切换回高优先级节点, Member:选择失败转移域的成员,本项目只有两个节点,均勾选; Priority:成员节点优先级,值越低优先级越高。高优先级通常作为主节点。 |
# 添加资源
# 添加 vip
IP Address:IP地址,通常作为集群浮动IP; Netmask Bits:子网掩码,本项目中是255.255.255.0,即24; |
# 添加 Apache 服务
# 创建 service groups
Service Name:给资源组取个名字; Automatically Start This Service:自动启动集群资源组服务,勾选; Run Exclusive:集群服务独占方式运行,拒绝其他集群服务运行在节点服务器上,这里是否勾选都行,建议不勾选; Failover Domain:指定刚才配置的失败转移域; Recovery Policy:恢复策略,选择Relocate迁移,一旦节点失效立刻迁移到其他节点。 Restart Options:节点重启策略,默认即可。 |
# 登录任意节点查看状态
# clustat
Cluster Status for mycluster @ Fri Oct 27 14:04:19 2017 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ node01.rhcs 1 Online, rgmanager node02.rhcs 2 Online, Local, rgmanager Service Name Owner (Last) State ------- ---- ----- ------ ----- service:web node01.rhcs started |
# ps -ef| grep http
# ip a
# WEB 登录 url 测试: http://192.168.1.161/
node01.rhcs
5、其他命令
# clusvadm -e web # 启动集群www服务enable,在哪个节点上执行,哪个节点运行此服务
# clusvadm -d web # 关闭集群www服务disable
# clusvcadm -rweb -m node02.rhcs # 服务迁移到 node02 上
Trying to relocate service:web to node02.rhcs...Success service:web is now running on node02.rhcs |
# clusvcadm-il # 监控clustat
6、添加 iscsi 共享存储
# 参考 http://ty1992.blog.51cto.com/7098269/1325327/
7、other
如果集群需要使用共享存储,则需要额外安装配置lvm2-cluster:
# yum -yinstall lvm2-cluster
配置lvm2-cluster:
编辑/etc/lvm/lvm.conf文件,修改:locking_type= 3
此步骤需要在集群节点配置完成后(添加集群资源前)再执行。以下操作在两台服务器上分别执行,:
1、创建挂载共享存储的目录:
# mkdir/oradata #创建目录用于存储的挂载
2、启动lvm2-cluster服务:
# service clvmdstart #需要先启动上述集群服务再启动clvmd服务
# chkconfig clvmd on
以下操作在其中一台服务器上执行:
3、新建LVM卷组oraclevg,将共享存储/dev/sdb1创建为物理卷并加入卷组中,在卷组中创建逻辑卷oraclelv:
# pvcreate/dev/sdb1
# vgcreate oraclevg /dev/sdb1
# lvcreate -n oraclelv -L +500G /dev/oraclevg #可通过vgdisplay查看vg全部剩余PE,然后使用‘-lPE数’参数将vg全部剩余空间加入lv中,而无须使用-L +xxGB的方式
# mkfs.ext4 /dev/oraclevg/oraclelv
4、查看卷组和逻辑卷状态,如果显示为不可用(NOTAvailable),则需要激活卷组:
#vgdisplay
# lvdisplay
# vgchange -a y oraclevg #只在一台服务器上执行,如果vg或者lv状态为不可用,均激活vg即可,如果重启后状态又不可用,则需要将此命令写入/etc/rc.local中开机启动
5、查看lvm2-cluster是否识别到共享存储的卷组(注意:必须在clvmd服务启动后才能进行vg和lv的创建,否则lvm2-cluster将无法识别,vg和lv将无法添加到集群资源组中):
#vgdisplay
# lvdisplay
# vgchange -a y oraclevg #如果vg或者lv状态为不可用,均激活vg即可,如果重启后状态又不可用,则需要将此命令写入/etc/rc.local中开机启动
# service clvmdstatus #clvmd服务的状态必须如下才表示正确识别了用于集群的vg和lv
clvmd (pid7978)正在运行...
ClusteredVolume Groups: oraclevg
Activeclustered Logical Volumes: oraclelv
此步骤完成后可以开始数据库实例的创建和配置,然后再进行集群的配置
参考:http://www.cnblogs.com/xshrim/p/5367628.html
文件系统添加 由于之前我们将使用的共享存储做成了lvm逻辑卷系统,因此在添加文件系统时需要先添加HA LVM,注意启用HA LVM需要确保lvm2-cluster服务启动。之前创建的逻辑卷组为oraclevg,逻辑卷为oraclelv,因此添加HA LVM如下: Name:给HA LVM取个名字; Volume Group Name:共享存储的卷组名,这里为oraclevg; Logical Volume Name:需要添加的逻辑卷名,这里为oraclelv; Fence the Node if It is Unable to Clean Up LVM Tags:当节点LVM标记无法清除时认为节点脑裂,这里不启用。 点击“Submit”提交。 来自 <http://www.cnblogs.com/xshrim/p/5367628.html> 。。。。。。等到做的时候再说吧 |