查看: 9318|回复: 13

[精华] [原创]在vmware虚拟机上配置linux多分区数据库环境

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2006-9-1 13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前段时间用vmware加linux配置了db2的多分区环境来作一些试验和研究,顺便把安装过程也记录下来了,供有兴趣的同志们参考。
如果没有充足的硬件资源,其实用vmware来配置多分区环境作研究和学习是个不错的选择,而且vmware还可以很容易的克隆出另外一台机,省去了很多安装和配置过程,你还可以把你的虚拟机拷贝到移动硬盘上带着到处走,方便的很啊。
Linux我用了redhat 9和redhat el as4,都可以,而且还可以一个分区用redhat9,一个分区用redhat el as4,没问题,只是redhat el as4的配置要稍微麻烦点。

以下用两台虚拟机都是redhat 9为例来说明:

环境
Host OS:Windows XP SP2 (P42.5G,1G mem)
Vmware Workstation 5.5.1 build-19175
虚拟机Linux:
redhat1(192.168.49.128):Redhat 9(Linux redhat1 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux)
redhat2(192.168.49.129):Redhat 9(Linux redhat1 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux)

操作步骤:
0.在Windows上安装vmware workstation,并创建一个Redhat Linux的虚拟机redhat1,网络选Bridge方式,内存配了512M。

1.安装虚拟机上安装OS。

2.将rsh和nfs服务改为自动启动
vi /etc/xinetd.d/rsh,将disable改为no
vi /etc/xinetd.d/rlogin,将disable改为no

vi /etc/hosts
127.0.0.1       localhost.localdomain   localhost   (不能包含redhat1,缺省是有的,千万记得改这里,偶可是折腾了半天才找到这里的问题,详见后面注意事项)
192.168.49.128   redhat1
192.168.49.129   redhat2

service xinetd restart

3.新增用户和组
[root@redhat1 root]# groupadd -g 1000 db2grp1
[root@redhat1 root]# groupadd -g 2000 db2fenc1
[root@redhat1 root]# groupadd -g 3000 dasgrp1

[root@redhat1 root]# useradd -u 1001 -g db2grp1 -m -d /home/db2inst1 db2inst1 -p password
[root@redhat1 root]# useradd -u 2001 -g db2fenc1 -m -d /home/db2fenc1 db2fenc1 -p password
[root@redhat1 root]# useradd -u 3001 -g dasgrp1 -m -d /home/dasusr1 dasusr1 -p password

[root@redhat1 root]# passwd db2inst1
[root@redhat1 root]# passwd db2fenc1
[root@redhat1 root]# passwd dasusr1

4.安装DB2产品,若有补丁,则打补丁
[root@redhat1 root]# ./db2_install
此安装将以rpm方式安装db2产品,但不做任何配置(偶推荐这种方式,简单快捷),安装目录是/opt/IBM/db2/V8.1
添加license(自己找哦):
[root@redhat1 root]$ /opt/IBM/db2/V8.1/adm/db2licm -a /mnt/cdrom/db2/license/db2ese.lic

5.克隆另一台虚拟机
利用vmware的克隆功能克隆出另一台虚拟机redhat2,ip地址改为192.168.49.129,主机名改为redhat2

6.在redhat1上创建实例和配置db2inst1
[root@redhat1 root]# /opt/IBM/db2/V8.1/instance/db2icrt -a SERVER -s ese -u db2fenc1 db2inst1

[root@redhat1 root]# /opt/IBM/db2/V8.1/cfg/db2ln

在/etc/service文件中添加一行:
db2c_db2inst1   50000/tcp #DB2 connection service port

[root@redhat1 root]# su - db2inst1
[db2inst1@redhat1 db2inst1]$ db2 "update dbm cfg using SVCENAME db2c_db2inst1"
[db2inst1@redhat1 db2inst1]$ db2 "update dbm cfg using dftdbpath /db2data/database"

[db2inst1@redhat1 db2inst1]$ db2set DB2COMM=TCPIP

[root@redhat1 root]# /opt/IBM/db2/V8.1/instance/dascrt -u dasusr1
SQL4406W  The DB2 Administration Server was started successfully.
DBI1070I Program dascrt completed successfully.  

[root@redhat1 root]# xhost +
access control disabled, clients can connect from any host
[root@redhat1 root]# su - db2inst1
[db2inst1@redhat1 db2inst1]$ db2cc
控制中心可正常运行


7.配置NFS:
在redhat1(NFS server):
vi /etc/exports,添加一行:
/home/db2inst1  redhat2(rw,no_root_squash,sync)
service nfs restart

在redhat2(NFS client):
vi /etc/fstab,添加一行:
redhat1:/home/db2inst1  /home/db2inst1          nfs     rw,timeo=300,retrans=5,hard,intr,bg,suid

测试NFS:
在redhat2上:
[root@redhat2 root]# showmount -e redhat1
Export list for redhat1:
/home/db2inst1 redhat2
[root@redhat2 root]# mount /home/db2inst1


