[English]
作者:
fuyuncat
来源:
www.HelloDBA.com
首先要说明的是,在Hacmp5.2以后,不再有Rotating、Cascading、ConCurrent之分了。而是通过针对Startup、Failover、Fallback设置不同的策略来实现。并且,在5.3以后,将完全不再支持Rotating方式了。
第1章 网络规划和配置
1.1 网络规划
小型机名
主用网卡IP
备用网卡IP
心跳串口
浮动IP地址
power1
10.71.111.231
到现场后需要修改主用网卡的IP地址
192.168.8.1
/dev/tty0
10.71.111.235
power2
10.71.111.232
到现场后需要修改主用网卡的IP地址
192.168.8.2
/dev/tty0
小型机一共需要2块网卡:
其中,一块网卡作为主用网卡;
一块网卡作为主用网卡的备用网卡,不设置IP地址;
需配置浮动IP地址。
用以下命令来收集网卡信息:
# ifconfig -a
# netstat -in
以上命令用来查看每个节点的网口数量及各个网口的名称、地址和子网信息。
1.2 配置网卡
#smit mktcpip
这配置hostname为power1,
IP为10.71.111.231
Network MASK为255.255.255.128
START TCP/IP daemons Now为yes
按照同样的方法配置备网卡、其他节点上的主备网卡。
以下命令检测配置是否生效:
# netstat -in
# hostname
1.3 配置串口
#smit tty -> Add a TTY -> tty rs232 Asynchronous Terminal -> sa0 Available 05-08 IBM 8-Port EIA-232/RS-422A (PCI) Adapter
"PORT number" 输入 0
"BAUD rate" 输入 9600
"PARITY" 输入 none
"BITS per character" 输入 8
"Number of STOP BITS" 输入 1
其余按默认值。
按同样方法配置另外节点上的串口
检测串口通讯:
以root用户登录power1。
在power1上执行:
# cat < /dev/tty0
以root用户登录power2。
在power2上执行:
# cat /etc/hosts > /dev/tty0
host1上应该显示host2上的/etc/hosts文件的内容,不应该有乱码出现。
1.4 编辑/etc/hosts文件
127.0.0.1 localhost loopback
#节点power1的网络配置
10.71.111.233 power1_presistent power1
10.71.111.231 power1_boot #---需要修改为生产系统的IP
192.168.8.1 power1_stb power1 #---备用IP
#节点power2的网络配置
10.71.111.234 power2_presistent power2
10.71.111.232 power2_boot #---需要修改为生产系统的IP
192.168.8.2 power2_stb power2 #---备用IP
#浮动ip地址
10.71.111.235 power_service #---需要修改为生产系统的IP
1.5 对root用户在各个节点建立信任机制
在root用户$HOME目录下建立.rhosts文件,并增加如下内容:
注意:以下的label是从/etc/hosts文件中定义的。
power1
power1_boot
power1_stb
power2
power2_boot
power2_stb
power_service
或者
+
(一个‘+’表示所有机器都可以进行信任登录)
操作命令:#vi /.rhosts
修改用户.rhosts文件的读写权限
# chmod 644 .rhosts
验证:在一个节点上用rlogin登录另外一个节点,验证所有用户的信任关系是否配置成功。如果不需要输入密码,则说明信任关系创建成功。
在power1上:
#rlogin power2 --- 必须成功
#rcp .rhosts power1:/ --- 必须成功
在power2上:
# rlogin power1 --- 必须成功
$rcp .rhosts power2: / --- 必须成功
1.6 对oracle用户在各个节点间建立信任机制
在oracle用户$HOME目录下建立.rhosts文件,并增加如下内容:
注意:以下的label是从/etc/hosts文件中定义的。
power1
power1_boot
power1_stb
power2
power2_boot
power2_stb
power_service
或者
+
(一个‘+’表示所有机器都可以进行信任登录)
操作命令:#vi /home/oracle/.rhosts
修改用户.rhosts文件的属主以及读写权限
# chown oracle:dba .rhosts
# chmod 644 .rhosts
验证:在一个节点上用rlogin登录另外一个节点,验证所有用户的信任关系是否配置成功。如果不需要输入密码,则说明信任关系创建成功。
在power1上:
#su – oracle
$rlogin power2 --- 必须成功
$rcp .rhosts power1:/home/oracle --- 必须成功
在power2上:
#su – oracle
$rlogin power1 --- 必须成功
$rcp .rhosts power2: /home/oracle --- 必须成功
第2章 外置磁盘规划
2.1 数据空间规划
在裸设备上建立各种逻辑卷,包括控制文件、服务器参数文件、数据文件、重做日志文件等等.
2.2 创建逻辑卷组vg
# mkvg –B -t 16 -s 16 -y vg_data hdisk2
# mkvg –B -t 16 -s 16 -y vg_index hdisk3
注意:
(1) -t 16指定系数factor=16
-s 4 指定物理分区大小PP SIZE=4MB
要求factor×PP SIZE×1016≥hdisk2的大小。如果factor×PP SIZE×1016的值< hdisk2的大小,请适当调整factor和PP SIZE的值。
(2) 如果factor的值超过8,要加上-B参数。采用-B参数后,-t的取值范围是1~64。
(3) 如果hdisk2为创建卷组scpvg所用的逻辑盘,可以用lsdev -Cc disk查看到,然后根据规划选择相应的逻辑盘。
2.3 在卷组中依次创建相应逻辑卷lv(注意根据规划调整创建lv大小的值)
#mklv -y'ora9_system' -t'raw' –w’n’ –s’n’ –r’n’ vg_index 65 hdisk3
……
2.4 导入磁盘信息到power2节点上
1.在power1上去激活共享磁盘卷组。
# varyoffvg vg_data
# varyoffvg vg_index
4.2.以root用户登录power2,导入磁盘定义信息。注意:如果原来已经在power2上定义过,则首先应该exportvg,把power2上odm库中关于vg的配置信息清空
#exportvg vg_data
#exportvg vg_index
如果没有在power2上定义过vg_data,vg_index,可以直接执行
# importvg –y vg_data hdisk2
# importvg –y vg_index hdisk3
5.3.激活卷组。# varyonvg vg_data
# varyonvg vg_index
6.4.检查定义的磁盘划分是否正确。# lsvg –o
若发现这些卷组已被激活,表示磁盘卷组信息导入成功。
# lsvg -l vg_data
# lsvg -l vg_index
可观察卷组中的逻辑卷定义是否正确。
2.5 修改逻辑卷的属主(在两个节点上都做以下操作)
修改vg_data, vg_index下裸设备的属性和权限,裸设备所属用户为oracle,所属的组为dba。
修改前确认rlv*所匹配的对象
# ls -l /dev/rora*
# ls -l /dev/rring*
# ls -l /dev/rreport*
# chown -R oracle:dba /dev/rora*
# chown -R oracle:dba /dev/rring*
# chown -R oracle:dba /dev/rreport*
# chmod 660 /dev/rora*
# chmod 660 /dev/rring*
# chmod 660 /dev/rreport*
修改完后确认裸设备的属性和权限已经设置正确
# ls -l /dev/rora*
# ls -l /dev/rreport*
第3章 使用HACMP安装配置双机集群系统(rotate方式)
3.1 增加一个cluster定义
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure an HACMP Cluster -> Add/Change/Show an HACMP Cluster
"Cluster Name" 必须是一个长度小于32的字符串
上面的操作增加了一个cluster的定义:p5cluster
# /usr/es/sbin/cluster/utilities/claddclstr -n'p5cluster'
3.2 配置集群的各个节点
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Nodes -> Add a Node to the HACMP Cluster
"Node Names" 必须是各个节点的hostnames,Communication Path to Node为每个节点的boot IP。
上面的操作在p5cluster增加了一个个节点:power1
按照相同操作增加另一个节点power2
# /usr/es/sbin/cluster/utilities/clnodename -a'power1' -p'power1_boot'
3.3 增加拓扑网络
步骤1: 添加ether网络
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Networks -> Add a Network to the HACMP Cluster -> ether
"Network Name" 自定义,输入 ethernet
"Netmask" 输入 255.255.255.128 (与主网卡配置的netmask保持一致)
"Enable IP Address Takeover via IP Aliases " 选择 No
步骤2: 添加串口网络
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Networks -> Add a Network to the HACMP Cluster -> rs232
"Network Name" 自定义,输入 rs232net
3.4 配置拓扑结构
下表中列出了一个双机双网卡网络配置列表,仅供参考,具体配置请按照具体情况进行
主机名
IP地址
标签
类型
备注
power1
10.71.111.231
power1_boot
主用(boot)
IP网络
192.168.8.1
power1_stb
备用(standby)
IP网络
/dev/tty0
串口(serial)
非IP网络
power2
10.71.111.232
power2_boot
主用(boot)
IP网络
192.168.8.2
power2_stb
备用(standby)
IP网络
/dev/tty0
串口(serial)
非IP网络
无
10.71.111.235
power_service
服务(service)
IP网络
步骤1: 添加power1的boot IP
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Communication Interfaces/Devices -> Add Communication Interfaces/Devices -> Add Pre-defined Communication Interfaces and Devices -> Communication Interfaces -> ethernet
"IP Label/Address" 必须是在/etc/hosts里面配置的power1_boot
"Node Name" 选择 power1
上面的操作增加了一个power1的boot IP:power1_boot
步骤2: 添加power2的boot IP
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Communication Interfaces/Devices -> Add Communication Interfaces/Devices -> Add Pre-defined Communication Interfaces and Devices -> Communication Interfaces -> ethernet
"IP Label/Address" 必须是在/etc/hosts里面配置的power2_boot
"Node Name" 选择 power2
上面的操作增加了一个power2的boot IP:power2_boot
步骤3: 添加power1的stand by IP
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Communication Interfaces/Devices -> Add Communication Interfaces/Devices -> Add Pre-defined Communication Interfaces and Devices -> Communication Interfaces -> ethernet
"IP Label/Address" 必须是在/etc/hosts里面配置的power1_stb
"Node Name" 选择 power1
上面的操作增加了一个power1的stand by IP:power1_stb
步骤4: 添加power2的stand by IP
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Communication Interfaces/Devices -> Add Communication Interfaces/Devices -> Add Pre-defined Communication Interfaces and Devices -> Communication Interfaces -> ethernet
"IP Label/Address" 必须是在/etc/hosts里面配置的power2_stb
"Node Name" 选择 power2
上面的操作增加了一个power2的stand by IP:power2_stb
步骤5: 添加power1的串口通信配置
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Communication Interfaces/Devices -> Add Communication Interfaces/Devices -> Add Pre-defined Communication Interfaces and Devices -> Communication Devices -> rs232net
"Device Name" 自定义,输入 power1_tty
"Node Name" 选择 power1
上面的操作增加了一个power1的串口通信设备:power1_tty
步骤6: 添加power2的串口通信配置
菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Communication Interfaces/Devices -> Add Communication Interfaces/Devices -> Add Pre-defined Communication Interfaces and Devices -> Communication Devices -> rs232net
"Device Name" 自定义,输入 power2_tty
"Node Name" 选择 power2
上面的操作增加了一个power2的串口通信设备:power2_tty
步骤7: 添加Power1的presistent IP
菜单导航:菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Persistent Node IP Label/Addresses -> Add a Persistent Node IP Label/Address -> power1
"Network Name" 选择 ethernet
"Node IP Label/Address" 选择 /etc/hosts 中定义好的power1_presistent
步骤8: 添加Power2的presistent IP
菜单导航:菜单导航:Smit HACMP -> Extended Configuration -> Extended Topology Configuration -> Configure HACMP Persistent Node IP Label/Addresses -> Add a Persistent Node IP Label/Address -> power2
"Network Name" 选择 ethernet
"Node IP Label/Address" 选择 /etc/hosts 中定义好的power2_presistent
3.5 定义集群应用
菜单导航:Smit HACMP -> Extended Configuration -> Extended Resource Configuration -> HACMP Extended Resources Configuration -> Configure HACMP Applications -> Configure HACMP Application Servers -> Add an Application Server
"Server Name" 可以任意命名,输入"ora_app"
"Start Script" 设置为 "/opt/oracle/monitor.sh start”
"Stop Script" 设置为 "/opt/oracle/monitor.sh stop”
上面的操作增加了应用 ora_app
3.6 配置service IP
步骤1: 获取主网卡的MAC地址
加入主网卡为en2,则
#lscfg -vpl ent2
……
ent2 U787B.001.DNW0A86-P1-C1-T1 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
2-Port 10/100/1000 Base-TX PCI-X Adapter:
Part Number.................00P6131
FRU Number..................00P6131
EC Level....................H12819
Manufacture ID..............YL1021
Network Address.............00096B6E6610
ROM Level (alterable).......DV0210
Device Specific.(YL)........U787B.001.DNW0A86-P1-C1-T1
… …
以上红字为网卡的Mac地址,将后四位改为网络中唯一的值,如ffff,即00096B6EFFFF,记下这个值。
步骤2: 添加Service IP
菜单导航:Smit HACMP -> Extended Configuration -> Extended Resource Configuration -> HACMP Extended Resources Configuration -> Configure HACMP Service IP Labels/Addresses -> Add a Service IP Label/Address -> Configurable on Multiple Nodes -> Ethernet
"IP Label/Address" 选择/etc/hosts 中定义的 "power_service"
" Alternate Hardware Address to accompany IP " 中填入以上记下的修改后的Mac地址的 "00096B6EFFFF "
3.7 添加集群资源组
菜单导航:Smit HACMP -> Extended Configuration -> Extended Resource Configuration -> HACMP Extended Resource Group Configuration -> Add a Resource Group
"Resource Group Name" 可以任意命名,输入ora_res
"Participating Nodes (Default Node Priority)" 选择power1 power2
“Startup Policy” 选择 Online Using Distribution Policy
“Fallover Policy” 选择 Fallover To Next Priority Node In The List
“Fallback Policy” 选择 Nerver Fallback
上面的操作增加了集群资源组 power_res
3.8 配置集群资源组
菜单导航:Smit HACMP -> Extended Configuration -> Extended Resource Configuration -> HACMP Extended Resource Group Configuration -> Change/Show Resources and Attributes for a Resource Group -> ora_res
"service ip label" 选择已定义好的power_service
"Application Servers" 是已经建好的应用,必须指定,选择 "power_app"
"Volume groups" 是已经建好的共享磁盘逻辑卷,必须指定,需要选择vg_data 和vg_index
上面的操作配置了资源组 "ora_res"
3.9 同步集群配置
菜单导航:Smit HACMP -> Extended Configuration -> Extended Verification and Synchronization
"Verify, Synchronize or Both" 选择 Both
"utomatically correct errors found during verification? " 选择 Yes
"Force synchronization if verification fails? " 选择 NO
"Verify changes only? " 选择 NO
"Logging" 选择 Standard
如果成功则显示OK,否则请检查返回的错误日志,排除相关错误。
3.10 启动集群(正确安装完成Oracle后再启动)
#smit clstart
显示以下界面:
" Start now, on system restart or both" 设置为 "now"或"both"
"BROADCAST message at startup?" 设置为 "false"
" startup Cluster Information Daemon?" 设置为 "true"
" Start Cluster Services on these nodes" 选择 "power1,power2"
上面的操作启动了 "p5cluster"
3.11 查看集群状态
在HA双机正常运行状况下,两个节点的cluster服务都应该正常启动。
#lssrc -g cluster
其中3个服务都为active
#netstat –in
主节点正常获取浮动IP,主节点IP不可用。
#lsvg –o
查看共享逻辑卷组是否在主节点上激活。
3.12 停止或切换集群
命令为:
#smit clstop
注意graceful(正常停止)、takeover(接管切换)、force(强制停止)选项。
3.13 删除一个集群
删除集群的定义就可以把集群删掉了
菜单导航:Smit HACMP -> Cluster Configuration -> Cluster Topology-> Configure Cluster -> Remove Cluster Definition