1、某企业MES系统基本信息
1.1 某企业MES系统简介
某企业MES系统运行在一台IBM Power 720小型机上,操作系统版本为AIX 5312,数据存放在IBM DS5020存储,小机和存储通过光纤线直连。由于上年年限过长,设备老旧,性能和稳定性都有很大的隐患,因此规划采购新的小型机和存储设备,并将原有的MES平台迁移到新系统上。
新MES系统基于IBM HACMP双机集群平台构建,硬件平台采用2台Power 750小型机,用作应用和数据库服务器。其中,数据库使用ORACLE 9i数据库;应用使用Tuxedo 8.1中间件。数据库和应用的数据都存放在一台IBM DS5300存储上,2台Power750和DS5300存储之间通过2台博科300光纤交换机连接。
因为MES软件采用的Oracle和tuxedo的版本过于老旧,考虑到客户端应用的兼容性问题,本次迁移不涉及软件版本的升级,仅涉及数据迁移。
1.2 某企业MES系统主机基本信息
某企业MES系统数据库+应用服务器的信息如下:

1.3 某企业MES系统硬件管理信息
某企业MES系统由5台设备组成,机柜图如下

设备信息如下:

1.4 某企业MES系统迁移流程
某企业MES系统迁移架构图如下:

某企业MES系统迁移流程如下:
1.使用mksysb方式在线备份Power 720的AIX操作系统,可以在线备份。
2.采有savevg的方式备份proddbvg和prodappvg,此操作需要停止应用离线备份
3.采用光盘将步骤1生成的文件安装到2台新的Power750上,并修改IP,配置参数
4.配置博科300光纤交换机,为Power750和DS5300之间的链路创建zone
5.配置DS5300存储,划分lun并映射给Power750,并识别。
6.在Power750上恢复步骤2备份的proddbvg和prodappvg,并验证。
7.启动Oracle数据库和tuxedo,并验证应用。
8.关闭Oracle数据库和tuxedo,改造为hacmp双机集群环境。
Power 720原MES数据备份
MES系统的数据备份包含系统数据备份和业务数据备份,系统数据备份通过aix的mksysb进行备份;业务数据的备份通过save命令进行备份。
2.1 aix操作系统备份
AIX mksysb可以联机备份,步骤如下:
1.创建存放备份的lv和文件系统,并挂载
mklv -y 'backuplv' -t'jfs2' backupvg 40
crfs -v jfs2 -d 'backuplv' -m '/bkup2023' -A yes -p rw
mount /bkup2023
chfs -a size=200G /bkup2023
2.备份aix系统
mksysb -i /bkup2023/prodvgbk20230802
2.2 备份业务数据vg
业务数据包含proddbvg和prodappvg,需要停止业务,步骤如下:
1.停止Oracle数据库和tuxedo中间件
2.执行备份
savevg -if ‘/bkup2023/ prodvgbk20230802’ proddbvg
savevg -if ‘/bkup2023/ appvg20230802’ prodappvg
crfs -v jfs2 -d 'backuplv' -m '/bkup2023' -A yes -p rw
3. 配置MES新环境
3.1 在Power 750恢复安装aix系统
1.搭建nim server,将备份的aix mksysb系统以网络推送的方式安装到750,启动aix小型机,选择网络引导,配置对应的网络参数,实现网络引导。

2、选择终端

3、输入1开始安装

4、选择开始安装

5、输入0开始安装过程,安装结束后即可

3.2 配置博科300光纤交换机
光纤交换机规划如下:

光纤交换机01配置:
1.创建别名,ds5300含两个口,750含1个口
alicreate "DS5300", "1,0; 1,1"
alicreate "p750A_c2t1", "1,2"
alicreate "p750B_c2t1", "1,3"
2.创建zone
zonecreate "p750A_DS5300", "p750A_c2t1;DS5300"
zonecreate "p750B_DS5300", "p750B_c2t1;DS5300"
3.创建cfg文件
cfgcreate "tg_cfg","p750A_DS5300;p750B_DS5300"
4.保留并激活配置
cfgsave
cfgenable "tg_cfg"
光纤交换机02
1.创建别名,ds5300含两个口,750含1个口
alicreate "DS5300", "1,0; 1,1"
alicreate "p750A_c3t1", "1,2"
alicreate "p750B_c3t1", "1,3"
2.创建zone
zonecreate "p750A_DS5300", "p750A_c3t1;DS5300"
zonecreate "p750B_DS5300", "p750B_c3t1;DS5300"
3.创建cfg
cfgcreate "tg_cfg","p750A_DS5300;p750B_DS5300"
4.保存并激活cfg
cfgsave
cfgenable "tg_cfg"
3.3 配置DS5300存储
一共16块300G硬盘,配置如下:
l14块硬盘创建一个raid6类型的array
l2块磁盘作为全局热备盘
l创建3个4个lun
n1个10GB的作为存储心跳
n3块500G的分别为proddbvg、prodappvg和backupvg
l4块盘统一映射给两台Power750
3.3.1 创建array