8.配置rsh:
在redhat1上:
su - db2inst1
vi $HOME/.rhosts
redhat1 db2inst1
redhat2 db2inst1

在redhat2上:
su - db2inst1
vi $HOME/.rhosts
redhat1 db2inst1
redhat2 db2inst1
测试rsh:
rsh redhat1 date
rsh redhat2 date
rlogin redhat1
rlogin redhat2

9.配置redhat2的DB2环境
redhat2的db2是通过NFS共享redhat1的/home/db2inst1实例目录,故redhat2不用创建db2实例,只要
修改/etc/services文件:
DB2_db2inst1    60000/tcp
DB2_db2inst1_1  60001/tcp
DB2_db2inst1_2  60002/tcp
DB2_db2inst1_END        60003/tcp
db2c_db2inst1   50000/tcp


10.配置多分区
vi /home/db2inst1/sqllib/db2nodes.cfg
0 redhat1 0
1 redhat1 1
2 redhat2 0
3 redhat2 1
创建了共4个分区,每台机两个逻辑分区。

vi /home/db2inst1/.profile,添加如下一行:
. /home/db2inst1/sqllib/db2profile

验证db2_all:
db2_all date

11.启动实例
db2start

12.创建数据库
db2 create database test


注意事项:
1、缺省在db2inst1的home目录下没有.profile文件,但是db2_all脚本会找$HOME/.profile文件设置db2环境,所以要手工创建这个文件,内容就是:
. /home/db2inst1/sqllib/db2profile

2、一定要将/etc/hosts文件中127.0.0.1中对应的主机名去掉(缺省是有的)
[db2inst1@redhat1 ~]$ netstat -an|egrep "6000|5000"
tcp        0      0 192.168.49.128:60000         0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.49.128:60001         0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:50000               0.0.0.0:*                   LISTEN      
确保60000和60001端口前是对外的IP地址而非localhost或127.0.0.1
这个非常重要,我就是因为hosts中127.0.0.1包含了redhat1,所以此处侦听的是127.0.0.1:60000,创建多分区数据库时失败,报错:
SQL1229N  The current transaction has been rolled back because of a system error.  SQLSTATE=40504
在db2diag.log中有fcm的错,郁闷了好久,直觉上应该是分区间通讯的问题,第二天不知哪里来的灵感,将redhat1从127.0.0.1这行中去掉,搞定。
论坛徽章:
0
2#
发表于 2006-9-1 14:19 | 只看该作者
支持,

有没有再试试创建创建数据库,分区组,表空间,数据如何Hash分布啥的

使用道具 举报

回复
论坛徽章:
1
会员2007贡献徽章
日期:2007-09-26 18:42:10
3#
发表于 2006-9-1 16:20 | 只看该作者
相当不错啊

使用道具 举报

回复
论坛徽章:
0
4#
 楼主| 发表于 2006-9-1 16:49 | 只看该作者
多谢支持,我觉得这种环境对于日常学习、研究和测试基本足够,除了性能上差点,不能作一些大数据量的测试,特别适合资源不是很充足的兄弟自己玩。
偶在上面已经建立了多个分区数据库,乱七八糟的分区组、表空间,进行数据分布、sql调优测试...
关键是容易实施,拷到移动硬盘上,随时就起来一个两台机的4分区环境,就像俺家门口的盒饭,价钱便宜、量又足,所以推荐给大家

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
5#
发表于 2006-9-1 23:12 | 只看该作者
DB2 doesn't support VM on production system, only support for acadamic/testing and development purpose

使用道具 举报

回复
论坛徽章:
0
6#
发表于 2007-10-25 10:52 | 只看该作者
有很多操作都不能在生产数据库系统做。非常好贴,顶!

使用道具 举报

回复
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
7#
发表于 2007-10-25 14:33 | 只看该作者
支持授精  

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:猪
日期:2007-11-01 16:55:07
8#
发表于 2007-10-25 14:50 | 只看该作者
今天看到,真是高兴

使用道具 举报

回复
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010广州亚运会纪念徽章:橄榄球
日期:2011-05-22 10:54:33管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010年世界杯参赛球队:丹麦
日期:2010-04-06 10:23:36
9#
发表于 2007-10-26 07:26 | 只看该作者
不错
没有做ssh?

使用道具 举报

回复
论坛徽章:
42
ITPUB元老
日期:2005-09-09 13:45:35马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:09ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32版主3段
日期:2012-05-15 15:24:112012新春纪念徽章
日期:2012-02-13 15:13:362012新春纪念徽章
日期:2012-02-13 15:13:36
10#
发表于 2007-10-26 08:59 | 只看该作者
bpmfhu  不是也在 VM 上做了RedHat Linux AS 4  + DB2V9+DPF 环境测试吗? 和LZ 的测试有什么区别没,谈一下心得啊

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表