注册
使用块设备搭建DSC
培训园地/ 文章详情 /

使用块设备搭建DSC

贵贵 2023/04/10 1608 0 0

1.块设备搭建DSC

1.1环境说明

1.jpg

1.2共享存储节点配置

1.2.1安装iscsi

[root@rhel171 yum.repos.d]# yum install -y iscsi*
[root@rhel172 yum.repos.d]# yum install -y iscsi*

1.2.2查找磁盘阵列

[root@rhel171 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.170:3260
2.png[root@rhel172 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.170:3260
3.png

1.2.3登入节点

[root@rhel171 ~]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.bfd6d664030f -p 192.168.1.170:3260 -l
4.png[root@rhel172 ~]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.bfd6d664030f -p 192.168.1.170:3260 -l
5.png

1.2.4裸设备绑定

[root@rhel171 ~]# cd /etc/udev/rules.d/
[root@rhel171 rules.d]# vim 60-raw.rules

ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

[root@rhel172 ~]# cd /etc/udev/rules.d/
[root@rhel172 rules.d]# vim 60-raw.rules

ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

1.2.5两台机器新建组、用户

groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

1.2.6 udev rules生效

[root@rhel171 rules.d]# udevadm trigger --action=add
[root@rhel171 rules.d]# ll /dev/raw/
6.png
[root@DCS2 rules.d]# udevadm trigger --action=add
[root@DCS2 rules.d]# ll /dev/raw/
7.png

1.3两台主机安装数据库软件

1.3.1修改资源限制

vi /etc/security/limits.conf

dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft core unlimited
dmdba hard core unlimited

1.3.2创建文件夹

mkdir /dm8
chown dmdba:dinstall /dm8

1.3.3安装数据库软件

./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序..........
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1667M

请选择安装目录 [/home/dmdba/dmdbms]:/dm8/dmdbms
可用空间: 85G
是否确认安装路径(/dm8/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y

安装前小结
安装位置: /dm8/dmdbms
所需空间: 1667M
可用空间: 85G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2023-04-09 18:37:18
[INFO] 安装达梦数据库...
2023-04-09 18:37:18
[INFO] 安装 基础 模块...
2023-04-09 18:37:46
[INFO] 安装 服务器 模块...
2023-04-09 18:37:49
[INFO] 安装 客户端 模块...
2023-04-09 18:38:15
[INFO] 安装 驱动 模块...
2023-04-09 18:38:25
[INFO] 安装 手册 模块...
2023-04-09 18:38:27
[INFO] 安装 服务 模块...
2023-04-09 18:38:29
[INFO] 移动日志文件。
2023-04-09 18:38:31
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/dm8/dmdbms/script/root/root_installer.sh

安装结束
[root@rhel171 dm8]# /dm8/dmdbms/script/root/root_installer.sh
[root@rhel172 mnt]# /dm8/dmdbms/script/root/root_installer.sh

1.4部署DMDSC集群

1.4.1配置dmdcr_cfg.ini文件

[dmdba@rhel171 dm8]$ cd /dm8/dmdbms/
[dmdba@rhel171 dmdbms]$ mkdir dmdata
[dmdba @rhel172 mnt]# cd /dm8/dmdbms/
[dmdba @rhel172 dmdbms]# mkdir dmdata
[dmdba@rhel171 dmdbms]$ cd dmdata/
[dmdba@rhel171 dmdbms]$ vim dmdcr_cfg.ini

DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635

[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 = 10.10.10.171
DCR_EP_PORT = 9341

[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.10.172
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.171
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.172
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

1.4.2使用 DMASMCMD 工具初始化

只需在配置好dmdcr_cfg.ini的1个节点上执行即可
[dmdba@rhel171 dmdata]$ cd /dm8/dmdbms/bin
[dmdba@rhel171 bin]$ ./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 '/dm8/dmdbms/dmdata/dmdcr_cfg.ini'identified by 'abcd'
ASM>init votedisk '/dev/raw/raw2' from '/dm8/dmdbms/dmdata/dmdcr_cfg.ini'

1.4.3配置dmasvrmal.ini

[dmdba@rhel171 dmdata]$ vim dmasvrmal.ini
[dmdba@rhel172 dmdata]$ vim dmasvrmal.ini

[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 192.168.1.171
MAL_PORT = 7236

[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 192.168.1.172
MAL_PORT = 7237

1.4.4配置dmdcr.ini

[dmdba@rhel171 dmdata]$ vim dmdcr.ini

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8//dmdbms/dmdata/dmasvrmal.ini
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/dmdbsm/dmdata/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/dmdbms/dmdata/dsc0_config/dm.ini dcr_ini=/dm8/dmdbms/dmdata/dmdcr.ini

[dmdba@rhel172 dmdata]$ vim dmdcr.ini

DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/dm8/dmdbms/dmdata/dmasvrmal.ini
DMDCR_SEQNO = 1
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/dmdbms/dmdata/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/dmdbms/dmdata/dsc0_configdm.ini dcr_ini=/dm8/dmdbms/dmdata/dmdcr.ini

1.4.5启动 DMCSS、DMASM服务程序

[dmdba@rhel171 bin]$ ./dmcss DCR_INI=/dm8/dmdbms/dmdata/dmdcr.ini
[dmdba@rhel172 bin]$ ./dmcss DCR_INI=/dm8/dmdbms/dmdata/dmdcr.ini
[dmdba@rhel171 bin]$ ./dmasmsvr DCR_INI=/dm8/dmdbms/dmdata/dmdcr.ini
[dmdba@rhel172 bin]$ ./dmasmsvr DCR_INI=/dm8/dmdbms/dmdata/dmdcr.ini

1.4.6使用dmasmtool工具创建DMASM磁盘组

[dmdba@rhel171 bin]$ ./dmasmtool DCR_INI=/dm8/dmdbms/dmdata/dmdcr.ini
ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

1.4.7编辑dminit.ini配置文件

[dmdba@rhel171 dmdata]$ vim 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 = 256
dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[DSC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm8/dmdbms/dmdata/dsc0_config
port_num = 5236
mal_host = 192.168.1.171
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm8/dmdbms/dmdata/dsc1_config
port_num = 5237
mal_host = 192.168.1.172
mal_port = 9342
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log

1.4.8使用dminit初始化DB环境

[dmdba@rhel171 bin]$ ./dminit control=/dm8/dmdbms/dmdata/dminit.ini
8.png

1.4.9启动数据库服务器

将rhel171机器/dm8/dmdbms/dmdata/dsc1_config目录拷贝到rhel171机器相同目录下
[dmdba@rhel171 dmdata]$ scp -pr dsc1_config dmdba@192.168.1.172:/dm8/dmdbms/dmdata

[dmdba@rhel171 bin]$ ./dmserver /dm8/dmdbms/dmdata/dsc0_config/dm.ini dcr_ini=/dm8/dmdbms/dmdata/dmdcr.ini
[dmdba@rhel172 bin]$ ./dmserver /dm8/dmdbms/dmdata/dsc1_config/dm.ini dcr_ini=/dm8/dmdbms/dmdata/dmdcr.ini

1.4.10查看DSC状态

[dmdba@rhel171 bin]$ ./disql sysdba/SYSDBA
SQL> select NAME,INSTANCE_NAME,INSTANCE_NUMBER INTEGER,HOST_NAME,STATUS$,MODE$,OGUID,DSC_SEQNO,DSC_ROLE from v$instance;
9.png

[dmdba@rhel172 bin]$ ./disql sysdba/SYSDBA
10.png
11.png
v$dsc_ep_info视图EP_STATUS状态为OK,则说明DSC状态正常。

1.4.11注册dmcss系统服务

[root@rhel171 ~]# cd /dm8/dmdbms/script/root/
[root@rhel171 root]# ./dm_service_installer.sh -t dmcss -dcr_ini /dm8/dmdbms/dmdata/dmdcr.ini -p DSC0
[root@rhel171 root]# systemctl enable DmCSSServiceDSC0

[root@rhel172 dmdata]# cd /dm8/dmdbms/script/root/
[root@rhel172 root]# ./dm_service_installer.sh -t dmcss -dcr_ini /dm8/dmdbms/dmdata/dmdcr.ini -p DSC1
[root@rhel172 root]# systemctl enable DmCSSServiceDSC1

1.4.12配置ASM和数据库实例随dmcss启动

所有节点修改dmdcr.ini中DMDCR_ASM_RESTART_INTERVAL和DMDCR_DB_RESTART_INTERVAL 配置项,可以都设置为60(默认60s)
12.png

1.5配置dmcssm监视器

[dmdba@rhel171 dmdata]$ vim dmcssm.ini

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的连接信息,
#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 10.10.10.171:9341
CSSM_CSS_IP = 10.10.10.172:9343
CSSM_LOG_PATH =/dm8/dmdbms/log #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

[dmdba@rhel171 bin]$ ./dmcssm INI_PATH=/dm8/dmdbms/dmdata/dmcssm.ini
13.png

1.6配置dm_svc.conf

[dmdba@DCS1 dsc0_config]$ vim /etc/dm_svc.conf

TIME_ZONE=(480)
LANGUAGE=(cn)
dmdsc_svc=(192.168.1.171:5236,192.168.1.172:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(1000)

14.png

经实验,可实现负载均衡。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服