----------------------《Linux高可用负载均衡集群》第6章节选

在RHCS体系中,Oracle的启动是按以下顺序进行的:

  1. VIP。
  2. 监听器。
  3. 逻辑卷(ISCSI共享出来的)。
  4. 文件系统(在逻辑卷上创建)。
  5. 数据库实例。

上边这些资源,在PCS里创建好以后,将其组合成一个单独的资源组,形成一个不可分割的整体。


1)PCS添加Oracle监听器资源


Oracle 的VIP资源在前边已经添加,那么接下来就从第2项监听器开始。为了方便安排各资源的启动顺序,可以先勾选已经存在的资源“db_vip”创建资源组“db_grp”,然后再创建监听器。


创建资源Oracle监听器比较关键的地方在于“sid”、“Optional Arguments”的“home”、”tns_admin”几个手动输入的地方,一定要跟Oracle的实际情况相一致,比如“tns_admin”,就必须完整填写文件“tnsname.ora”所在目录的全路径“/u01/app/oracle/product/19.3/db_01/network/admin

,如图6-62所示。

PCS创建Oracle 资源及资源组_数据库


图6- 62


2)PCS添加逻辑卷LVM资源


PCS Web管理后台添加资源LVM,“Type”选“LVM”,确认资源启动顺序,“volgrpname”的可在主机执行“vgscan”取得,选项中的“exclusive(排它)”将其修改成“true”,然后单击按钮“Create Resource”创建这个资源,如图6-63所示。

PCS创建Oracle 资源及资源组_监听器_02


图6- 63


如果创建完资源LVM页面报错,提示“fail”,详细的报错可能为“The volume_list filter must be initialized in lvm.conf for exclusive activation without clvmd”(如图6-64)。

PCS创建Oracle 资源及资源组_监听器_03


图6- 64


解决这个问题的办法是修改系统文件”/etc/lvm/lvm.conf”,找到被注释掉、以“volume_list”开头的行,将注释打开,将除ISCSI共享的逻辑卷组以外的填写到方括号内。作者的系统存在两个卷组,系统卷组为“centos”,因此修改后的文本行如下:

volume_list = [ "centos" ]


两台主机都要,修改完毕,再在两台主机命令行下执行指令“dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)”,无需重启系统即可解决问题。一旦LVM资源创建成功,分别在两个主机的命令行运行“lvscan”,可验证创建过程中“exlusive”设定为“true”所起到的作用。因为“lvscan”执行后,某个主机的ISCSI共享逻辑卷的状态为“ACTIVE”,那么另一个主机对应的逻辑卷状态一定是“inactive”。


3)创建文件系统资源


创建过程中,三个必填参数“device”从主机执行“lvscan”输出直接复制,挂节点“directory”所填写的目录如果不存在于主机系统,也没有关系,单击按钮“Create Resource”后会在系统自动创建,如图6-65所示。

PCS创建Oracle 资源及资源组_数据库_04


图6- 65


5)创建Oracle实例资源


登录运行资源组“db_grp”的主机系统(PCS Web管理后台或者系统命令行执行“pcs status”可确定该资源组所运行的主机),以“oracle”账号运行命令运行“dbca”,弹出图形方式的配置界面,单选“Create a database”后,鼠标单击按钮“Next”进行第2步,如图6-66所示。

PCS创建Oracle 资源及资源组_监听器_05


图6- 66


在配置过程的第2步,数据库文件的存储位置与快闪区不要使用默认值,需要手动修改成ISCSI共享存储的挂节点“/oradata”,全局数据库名称设置成跟Oracle环境变量指定的“ORACLE_SID”相一致,然后单击“Next”进行第3步,如图6-67所示。

PCS创建Oracle 资源及资源组_逻辑卷_06


图6- 67


如果不存在意外,第3步为信息汇总窗口,单击按钮“Finish”开始正式创建Oracle数据库实例,如图6-68所示。

PCS创建Oracle 资源及资源组_监听器_07


图6- 68


Oracle数据库实例创建完毕以后,不要手动去启动该实例,余下的事情交给PCS来处理。


切换到PCS Web管理后台,添加“oracle”实例这个资源。参数值、选项值必须与Oracle设定的环境变量相一致,鼠标单击“Create Resource”开始创建,如图6-69所示。

PCS创建Oracle 资源及资源组_监听器_08


图6- 69


到此为止,与Oracle相关的资源已经全部添加到PCS的资源组“db_grp”,Oracle实例会被PCS自动拉起进行启动。在资源组“db_grp”所在的主机,存在许多以“ora_”开头的进程(如图6-70),说明Oracle实例已经被PCS所管控而无需人工干预实例的启动和停止。

PCS创建Oracle 资源及资源组_监听器_09


图6- 70


6.6.5 PCS配置SBD FENCE设备