kuailelvtu128
作者 kuailelvtu128 · 2013-07-17 09:07
软件开发工程师·dsg

DB2 2节点4分区虚拟机环境搭建步骤

字数 7424 阅读 2860 评论 0 赞 0
DB2 2节点4分区虚拟机环境搭建
操作系统环境 suse linux 11r2 64bit
DB2版本 v10.1_linuxx64_server
虚拟机VM 


ssh互信
On db21
cd ~
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa

On db22
cd ~
mkdir ~/.ssh

ssh-keygen -t rsa
ssh-keygen -t dsa

On db21
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

ssh db22 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh db22 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys db22:~/.ssh/authorized_keys
 
ssh db21 date
ssh db22 date
ssh db21.mydb2.com date
ssh db22.mydb2.com date


安装
compat-libstdc33-3.2.3-61.i386 //下载  http://rpm.pbone.net/
ofed //linux安装光盘里面

./db2_install  -p ese_dsf -b /db2 -t /tmp/db2_install.trc  -l /tmp/db2_install.log
./db2_install  -p ese_dsf -b /db2 -t /tmp/db2_install.trc -f NOTSAMP -l /tmp/db2_install.log


安装DB2软件
./db2_install  -p aese -b /db2 -t /tmp/db2_install.trc -f NOTSAMP -l /tmp/db2_install.log


安装gpfs
 ./installGPFS -i -u
安装完GPFS以后需要编译
具体需要看/usr/lpp/mmfs/src/README

1) cd /usr/lpp/mmfs/src/config or
     (for BGP IO nodes only, cd /bgsys/drivers/ppcfloor/linux/OS/usr/lpp/mmfs/src)
     cp env.mcr.sample env.mcr

  2) Edit and customize the env.mcr file.
  
     A) The default architecture is GPFS_ARCH_I386. Only modify the 
        architecture choice if your platform is not Intel 32-bit based (IA32).

     B) Modify the Linux distribution choice according to the software
        distribution your machine runs.

     C) Modify the LINUX_KERNEL_VERSION according to the Linux kernel
        level you are using with your software distribution.

     D) Note also that the kernel header file search path, 
        KERNEL_BUILD_DIR, is by default /lib/modules/`uname -r`/build

        Customers who have their kernel source in a different directory
        will need to modify KERNEL_BUILD_DIR. 
        
        YOU MUST HAVE READ ACCESS TO THESE FILES!

  3) cd /usr/lpp/mmfs/src or
     for BGP IO nodes only, cd /bgsys/drivers/ppcfloor/linux/OS/usr/lpp/mmfs/src

  4) make World

  All of the libraries and binaries reside in the "bin" subdirectory after the 
  build. Kernel modules however are in the "gpl-linux" subdirectory.


To install the Linux portability interface for GPFS
--------------------------------------------------------------------------

  This step installs the binaries for the portability interface.

  1) su

  2) make InstallImages




配置root用户的2个节点相互信任关系,建立互信关系请参考文章开始



配置gpfs

192.168.1.201   db21.mydb2.com db21
192.168.1.202   db22.mydb2.com db22


在1.201配置
在/tmp创建2个配置文件

cat /tmp/gpfs_node
db21:quorum-manager
db22:client-nonquorum

cat /tmp/gpfs_disk
/dev/sdb:db21:db22:dataAndMetadata::GPFSNSD1






/usr/lpp/mmfs/bin/mmcrcluster -n /tmp/gpfs_node -p db21.mydb2.com -s db22.mydb2.com -r /usr/bin/ssh -R /usr/bin/scp


如果配置出现问题可以使用 /usr/lpp/mmfs/bin/mmdelnode -f  //安装出现问题 删除节点重新手动配置gpfs




/usr/lpp/mmfs/bin/mmchlicense server --accept -N db21,db22  --注册
/usr/lpp/mmfs/bin/mmcrnsd -F /tmp/gpfs_disk -v no   --创建nsd盘
/usr/lpp/mmfs/bin/mmstartup -a
/usr/lpp/mmfs/bin/mmgetstate -a

gpfs启动时候报错的日志cd /var/adm/ras


 查看NSD
/usr/lpp/mmfs/bin/mmlsnsd -L
 查看集群
