一、目前现网SMP数据库情况
1、informix数据库采用双机(RP5470)+磁盘阵列存储,保证informix始终在主机上运行,并以独占方式控制管理阵列上的数据库空间。
目的:informix数据库扩容,需要新建裸设备给数据库当chunk使用。目前50G的磁盘阵列,还剩余约28G,另外未分配还可用的107GB,划分若干个chunk,每个chunk大小为2G。
2、以下是SCP1主机当前的数据空间情况:
目前SMP数据库用户数据容量为12G
$ onstat -d
[smp@SCP1] /home/smp $onstat -d
Informix Dynamic Server Version 7.31.FD6-- On-Line -- Up 2 days 11:54:31 -- 924392 Kbytes
Dbspaces
addressnumberflagsfchunknchunksflagsownername
c000000037a541c8 1111Ninformix rootdbs
c000000037a54de0 2200121N Tinformix tempdbs
c000000037a54ec8 3131Ninformix logdbs
c000000037a54fb0 414 6Ninformix userdbs
4 active, 2047 maximum
Chunks
addresschk/dbs offsetsizefreebpagesflags pathname
c000000037a542b0 1101000000898655PO-/home/informix/chunklink/rootdbs
c000000037a544a0 2201000000999947PO-/home/informix/chunklink/tempdbs
c000000037a545c8 3301000000249947PO-/home/informix/chunklink/logdbs
c000000037a546f0 4401000000182168PO-/home/informix/chunklink/userdbs04
c000000037a54818 5401000000301634PO-/home/informix/chunklink/userdbs05
c000000037a54940 6401000000957613PO-/home/informix/chunklink/userdbs06
c000000037a54a68 7401000000947070PO-/home/informix/chunklink/userdbs07
c000000037a54b90 8401000000942314PO-/home/informix/chunklink/userdbs08
c000000037a54cb8 9401000000979816PO- /home/informix/chunklink/userdbs09
9 active, 2047 maximum
3、以下是磁盘阵列使用情况:
LUN 1:
Redundancy Group:_____________________1
Active:_______________________________True
Data Capacity:________________________50 GB
WWN:__________________________________60060b000014f928000100000000000e
Number Of Business Copies:____________0
CAPACITY Totals for Redundancy Group 1:
REGULAR LUNs:_________________________50.097 GB
BUSINESS COPIES:______________________0 bytes
CAPACITY USAGE
Total Disk Enclosures:________________1
Redundancy Group:_____________________1
Total Disks:________________________6
Total Physical Size:________________400.543 GB
Allocated to Regular LUNs:__________50.097 GB
Allocated as Business Copies:_______0 bytes
Used as Active Hot Spare:___________66.753 GB
Used for Redundancy:________________176.379 GB
Unallocated (Available for LUNs):___107.312 GB
从以上信息可知:
已经分配使用的50.097 GB,未分配还可用的107.312 GB
/dev/vgdata:
VG Name/dev/vgdata
VG Write Accessread/write
VG Statusavailable, exclusive
Max LV255
Cur LV10
Open LV10
Max PV16
Cur PV1
Act PV1
Max PE per PV12799
VGDA2
PE Size (Mbytes)4
Total PE12797
Alloc PE5120
Free PE7677
Total PVG0
Total Spare PVs0
Total Spare PVs in use0
从以上信息可知:
目前50G的磁盘阵列,还剩余Free PE * PE Size (Mbytes)=7677*4=28G
二、数据库扩容说明根据用户提供的话单量,每天465000条数据(包括通话、扣日租,现金充值、短信),按每条数据占用数据库空间420字节计算,每个月话单所占数据库空间约为6G,按照预留6个月话单计算需要36G,考虑到用户量增长以及其他数据所占空间,需将数据库扩充到80G。即将磁盘阵列已分配未使用的全部28G划分逻辑卷外,还需将未分配还可用的107G至少再划过来40G。(考虑到以后的数据库扩充可多划一部分过来)
三、磁盘阵列操作
1、操作前的备份工作
1)系统备份 (在双机的主备机上均需操作,由用户提前完成)
在主机上插入备份磁带,用root用户执行以下命令开始系统备份:(估计时间:60分钟左右)
#make_tape_recovery -Av -m cpio
2)vgdata信息备份(只在双机的主机上操作)(估计时间:5分钟左右)
#cd /etc/lvmconf
#cp -p vgdata vgdata.bak20080115
#cp -p vgdata.old vgdata.oldbak20080115
#cd /etc
#cp -p lvmtab lvmtab.bak20080115
#mkdir /tmp/vg
#vgcfgbackup -f /tmp/vg/vgdata.conf vgdata
#ls -laF /dev/*/group >/tmp/group.bak20080115
3)数据库备份(只在双机的主机上操作,由用户提前完成)(估计时间:35分钟左右)
在主机上插入备份磁带,以informix用户登录,执行以下命令在开始数据库备份:
%ontape -s -L 0
2、VA新增LUN(估计时间:10分钟左右)
1)使用cvui工具方式
(a)以root用户身份进入sam,命令:# cvui;
(b)选择VA;
(c)选择1 Create/Delete LUNs;
(d)选择1 Create;
(e)按照提示依次输入LUN序号,容量单位,容量数值,回车确认建立。
2)使用命令行方式
armcfg -L -a
备注:
其中表示LUN ID,表示容量,可以是K, M, G为单位,缺省是M。可以是va7110的别名。
例如:
创建一个容量为50G的LUN2(LUN号需要根据实际情况来调整)
#armcfg -L2-a 50G va7110
表示划分一个LUN 2,容量为50GB,其中表示LUN ID,表示容量,可以是K, M, G为单位,缺省是M。可以是va7110的别名。
3.把新划的LUN应用到主机上去(估计时间:50分钟左右)
1)确认主机识别到新的LUN,使用insf -eCdisk生成新的设备文件,用ioscan –fnC disk查看会识别到一个新的硬件路径;
# insf –eCdisk
# ioscan –fnC disk
2)停双机(在主机上操作,从此步开始,停了双机后会影响业务)
#cmhaltpkg
#vgchange –c n /dev/vgdata
#vgchange –a y /dev/vgdata
3)将新增的disk加入到vgdata中,假设新增的设备是c6t0d0,
#pvcreate -f /dev/rdsk/c6t0d0
#vgextend /dev/vgdata /dev/dsk/c6t0d0
4)根据规划创建新的LV ,
命令行格式:
lvcreate -L -n vgdata
具体命令:
#lvcreate -L 2048 -nlvol11vgdata
#lvcreate -L 2048 -nlvol12vgdata
#lvcreate -L 2048 -nlvol13vgdata
………………..
……………….
#lvcreate -L 2048 -nlvol44vgdata
脚本创建:
for i in 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
do
lvcreate -L 2048 –nlvol$ivgdata
done
4、SCP为共享磁盘方式,在主机上新增LV后,需要同步到备机(估计时间:10分钟左右)
1)假设SCP1为主机,在SCP1做完vg、lv的调整后,需要同步到备机SCP2
SCP1> vgexport -p -s -v -m /tmp/vgdata.map /dev/vgdata
SCP1> rcp /tmp/vgdata.map SCP2:/tmp
SCP2> cp -p /etc/lvmtab /etc/lvmtab.bak20080115
SCP2> vgexport -v vgdata
SCP2> mkdir /dev/vgdata
SCP2> mknod /dev/vgdata/group c 64 0x030000(备注:ls -laF /dev/*/group根据实际查看的结果做调整)
SCP2> vgimport -v -s -m /tmp/vgdata.map /dev/vgdata
SCP2>ll /dev/vgdata/*lv*
SCP2> chown informix:informix /dev/vgdata/*lvol*
SCP2> chmod 660 /dev/vgdata/*lvol*
5、重新启动双机 (双机启动后,业务恢复正常)(估计时间:5分钟左右)
SCP1>vgchange -a n /dev/vgdata
SCP1> vgchange -c y /dev/vgdata
SCP1>cmmodpkg -v -e -n SCP1clu1_pkg1
SCP1> cmrunpkgclu1_pkg1
SCP1> cmviewcl -v
6、应急措施 (估计时间10分钟)
以上步骤操作不成功时,可停止下面操作,利用操作前的备份,恢复原vgdata的信息,使vgdata信息与原信息保持一致,对数据和业务没有影响。
四、数据库增加chunk操作(估计时间:35分钟左右)
建议增加34个chunk,每个chunk为2G,具体步骤是:
以root用户登录
1、赋权限
ls –l /dev/vgdata/rlvol*
chown informix:informix rlvol*
chmod 660 rlvol*
ls –l /dev/vgdata/rlvol*
2、建立链接
su – informix
cd /home/informix/chunklink
ln -s /dev/vgdata/rlvol11 userdbs11
ln -s /dev/vgdata/rlvol12 userdbs12
ln -s /dev/vgdata/rlvol13 userdbs13
ln -s /dev/vgdata/rlvol14 userdbs14
ln -s /dev/vgdata/rlvol15 userdbs15
ln -s /dev/vgdata/rlvol16 userdbs16
ln -s /dev/vgdata/rlvol17 userdbs17
ln -s /dev/vgdata/rlvol18 userdbs18
ln -s /dev/vgdata/rlvol19 userdbs19
ln -s /dev/vgdata/rlvol20 userdbs20
ln -s /dev/vgdata/rlvol21 userdbs21
ln -s /dev/vgdata/rlvol22 userdbs22
ln -s /dev/vgdata/rlvol23 userdbs23
ln -s /dev/vgdata/rlvol24 userdbs24
ln -s /dev/vgdata/rlvol25 userdbs25
ln -s /dev/vgdata/rlvol26 userdbs26
ln -s /dev/vgdata/rlvol27 userdbs27
ln -s /dev/vgdata/rlvol28 userdbs28
ln -s /dev/vgdata/rlvol29 userdbs29
ln -s /dev/vgdata/rlvol30 userdbs30
ln -s /dev/vgdata/rlvol31 userdbs31
ln -s /dev/vgdata/rlvol32 userdbs32
ln -s /dev/vgdata/rlvol33 userdbs33
ln -s /dev/vgdata/rlvol34 userdbs34
ln -s /dev/vgdata/rlvol35 userdbs35
ln -s /dev/vgdata/rlvol36 userdbs36
ln -s /dev/vgdata/rlvol37 userdbs37
ln -s /dev/vgdata/rlvol38 userdbs38
ln -s /dev/vgdata/rlvol39 userdbs39
ln -s /dev/vgdata/rlvol40 userdbs40
ln -s /dev/vgdata/rlvol41 userdbs41
ln -s /dev/vgdata/rlvol42 userdbs42
ln -s /dev/vgdata/rlvol43 userdbs43
ln -s /dev/vgdata/rlvol44 userdbs44
3、增加空间
onspaces -a datadbs -p /home/informix/chunklink/userdbs11 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs12 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs13 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs14 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs15 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs16 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs17 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs18 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs19 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs20 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs21 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs22 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs23 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs24 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs25 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs26 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs27 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs28 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs29 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs30 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs31 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs32 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs33 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs34 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs35 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs36 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs37 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs38 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs39 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs40 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs41 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs42 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs43 -o 0 -s 2000000
onspaces -a datadbs -p /home/informix/chunklink/userdbs44 -o 0 -s 2000000
3、增加成功后需要再做一次全备,使新增加的chunk生效;(把备份路径指向空设备即可)
%ontape –s –L 0
4、再执行onstat –d命令,检查chunk是否已经可用。
a. onstat -d检查trunk是否正常,容量是否正常;
b.检查online.log,查看数据库是否有异常;
c.进行数据库的操作,看是否正常;
d.用户的呼叫测试;[@more@]