栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

使用VMware配置达梦共享存储集群

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用VMware配置达梦共享存储集群

目  录

一、虚拟机共享磁盘安装... 4

1.1创建虚拟机... 4

1.2虚拟DB0机添加磁盘... 4

1.3添加.vmx磁盘信息... 9

1.4虚拟DB1机添加磁盘... 10

二、前期准备工作... 13

2.1 硬件准备... 13

2.2 集群规划... 14

2.3 修改主机名... 14

2.4 关闭防火墙... 15

2.5 修改系统参数... 15

三、创建目录并安装数据库... 16

3.1 DB00机器安装数据库... 16

3.2 DB01机器安装数据库... 16

四、存储准备... 17

4.1 划分存储... 17

4.2 挂存储方法1. 17

4.3 挂存储方法2. 18

五、搭建DSC. 19

5.1 配置 dmdcr_cfg.ini. 19

5.2 初始化磁盘组... 20

5.3 配置 dmasvrmal.ini. 21

5.4 配置 dmdcr.ini. 21

5.5 启动CSS、ASM服务... 22

5.6 创建DMASM磁盘组... 23

5.7 配置 dminit.ini. 23

5.8 初始化数据库... 24

5.9 配置 dmarch.ini. 25

5.10 启动DMSERVER服务... 26

5.11 设置后台启动脚本... 26

六、配置监视器... 27

6.1 配置dmcssm.ini. 27

6.2 启动监视器... 28

七、其它配置... 28

7.1 配置 dm_svc.conf. 28

7.2 设置定时备份... 28

7.3 启停集群... 28

八、总结... 29

一、虚拟机共享磁盘安装

1.1创建虚拟机

 

新建两台虚拟机操作系统相同,命名被DB0/DB1;

m1.2虚拟DB0机添加磁盘

注意:所有机器最好在关机状态下!

添加一块新的硬盘

 

 

 

 

立即分配所有磁盘空间。

路径要指定目录,后续需要用;

一共添加四块磁盘;

在高级里修改虚拟设备节点;

四块磁盘分别是:

scsi1:0        

scsi1:1

scsi2:0

scsi2:1

1.3添加.vmx磁盘信息

分别在两台虚拟机的.vmx文件添加内容如下:

 

disk.locking="FALSE"

scsi1:0.SharedBus="Virtual"         

scsi1:1.SharedBus="Virtual"

scsi2:0.SharedBus="Virtual"

scsi2:1.SharedBus="Virtual"

disk.EnableUUID ="TRUE"

1.4虚拟DB1机添加磁盘

添加一块新的硬盘

 

 

 

  

选择完成,磁盘添加完成;

启动两台虚拟机,就可以看到相同的磁盘;

二、前期准备工作

2.1 硬件准备

服务器

2台数据库虚拟机

操作系统

Linux DB0 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

网卡

每台2块网卡。

磁盘阵列

共享存储,两台虚拟机都连接到同一个存储上(共享存储只需要映射到服务器端fdisk -l可以查看到就行,不需要格式化)。

归档日志和备份数据在本地;

存储规划

2G配置文件

2G配置文件

3G存储LOG文件

5G:存放数据文件和Redo日志及配置文件。

将归档日志和备份文件放在数据库本地磁盘。

2.2 集群规划

名称

DB0机器

DB1机器

业务IP

192.168.1.132

192.168.1.133

心跳IP

111.111.111.11

111.111.111.12

INSTANCE_NAME 

dm的INSTANCE_NAME

DSC0

DSC1

PORT_NUM 

dm的PORT_NUM

5236

5236

软件目录

/opt

/opt

安装目录

/home/dm/dmdbms

/home/dm/dmdbms

配置文件目录

/home/dscdata

/home/dscdata

归档日志目录

/dmdata/dameng/arch_rac0

/dmdata/dameng/arch_rac1

远程归档目录

/dmdata/dameng/arch_rac0_1

/dmdata/dameng/arch_rac1_0

备份目录

/dmbak

/dmbak

OGUID

45330

监视器地址

/

确认监视器目录

/home/dm/dmdbms/bin

2.3 修改主机名

DB0机器

[root@ localhost]# hostname DB0

[root@ DB0]# vi /etc/sysconfig/network

  NETWORKING=yes

  HOSTNAME= DB0