/usr/lpp/mmfs/bin/mmlscluster
启动GPFS
/usr/lpp/mmfs/bin/mmstartup -a
删除NSD盘
/usr/lpp/mmfs/bin/mmdelnsd GPFSND1

创建文件系统
/usr/lpp/mmfs/bin/mmcrfs GPFSNSD1 "GPFSNSD1" -B 256K -T /db2fs -v no

2节点执行
mount /db2fs  --挂着/db2fs



mkdir -p /db2fs/db2home/db2fenc
mkdir -p /db2fs/db2home/db2inst



创建用户
1节点
groupadd -g 1000 db2iadm
groupadd -g 1001 db2fadm
useradd -u 11000 -g db2iadm -m -d  /db2fs/home/db2inst db2inst
useradd -u 11001 -g db2fadm -m -d  /db2fs/home/db2fenc db2fenc
chown -R  db2inst:db2iadm  /db2fs/home/db2inst
chown -R   db2fenc:db2fadm  /db2fs/home/db2fenc
2节点


groupadd -g 1000 db2iadm
groupadd -g 1001 db2fadm
useradd -u 11000 -g db2iadm  -d  /db2fs/home/db2inst db2inst
useradd -u 11001 -g db2fadm  -d  /db2fs/home/db2fenc db2fenc

chown -R  db2inst:db2iadm  /db2fs/home/db2inst
chown -R   db2fenc:db2fadm  /db2fs/home/db2fenc



配置db2inst
On db21
cd ~
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
cat id_rsa.pub >>authorized_keys

ssh db21 date
ssh db22 date
ssh db21.mydb2.com date
ssh db22.mydb2.com date



创建实例

/db2/instance/db2icrt -s ese -p 50000 -u db2fenc db2inst


修改db2nodes.cfg

cd /db2fs/home/db2inst/sqllib
vi db2nodes.cfg
0 db21 0
1 db21 1
3 db22 0
4 db22 1


2个节点修改 /etc/services
db2c_db2inst  50000/tcp
DB2_db2inst   60000/tcp
DB2_db2inst _1  60001tcp
DB2_db2inst_2   60002/tcp
DB2_db2inst_3   60003/tcp
DB2_db2inst_4   60004/tcp
DB2_db2inst_END   60005/tcp


修改svcename 2个节点都修改
db2 update dbm cfg using svcename db2c_db2inst

修改注册变量
db2set DB2COMM=TCPIP
db2set DB2RSHCMD=/usr/bin/ssh
db2set DB2_ANTIJOIN=Y
db2set DB2_EXTENDED_OPTIMIZATION=ON
db2set DB2_PARALLEL_IO=*:3
db2set DB2_COMPATIBILITY_VECTOR=ORA
修改实例变量
db2 update dbm cfg using sheapthres 2500000 (数据仓库排序较多)
db2 update dbm cfg using FCM_NUM_BUFFERS automatic
db2stop
db2start

创建数据库
db2 CREATE DATABASE testdb


修改日志路径
db2inst@db21:~> mkdir -p /db2fs/log/db2inst
db2inst@db21:~> mkdir -p db2fs/mlog/db2inst
db2inst@db21:~> mkdir -p /db2fs/logarch/db2inst


db2 connect to testdb

db2 update db cfg using newlogpath /db2fs/log/db2inst
db2inst@db21:~> db2 LIST DATABASE DIRECTORY

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = TESTDB
 Database name                        = TESTDB
 Local database directory             = /db2fs/home/db2inst
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

db2inst@db21:~> 
db2inst@db21:~> 

切换分区
db2inst@db21:~> export DB2NODE=2
db2inst@db21:~> db2 terminate
DB20000I  The TERMINATE command completed successfully.
db2inst@db21:~> 
db2inst@db21:~> db2 connect to testdb
SQL1469N  Instance "db2inst" (database partition number "0") does not have 
node "2" specified in its db2nodes.cfg file.  SQLSTATE=08004
db2inst@db21:~> export DB2NODE=1
db2inst@db21:~>  db2 terminate
DB20000I  The TERMINATE command completed successfully.
db2inst@db21:~> db2 connect to testdb

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.1.0
 SQL authorization ID   = DB2INST
 Local database alias   = TESTDB

db2inst@db21:~> db2 "values (current dbpartitionnum)"

1          
-----------
          1

  1 record(s) selected.

db2inst@db21:~> 
db2inst@db21:~> 


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广