注册
DSC集群手工搭建-用虚拟机模拟环境
培训园地/ 文章详情 /

DSC集群手工搭建-用虚拟机模拟环境

l 2022/12/13 1484 1 0

1.安装前规划
操作系统:Kylin-Server-10-SP1-Release-Build20-20210518-x86_64.iso
数据库版本:dm8_20220830_x86_kylin10_64.iso
1.1.安装两台ky10操作系统的
1.2.网络规划,两台虚拟机分别规划两个IP,一个公网IP,一个私网ip
公网IP地址分配:192.168.212.130,192.168.212.131
私网IP地址分配:192.168.192.100,192.168.192.101

         虚拟机  内网IP   外网IP   数据库实例名  数据库端口
节点1	dsc01	192.168.192.100	192.168.212.130	PROD0	11236
节点2	dsc02	192.168.192.101	192.168.212.131	PROD1	11236

公网IP配置:
001.png

Vmware加一块网卡配置私有IP:
002.png

[root@localhost network-scripts]# cat ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.192.101

两台机器分别按照上述方法配置

1.3.共享磁盘规划,用一块共享磁盘进行分区
在第一个节点虚拟机添加1块磁盘:dmasm_dcr、dmasm_vote、dmasm_log0,dmasm_arch0,dmasm_data0大小分别为2G、2G、10G、10G、20G
003.png
004.png
005.png
006.png

添加完后更改虚拟机配置文件:虚拟机文件夹中的vmx后缀文件,添加下列语句
(我安装在D:\DSC01文件夹下面就去这个文件夹下面找,修改后要保持,后面uuid会报错)
disk.locking=“FALSE”
disk.SharedBus=“Virtual”
disk.enableUUID=“TRUE” —可以查询到添加磁盘的uuid,用于后续绑定磁盘
disk.shared=“TRUE” —这里必须添加,否则最后启动节点2的css服务时会报找不到控制文件
开启虚拟机

关机之后更改参数,不要在开机过程中修改参数,然后重启,要不然参数是没有被加载的。

第二节点使用已经添加好的现有磁盘。

图片2.png
图片3.png
在两个节点都能看到之后,对这一块磁盘进行分区

[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 39.8G 0 part
├─klas-root 253:0 0 32.8G 0 lvm /
├─klas-swap 253:1 0 2G 0 lvm [SWAP]
└─klas-tmp 253:2 0 5G 0 lvm /tmp
sdb 8:16 0 50G 0 disk
sr0 11:0 1 4.3G 0 rom /run/media/root/Kylin-Server-10
[root@localhost ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdb
36000c29a82d93128c2d77dd0f68ebbeb
parted
mklabel gpt
mkpart primary 0 2G
mkpart primary 2G 4G
mkpart primary 4G 14G
mkpart primary 14G 24G
mkpart primary 24G -1
1.4.按盘符进行绑定

在目录cd /etc/udev/rules.d 中新建文件vi 88-dm-asmdevices.rules

KERNEL==“sdb1”,SUBSYSTEM==“block”,OWNER=“dmdba”,GROUP=“dinstall”,SYMLINK+=“PROD/dmasm_vote”,MODE=“0660”
KERNEL==“sdb2”,SUBSYSTEM==“block”,OWNER=“dmdba”,GROUP=“dinstall”,SYMLINK+=“PROD/dmasm_dcr”,MODE=“0660”
KERNEL==“sdb3”,SUBSYSTEM==“block”,OWNER=“dmdba”,GROUP=“dinstall”,SYMLINK+=“PROD/dmasm_log0”,MODE=“0660”
KERNEL==“sdb4”,SUBSYSTEM==“block”,OWNER=“dmdba”,GROUP=“dinstall”,SYMLINK+=“PROD/dmasm_arch0”,MODE=“0660”
KERNEL==“sdb5”,SUBSYSTEM==“block”,OWNER=“dmdba”,GROUP=“dinstall”,SYMLINK+=“PROD/dmasm_data0”,MODE=“0660”

/sbin/udevadm control --reload
/sbin/udevadm trigger --action change
/sbin/udevadm trigger --action add

chown -R dmdba:dinstall /dev/PROD

2.安装数据库
1)新建组和用户,修改文件最大打开数
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

vim /etc/security/limits.conf
dmdba soft nproc  16384
dmdba hard nproc  16384
dmdba soft nofile 65536 
dmdba hard nofile 65536
dmdba soft stack  16384
dmdba hard stack  32768
2)安装数据库软件,具体步骤可参照数据库安装,命令行安装方法
mount -o loop /tmp/dm8_20220830_x86_kylin10_64.iso /mnt
mkdir /dm
chown -R dmdba:dinstall /dm
su - dmdba
cd /mnt
./DMInstall.bin –i
3)检查关闭防火墙、修改selinux状态
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