[root@ DB0]# vi /etc/hosts

  127.0.0.1  localhost DB0 localhost4 localhost4.localdomain4

  ::1     localhost DB0 localhost6 localhost6.localdomain6

 

DB01机器

[root@ localhost]# hostname DB1

[root@ DB1]# vi /etc/sysconfig/network

  NETWORKING=yes

  HOSTNAME= DB1

[root@ DB1]# vi /etc/hosts

  127.0.0.1  localhost DB1 localhost4 localhost4.localdomain4

  ::1     localhost DB1 localhost6 localhost6.localdomain6

2.4 关闭防火墙

关闭防火墙,并禁止防火墙服务开机自启。

[root@ DB0]# service iptables stop

[root@ DB0]# setup

注意:两台机器均需要修改。

2.5 修改系统参数

[root@ DB0]# ulimit –n 65536

[root@ DB0]# vi /etc/security/limits.conf

  * soft  nofile  65536

  * hard  nofile  65536

[root@ DB0]# vi /etc/profile

  ulimit -SHn 65536

[root@ DB0]# vi /etc/sysctl.conf

  vm.swappiness=0

[root@ DB0]# sysctl -p /etc/sysctl.conf

[root@ DB0]# vi /etc/security/limits.d/90-nproc.conf

  * soft  nproc  unlimited

注意:两台机器均需要修改。

三、创建目录并安装数据库

3.1 DB0机器安装数据库

创建dmdba用户,并切换到dmdba用户下,数据库安装在/home/dm/dmdbms目录下;过程……略;

3.2 DB1机器安装数据库

创建dmdba用户,并切换到dmdba用户下,数据库安装在/home/dm/dmdbms目录下;过程……略;

四、存储准备

4.1 划分存储

用途

空间规划

sdd用于存放dcr配置信息

2G

sde用于存放vote信息

2G

sdc用于存放redo log

3G

sdb用于存放data

5G

存储划分一块裸设备使用fdisk命令来划分否则不用

# fdisk /dev/sdb

  1) 依次输入  np  1  回车  +100M,完成第一块磁盘划分

  2) 依次输入  np  2  回车  +100M,完成第二块磁盘划分

  3) 依次输入  np  3  回车  +20480M,完成第三块磁盘划分

  4) 依次输入  np  回车  回车  回车,完成第四块磁盘划分

  5) 输入w命令,将裸设备划分的设置进行保存

注意:以上需要在两台机器上执行。

4.2 挂存储方法1

[root@ DB0]# vi /etc/udev/rules.d/60-raw.rules

  ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw1 %N"

  ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw2 %N"

  ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw3 %N"

  ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw4 %N"

  ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP=" dinstall ", MODE="660"

 [root@ DB0]# reboot

注:如果没有start_udev命令,可重启查看dev/raw下的文件

注意:两台设备都需要修改。可通过blockdev --getsize64 /dev/raw/raw1命令查看裸设备大小。如果60-raw.rules文件不存在,直接创建即可。

4.3 挂存储方法2

 手动执行类似如下命令;

raw   /dev/raw/raw1 /dev/sde

  raw   /dev/raw/raw2 /dev/sdd

  raw   /dev/raw/raw3 /dev/sdc

  raw   /dev/raw/raw4 /dev/sdb

chown dmdba:dinstall /dev/raw/raw*

chmod 660 /dev/raw/raw*

执行完成后;

vi /etc/rc.d/rc.local  添加上述内容;

注意:两台设备都需要执行。

五、搭建DSC

5.1 配置 dmdcr_cfg.ini

在/home/dscdata下新建dmdcr_cfg.ini文件;

  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.132  #业务地址

  DCR_EP_PORT          = 9341

[GRP_CSS]

  DCR_EP_NAME          = CSS1

  DCR_EP_HOST          = 192.168.1.133  #业务地址

  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          = 111.111.111.11  #心跳地址

  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          = 111.111.111.12  #心跳地址

  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

注意:两台机器该文件相同。

5.2 初始化磁盘组

在DB0机器上启动dmasmcmd工具,依次输入以下命令

[root@ DB0]# cd /home/dm/dmdbms/bin

