1 准备工作
1.1 环境信息
环境准备,受笔记本磁盘容量限制只添加了20G的磁盘
硬件:两台相同配置机器,2G 内存,20G 本地磁盘,2 块网卡,另有一块共享磁盘 20G。
操作系统:RedHat Linux 64 位。
1.2 创建共享磁盘
1.创建两个一样的虚拟机环境,一般都选择使用克隆的方式创建另外一下虚拟机
2.关闭两台虚拟机,然后点击其中一台虚拟机中的磁盘选项
3.在设置窗口中点击添加磁盘
4.在添加磁盘窗口中直接点击一步
5.在磁盘类型中选择默认即可
6.然后选择创建新的虚拟磁盘
7.指定磁盘容量大小,并选择立即分配所有磁盘空间
8.然后指定磁盘位置,点击完成即可开始创建磁盘,在指定磁盘位置的时候最好单独放在一个文件夹中
9.然后选择添加的磁盘点击右侧高级选项,在弹出的窗口中选择SCSI:1-1方式,到这里第一台虚拟机已经添加好了
主机B引用刚才创建的磁盘
1.给node02添加
2.选择添加
3
4 选择默认选项
5.选择使用现有虚拟磁盘
6.选择之前创建的那一块磁盘
7.在弹出的窗口中选择SCSI:1-1方式
8.修改两台虚拟机的vmx文件
9.打开添加如下信息
2 DSC集群搭建
2.1 数据库安装
节点 | 功能 | 类型 |
---|---|---|
192.168.1.201 | 搭建dsc使用 | 节点A |
192.168.1.202 | 搭建dsc使用 | 节点B |
Linux系统修改资源限制:两个节点都要做,步骤一致。
vim /etc/security/limits.conf
结尾添加以下内容:
dmdba soft nproc 10240 dmdba hard nproc 10240 dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft core unlimited dmdba hard core unlimited
创建用户和组:两个节点都要做,步骤一致。 创建安装用户组 dinstall
groupadd dinstall
在dinstall组内创建安装用户dmdba
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
修改密码
passwd dmdba Dameng123
切换到dmdba用户下,创建目录
cd /home/dmdba mkdir dmdbms mkdir DM_SOFT cd dmdbms mkdir dmdbms mkdir BAK
dmdba用户创建归档目录
节点A下单独执行以下两条命令:
mkdir arch_0 mkdir arch_0_remote
节点B下单独执行以下两条命令:
mkdir arch_1 mkdir arch_1_remote
数据库安装
root用户使用mount命令,把安装包挂载到系统/mnt上
mount -o loop dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt cd /mnt cp ./DmInstall.bin /home/dmdba/DM_SOFT
root用户变更目录所属的用户和组
chown -R dmdba:dinstall /home/dmdba
dmdba用户给/home/dmdba目录授权
chmod -R 775 /home/dmdba
dmdba用户安装
su - dmdba
运行安装
cd /home/dmdba/DM_SOFT ./DMInstall.bin -i
划分裸设备和绑定裸设备
用途 | 空间规划(总共2T) |
---|---|
raw1用于dcr信息 | 100M |
raw2用于存放vote信息 | 100M |
raw3用于存放redo log | 2048M(强制性要求必须大于等于) |
raw4用于存放data | 剩下的全部空间 |
在节点A执行以下命令
1) 输入fdisk /dev/mapper/DM-2T 2) 依次输入 n p 1 回车 +100M 回车,完成第一块磁盘划分 3) 依次输入 n p 2 回车 +100M 回车,完成第二块磁盘划分 4) 依次输入 n p 3 回车 +2048M 回车,完成第三块磁盘划分 5) 依次输入 n p 4 回车回车回车,完成第四块磁盘划分 6) 输入w命令,将裸设备划分的设置进行保存;
在节点B执行以下命令
partprobe /dev/mapper/DM-2T
绑定:设备名绑定:两个节点都要做。
vim /etc/rc.local
#DMDSC disks raw /dev/raw/raw1 /dev/mapper/raw1 raw /dev/raw/raw2 /dev/mapper/raw2 raw /dev/raw/raw3 /dev/mapper/raw3 raw /dev/raw/raw4 /dev/mapper/raw4 chown dmdba:dinstall /dev/raw/raw1 chown dmdba:dinstall /dev/raw/raw2 chown dmdba:dinstall /dev/raw/raw3 chown dmdba:dinstall /dev/raw/raw4 chmod 660 /dev/raw/raw1 chmod 660 /dev/raw/raw2 chmod 660 /dev/raw/raw3 chmod 660 /dev/raw/raw4
然后赋予执行权限;chmod 775 /etc/rc.d/rc.local
然后重启,或者source /etc/rc.local 使当前生效
查看裸设备大小命令:blockdev --getsize64 /dev/raw/raw1
2.2 配置dmdcr_cfg.ini
新建dmdcr_cfg.ini配置文件,两个节点都要配置,内容完全一样,保存到/home/dmdba/dmdbms/config目录下。
DCR_N_GRP = 3 DCR_VTD_PATH = /dev/raw/raw2 DCR_OGUID = 45330 [GRP] DCR_GRP_TYPE = CSS DCR_GRP_NAME = GRP_CSS DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_CSS] DCR_EP_NAME = CSS0 DCR_EP_HOST = 192.168.1.106 #心跳地址 DCR_EP_PORT = 9341 [GRP_CSS] DCR_EP_NAME = CSS1 DCR_EP_HOST = 192.168.1.107 #心跳地址 DCR_EP_PORT = 9343 [GRP] DCR_GRP_TYPE = ASM DCR_GRP_NAME = GRP_ASM DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_ASM] DCR_EP_NAME = ASM0 DCR_EP_SHM_KEY = 93360 DCR_EP_SHM_SIZE = 10 DCR_EP_HOST = 192.168.1.106 #业务地址 DCR_EP_PORT = 9349 DCR_EP_ASM_LOAD_PATH = /dev/raw [GRP_ASM] DCR_EP_NAME = ASM1 DCR_EP_SHM_KEY = 93361 DCR_EP_SHM_SIZE = 10 DCR_EP_HOST = 192.168.1.107 #业务地址 DCR_EP_PORT = 9351 DCR_EP_ASM_LOAD_PATH = /dev/raw [GRP] DCR_GRP_TYPE = DB DCR_GRP_NAME = GRP_dsc DCR_GRP_N_EP = 2 DCR_GRP_DSKCHK_CNT = 60 [GRP_dsc] DCR_EP_NAME = dsc0 DCR_EP_SEQNO = 0 DCR_EP_PORT = 5236 DCR_CHECK_PORT = 9741 [GRP_dsc] DCR_EP_NAME = dsc1 DCR_EP_SEQNO = 1 DCR_EP_PORT = 5236 DCR_CHECK_PORT = 9742
初始化磁盘组
在节点A上启动dmasmcmd工具,依次输入以下命令:
cd /home/dmdba/dmdbms/bin ./dmasmcmd create dcrdisk '/dev/raw/raw1' 'dcr' create votedisk '/dev/raw/raw2' 'vote' create asmdisk '/dev/raw/raw3' 'LOG0' create asmdisk '/dev/raw/raw4' 'DATA0' init dcrdisk '/dev/raw/raw1' from '/home/dmdba/dmdbms/config/dmdcr_cfg.ini' identified by 'abcd' init votedisk '/dev/raw/raw2' from '/home/dmdba/dmdbms/config/dmdcr_cfg.ini'
2.3 配置dmasvrmal.ini文件和dmdcr.ini文件
新建dmasvrmal.ini配置文件,两个节点都要配置,内容完全一样,保存到/home/dmdba/dmdbms/config目录下
[MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 192.168.1.201 #心跳地址 MAL_PORT = 7236 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 192.168.1.202 #心跳地址 MAL_PORT = 7237
新建dmdcr.ini配置文件,两个节点都要配置,内容大部分一样,只是dmdcr_seqo分别为0和1。保存到/home/dmdba/dmdbms/config目录下
节点A:
DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH = /home/dmdba/dmdbms/config/dmasvrmal.ini DMDCR_SEQNO = 0 #DMDCR_ASM_RESTART_INTERVAL = 30 #DMDCR_ASM_STARTUP_CMD = service DmASMSvrService start #DMDCR_DB_RESTART_INTERVAL = 60 #DMDCR_DB_STARTUP_CMD = service DmServicedsc0 start
节点B:
DMDCR_PATH = /dev/raw/raw1 DMDCR_MAL_PATH = /home/dmdba/dmdbms/config/dmasvrmal.ini DMDCR_SEQNO = **1** #DMDCR_ASM_RESTART_INTERVAL = 30 #DMDCR_ASM_STARTUP_CMD = service DmASMSvrService start #DMDCR_DB_RESTART_INTERVAL = 60 #DMDCR_DB_STARTUP_CMD = service DmServicedsc1 start
2.4 启动DMCSS、DMASM服务
先在节点A前台启动dmcss、dmasmsvr服务。
然后节点B前台启动dmcss、dmasmsvr服务。
都启动后,在节点A输入show命令,观察CSS0、CSS1、ASM0、ASM1服务的sys_status 、vtd_status、is_ok、active的状态为OPEN、 WORKING、OK、TRUE,表示服务都正常启动。
启动dmcss服务命令: [bin]#./dmcss DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini 启动dmasmsvr服务命令: [bin]#./dmasmsvr DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
2.5 创建DMASM磁盘
在css服务和asm服务启动的情况下,选择ASM的控制节点,启动dmasmtool工具,输入下列语句创建DMASM磁盘组:
[ bin]# ./dmasmtool DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini \#创建日志磁盘组,10s create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3' \#创建数据磁盘组 create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
2.6 配置dminit.ini文件
控制节点准备dminit.ini配置文件,保存到/home/dmdba/dmdbms/config目录,
db_name = dsc #数据库名称 system_path = +DMDATA/data system = +DMDATA/data/dsc/system.dbf system_size = 128 roll = +DMDATA/data/dsc/roll.dbf roll_size = 128 main = +DMDATA/data/dsc/main.dbf main_size = 128 ctl_path = +DMDATA/data/dsc/dm.ctl ctl_size = 8 log_size = 2048 dcr_path = /dev/raw/raw1 dcr_seqno = 0 auto_overwrite = 1 PAGE_SIZE = 32 CASE_SENSITIVE = N#注意,这个参数表示大小写不敏感。 CHARSET = 0#字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] #以上两行删除之后,./dminit control=……不会报错 [dsc0] config_path = /home/dmdba/dmdbms/config/dsc0_config port_num = 5236 mal_host = 192.168.1.106 #心跳地址 mal_port = 9340 log_path = +DMLOG/log/dsc0_log01.log log_path = +DMLOG/log/dsc0_log02.log [dsc1] config_path = /home/dmdba/dmdbms/config/dsc1_config port_num = 5236 mal_host = 192.168.1.107 #心跳地址 mal_port = 9341 log_path = +DMLOG/log/dsc1_log01.log log_path = +DMLOG/log/dsc1_log02.log
2.7 初始化数据库
首先选择节点A,启动dminit工具初始化数据库。
dminit执行完成后,会在config_path目录(/home/dmdba/dmdbms/config/dsc0_config和dsc1_config)下生成配置文件dm.ini和dmmal.ini。
./dminit control=/home/dmdba/dmdbms/config/dminit.ini
然后初始化数据库完成后,将节点A上生成的dsc1_config文件夹拷贝到节点B的/home/dmdba/dmdbms/config目录下。
最后将节点A上/home/dmdba/dmdbms/config目录下的dsc1_config文件夹删掉。
2.8 配置远程归档
先将两个节点上dsc0_config目录或者dsc1_config下_的dm.ini中的ARCH_INI设置为1,然后在这个目录下配置dmarch.ini文件
节点A:放在/home/dmdba/dmdbms/config/dsc0_config目录下
[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /home/dmdba/dmdbms/arch_0 ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 204800 #目前归档上限为200G,后续可更改 [ARCH_REMOTE1] ARCH_TYPE = REMOTE ARCH_DEST = DSC1 ARCH_INCOMING_PATH =/home/dmdba/dmdbms/arch_0_remote ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 204800 #目前归档上限为200G,后续可更改
节点B:放在/home/dmdba/dmdbms/config/dsc1_config目录下
[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /home/dmdba/dmdbms/arch_1 ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 204800 #目前归档上限为200G,后续可更改 [ARCH_REMOTE1] ARCH_TYPE = REMOTE ARCH_DEST = DSC0 ARCH_INCOMING_PATH =/home/dmdba/dmdbms/arch_1_remote ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 204800 #目前归档上限为200G,后续可更改
2.9 启动DMSERVER服务
节点A:
./dmserver /home/dmdba/dmdbms/config/dsc0_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
节点B:
./dmserver /home/dmdba/dmdbms/config/dsc1_config/dm.ini dcr_ini=/home/dmdba/dmdbms/config/dmdcr.ini
2.10 设置后台启动脚本
在正式生产环境下,要求所有的服务开机自启,需要准备以下三个后台启动脚本:DMCSS后台服务脚本,DMASM后台服务启动脚本,数据库实例DMSERVER后台启动脚本。
首先以root用户创建后台启动脚本:
cd /home/dmdba/dmdbms/dmdbms/script/root
创建CSS服务:
./dm_service_installer.sh -t dmcss -p _dsc0 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini
创建DMASM服务:
./dm_service_installer.sh -t dmasmsvr -p _dsc0 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSService_dsc0.service
创建DMSERVER服务:
./dm_service_installer.sh -t dmserver -p _dsc0 -dm_ini /home/dmdba/dmdbms/config/dsc0_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrService_dsc0.service
创建第二个节点的CSS服务:
./dm_service_installer.sh -t dmcss -p _dsc1 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini
创第二个节点建DMASM服务:
./dm_service_installer.sh -t dmasmsvr -p _dsc1 -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmCSSService_dsc1.service
创建第二个节点的DMSERVER服务:
./dm_service_installer.sh -t dmserver -p _dsc1 -dm_ini /home/dmdba/dmdbms/config/dsc1_config/dm.ini -dcr_ini /home/dmdba/dmdbms/config/dmdcr.ini -y DmASMSvrService_dsc1.service
2.11 配置监视器
在节点A、节点B的/home/dmdba/dmdbms/dmdbms/bin目录下,配置dmcssm.ini文件,内容如下:
CSSM_OGUID = 45330 CSSM_CSS_IP =192.168.1.106:9341 CSSM_CSS_IP =192.168.1.107:9343 CSSM_LOG_PATH = ../log CSSM_LOG_FILE_SIZE = 32 CSSM_LOG_SPACE_LIMIT = 0
启动监视器
./dmcssm INI_PATH=dmcssm.ini
2.14 自动拉起功能
需要CSS将ASM和dmserver自动拉起,所以将dmdcr.ini下注释的行取消注释
DMDCR_ASM_RESTART_INTERVAL = 30 DMDCR_ASM_STARTUP_CMD = service DmASMSvrServicedsc1 start DMDCR_DB_RESTART_INTERVAL = 60 DMDCR_DB_STARTUP_CMD = service DmServicedsc1 start
更多资讯请上达梦技术社区了解: https://eco.dameng.com