informix資料庫擴容操作步驟

sundayhe發表於2010-11-03

一、 目前現網SMP資料庫情況

1informix資料庫採用雙機(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

address number flags fchunk nchunks flags owner name

c000000037a541c8 1 1 1 1 N informix rootdbs

c000000037a54de0 2 2001 2 1 N T informix tempdbs

c000000037a54ec8 3 1 3 1 N informix logdbs

c000000037a54fb0 4 1 4 6 N informix userdbs

4 active, 2047 maximum

Chunks

address chk/dbs offset size free bpages flags pathname

c000000037a542b0 1 1 0 1000000 898655 PO- /home/informix/chunklink/rootdbs

c000000037a544a0 2 2 0 1000000 999947 PO- /home/informix/chunklink/tempdbs

c000000037a545c8 3 3 0 1000000 249947 PO- /home/informix/chunklink/logdbs

c000000037a546f0 4 4 0 1000000 182168 PO- /home/informix/chunklink/userdbs04

c000000037a54818 5 4 0 1000000 301634 PO- /home/informix/chunklink/userdbs05

c000000037a54940 6 4 0 1000000 957613 PO- /home/informix/chunklink/userdbs06

c000000037a54a68 7 4 0 1000000 947070 PO- /home/informix/chunklink/userdbs07

c000000037a54b90 8 4 0 1000000 942314 PO- /home/informix/chunklink/userdbs08

c000000037a54cb8 9 4 0 1000000 979816 PO- /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 Access read/write

VG Status available, exclusive

Max LV 255

Cur LV 10

Open LV 10

Max PV 16

Cur PV 1

Act PV 1

Max PE per PV 12799

VGDA 2

PE Size (Mbytes) 4

Total PE 12797

Alloc PE 5120

Free PE 7677

Total PVG 0

Total Spare PVs 0

Total Spare PVs in use 0

從以上資訊可知:

目前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

2VA新增LUN(估計時間:10分鐘左右)

)使用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的別名。

例如:

建立一個容量為50GLUN 2 LUN號需要根據實際情況來調整)

#armcfg -L 2 -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 -n lvol11 vgdata

#lvcreate -L 2048 -n lvol12 vgdata

#lvcreate -L 2048 -n lvol13 vgdata

………………..

……………….

#lvcreate -L 2048 -n lvol44 vgdata

指令碼建立:

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 –n lvol$i vgdata

done

4SCP為共享磁碟方式,在主機上新增LV後,需要同步到備機(估計時間:10分鐘左右)

1)假設SCP1為主機,在SCP1做完vglv的調整後,需要同步到備機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 SCP1 clu1_pkg1

SCP1> cmrunpkg clu1_pkg1

SCP1> cmviewcl -v

6、應急措施 (估計時間10分鐘)

以上步驟操作不成功時,可停止下面操作,利用操作前的備份,恢復原vgdata的資訊,使vgdata資訊與原資訊保持一致,對資料和業務沒有影響。

四、資料庫增加chunk操作 (估計時間:35分鐘左右)

建議增加34chunk,每個chunk2G,具體步驟是:

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@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9479798/viewspace-1040835/,如需轉載,請註明出處,否則將追究法律責任。

相關文章