[root@ DB0]# ./dmasmcmd

  ASM> create dcrdisk '/dev/raw/raw1' 'dcr'

  ASM> create votedisk '/dev/raw/raw2' 'vote'

  ASM> create asmdisk '/dev/raw/raw3' 'LOG0'

  ASM> create asmdisk '/dev/raw/raw4' 'DATA0'

  ASM> init dcrdisk '/dev/raw/raw1' from '/home/dscdata/dmdcr_cfg.ini' identified by 'abcd'

  ASM> init votedisk '/dev/raw/raw2' from '/home/dscdata /config/dmdcr_cfg.ini'

5.3 配置 dmasvrmal.ini

在/home/dscdata下新建dmasvrmal.ini文件;

[MAL_INST1]

  MAL_INST_NAME             = ASM0

  MAL_HOST             = 111.111.111.11

  MAL_PORT             = 7236

[MAL_INST2]

  MAL_INST_NAME             = ASM1

  MAL_HOST             = 111.111.111.12

  MAL_PORT             = 7237

注意:两台机器该文件相同。

5.4 配置 dmdcr.ini

在DB0机器的/home/dscdata下新建dmdcr.ini文件;

DMDCR_PATH             = /dev/raw/raw1

DMDCR_MAL_PATH             = /home/dscdata/dmasvrmal.ini

DMDCR_SEQNO            = 0

#ASM重启参数,命令行方式启动

#DMDCR_ASM_RESTART_INTERVAL = 30

#DMDCR_ASM_STARTUP_CMD = service DmASMSvrService start

#DB重启参数,命令行方式启动

#DMDCR_DB_RESTART_INTERVAL = 60

#DMDCR_DB_STARTUP_CMD = service DmServiceDSC start

在DB1机器的/home/dscdata下新建dmdcr.ini文件;

DMDCR_PATH             = /dev/raw/raw1

DMDCR_MAL_PATH            = /home/dscdata/dmasvrmal.ini

DMDCR_SEQNO            = 1

#ASM重启参数,命令行方式启动

#DMDCR_ASM_RESTART_INTERVAL = 30

#DMDCR_ASM_STARTUP_CMD = service DmASMSvrService start

#DB重启参数,命令行方式启动

#DMDCR_DB_RESTART_INTERVAL = 60

#DMDCR_DB_STARTUP_CMD = service DmServiceDSC start

注:dmdcr.ini中先将ASM和DMSERVER配置为手动服务,待所有配置完成后,再修改dmdcr.ini将ASM和DMSERVER配置成自动拉起。

5.5 启动CSS、ASM服务

分别前台启动两台机器的CSS、ASM服务

DB0

[dmdba@DB0]# ./dmcss DCR_INI=/home/dscdata/dmdcr.ini

  dmcss V8.1.0.157-Build(2019.05.07-106493)ENT

设置CSS[0]为主CSS

[ASM]: 设置EP[0]为主EP

[ASM]: 设置命令[START NOTIFY], 目标节点[0], 命令序号[2]

[ASM]: 设置命令[EP START], 目标节点[0], 命令序号[3]

[ASM]: 设置命令[NONE], 目标节点[0], 命令序号[0]

[ASM]: 设置命令[EP START], 目标节点[1], 命令序号[9]

[ASM]: 设置命令[NONE], 目标节点[1], 命令序号[0]

[ASM]: 设置命令[EP OPEN], 目标节点[0], 命令序号[12]

[ASM]: 设置命令[EP OPEN], 目标节点[1], 命令序号[13]

[ASM]: 设置命令[NONE], 目标节点[0], 命令序号[0]

[ASM]: 设置命令[NONE], 目标节点[1], 命令序号[0]

[ASM]: 设置命令[EP REAL OPEN], 目标节点[0], 命令序号[15]

[ASM]: 设置命令[EP REAL OPEN], 目标节点[1], 命令序号[16]

[ASM]: 设置命令[NONE], 目标节点[0], 命令序号[0]

[ASM]: 设置命令[NONE], 目标节点[1], 命令序号[0]

 DB1

[dmdba@DB1]# ./dmasmsvr DCR_INI=/home/dscdata/dmdcr.ini

  DMASMSVR V8.1.0.157-Build(2019.05.07-106493)ENT

  ASM SELF EPNO:0

  dmasmsvr task worker thread startup

  the ASM server is Ready.

  ...

