Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1158116
  • 博文数量: 56
  • 博客积分: 1682
  • 博客等级: 上尉
  • 技术积分: 719
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-21 17:29
文章分类
文章存档

2013年(1)

2012年(11)

2011年(44)

分类: 系统运维

2011-07-28 16:36:00

hpux+oracle双机配置案例
2008-05-24 21:07

国庆之前,跟着公司的前辈和hp的技术人员参加了一个项目,搭建一个hpux 11.23+oracle的双机系统。下面把

具体的实施过程记录下来。

硬件配置

Hp rx8640 主机两台,每台机器配两个hba光纤通道卡,4块千兆网卡(两块作心跳网卡,两块作服务网卡)

,两块143G硬盘,需要制作mirror disk,以实现操作系统冗余。
一个hp eva4000的阵列,带双控制器。两台san交换机,一台gl380的机器,担任存储控制机。
(评论:这样一个系统,实现了系统所有单点故障的备份,可以大大加强系统的安全性)。

系统架构:

    在本套双机系统中,要跑两套应用服务,分别实现双机热备份。因此,需要在双机集群中,创建两个包,

平时分别在一台主机上面运行,同时以对应另外一台主机作为其备份机器。遇到一台主机宕机的时候,两个服

务可以切换到同一台主机上面。
服务1 ip 172.16.1.246/255.255.255.0
服务2 ip 172.16.1.248/255.255.255.0

网络配置:

主机1   hostname   rx8640-1
        心跳地址1   192.168.1.3/255.255.255.0
        心跳地址2   192.168.0.6/255.255.255.0
        两块服务网卡做绑定,共用一个服务地址
        172.16.1.247/255.255.255.0
        默认网关    172.16.255.254/255.255.0.0    

主机2   hostname   rx8640-2
        心跳地址1   192.168.1.4/255.255.255.0
        心跳地址2   192.168.0.8/255.255.255.0
        两块服务网卡做绑定,共用一个服务地址
        172.16.1.249/255.255.255.0
       默认网关    172.16.255.254/255.255.0.0

vg信息

     将主机自带的硬盘划分为vg00,用于划分与操作系统相关的lv。
     从阵列上面划分一个1G左右的vg,用作建立vglock
     另外在阵列上面分别建立两个100g左右的vg,分别用于两个服务数据库件的存放。
     最后,还要划分一个vg,存放备份数据。

实施过程

1、 机器上架,释放系统的过程由hp的技术人员实施,另外,对磁盘柜的操作可以通过380机器上面的软件实现

,将所有物理硬盘加入到一个抽象磁盘里面,然后从中划分出几个抽象硬盘分区,对于主机来说,这些抽象的

硬盘分区和物理硬盘分区是没有却别的。

2、系统自带盘mirror disk的制作
因为是在安腾平台上面,所以具体的制作过程和pa平台有所差异。
rx8640 主机上面mirror 的原盘是/dev/dsk/c0t6d0 镜像盘是/dev/dsk/c2t6d0
vi   /tmp/paritition
2
EFI    100M
HPUX 100%(在11.30操作系统中,此文件有变)

Idisk -wf /tmp/partition/ /dev/rdsk/c2t6d0
Insf –e
Pvcreate –Bf /dev/rdsk/c2t6d0s2
Mkboot –e –l /dev/dsk/c2t6d0
Vgextend vg00 /dev/dsk/c2t6d0s2
lvextend -m 1 /dev/vg00/lvol1
lvextend -m 1 /dev/vg00/lvol2
lvextend -m 1 /dev/vg00/lvol3
lvextend -m 1 /dev/vg00/lvol4
lvextend -m 1 /dev/vg00/lvol5
lvextend -m 1 /dev/vg00/lvol6
lvextend -m 1 /dev/vg00/lvol7
lvextend -m 1 /dev/vg00/lvol8
lvlnboot -r /dev/vg00/lvol3 /dev/vg00
lvlnboot -b /dev/vg00/lvol1 /dev/vg00
lvlnboot -s /dev/vg00/lvol2 /dev/vg00
lvlnboot -d /dev/vg00/lvol2 /dev/vg00
efi_ls –d /dev/rdsk/c2t6d0s1
efi_cp –d /dev/rdsk/c0t6d0s1 –u /EFI/HPUX/AUTO /tmp/auto

vi /tmp/auto
boot vmunix -lq
efi_cp -d /dev/rdsk/c2t0d0s1 /tmp/AUTO /EFI/HPUX/AUTO
efi_cp -d /dev/rdsk/c2t6d0s1 /tmp/AUTO /EFI/HPUX/AUTO
setboot -p    0/4/1/0.0.0.0.0(主盘的地址号)
setboot -a    0/4/1/0.0.0.1.0 (从盘的地址号)

这样就做好了一台主机上面的mirror disk.同样的方法,可以在另外一台机器上面制作mirror disk。可以重启

机器测试mirror是否可用。

3 serviceguard和服务包的安装。

