DB2的分区架构一般适合于统计类和分析的应用,主要用来为大规模数据处理、高并发数据访问提供支持,其特点使得许多廉价计算机组成集群在一起协同工作以提高海量数据处理的效率成为可能。DB2数据库分区采用Share-nothing体系结构,数据库在一个非共享的环境中被分解为独立的分区,每个分区都具有自己的资源,例如内存,CPU和磁盘以及自己的数据、索引、配置文件和事务日志。
本文详细介绍了和记录了db210.5在Linux虚拟化环境下的安装过程,详细操作见下面的内容:
一、创建用户和组
1、使用root用户添加系统用户
/usr/sbin/groupadd-g1997db2igrp
#instance所在的group,加入这个group的所有用户都具有DBA权限/usr/sbin/groupadd-g1998db2fgrp
#fenced用户所在的group/usr/sbin/useradd-u1997-gdb2igrp-d/cbusdb/db2inst1db2inst1
#db2inst1用户/usr/sbin/useradd-u1998-gdb2fgrp-d/cbusdb/db2fenc1db2fenc1
#db2fenc1用户/usr/sbin/groupadddb2fadmin
/usr/sbin/useradd-gdb2fadmindb2admin
2、使用root用户添加数据库账号
/opt/ibm/db2/V10.5/instance/db2icrt-sese-udb2fenc1db2inst1
#在所有的机器上,使用root用户,建立db2adminserver:
/opt/ibm/db2/V10.5/instance/dascrt-udb2admin#启动db2adminserver:
db2adminstart
3、修改节点配置文件
#vim/cbusdb/db2inst1/sqllib/db2nodes.cfg0cbusdb010
1cbusdb011
2cbusdb020
3cbusdb021
4、修改实例参数
su-db2inst1
db2iauto-ondb2inst1
db2setDB2_SKIPINSERTED=on
db2setDB2_USE_ALTERNATE_PAGE_CLEANING=ondb2setDB2_EVALUNCOMMITTED=on
db2setDB2_SKIPDELETED=on
db2setDB2COMM=TCPIP
db2setDB2FCMCOMM=TCPIP4
db2setDB2RSHCMD=/bin/rsh
#注意如果配置的ssh则此处需要修改成
db2setDB2RSHCMD=/usr/bin/ssh
db2setDB2CODEPAGE=1386
db2setDB2TERRITORY=86
db2setDB2_PARALLEL_IO=*
5、配置服务端口
DB2c_db2inst161000/tcp
DB2_db2inst161001/tcp
DB2_db2inst1_161002/tcp
DB2_db2inst1_261003/tcp
DB2_db2inst1_361004/tcp
DB2_db2inst1_461005/tcp
DB2_db2inst1_END61008/tcp
6、调整系统参数,设置dpf所需的资源
/sbin/sysctl-wkernel.sem="25032000321024"/sbin/sysctl-wkernel.msgmnb=16384
/sbin/sysctl-wkernel.msgmni=1024
/sbin/sysctl-wkernel.msgmax=8192
/sbin/sysctl-wkernel.shmmni=4096
/sbin/sysctl-wkernel.shmall=2097152
/sbin/sysctl-wkernel.shmmax=1073741824
7、修改环境变量
cat./sqllib/db2profile>.profile
vi.bash_profile#添加如下信息:
/cbusdb/db2inst1/sqllib/db2profile
二、配置主机名
分别在两台主机上修改如下文件:
#vi/etc/sysconfig/network
#-------------------------
#NETWORKING=yes
#HOSTNAME=cbusdb01
#-------------------------
#vi/etc/hosts
#-------------------------
#127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4cbusdb01#::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6#192.168.1.122cbusdb01
#192.168.1.123cbusdb02
#-------------------------
三、配置rsh
rsh是远程运行shell的服务.db2使用rsh服务运行启动和停止数据库服务器的命令,以及大部分管理命令.
1、安装rsh
#yuminstallrsh*
2、配置rsh的安全文件
#vi/etc/securetty
#addthecontent
#------------------
#rsh
#rlogin
#rexec
#------------------
3、修改rsh的配置参数/etc/xinetd.d/rsh##在生产环境建议配置ssh免密登录
#vi/etc/xinetd.d/rsh
serviceshell
{
socket_type=stream
wait=no
user=root
log_on_success+=USERID
log_on_failure+=USERID
server=/usr/sbin/in.rshd
disable=no
}
4、修改rsh的配置文件rlogin
#vi/etc/xinetd.d/rlogin
servicelogin
{
disable=no
socket_type=stream
wait=no
user=root
log_on_success+=USERID
log_on_failure+=USERID
server=/usr/sbin/in.rlogind
}
4、免密登陆,实例用户db2inst1的家目录中创建.rhosts文件
cat$HOME/.rhosts
cbusdb01db2inst1
cbusdb02db2inst1
5、CentOS7.0需要单独下载xinetd
yuminstallxinetd#低于此版本可不下载
6、重启rsh服务
servicexinetdrestart
7、验证rsh服务
rshcbusdb01date
rshcbusdb02date
#db2_allechohi没有返回
yuminstallksh
四、配置时钟服务器
1、安装ntp服务器
#yuminstallntp*
#ntpdate-u202.112.10.36
#ntpdatecn.pool.ntp.org
#servicentpdstart
#chkconfigntpdon
2、修改ntp配置
#允许内网其他机器同步时间
restrict192.168.1.0mask255.255.255.0nomodifynotrap
#互联网时间服务器
server210.72.145.44perfer#中国国家受时中心server202.112.10.36
#1.cn.pool.ntp.orgserver59.124.196.83
#0.asia.pool.ntp.org#允许上层时间服务器主动修改本机时间
restrict210.72.145.44nomodifynotrapnoquery
restrict202.112.10.36nomodifynotrapnoquery
restrict59.124.196.83nomodifynotrapnoquery
#外部时间服务器不可用时,以本地时间作为时间服务
server127.0.0.1
fudge127.0.0.1stratum10
3、修改时区
cp-f/usr/share/zoneinfo/Asia/Shanghai/etc/loc altime
clock-w
4、在节点2上配置时钟服务器
*/5****/usr/sbin/ntpdatecbusdb01
五、配置nfs服务
1、yuminstallnfs*
#yuminstallportmaprpcbind#安装nfs客户端
2、配置需要共享的资源
#vi/etc/exports
/cbusdb*(rw,sync,no_root_squash)
/cbusdblog*(rw,sync)
3、启动nfsserver
servicerpcbindstart
servicenfsstart
servicenfslockrestart
4、导出资源
exportfs-rv
5、显示NFSServer上所有的共享卷
showmount-e
6、在客户端挂载共享目录
#mount192.168.1.122:/cbusdb/cbusdb
#vi/etc/fstab
cbusdb01:/cbusdb/cbusdbnfsrw,timeo=300,retrans=5,hard,intr,bg,nolock,suid
六、关闭selinux
vim/etc/sysconfig/selinux
#SELINUX=disabled
七、测试、创建数据库
1、启动数据库
#db2start
2、创建数据库
#db2"createdbcbusdbon/cbusdblogusingcodesetgbkterritorycn"
到此,我们可以开始我们的数据库分区性能测试之旅了,谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。