3.3.2 创建lun




3.3.3 创建热备盘



3.3.4 创建主机和主机组


Aix01:
# lscfg -vl fcs0|egrep -i 'loc|net'
Network Address.............10000090FA6B36E0
Hardware Location Code......U78A0.001.DNWKTBP-P1-C2-T1
# lscfg -vl fcs1|egrep -i 'loc|net'
Network Address.............10000090FA6B36E1
Hardware Location Code......U78A0.001.DNWKTBP-P1-C2-T2
# lscfg -vl fcs2|egrep -i 'loc|net'
Network Address.............10000090FA7165C0
Hardware Location Code......U78A0.001.DNWKTBP-P1-C3-T1
# lscfg -vl fcs3|egrep -i 'loc|net'
Network Address.............10000090FA7165C1
Hardware Location Code......U78A0.001.DNWKTBP-P1-C3-T2
Aix02:
[aix02][root][/]#lscfg -vl fcs0|egrep -i 'loc|net'
Network Address.............10000090FA6B3566
Hardware Location Code......U78A0.001.DNWKTBG-P1-C2-T1
[aix02][root][/]#set -o vi
[aix02][root][/]#lscfg -vl fcs1|egrep -i 'loc|net'
Network Address.............10000090FA6B3567
Hardware Location Code......U78A0.001.DNWKTBG-P1-C2-T2
[aix02][root][/]#lscfg -vl fcs2|egrep -i 'loc|net'
Network Address.............10000090FA6B2FB4
Hardware Location Code......U78A0.001.DNWKTBG-P1-C3-T1
[aix02][root][/]#lscfg -vl fcs3|egrep -i 'loc|net'
Network Address.............10000090FA6B2FB5
Hardware Location Code......U78A0.001.DNWKTBG-P1-C3-T2




3.3.5 映射磁盘给主机