a、创建.rhosts和/etc/hosts文件并修改/etc/lvmrc。
vi .rhosts
rx8640-2        root
rx8640-1        root
rx8640-2        oracle
rx8640-1        oracle
rx8640-2        olap
rx8640-1        olap
rx8640-2        oltp
rx8640-1        oltp

修改hosts文件
vi /etc/hosts
127.0.0.1       localhost       loopback
172.16.1.249    rx8640-2
192.168.0.8     rx8640-2
192.168.1.4     rx8640-2
172.16.1.247    rx8640-1

将上述文件分别在两主机上面建立起来。
修改/etc/lvmrc
vi /etc/lvmrc
AUTO_VG_ACTIVATE=0

b、创建vg
因为有两个san交换机和两块hba卡,即在主机和阵列之间存在四条链路,所以在抽象硬盘在主机上面被认为是

四个盘,建立pv的时候,要执行四次。
在rx8640-1上面执行
ioscan –fnC disk
pvcreate –f /dev/rdsk/c4t0d2
pvcreate –f /dev/rdsk/c4t0d3
pvcreate –f /dev/rdsk/c4t0d4
pvcreate –f /dev/rdsk/c4t0d5
pvcreate –f /dev/rdsk/c6t0d2
pvcreate –f /dev/rdsk/c6t0d3
pvcreate –f /dev/rdsk/c6t0d4
pvcreate –f /dev/rdsk/c6t0d5
pvcreate –f /dev/rdsk/c8t0d2
pvcreate –f /dev/rdsk/c8t0d3
pvcreate –f /dev/rdsk/c8t0d4
pvcreate –f /dev/rdsk/c8t0d5
pvcreate –f /dev/rdsk/c10t0d2
pvcreate –f /dev/rdsk/c10t0d3
pvcreate –f /dev/rdsk/c10t0d4
pvcreate –f /dev/rdsk/c10t0d5

mkdir /dev/vglock
mknod /dev/vglock/group c 64 0x010000
vgcreate vglock /dev/dsk/c4t0d2
vgextend vglock /dev/dsk/c6t0d2
vgextend vglock /dev/dsk/c8t0d2
vgextend vglock /dev/dsk/c10t0d2

vgdisplay –v vglock
vgexport –p –v –s –m /tmp/vglock.map /dev/vglock
vgchange –a n vglock

rcp /tmp/vglock.map rx8640-2:/tmp
在rx8640-2上面执行
mkdir /dev/vglock
mknod /dev/vglock/group c 64 0x010000
vgimport –s –m /tmp/vglock.map


在主机1上面
mkdir /dev/01
mknod /dev/vg01/group c 64 0x020000
vgcreate vg01 /dev/dsk/c4t0d3
vgextend vg01 /dev/dsk/c6t0d3
vgextend vg01 ev/dsk/c8t0d3
vgextend vg01 ev/dsk/c10t0d3
vgdisplay –v vg01
lvcreate -L 614304 vg01                            #创建逻辑卷
newfs -F vxfs -o largefiles /dev/vg01/rlvol1
vgexport –p –v –s –m /tmp/vg01.map /dev/vg01
vgchange –a n vg01
rcp /tmp/vg01.map rx8640-2:/tmp
在rx8640-2上面执行
mkdir /dev/vg01
mknod /dev/vg01/group c 64 0x010000
vgimport –s –m /tmp/vg01


在主机1上面
mkdir /dev/vg02
mknod /dev/vg02/group c 64 0x03000
vgcreate vg02 /dev/dsk/c4t0d4
vgextend vg02 /dev/dsk/c6t0d4
vgextend vg02 /dev/dsk/c8t0d4
vgextend vg02 /dev/dsk/c10t0d4
vgdisplay –v vg02
lvcreate -L 614304 vg02                          #创建逻辑卷
newfs -F vxfs -o largefiles /dev/vg01/rlvol1
vgexport –p –v –s –m /tmp/vg02.map /dev/vg02
vgchange –a n vg02
rcp /tmp/vg02.map rx8640-2:/tmp
在rx8640-2上面执行
mkdir /dev/vg02
mknod /dev/vg02/group c 64 0x03000
vgimport –s –m /tmp/vg02     

在主机1上面
mkdir /dev/vg03
mknod /dev/vg03/group c 64 0x04000
vgcreate vg03 /dev/dsk/c4t0d5
vgextend vg03 /dev/dsk/c6t0d5
vgextend vg03 /dev/dsk/c8t0d5
vgextend vg03 /dev/dsk/c10t0d5
vgdisplay –v vg03
lvcreate -L 614304 vg03                            #创建逻辑卷

newfs -F vxfs -o largefiles /dev/vg01/rlvol1
vgexport –p –v –s –m /tmp/vg03.map /dev/vg03
vgchange –a n vg03
rcp /tmp/vg03.map rx8640-2:/tmp
在rx8640-2上面执行
mkdir /dev/vg03
mknod /dev/vg03/group c 64 0x04000
vgimport –s –m /tmp/vg03