5.6 创建DMASM磁盘组

在DB0机器上启动dmasmtool工具,创建DMASM磁盘组

[dmdba@DB0]# cd /home/dm/dmdbms/bin

[dmdba@DB0]#./dmasmtool DCR_INI=/home/dscdata/dmdcr.ini

  ASM> create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

  ASM> create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

在一台机器执行;

5.7 配置 dminit.ini

在/home/dscdata下新建dminit.ini文件;

  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

[DSC0]

  config_path             = /home/dscdata/dsc0_config

  port_num             = 5236

  mal_host             = 192.168.1.132

  mal_port             = 9340

  log_path             = +DMLOG/log/dsc0_log01.log

  log_path             = +DMLOG/log/dsc0_log02.log

[DSC1]

  config_path             = /home/dscdata /dsc1_config

  port_num             = 5236

  mal_host             = 192.168.1.133

  mal_port             = 9341

  log_path             = +DMLOG/log/dsc1_log01.log

  log_path             = +DMLOG/log/dsc1_log02.log

注意:只在一台机器配置。

5.8 初始化数据库

在DB0机器上启动dminit工具初始化数据库,然后会在config目录下生成dsc0_config和dsc1_config目录,每个目录下都有dm.ini和dmmal.ini。将DB0机器上生成的dsc1_config目录剪贴到DB1机器的config目录下

[dmdba@DB0]# ./dminit control=/home/dscdata/dminit.ini

V8.1.0.157-Build(2019.05.07-106493)ENT

  ...

  create dm database success. 2018-11-01 21:25:31

5.9 配置 dmarch.ini

将两台机器上dm.ini中的ARCH_INI设置为1,然后配置dmarch.ini文件

在DB0机器的/home/dscdata/dsc0_config下新建dmarch.ini文件

[ARCHIVE_LOCAL1]

  ARCH_TYPE            = LOCAL

  ARCH_DEST            = /dmdata/dameng/arch_rac0

  ARCH_FILE_SIZE            = 2048

  ARCH_SPACE_LIMIT            = 51200

[ARCH_REMOTE1]

  ARCH_TYPE            = REMOTE

  ARCH_DEST            = DSC1

  ARCH_INCOMING_PATH            = /dmdata/dameng/arch_rac0_1

  ARCH_FILE_SIZE            = 2048

  ARCH_SPACE_LIMIT            = 51200

在DB1机器的/home/dscdata/dsc1_config下新建dmarch.ini文件

[ARCHIVE_LOCAL1]

  ARCH_TYPE            = LOCAL

  ARCH_DEST            = /dmdata/dameng/arch_rac1

  ARCH_FILE_SIZE            = 2048

  ARCH_SPACE_LIMIT            = 51200

[ARCH_REMOTE1]

  ARCH_TYPE            = REMOTE

  ARCH_DEST            = DSC0

  ARCH_INCOMING_PATH            = /dmdata/dameng/arch_rac1_0

  ARCH_FILE_SIZE            = 2048

  ARCH_SPACE_LIMIT            = 51200

5.10 启动DMSERVER服务

DB0机器

[dmdba@DB0]# ./dmserver /home/dscdata/dsc0_config/dm.ini dcr_ini=/home/dscdata/dmdcr.ini

DB1机器

[dmdba@DB1]# ./dmserver /home/dscdata/dsc1_config/dm.ini dcr_ini=/home/dscdata/dmdcr.ini

5.11 设置后台启动脚本

DMCSS后台服务脚本,DMASM后台服务启动脚本,实例DMSERVER后台启动脚本。

DB0机器

[root@DB0]# cp /home/dm/dmdbms/bin/service_template/DmASMSvrService /etc/rc.d/init.d/DmASMSvrService

[root@DB0]# cp /home/dm/dmdbms/bin/service_template/DmCSSService /etc/rc.d/init.d/DmCSSService

[root@DB0]# cp /home/dm/dmdbms/bin/service_template/DmService /etc/rc.d/init.d/DmServiceDSC

[root@DB0]# vi /etc/rc.d/init.d/DmASMSvrService

INI_PATH="/home/dscdata/dmdcr.ini"

[root@DB0]# vi /etc/rc.d/init.d/DmCSSService