3.4 恢复业务数据
1.查看ds5300存储映射给Power750的磁盘
[aix02][root][/soft_ins]#mpio_get_config -Av
Frame id 0:
Storage Subsystem worldwide name: 60ab8006e37aa0000a1d6c7a
Controller count: 2
Partition count: 1
Partition 0:
Storage Subsystem Name = ''
hdisk# LUN # Ownership User Label
hdisk2 0 A (preferred) hb01
hdisk3 1 B (preferred) backup
hdisk4 2 A (preferred) proddb
hdisk5 3 B (preferred) prodapp
2.执行卷组恢复
restvg -q -f' /bkup2023/prodvgbk20230802' hdisk4
restvg -q -f'/bkup2023/appvg20230802' hdisk5
3.恢复完毕后如下
[aix02][root][/]#lspv
hdisk0 00f93218a1a02371 rootvg active
hdisk1 00f80ddc50b915b2 rootvg active
hdisk2 none None
hdisk3 none None
hdisk4 00f80ddc51606b9c proddbvg active
hdisk5 00f80ddc516be168 prodappvg active
4.手工创建backupvg,并创建文件系统
mkvg -S -y backupvg hdisk3
mklv -y'backuplv01' -t'jfs2' backupvg 10
mklv -y'backuploglv' -t'jfs2' backupvg 1
crfs -v jfs2 -d' backuplv01' -m'/prodback' -p'rw' -a agblksize=' 4096' -a logname=' backuploglv '
mount /prodback
chfs -a size=200G /prodback
因为对aix操作系统的rootvg和其他数据vg直接进行了恢复,vg内的数据没有发生任何更改,所以对应用来说无需额外的配置,直接启动即可。
5. 配置MES为hacmp集群环境
5.1 配置hacmp
新的MES 系统将采用IBM hacmp集群技术,将应用改造为高可用环境。
此时配置HACMP比较简单,仅仅能够完成存储在两个节点上并发为RAC提供一个存储环境便可。
1.编辑/etc/hosts文件,加入以下内容(需要在两个节点上完成):
#boot ip 10.30.211.3 p750a 10.30.211.4 p750b #standby ip 172.32.211.3 p750as 172.32.211.4 p750bs #service ip 10.30.211.2 utsp01 |
2.创建cluster
Smitty hacmp Extended Configuration Extended Topology Configuration Configure an HACMP Cluster Add/Change/Show an HACMP Cluster * Cluster Name [tgcluster] |
3.添加集群节点(需要先后将两个节点添加进来)
Smitty hacmp Extended Configuration Extended Topology Configuration Configure HACMP Nodes Add a Node to the HACMP Cluster * Node Name [p750a] Communication Path to Node [] +
|
4.利用HACMP的功能发现两个节点的拓扑以及两个节点的资源
Smitty hacmp Extended Configuration Discover HACMP-related Information from Configured Nodes Discovering IP Network Connectivity Retrieving data from available cluster nodes. This could take a few minutes..... Discovered [4] interfaces IP Network Discovery completed normally Discovering Volume Group Configuration clharvest_vg: Initializing.... Gathering cluster information, which may take a few minutes... clharvest_vg: Processing... Storing the following information in file /usr/es/sbin/cluster/etc/config/clvg_config……(后面内容省略) |
5.添加网络类型
Smitty hacmp Extended Configuration Extended Topology Configuration Configure HACMP Networks Add a Network to the HACMP Cluster IP网络 * Network Name net_ether_01 New Network Name [] * Network Type [ether] + * Netmask [255.255.255.0] + * Enable IP Address Takeover via IP Aliases [Yes] + IP Address Offset for Heartbeating over IP Aliases [] * Network attribute public + 磁盘心跳网络 * Network Name net_diskhb_01 New Network Name [] * Network Type [diskhb] + |
6.在此处需要添加不少于两种类型的网络,一种IP网络和一种非IP网络,在此次项目中采用了IP网络磁盘心跳网络来实现HACMP的通讯。
7.配置网络接口
Smitty hacmp Extended Configuration Extended Topology Configuration Configure HACMP Communication Interfaces/Devices Add Communication Interfaces/Devices Add Discovered Communication Interface and Devices Communication Interfaces net_ether_01 (10.30.211.0/24 172.32.211.0/24) Smitty hacmp Extended Configuration Extended Topology Configuration Configure HACMP Communication Interfaces/Devices Add Communication Interfaces/Devices Add Pre-defined Communication Interfaces and Devices Communication Devices net_diskhb_01 |
8.配置应用服务器、服务IP和资源组策略
Smitty hacmp Extended Configuration Extended Resource Configuration HACMP Extended Resource Group Configuration Configure HACMP Application Servers Server Name prodas Start Script [/home/hascripts/start.sh] Stop Script [/home/hascripts/stop.sh] Application Monitor Names Smitty hacmp Extended Configuration Extended Resource Configuration HACMP Extended Resource Group Configuration Configure HACMP Service IP Labels/Addresses Add a Server IP Label/Address IP Label/Address utsp01 Network(IPv4)/Prefix Length(IPv6) Network Name [net_ether_01] Alternate Hardware Address to accompany IP Label/Adress Smitty hacmp Extended Configuration Extended Resource Configuration HACMP Extended Resource Group Configuration Add a Resource Group Resource Group Name prodas Participating Nodes (Default Node Priority) [p750a p750b] + Startup Policy Online On Home Node + Fallover Policy Failover To Next Available Node + Fallback Policy Never Fallback + |
9.配置资源组内容
Smitty hacmp Extended Configuration Extended Resource Configuration HACMP Extended Resource Group Configuration Service IP Labels/Address utsp01 Application Servers prodas Volume Groups proddbvg,prodappvg,backupvg |
10.同步HA
Smitty hacmp Extended Configuration Extended Verification and Synchronization |
11.HACMP配置汇总信息
Cluster Name: oracluster Cluster Connection Authentication Mode: Standard Cluster Message Authentication Mode: None Cluster Message Encryption: None Use Persistent Labels for Communication: No There are 2 node(s) and 2 network(s) defined NODE p750a: Network net_diskhb_01 P750ahdisk7 /dev/hdisk2 Network net_ether_01 p750a 10.30.211.3 p750as 172.30.211.3 NODE p750b: Network net_diskhb_01 P750bhdisk7 /dev/hdisk2 Network net_ether_01 p750b 10.30.211.4 p750bs 172.30.211.4 Resource Group prodrg Startup Policy Online On Home Node Fallover Policy Failover To Next Available Node Fallback Policy Never Fallback Participating Nodes p750a p750b |
5.2 hacmp切换测试
5.2.1 主动切换测试
测试目的:共享IP(10.30.211.2)和共享卷组(backupvg/proddbvg/prodappvg)可以人为主动切换节点
1.关闭服务:sh /home/hascripts/stop1.sh

2.查看服务IP在p750a上

3.查看存储的vg,是读写模式



4.查看资源组在p750a上

5.执行切换操作,Move资源组






6.检查资源组,已经正常切换

5.2.2 拔网线测试
测试目的:
拔一根网线,服务IP漂移到另一个网卡
拔所有网线,服务IP和共享卷组漂移到另一台主机
1.检查共享IP当前在en4上

2.拔en4的网线,发现服务IP漂移到了en6上

3.把en6的网线也拔了,会触发切换,持续监控资源组状态
P750b正在释放资源组

资源组在p750上offline

P750a正在获取资源组

P750a获取完毕,资源组在p750a上online

5.2.3 主机断电测试
测试目的:集群资源组所在主机突然宕机后,会切换到备节点
1.执行halt -q模拟宕机

2.等待片刻后,资源组自动切换到p750b