vim /etc/selinux/config
图片4.png

4)创建目录/dm/conf ,新建配置文件dmdcr_config.ini

所有的配置文件使用的都是私网IP

[[dmdba@localhost conf]$ cat dmdcr_config.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/PROD/dmasm_vote
DCR_OGUID = 20221212
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = GRP_CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 65
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 192.168.192.100
DCR_EP_PORT = 11286
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 192.168.192.101
DCR_EP_PORT = 11286
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 61
[GRP_ASM]
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 2424
DCR_EP_SHM_SIZE = 1024
DCR_EP_HOST = 192.168.192.100
DCR_EP_PORT = 11276
DCR_EP_ASM_LOAD_PATH = /dev/PROD
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 2425
DCR_EP_SHM_SIZE = 1024
DCR_EP_HOST = 192.168.192.101
DCR_EP_PORT = 11277
DCR_EP_ASM_LOAD_PATH = /dev/PROD
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_PROD
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 20
[GRP_PROD]
DCR_EP_NAME = PROD0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 11236
DCR_CHECK_PORT = 11256
[GRP_PROD]
DCR_EP_NAME = PROD1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 11236
DCR_CHECK_PORT = 11257

5)创建asm磁盘,初始化dcr vote磁盘(只在一个节点上执行)
cd /dm/bin
./dmasmcmd

create dcrdisk ‘/dev/PROD/dmasm_dcr’ ‘DCR’
create votedisk ‘/dev/PROD/dmasm_vote’ ‘VOTE’
init dcrdisk ‘/dev/PROD/dmasm_dcr’ from ‘/dm/conf/dmdcr_config.ini’ identified by ‘dmdsc’
init votedisk ‘/dev/PROD/dmasm_vote’ from ‘/dm/conf/dmdcr_config.ini’
create asmdisk ‘/dev/PROD/dmasm_data0’ ‘DATA0’
create asmdisk ‘/dev/PROD/dmasm_log0’ ‘LOG0’
create asmdisk ‘/dev/PROD/dmasm_arch0’ ‘ARCH0’

6)在/dm/conf 下创建配置文件dmdcr.ini  dmasvrmal.ini

dmdcr.ini 
[dmdba@localhost conf]$ cat dmdcr.ini
DMDCR_PATH = /dev/PROD/dmasm_dcr
DMDCR_MAL_PATH = /dm/conf/dmasvrmal.ini
DMDCR_SEQNO = 0
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/bin/dmasmsvr dcr_ini = /dm/conf/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD=/dm/bin/dmserver path=/dm/conf/prod0_config/dm.ini dcr_ini=/dm/conf/dmdcr.ini

dmasvrmal.ini 配私网IP

[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.192.100
MAL_PORT = 5244
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.192.101
MAL_PORT = 5244

把这两个个文件拷贝到第二个节点相同目录下,并在第二个节点把dmdcr.ini中的DMDCR_SEQNO改为1
path=/dm/conf/prod0_config 第二个节点path=/dm/conf/prod1_config

7)配置css服务并启动,在2个节点分别启动
./dmcss dcr_ini=/dm/conf/dmdcr.ini

用root登录在/dm/script/root
./dm_service_installer.sh -t dmcss -p PROD0 -dcr_ini /dm/conf/dmdcr.ini
./dm_service_installer.sh -t dmcss -p PROD1 -dcr_ini /dm/conf/dmdcr.ini

[dmdba@localhost bin]$ ./DmCSSServicePROD0 start
[dmdba@localhost bin]$ ./DmCSSServicePROD1 start

8)配置asm服务并启动,在两个节点分别启动

./dmasmsvr dcr_ini=/dm/conf/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p PROD0 -y DmCSSServicePROD0 -dcr_ini /dm/conf/dmdcr.ini
./dm_service_installer.sh -t dmasmsvr -p PROD1 -y DmCSSServicePROD1 -dcr_ini /dm/conf/dmdcr.ini

[dmdba@localhost bin]$ ./DmASMSvrServicePROD0 start
[dmdba@localhost bin]$ ./DmASMSvrServicePROD1 start

9)在bin目录下配置dmcssm.ini,启动监视器
[dmdba@localhost bin]$ cat dmcssm.ini
CSSM_OGUID=20221212
CSSM_CSS_IP=192.168.192.100:11286
CSSM_CSS_IP=192.168.192.101:11286
CSSM_LOG_PATH=/dm/log
CSSM_LOG_FILE_SIZE=32
CSSM_LOG_SPACE_LIMIT=0