如上,该系统所有的vg和lv已经创建成功。
在两台主机上面分别建立目录 /ORAOLAP /ORAHIS /ORABACK作为挂在点,挂载vg01 vg02 vg03上面的三个文

件系统。

c、创建cluster
cmquerycl -v -C /etc/cmcluster/cmclconf -n rx8640-1 -n rx8640-2           #创建双机配置文件
vi /etc/cmcluster/cmclconf
#在配置文件中找到下面几行并且更改或添加参数
CLUSTER_NAME ORAOLAP
FIRST_CLUSTER_LOCK_VG /dev/vglock
MAX_CONFIGURED_PACKAGES 5
VOLUME_GROUP /dev/vglock
VOLUME_GROUP /dev/vg01
VOLUME_GROUP /dev/vg02
VOLUME_GROUP /dev/vg03

cmcheckconf -v -C /etc/cmcluster/cmclconf #验证配置文件
cmapplyconf -v -C /etc/cmcluster/cmclconf #分发配置文件
rcp /etc/cmcluster/cmclconf rx8640-2:/etc/cmcluster

到这里,双机就已经配置好了。接下来就要配置服务包

d、双机包的配置

在两台主机上,分别执行下列命令
mkdir /etc/cmcluster/pkg1
mkdir /etc/cmcluster/pkg2
cmmakepkg -p /etc/cmcluster/pkg1/pkgconf    #创建包配置文件
vi /etc/cmcluster/pkg1/pkgconf
#在配置文件中找到下面几行并且更改或添加参数
PACKAGE_NAME   ORAOLAP
NODE_NAME   rx8640-1
NODE_NAME   rx8640-2
RUN_SCRIPT   /etc/cmcluster/pkg1/pkgcntl
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT   /etc/cmcluster/pkg1/pkgcntl
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME   ORAOLAP            
SERVICE_FAIL_FAST_ENABLED      NO                  
SERVICE_HALT_TIMEOUT           180        
SUBNET 172.16.1.0

更改结束
cmmakepkg -s /etc/cmcluster/pkg1/pkgcntl #创建包控制文件
vi   /etc/cmcluster/pkg1/pkgcntl
在配置文件中找到下面几行并且更改或添加参数
VG[0]=vg01
LV[0]=/dev/vg01/lvol1; FS[0]=/ORAOLAP; FS_MOUNT_OPT[0]="-o rw";FS_UMOUNT_OPT[0]=""; FS_FSCK_OPT

[0]=""; FS_TYPE[0]="vxfs"
VG[1]=vg03
LV[1]=/dev/vg03/lvol1; FS[1]=/ORABACK; FS_MOUNT_OPT[1]="-o rw";FS_UMOUNT_OPT[1]=""; FS_FSCK_OPT

[1]=""; FS_TYPE[1]="vxfs"
IP[0]=172.16.1.246
SUBNET[0]=172.16.1.0
/etc/cmcluster/pkg1/start.sh   #数据库启动脚本
test_return 51
/etc/cmcluster/pkg1/stop.sh    #数据库停止脚本
test_return 52
更改结束
这个时候可以通过命令 cmviewcl看双机是否成功。
如果成功,说明pkg1已经设置成功。

cmmakepkg -p /etc/cmcluster/pkg2/pkgconf    #创建包配置文件
vi /etc/cmcluster/pkg1/pkgconf
在配置文件中找到下面几行并且更改或添加参数
PACKAGE_NAME   ORAHIS
NODE_NAME   rx8640-2
NODE_NAME   rx8640-1   (和PKG1相反 )

RUN_SCRIPT   /etc/cmcluster/pkg1/pkgcntl
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT   /etc/cmcluster/pkg1/pkgcntl
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME   ORAHIS               
SERVICE_FAIL_FAST_ENABLED      NO                  
SERVICE_HALT_TIMEOUT           180         
SUBNET 172.16.1.0
更改结束
cmmakepkg -s /etc/cmcluster/pkg2/pkgcntl #创建包控制文件
vi   /etc/cmcluster/pkg2/pkgcntl
在配置文件中找到下面几行并且更改或添加参数
VG[0]=vg03
LV[0]=/dev/vg03/lvol1; FS[0]=/ORAHIS; FS_MOUNT_OPT[0]="-o rw";FS_UMOUNT_OPT[0]=""; FS_FSCK_OPT

[0]=""; FS_TYPE[0]="vxfs"
IP[0]=172.16.1.248
SUBNET[0]=172.16.1.0
/etc/cmcluster/pkg1/start.sh   #数据库启动脚本
test_return 51
/etc/cmcluster/pkg1/stop.sh    #数据库停止脚本
test_return 52
更改结束
这个时候可以通过命令 cmviewcl看双机是否成功。
如果成功,说明pkg2也已经设置成功。
繁繁索索,hpux的双机终于配制完成了,任务也完成了一大半。接下来我们只要把oracle安装好,然后把启动

脚本和停止脚本加入到starp.sh和stop.sh中,就可以了。

阅读(2854) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~