AIX中WebSphere双机冷切换的操作步骤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lvshaorong/article/details/80335569

WebSphere作为一个重量级中间件,一般部署在小型机或者高端x86服务器上,由一个主要的中心节点提供全方位的服务。不同于现在linux常用的小而多的集群式部署,WebSphere这种大型应用一般一个应用就要占用一台物理主机。当这台物理主机发生故障后,就需要把WebSphere软件连同其运行的项目一同迁移至另一台主机继续运行。而迁移主要是通过存储进行的。一般的应用场合就是两台AIX小型机同时连接同一个FC或者SAN存储,通过访问同一个VG的方式来共享数据。


虽说两台物理服务器都连接同一台存储,但是SAN或者FC这样的存储方式是不能像NAS一样可以同时并发的读写的(powerHA的VG提供了concurrent的模式,但也无法让两台设备同时读写块设备,否则会崩溃)。

所以我们手工做的切换就是冷切换,就是从一台物理机将他的WebSphere服务和数据一起迁移到另一台空白机器上。


首先需要了解的是,WebSphere安装好之后可以带着安装was的硬盘到处跑到处插,一台服务器不需要再手动安装一遍was,只需插上之前装好was程序的软件就能直接跑起来was程序了。所以我们的备用机不需要做什么提前准备或者预装was软件,开机即用。

鉴于was的这个特性,所以我干脆把was主程序和web程序(profile)全都安装到共享存储上去,放在同一个VG里面,这样我只需要把这个VG给第二台机器挂载上,就能直接使用里面的was程序,profile(AppSrv01,server1)和部署的应用程序了。

所以在安装的时候,我们就要把was程序安装到单独的一个共享存储的VG上,同时建立profile的时候也要建立到这个VG上。然后在迁移的时候,首先我们要登录原机器,将挂载上的VG解绑,释放出资源,否则第二台机器无法激活VG。解绑使用的命令是:

varyoffvg <VG名称>

主服务器解绑VG以后,备用服务器只要能通过lsvg发现这个vg的话,就可以激活这个vg了。

varyonvg <VG名称>

但是如果你开启了PowerHA,那么这样手动激活和解绑是不行的,需要先关闭powerHA后再手动激活或解绑,关闭powerHA可以使用命令

smit clstop

敲几下回车就能关闭掉PowerHA

查看当前VG是否开启了PowerHA就是使用lsvg <VG名称>命令查看VG Mode这一参数,如下

bash-4.3# lsvg appvg
VOLUME GROUP:       appvg                    VG IDENTIFIER:  00fa4d2e00004c000000016121dd6ba3
VG STATE:           active                   PP SIZE:        1024 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      299 (306176 megabytes)
MAX LVs:            512                      FREE PPs:       178 (182272 megabytes)
LVs:                4                        USED PPs:       121 (123904 megabytes)
OPEN LVs:           0                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        no
Concurrent:         Enhanced-Capable         Auto-Concurrent: Disabled
VG Mode:            Concurrent                               
Node ID:            1                        Active Nodes:       2 
MAX PPs per VG:     130048                                    
MAX PPs per PV:     1016                     MAX PVs:        128
LTG size (Dynamic): 1024 kilobyte(s)         AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable 
PV RESTRICTION:     none                     INFINITE RETRY: no
DISK BLOCK SIZE:    512                      CRITICAL VG:    no
FS SYNC OPTION:     no
当VG Mode是Concurrent的时候,说明开启了PowerHA,此时主服务器是可读写的,备用服务器仅仅是只读的,甚至只读都做不到无法挂载。

在AIX 7当中这里有四个选项,一般选择now,即立即停止,并且要通知其他节点,释放资源。这里要注意一下,通知powerHA后,原来挂载的VG会同时卸载掉,所以如果你运行着集群应用一定要停止后再关PowerHA

                                                                                     Stop Cluster Services

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* Stop now, on system restart or both                 now                                                                                                                                   +
  Stop Cluster Services on these nodes               [Server1]                                                                                                                                +
  BROADCAST cluster shutdown?                         true                                                                                                                                  +
* Select an Action on Resource Groups                 Bring Resource Groups Offline 

当我们在备用服务器上激活了这个VG之后(即使用lsvg -o)能看到这个VG,我们还需要将其挂载到相关的挂载点上去。而相关的挂载点在主服务器是知道的,可以使用lsvg <VG名称>查看到,但是迁移到备用机上之后就看不到了。记住此时千万不要用mkfs或者smit fs命令去新建同名的文件系统,否则就像格式化一样将你原有lv的内容全部抹掉。正确的姿势是修改备用机的/etc/filesystems文件,使其于主服务器相同,比如我就是将主服务器和这个VG有关的挂载点内容全复制到备份服务器上

/was:
        dev             = /dev/applv03
        vfs             = jfs2
        log             = /dev/loglv02
        mount           = true
        options         = rw
        account         = false

/xdwebdata:
        dev             = /dev/applv01
        vfs             = jfs2
        log             = /dev/loglv02
        mount           = true
        options         = rw
        account         = false

/xdreport:
        dev             = /dev/applv02
        vfs             = jfs2
        log             = /dev/loglv02
        mount           = true
        options         = rw
        account         = false

注意最重要的是log这一项,当我们给一个空白VG建立jfs2的lv的时候,会自动生成一个jfs2log格式的单独lv,这个lv就是专门负责记录文件系统日志的,一定要将这个分区指示明白,新的服务器才能正常的读取源服务器的内容

比如下面的loglv02就是这个VG中记录日志的分区,三个主要的lv都是靠这一个日志lv

bash-4.3# lsvg -l appvg
appvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
applv01             jfs2       40      40      1    open/syncd    /xdwebdata
applv02             jfs2       30      30      1    open/syncd    /xdreport
applv03             jfs2       50      50      1    open/syncd    /was
loglv02             jfs2log    1       1       1    open/syncd    N/A

维护好文件系统的配置之后,我们只需要使用mount命令就能挂载并像原来系统一样使用了,如下

mount /dev/applv01 /xdwebdata
在挂载上文件系统之后,可能会出现权限问题,比如之前系统是把某个文件的权限给了用户A,但是新系统没有用户A,或者备用服务器上用户B的UID和原系统的用户A的UID相同,那么就会导致你在启动应用的时候没有相关目录的读写权限。所以要么使用root用户来起停服务,要么就在新系统上建立UID一致的用户进行操作

猜你喜欢

转载自blog.csdn.net/lvshaorong/article/details/80335569
今日推荐