10)创建磁盘组,用于存放数据库数据文件和日志文件

./dmasmtool dcr_ini=/dm/conf/dmdcr.ini
create diskgroup ‘DGDATA01’ asmdisk ‘/dev/PROD/dmasm_data0’
create diskgroup ‘DGLOG01’ asmdisk ‘/dev/PROD/dmasm_log0’
create diskgroup ‘DGARCH01’ asmdisk ‘/dev/PROD/dmasm_arch0’

11)初始化库

在/dm/conf目录下新建dminit.ini文件
dminit.ini

[dmdba@localhost conf]$ cat dminit.ini
db_name = PROD
system_path = +DGDATA01
system = +DGDATA01/PROD/system.dbf
system_size = 128
roll = +DGDATA01/PROD/roll.dbf
roll_size = 128
main = +DGDATA01/PROD/main.dbf
main_size = 128
ctl_path = +DGDATA01/PROD/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/PROD/dmasm_dcr
dcr_seqno = 0
auto_overwrite = 1

[PROD0]
config_path = /dm/conf/PROD0_config
port_num = 5236
mal_host = 192.168.192.100
mal_port = 9340
log_path = +DGLOG01/PROD0/log01.log
log_path = +DGLOG01/PROD0/log02.log
[PROD1]
config_path = /dm/conf/PROD1_config
port_num = 5237
mal_host = 192.168.192.100
mal_port = 9341
log_path = +DGLOG01/PROD1/log01.log
log_path = +DGLOG01/PROD1/log02.log

在第一个节点上初始化数据库

[dmdba@localhost bin]$ ./dminit control=/dm/conf/dminit.ini
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-08-30
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

log file path: +DGLOG01/PROD0/log01.log

log file path: +DGLOG01/PROD0/log02.log

log file path: +DGLOG01/PROD1/log01.log

log file path: +DGLOG01/PROD1/log02.log

FILE “+DGLOG01/PROD0/log01.log” has already existed
FILE “+DGLOG01/PROD0/log02.log” has already existed
FILE “+DGLOG01/PROD1/log01.log” has already existed
FILE “+DGLOG01/PROD1/log02.log” has already existed
write to dir [+DGDATA01/PROD].
create dm database success. 2022-12-09 16:18:41

如果这一步有报错,可以把asm磁盘组里面的文件删掉,可多次重新初始化.

初始化后把生成的PROD1_config文件夹拷贝到第二个节点/dm/conf目录下,成功后把第一个节点的这个目录删掉,以免造成干扰
scp -r PROD1_config dmdba@192.168.212.131:/dm/conf

12)配置数据库服务并启动数据库服务
./dm_service_installer.sh -t dmserver -y DmASMSvrServicePROD0 -p PROD0 -dm_ini /dm/conf/PROD0_config/dm.ini -dcr_ini /dm/conf/dmdcr.ini

./dm_service_installer.sh -t dmserver -y DmASMSvrServicePROD1 -p PROD1 -dm_ini /dm/conf/PROD1_config/dm.ini -dcr_ini /dm/conf/dmdcr.ini

[dmdba@localhost bin]$ ./DmServicePROD0 start
[dmdba@localhost bin]$ ./DmServicePROD1 start

成功启动后监视器show如下:

[dmdba@localhost bin]$ ./dmcssm
图片5.png

两节点登录数据库,两边结果一样:
图片6.png

3.集群的停止,启动
停止:
1)手动停止
cd /etc/systemd/system/multi-user.target.wants #该目录下可以查看你注册了哪些服务

在/dm/bin下
./DmServicePROD0 stop
./DmServicePROD1 stop
./DmASMSvrServicePROD0 stop
./DmASMSvrServicePROD1 stop
./DmCSSServicePROD0 stop
./DmCSSServicePROD1 stop

应严格按照顺序执行这些操作

2)利用dmcssm停止
在dmcssm中依次执行
ep stop GRP_PROD
ep stop GRP_ASM
然后退出停止CSS服务

启动:
1)手动启动

./DmCSSServicePROD0 start
./DmCSSServicePROD1 start
./DmASMSvrServicePROD0 start
./DmASMSvrServicePROD1 start
./DmServicePROD0 start
./DmServicePROD1 start

2)利用dmcssm启动
利用dmcssm停止
在dmcssm中依次执行
ep startup GRP_PROD
ep startup GRP_ASM

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服