INI_PATH="/home/dscdata/dmdcr.ini"

[root@DB0]# vi /etc/rc.d/init.d/DmServiceDSC

INI_PATH="/home/dscdata/dsc0_config/dm.ini"

DCR_INI_PATH="/home/dscdata/dmdcr.ini"

DB01机器

[root@ DB1]# cp /home/dm/dmdbms/bin/service_template/DmASMSvrService /etc/rc.d/init.d/DmASMSvrService

[root@ DB1]# cp /home/dm/dmdbms/bin/service_template/DmCSSService /etc/rc.d/init.d/DmCSSService

[root@ DB1]# cp /home/dm/dmdbms/bin/service_template/DmService /etc/rc.d/init.d/DmService

[root@ DB1]# vi /etc/rc.d/init.d/ DmASMSvrService

INI_PATH="/home/dscdata/dmdcr.ini"

[root@ DB1]# vi /etc/rc.d/init.d/DmCSSService

INI_PATH="/home/dscdata/dmdcr.ini"

[root@ DB1]# vi /etc/rc.d/init.d/DmService

INI_PATH="/homne/dsdata/dsc1_config/dm.ini"

DCR_INI_PATH="/home/dscdata/dmdcr.ini"

六、配置监视器

6.1 配置dmcssm.ini

将dmcssm.ini放在数据库安装目录的bin目录下,内容如下:

CSSM_OGUID             = 45330

CSSM_CSS_IP            = 192.168.1.132:9341

CSSM_CSS_IP            = 192.168.1.133:9343

CSSM_LOG_PATH            = ../log

CSSM_LOG_FILE_SIZE           = 256

CSSM_LOG_SPACE_LIMIT           = 1024

6.2 启动监视器

[dmdba@localhost]# ./dmcssm INI_PATH=dmcssm.ini

七、其它配置

7.1 配置 dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(cn)

dm=(192.168.1.132:5236,192.168.1.133:5236)

SWITCH_TIME=(10000)

SWITCH_INTERVAL=(1000)

loadBalance=(true)

loadBalanceFreq=(60000)

loadBalancePercent=(10)

LOGIN_ENCRYPT=0

7.2 设置定时备份

机器上设置定时备份,放置路径为/opt/dsc/bak,注意更改dm.ini文件中的相关路径。

7.3 启停集群

启动顺序:

DB0机器:service DmCSSService start

DB1机器:service DmCSSService start

说明:必须同时启动两台机器服务,根据目前脚本配置,CSS启动后30秒自动拉起DmASMSvrService,ASM启动后1分钟自动拉起DmServiceDSC,可以通过进程查看,3个服务都启动后DSC可以正常访问。

停止顺序:

DB0机器:systemctl stop DmService (service stop)

DB1机器:systemctl stop DmService (service DmService stop)

DB0机器:systemctl stop DmASMSvrService (service DmASMSvrService stop)

DB1机器:systemctl stop DmASMSvrService (service DmASMSvrService stop)

DB0机器:systemctl stop DmCSSService (service DmCSSService stop)

DB1机器:systemctl stop DmCSSService (service DmCSSService stop)

说明:必须同时停止两台设备的达梦服务,根据目前脚本配置,CSS启动后30秒自动拉起DmASMSvrService,ASM启动后1分钟自动拉起DmServiceDSC,所以停止DmService和DmASMSvrService后要尽快停下一个服务,避免被自动拉起,同时DmASMSvrService服务在任意一个节点停止会停两台机器的ASM服务,为了保险起见也可以两边都停止下,全部停止后要检查后台进程是否全部停止。

八、总结

DM共享存储数据库集群,是允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。

本次安装遇到的问题和注意事项:

1、DMASM 的两个节点分别配置 dmdcr.ini,DMDCR_PATH 相同、dmasvrmal.ini 文件内容也相同、DMDCR_SEQNO 两台分别配置 0 和 1。

2、绑定磁盘的所属用户是dmdba。

3、注册,初始化实例,绑定磁盘等都在一台机器上完成。

4、所有配置文件也在一个节点写好发送过去进行修改以免造成不一致。

、本次安装DMDSC遇到重启服务器ASM服务不能正常启动,经排查raw权限不对,在服务器重启后裸设备会重新绑定,重新赋权。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/334835.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号